Programming Workshop II
(CSCI 1061U)
Winter 2019
Faisal Qureshi
faisal.qureshi@uoit.net

News

Mar 25, 2018
Next midterm will take place on Thursday, April 4. The duration of the exam is 60 minutes. The exam will consists of one programming question and a number of multiple-choice/short-answer questions. The midterm is cumulative. Students will be asked to return the written part, before they are handed over the programming part. The programming part will require students to use their laptops.
Mar 10, 2018
Next midterm will take place on Thursday, March 14. The duration of the exam is 60 minutes. It is a paper-based exam. The exam will consists of multiple choice questions.
Mar 10, 2018
Check out the revised class schedule.
Feb 11, 2018
Check out the revised class schedule.
Feb 11, 2018
Midterm exam on Thursday, February 14. The duration of the exam is 70 minutes. It will consists of both written and programming parts.
Jan 21, 2018
Midterm exam on Thursday, January 24. The duration of the exam is 70 minutes. It will consists of both written and programming parts.
Jan 17, 2018
Past exams are available here.
Jan 7, 2018
In-class notes available here.
Jan 7, 2018
First lecture today.
Dec 22, 2018
Website is now online.

Course Info

Instructor

Faisal Qureshi

Email: faisal.qureshi@uoit.net
Office: UA4032

Slack channel

We will be using Slack for online communication. Please ensure that you are enrolled in the following slack channel:

uoit-csci-1061u-w19.slack.com.

Office hours

  • Fri, 2 - 3 pm in UA4032
  • Or by appointment

Lectures

  • M 2:10-3:30 and R 11:10-12:30 in UA1220 (Section 1)
  • M 3:40-5:00 and R 12:40-3:00 in UA1220 (Section 2)

Labs

  • Check mycampus for available lab sections

Syllabus

Description

This is a second course on C++ programming that continues from CSCI 1060U and covers more advanced theory and practice. The lectures introduce modern concepts in program design and construction for larger scale programs. The laboratories provide an opportunity to apply these concepts. Topics that are covered in this course include advanced program design, basic design patterns, templates and standard template libraries, data structures, debugging and version control.

Course work and grading

Important dates

Course notes

Course calendar

Week 1

Topics

Week 2

Topics

Lab

Week 3

Topics

Lab

Week 4

Topics

Lab

Week 5

Topics

Lab

Week 6

Topics

Lab

Week 7

Topics

Lab

Week 8

Topics

Lab

Week 9

Topics

Lab

Week 10

Topics

Lab

Week 11

Topics

Lab

Week 12

Topics

Lab

In-class exercises

You can find in-class exercises here.

Midterms

Each midterm is 70 minutes long. Each midterm will have a programming part, so please ensure to bring your laptops. Ensure that you are able to edit and compile C++ programs on your computer. You are only allowed to access material at https://en.cppreference.com/w/ during the exam. No other aids will be allowed. You will be using your own laptops, and these will not be locked. This means that we will follow an honor system. I expect you to not cheat. Please check out UOIT plagiarism penalties. A midterm may have a short written part as well. Specific instructions about midterms will be provided closer to the dates.

Resources

Introduction to C++ course available at the MIT Open Courseware contains an excellent collection of notes. You can find these here.

Coding videos are available here. Source code for these videos is available at Github here.

We will be programming during each lecture. Please bring your laptop to class. Please ensure that you are able to edit, compile and execute C++ programs via commandline interface.

This course deals with C++ programming. There are many online C++ help resources. I encourage you to make use of these resources. As far as books are concerned, I find the following textbook to be exceedingly useful.

Absolute C++, 6th Edition by Walter Savitch.

Students are encouraged to take their own notes during lectures.