COMP 322 - Introduction to C++
(Winter 2011)

News Description Course facts Prerequisites Assessement Lecture notes Assignments References Academic integrity

News and announcements

March 22 

Sevan's Practice Exercises

Zineng's Practice Exercises

Yancheng's Practice Exercises

March 8 

(I) Test 2 is scheduled to take place Tuesday, March 29, 2:35-3:55 PM
Location: McConnell Engineering Building, room 204
(II) Assignment 2 Posted, Due April 5

February 8 

Test 1 is scheduled to take place Tuesday, February 15, 2:35-3:25 PM
Location: Strathcona Anatomy & Dentistry building, room 2/36

February 1 

Practice Exercises

January 18 

Lecture 3 Slides Updated to fix Operator Precedence error

Please note the new classroom ENGTR 1090

January 11 

Assignment 1 Posted, Due February 8

Please note the new TA office hours

January 4 


Useful page for installing g++ on Windows

This 1-credit course will provide an overview of the fundamentals of the C++ programming language. Topics include, but are not limited to, pointers, memory management, object-oriented concepts, operator overloading, templates, and exceptions. We will also cover features of the C++ Standard Library. Other topics may be covered time permitting due to the limited amount of lectures available.

Course facts




Trottier 1090


Tuesday 14:35-15:25

Date Range

January 4th - April 8th 2011

Official Website



Milena Scaccia



McConnell 229

Office hour

Tuesday 13:00-14:00


Or by appointment


Teaching Assistant 1

Sevan Hanssian



McConnell 229

Office Hour

Wednesday 12:00-13:00


Teaching Assistant 2

Zineng Yuan



Trottier TA Room 3103

Office Hour

Friday 10:00-11:00


Teaching Assistant 3

Yancheng Xiao



McConnell 229

Office Hour

Thursday 11:00 - 12:00

This course requires that you have already completed at least one of COMP 202, or COMP 250, or COMP 206, or COMP 208. Familiarity with the C programming language is assumed.

If you have not met all of these prerequisites, you should not take this course.

There will be 2 assignments and 2 in-class tests. You will be graded according to:


2 Assignments, 25% each


2 Tests, 25% each

Note that this evaluation method is tentative.

Lecture Notes

04 Jan - Lecture 1

Course Introduction

11 Jan - Lecture 2

Basic Features

Jan 18 - Lecture 3

Pointers and References UPDATED

25 Jan - Lecture 4

Memory Management

01 Feb - Lecture 5

I/O Using the Standard Library & Intro to Classes

08 Feb - Lecture 6

Classes continued & Overloading

15 Feb - Test 1


22 Feb - Study Break


01 Mar - Lecture 7

Overloading continued & Inheritance UPDATED

08 Mar - Lecture 8

Inheritance continued

15 Mar - Lecture 9

Templates and the STL

22 Mar - Lecture 10

Exceptions & New Features from C++0x

29 Mar - Test 2


05 Apr - Lecture 11

Wrap-Up (Optional Topic: Basic C++ GUI Programming)


To be returned through myCourses

Assignment 1

Handout Tictactoe.cpp MusicRecords.cpp

Assignment 2

handout testfile


Standard : International Standard ISO/IEC 14882 :  Programming Languages -  C++.

Library : Standard Template Library

Thank you to Robert Vincent and Junaed Sattar.

Academic integrity
McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see  for more information).

Last modified March 31 2011 (Milena Scaccia).