Advanced Programming Concepts with C++


Jochen Lang

  • Office hours: Wednesdays 13:00-14:00
  • Office: STE-5098, 800 King Edward Ave, Ottawa, On., Canada

Teaching Assistants

Ahmedou Jreivine

  • Office hours: Mondays 11:00-12:00
  • Office: STE-3034
  • Tasks: Tutorial, Fridays 10-11:30, Marking projects and midterms

Shuang Xie

  • Office hours: Fridays, 13:00-14:00
  • Office: STE-5000J
  • Tasks: Laboratory, Tuesdays 8:30-10:00, STE-0131, Marking lab assignments, projects and midterms

Ertu─črul Kara

  • Office hours: Thursdays, 13:00-14:00
  • Office: STE-5000G
  • Tasks: Laboratory, Tuesdays 8:30-10:00, STE-2052, Marking lab assignments, projects and midterms

Pooja Mamidala

  • Office hours: Tuesdays, 15:00-16:00
  • Office: STE-5000G
  • Tasks: Laboratory, Tuesdays 17:30-19:00, STE-2060, Marking lab assignments, projects and midterms

General and Specific Objectives of the Course

The course will give students a comprehensive introduction into C++ and reinforce programming skills gained with Java, Python or C. The emphasis of the course is on modern use of C++ using object-oriented, imperative, generic and functional programming paradigms. Successful students will be able to design and implement reasonably complex applications in C++.

Calendar Description

Differences between C++ and Java programming. C++ data types. Pointers and memory management. Object oriented programming in C++. File and stream I/O. Preprocessor macros. Templates and the Standard Template Library. Numerical computation in C++. Interfacing with hardware. Engineering applications.

Course Prerequisites: ITI1121, ITI1100

See the official descripton in the University of Ottawa calendar.

Teaching Methods and Student Expectations

The course material will be covered in lectures, labs and tutorials. Additional resources in form of textbooks and on-line references are listed below. Attendance of and participation in lectures, labs and tutorials is mandatory. The course will be using group work and interactive student feedback using a web clicker. You must register for an account (details to follow on virtual campus) and answer questions during lectures. Although this is motivated by wanting to help you to learn and to retain the material better (and hopefully enjoy learning it more), it is also used to determine if you complied with the Faculty of Engineering rule of minimum attendance of 80% of lectures.

Required Textbook

Recommended Textbooks

Course Topics and Readings

Course notes will be made available through Virtual Campus, see a tentative list of topics with relevant chapters of the textbook.

Selected On-line Resources


Student Evaluation

Student evaluation will be based on two midterms and final exam as well as four short assignments and a course project.

Marking Scheme

The maximum is 100 marks*) with the following breakdown:

Lab assignments (4) 12 marks
Midterm A 12 marks
Midterm B 12 marks
Project (in teams of two) 26 marks
Final exam 38 marks

*) If the student's mark in the exam component is less than 50%, i.e., (Midterm + Final) < 31, then the student's mark in the course will be (Midterm + Final) / 62.

One textbook is permitted for the midterms and final exams, no other aids or notes.

You can find the list of the exam topics here.


The two midterms are scheduled to take place during class on

Wednesday, October 3rd, 2018, 14:30-16:00 and

Wednesday, November 7th, 2018, 14:30-16:00

Note: The final exam mark will not overwrite the midterm mark(s).

Attendance at the midterm exams is mandatory. A student who has an official medical certificate (from the University Health Services) for the absence on a midterm will have the other exam marks scaled up accordingly. In particular: One missed midterm with an official medical certificate (from the University Health Services), results in the other midterm grade counting for both. Two missed midterms, both with an official medical certificate (from the University Health Services), will mean the student will have the final scaled accordingly. In these two cases, the student will not receive more than 10% of his/her final grade by the drop date.

Reminder: Academic Regulations

Class attendance is mandatory. As per academic regulations, students who do not attend 80% of the class may not be allowed to write the final examinations.

All components of the course (i.e laboratory assignments, projects, etc.) must be fulfilled otherwise students may receive an INC as a final mark (equivalent to an F). This also holds for a student who is taking the course for the second time.

Academic Fraud and Plagiarism

Any form of plagiarism or fraud including on an assignment or the project will be reported.

For any plagiarism or fraud the university regulation on academic fraud applies. The plagiarism rules explains the University of Ottawa rules. Please familiarize yourself with them.