Skip to main content
  1. Teaching/

CS 105C: C++ Programming
#

NOTE: This page used to live on a Jekyll site. It has since been moved to Hugo, but I have not had time to verify all the ports. Therefore, there may be dead links, missing images, and strange layout issues.

I do not intend to use this site in the future, but I am leaving it up in case any old links point to it. If you need a particular piece of information that is not present here, you can email me to see if I still have it.

Hello, and welcome to CS105C!

Since most of you are probably here for the useful links, here you go:

Projects and quizzes will be administered through Canvas, which is also where you can see your grades. Piazza will act as the class forum.


This class is an accelerated, 1-unit introduction to the C++ programming language. We will cover all sorts of interesting topics having to do with C++ (see the schedule for more details), with brief peeks into the worlds of graphics, game design, compilers, programming languages, and higher-order programs, all of which are possible using C++.

A few things this course is not:

  • An intro to programming course. I expect that you will have already completed basic programming and data structures courses, and that you’re at least familiar with OOP. Trying to take this course without this background may be possible, but it will be challenging and, perhaps more importantly, much more than 1 unit of work.
  • A deep dive into C++. This language is large enough that two of our lectures are split off into their own course CS371p and another two are split off into their own course CS371g. That’s two upper-division, full-length courses that are covered in under 4 hours. We’ll cover as much as we can to give you a taste of the language, but you will not master C++ in this class–there simply is not enough time.
  • An easy filler class. Actually, maybe it is, depending on your background, but my estimation is that each project is 2-3x harder than the last. Even seasoned programmers might find a handful of segfaults or indecipherable crashes in the last two projects. The workload will not be that of a full course, but I would recommend not using this as a filler course if you have other important classes this term.