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


News Description Course facts Prerequisites Assessement Lecture notes References Academic integrity



News and announcements

April 1

Assignment deadline modification

 

As discussed in class, I give you one additional week to submit assignment 2. So Assignment 2 is due Sunday April 19th, 2009 11:59pm.

March 29

IMPORTANT : Midterm 2

 

1) The Midterm 2 scheduled on Wednesday April 8th, 3:30 to 4:50 pm will take place in two rooms :
     - Students with last name A - K should come to room TR-2100
     - Students with last name L - Z should come to room RPHYS-114
Don't forget to bring your ID card.

If you have another class or another thing you can't miss just after the regular hour of COMP 322 (3:30-4:30) on April 8th, you MUST tell me so that we can find another arrangement. If I don't receive anything I will assume that you can stay until 5pm on Wednesday April 8th.

2) Note that in the next week's class (the last one) we will go over exception handling and then I will wrap-up the course by going over the features that you need to keep in mind about C++.

3) Don't forget to evaluate the course through Minerva.

March 25

Course Evaluation

 

Course evaluation of comp-322 is now available for completion on MINERVA. It is available from March 19 to April 14. For more details, check this.

March 16 

Assignment 2

 

Assignment 2 is available below.

March 7      

Assignment 1 grades

The grades for the first assignment are available on WebCT.  

March 4      

Midterm grades

The grades for midterm 1 are available on WebCT.  

February 24      

No class this week

It is the spring break so there is no class this week (february 25).  

February 15      

Complete implementation of Queue linked list example (started on class) 

I give you the complete implementation of the Queue linked list example. Note that the copy constructor implementation we did in class contains errors. As a Midterm preparation, I strongly invite you to write the implementation yourself and compile it. I intentionally provide a picture file so that you can't copy paste the program !
Queue linked list program

February 11      

IMPORTANT : Midterm 1 

The Midterm1 scheduled on Wednesday February 18th, 3:30 to 4:50 pm will take place in two rooms :
       - Students with last name A - K should come to room TR-2100
       - Students with last name L - Z should come to room RPHYS-118
Don't forget to bring your ID card.

February 8      

Lecture Note 4 updated 

Lecture Note 4 (Object-Oriented Programming) has been updated. I added 4 slides.

February 6 

IMPORTANT : Midterm 1

 

The first mid-term exam for COMP 322 course is in less than two weeks (February 18th). The mid-term will be in-class and might last for more than one hour (maximum 1h20). So, if you have another class or another thing you can't miss just after the regular hour of COMP 322 (3:30-4:30) on February 18th, you MUST tell me so that we can find another arrangement. If I don't receive anything I will assume that you can stay until 5pm on Wednesday February 18th.

January 30 

Assignment 1

 

Assignment 1 is available below.

January 19 

Interesting to know !

 

In order to encourage you doing the problems I suggest at the end of each lecture note, two problems among these will be part of the first mid-term exam !

January 19 

Office hour and room modification

 

Note that starting tuesday January 27th, the TA office hours will take place in the TA rooms of the Trottier building (3rd floor). Tuesday 4-5pm (Malika) and wednesday 12-1pm (John-Paul).

January 8 

Office hour modification

 

My office hour is thursday 9 - 11 am.

January 6 

Official Website

 

Note that the official course website is the current page http://www.cs.mcgill.ca/~zhioua/comp322/. The WebCT site will be used only to return assignments.

January 5 

Welcome

 

Happy new year and welcome to the course Introduction to C++. This is the place where you will find all the content and announcements of the course. The first class will take place next wednesday (January 7th) and we will discuss some course facts and make a historical introduction to C++. The syllabus and the lecture notes are already available below.
I wish you a good semester and excellent marks in this course.

   

Lecture Notes

Lecture 1

Course facts and introduction

Lecture 2

Basic constructs [1 slide page] [2 slides page] [3 slides page]

Lecture 3

Memory Management and Pointers [1 slide page] [2 slides page] [3 slides page]

Lecture 4

Object-Oriented Programming [1 slide page] [2 slides page] [3 slides page]

Lecture 5

Operator Overloading [1 slide page] [2 slides page] [3 slides page]

Lecture 6

Inheritance [1 slide page] [2 slides page] [3 slides page]

Lecture 7

Templates and STL [1 slide page] [2 slides page] [3 slides page]

Lecture 8

Exception Handling [1 slide page] [2 slides page] [3 slides page]

Lecture 9

Wrap-up and Conclusion [1 slide page] [2 slides page] [3 slides page]

Assignments

Assignment 1

Dynamic Array

To be returned Friday February 20th, through WebCT

Assignment 2

Geometric Shapes

To be returned Sunday April 12th, through WebCT

Description
In this course we will cover the main features of C++ programming language. We will focus on the features that distinguish C++ from other programming languages, in particular Java and C, namely, pointers, object oriented concepts, operator overloading, inheritance, templates, and the standard template library (STL). We will not attempt to cover every single concept of C++ but we will study the fundamental ideas underlying the language.

Course facts

Syllabus

[PDF]

Instructor

Sami Zhioua

Location

Trottier 2100

Time

Wednesday 3:35 - 4:25 pm

Date Range

January 5th - April 14th 2009

Phone

398-7071 #09183

Email

zhioua@cs.mcgill.ca

Office hour

Thursday 9 am

 

Other times by appointment only (use email)

Official Website

http://www.cs.mcgill.ca/~zhioua/comp322

 

Teaching Assistant 1

John-Paul Lobos

Email

jpjlobos@cim.mcgill.ca

Office hour

Wednesday 12 pm

Room

Trottier 3104

   

Teaching Assistant 2

Malika Meghjani

Email

malika.meghjani@mail.mcgill.ca

Office hour

Tuesday 4 pm

Room

Trottier 3104

Prerequisites
COMP 202, or
COMP 250, or
COMP 206, or
COMP 208.
Ability to program in general is presumed. A strong familiarity with the C or Java language is highly recommended, while familiarity with C fundamentals are assumed. If you do not have any of these prerequisites, you must not take this course.

Assessement
10% : One assignment (handed on January 30 to be returned February 20 6:00 pm)
30% : One mini-project : (handed on March 13 to be returned April 14 6:00 pm)
30% : A first short mid-term (February 18th)
30% : A second short mid-term (last week of class)

References

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

Library : Standard Template Library


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 http://www.mcgill.ca/integrity  for more information).


Last modified March 29th 2009 (Sami Zhioua).