- Read and understand simple well-written programs in C++.
- Choose appropriate computer data representations for problem data using standard data types (int, bool, float, double, char) and structures (one- and two-dimensional arrays).
- Develop and document algorithms to solve basic problems using basic data manipulation (number systems, mathematical operations, propositional and digital logic) and control structures (sequential composition, alternation, iteration, call).
- Solve more substantial programming problems by procedural decomposition, including developing the necessary contracts for the functions.
- Implement, test, debug and appropriately document the above solutions using appropriate tools.
- Demonstrate an understanding of the central role of computation in the modern world and its technology, including applications such as engineering design, simulation and cybernetic systems.
|Assignments (best 7 out of 8) - However Assign 8 is mandatory in the 7 assigns||weekly||20%|
|Midterm||Tentative Date: October 18th||20%|
Note: In order to qualify for the above evaluation, you must pass the final or pass the final and midterm combined.
Alternate scheme:Otherwise, assignments will not be counted and your mark will be the combination of the midterm and final in the above proportions.
The Bottom Line: You must pass the exams to pass the course.
Note on Assignments evaluation: We will consider the best 7 out of 8 assignments to evaluate your final assignment mark. However, assignment 8 will be always counted in those 7 assignments. Bottom line, student must submit assignment 8 and it will be counted in your final grade
In the event that the University is closed due to bad weather or other emergency at any time on the day of the mid-term, it will be postponed until an alternate day
The course website contains the most up-to-date information and important dates for main events such as assignments due dates and tests.
Note that these dates are subject to change. Any such change will be announced in class and on the course webpage.
If you feel any mark was unfair or incorrectly recorded, ensure that I am aware of the problem before the last week of classes.
All exams including the final exam are closed-book exams. No calculators, cell phones, notes, books, or electronic devices are allowed during the exam time.
Generally, late assignments are not accepted. Since the policy is that the best seven of eight assignments count, a single missed assignment will simply be dropped. In case of extreme situations such as illness, childbirth, or bereavement, or by prior arrangement with the instructor, assignments can be rescheduled. In case of illness, you should obtain a doctor's certificate prior to the test time or assignment due time.
There will be no deferred mid-term. If you miss the mid-term with a valid reason, duly documented and reported to the instructors within one week of the mid-term, then the weight of the mid-term will be transferred to the final exam.
Contact Information & Office Hours
Lecturer: Mohamed Shehata, EN-3027, mshehata at mun dot ca. Office hours: Mondays 1:00-2:00, Fridays 12:00-1:00
Lab Instructor: Stephen Foote, EN-3020, ph. 864-8925, sfoote at mun dot ca. Office hours: Wednesdays 4:00 -5:00 pm, Thursday 4:00-5:00 pm
All the material that you need for the course is available from the on-line notes (http://www.engr.mun.ca/~mshehata/teaching/1020/), which may be printed if you prefer to work from hard copy (although you will lose the interactive features built in to the notes). Please do not print a lecture until just before it is given as they are subject to change. No other resources are required. However, if you would like a book, the following backup references may be useful:
Problem Solving Abstraction and Design Using C++, Frank Friedman and Elliot Koffman, Addison Wesley. Any recent edition. This is more of a traditional textbook. It covers the topics in about the same order as the course does.
We will be using Eclipse, with the C++ development tools (CDT) and AVR plugin, and the Teaching Machine (TM). Please see the how-to page for set-up.
Assignments are an important part of the course. Learning to program is rather like learning to play a musical instrument. You have to do it to learn it.
Number of Assigments
There are eight weekly assignments, plus a pre-assignment, scheduled as posted here
Expectations of Student Conduct
Like Professional Engineers, engineering students are expected to behave in a professional manner at all times. Students are encouraged to conduct themselves in a manner consistent with the PEG-NL code of ethics. MUN has two sets of rules which deal with inappropriate behaviour by students. The first set deals with academic offences such as cheating while the other set deals with non-academic offences such as disruptive behaviour in class. Both sets of rules can be found in the University Calendar under Regulations. It is strongly recommended that students read and follow these rules because the penalties can be severe, the severest being expulsion from the University.
Lab/tutorials are designed to help you work on your assignments. You are expected to review and make a start on your assignment before going to the lab.
Main Engineering Computer Lab, EN3000/3029.
Here is a link on what I expect from you as a student and what you expect from me as an instructor
The Cahill Engineering One Help Centre (EN3076) will be open with TAs available regularly to answer questions about ENGI 1020 and other Term 1 Engineering courses. Please check the schedule posted at the center or on the web-site.
The Memorial University of Newfoundland Code
All members of the Memorial University of Newfoundland Community, which includes students, faculty, and staff, shall treat others with respect and fairness, be responsible and honest, and uphold the highest standards of academic integrity.