Learning outcomes
Upon successful completion of this course, the student will be able to:- 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.
Evaluation
| Component | Date | Value | ||
|
|
||||
| Assignments (best 7 out of 8) | weekly | 20% | ||
|
|
||||
| Midterm | Thursday June 20 7:00-8:15 pm seating alphabetically by last name as follows: A - McCarty: EN2040 Mohamed - Z: EN2043 |
20% | ||
|
|
||||
| Final Exam | TBD | 60% | ||
|
|
||||
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.
Closure Policy
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 the alternate day at the same time.
Calculator Policy
No calculators or other electronic aides will be permitted in any test or examination in this course.
Contact Information & Office Hours
Instructors:
Lecturer: Dennis Peters, EN-3061, dpeters at mun dot ca. Office hours: Monday 9:00-10:00, Thursday 3:30-4:30
Lab Instructor: Stephen Foote, EN-3020, ph. 864-8925, sfoote at mun dot ca. Office hours: Tuesday 4:00 -5:00 pm, Thursday 4:00-5:00 pm
Textbooks
All the material that you need for the course is available from the on-line notes (http://www.engr.mun.ca/~dpeters/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.
Software
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
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
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.
Locations
Main Engineering Computer Lab, EN3000/3029.
Help Centre
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.