Course Information

Lecturer: Ali Malik
Lecture: 1:30 - 2:20pm; Tue, Thu
Location: 200 - 030

Assignment 3 Released

Assignment 3 has been released and will be due on Tuesday, June 6th at 11:59pm.

This is a really interesting assignment that involves writing a data structure referred to as a KDTree. Please email me as soon as possible if you have any trouble getting started!

Assignment 2 Released (Part B)

Assignment 2 is out and will be due on Thursday, May 25th at 11:59pm. Please email me as soon as possible if you have any trouble getting started!

Qt Creator has been slightly problematic in running properly when a project is first opened. For example, it might not open the terminal console when you run a program, or won't be able to find files that you try opening with an ifstream. If you face this issue, follow these steps:

  1. Open the project in Qt Creator
  2. Go to the "Projects" tab on the panel on the left
  3. Under the "Build & Run" section, click on the "Run" tab
  4. Uncheck the box that says "Run in terminal" and then check it again. Now try running your program as normal.
Here is a pictorial representation:

Assignment 1 Released

Assignment 1 is out and will be due on Tuesday, April 25th at 11:59pm. Please email me as soon as possible if you have any trouble getting started!

Week 1 - Interesting Links

We spoke a bit about the history of programming and the invention of C++. Here are a few interesting links related to the kind of stuff we covered.

One really cool thing to check out is the source code for the Apollo 11 rocket, written completely in a special assembly language made for the missions. Note how well commented the code is! There are some funny easter eggs thrown around in the comments e.g. here and here.

QT Help Hours

We will be holding helper hours in the LaIR this Thursday April 6th, from 8-10pm to fix any issues you might be having in setting up QT Creator. Note: please try and install QT Creator yourself before coming to the help hours!

We will be located at Tressider Memorial Union, in the food court.

First Lecture

Our first lecture will be on Tuesday, April 4th from 1:30-2:20pm in 200-030. Looking forward to meeting all of you!

Welcome to CS106L!

CS106L is a companion class to CS106B and CS106X that offers a more complete exploration of the C++ language. We have an exciting quarter ahead of us! Over the next 10 weeks we will touch on some fundamentals of the C++ programming language before quickly progressing on to cover more advanced concepts. Our focus will be on developing practices coherent with the philosophy and style of the C++ ecosystem. By the end of the quarter, you will be equipped to use this powerful language and its surrounding community as a tool to solve any meaningful problems you decide to tackle in the future!

Lectures meet on Tuesdays and Thursdays from 1:30-2:20pm in 200-030. There are no exams, and grades are entirely based on three programming assignments, of which you only have to do two! The class is intended to be useful to any student who has taken or is currently taking CS106B (or equivalent). In particular, we won't go through basic C++ syntax. If you have any questions about the prerequisites for this class, don't hesitate to reach out to me.

CS106L will be using an IDE called QT creator for lecture examples as well as assignments. To install QT creator, follow this Installation Walkthrough.

If you have any questions about the class, feel free to email me at