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++.
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.
ITI1121, ITI1100 See the official descripton in the University of Ottawa calendar.
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.
Bjarne Stroustrup, Programming: Principles and Practice Using C++, 2nd ed., Addison-Wesley, 2014.
W. Savitch, Problem Solving with C++, Addision-Wesley, 10th ed, 2017.
P.J. Deitel and H.M. Deitel, C++ How To Program, 10th ed, Pearson Education, 2016.
Bjarne Stroustrup, The C++ Programming Language, 4th ed, Addison-Wesley, 2013.
B.W. Kernighan, D.M. Ritchie, The C Programming Language, 2nd ed, Prentice Hall, 1988.
Student evaluation will be based on a midterm mark (better of two midterms written) and final exam as well as five short assignments and a course project, see the marking scheme of the course for details.
Course notes will be made available through Virtual Campus, see a tentative list of topics with relevant chapters of the textbook.
cppreference.com, C++ community created and maintained online reference for the C and C++ languages, also downloadable for off-line use in various help formats.
cplusplus.com, A commercial reference for C++
You may also want to use the C++ Language Reference from Microsoft when programming in Visual Studio.
Back to CSI2372
© Jochen Lang