Course content

CS 112 is organized by week, with each week structured as follows:

The SLOs (Student Learning Objectives), labs, and projects for each week are given in the links below. The readings are from C++ for Python Programmers Book.

Week Topics Laboratories Projects Tests, Video Links, etc.
0 Intro to C++, compilation, Data Types (including pointers), const, binary and hexadecimal, arrays, using cout/cin.
Week’s page
Lab 0 Proj 0
1 Control Structures, Functions, Parameter Passing modes.
Week’s page
Lab 1 Proj 1
2 File Input/Output, Exception Handling, Two-dimensional Arrays.
Week’s page
Lab 2 Proj 2
3 Classes, Operator Overloading, etc.
Week’s page
Lab 3 Proj 3 Test 1, Weeks 0 - 2, Friday.
4 Vectors – dynamic arrays
Week’s page
Lab 4 Proj 4
5 Generic Containers
Week’s page
Lab 5 Proj 5
6 Linked Lists [code from class] Dynamic Array or Linked List Lab 6 No project Test 2, Weeks 0 - 5 (Friday)
7 Algorithm Analysis and Big-Oh [Slides] [Videos] [SLOs] Lab 7 Proj 7
8 Stacks and Queues
Week’s page
Lab 8 Proj 8
9 Recursion
Week’s page
Lab 9 Proj 9 Test 3, weeks 0 - 8 (Friday)
10 BSTs
Week’s page
Lab 10 Proj 10
11 AVL Trees
Week’s page
No lab No project
12 STL set and map containers
Week’s page
Lab 12 No project Test 4: weeks 0 - 11 (Wednesday, Dec. 4)
13 Hash Tables, Sorting Algorithms
Week’s page
Lab 13
Final Search calvin.edu for “Exam Schedule” to find the time of the exam (and all exams you have, this semester, and all future semesters). Test 5 Cumulative, during exam time (You may take it in either class’s exam time. Classes met at 11am MWF and 12:15 MWF.)