"I saw 'cout' being shifted 'Hello World!' times to the left and stopped right there."
-- Steve Gonedes
I will teach you how to use modern (C++17), idiomatic C++ in this course, making heavy use of the standard libraries. We'll see that C != C++.
This is a CIS 19x class, which means the lectures will be during the recitation sections. The "lecture" on Tuesdays 6-7:30 will only meet for the first 3 weeks of the semester to cover Bash, Git, and web basics.

Prerequisites

Please speak with the instructor if you don't meet these requirement or have any other questions.

Schedule

Lecture # Date Lecture Homework
1 Jan 15 Introduction, basic C++ features
(Monday schedule!)
notes
Homework 0 due on Jan 29, 6 PM
Jan 20 Martin Luther King Jr. Day—No class
2 Jan 27 Debugging, references, I/O
notes
Homework 1 due on Feb 3, 6 PM
Jan 28 Course selection period ends
3 Feb 3 Classes, separate compilation, inheritance
notes
Homework 2 due on Feb 10, 6 PM
4 Feb 10 Classes that hold resources
notes
Homework 3 due on Feb 17, 6 PM
5 Feb 17 Exceptions, RAII, smart pointers
notes
Homework 4 due on Mar 2, 6 PM
6 Feb 24 More on exceptions, sequential containers
notes
No homework, previous homework extended to Mar 2
Feb 24 Drop period ends
7 Mar 2 Iterators, associative containers, static
notes
Homework 5 due on Mar 23, 6 PM
Mar 7-15 Spring term break—No class
Mar 16 Class cancelled due to extended spring break
Mar 20 Grade type change deadline
8 Mar 23 Templates, function objects
notes
Homework 6 due on Mar 31, 6 PM
9 Mar 30 More function objects, standard library algorithms
notes
Project proposals due on Apr 6, 6 PM
project details
Mar 30 Last day to withdraw from a course
10 Apr 6 Standard library algorithms continued, functional programming
notes
11 Apr 13 Concurrency Project checkpoint by Apr 20
12 Apr 20 More concurrency, history
13 Apr 27 Project presentations

Grading

Homework

Project

Participation

Piazza

We will be using Piazza for both Q&A and announcements. Please sign up by clicking here. Posting on Piazza is highly preferred over sending the instructor or TAs direct emails.

Other links