Skip to main content

Course Calendar

Lecture and lab topics are tentative and will be updated as the term progresses.

All times below are the America/New York timezone.

Monday Tuesday Wednesday Thursday Friday
Aug 30,
First Day of Classes
Aug 31, Lecture 1:
Introduction to C++,
Strings & Vectors
Sept 1, Lab 1:
C++ Development,
Strings, & Vectors


quadratic.cpp
README.txt

 Sept 3, Lecture 2:
C++ Classes, part 1
Sept 6,
No Classes
Sept 7,
Monday Schedule
Sept 8, Lab 2:
Classes


main.cpp

Sept 9, Homework 1:
ASCII Font Art

due @ 11:59pm

README.txt
provided.cpp
simple_font.txt
hello_world_output.txt
hello_world_output2.txt
hello_world_output_kerning.txt
sentence.txt
sentence_kerning.txt
another_sentence.txt
provided_files.zip

Sept 10, Lecture 3:
C++ Classes, part 2
Sept 13,
Last day to add classes
Sept 14, Lecture 4:
Pointers and Arrays
Sept 15, Lab 3:
Debugging with the Command Line Debugger


point.h
point.cpp
line.h
line.cpp
roads.cpp
input_a.txt
input_b.txt
input_c.txt
input_d.txt

Sept 16, Homework 2:
Spelling Bee Classes
update 9/14
due @ 11:59pm

README.txt
sample.txt
output_sample_games.txt
output_sample_words.txt
output_sample_letters.txt
small_test.txt
output_small_test_games.txt
output_small_test_words.txt
output_small_test_letters.txt
august_2021.txt
2021.txt
2020.txt
provided_files.zip

Sept 17, Lecture 5:
Dynamic Memory
 Sept 21, Lecture 6:
Vector Implementation
Sept 22, Lab 4:
Vector Implementation & Memory Debugging


vec.h
test_vec.cpp

Sept 23, Test 1
6:00-7:50pm
Sept 24, Lecture 7:
Big O Notation & Basic Recursion
 Sept 28, Lecture 8:
Iterators & STL Lists
Sept 29, Lab 5:
Reversing Data: STL Vectors vs. STL Lists

checkpoint1.cpp

Sept 30, Homework 3:
Dynamic Tetris Arrays

due @ 11:59pm

README.txt
main.cpp
sample_output.txt
provided_files.zip

Oct 1, Lecture 9:
Vector Iterators & Linked Lists
 Oct 5, Lecture 10:
Doubly Linked Lists & List Implementation
Oct 6, Lab 6:
List Implementation

dslist.h (partial)
checkpoint1.cpp
checkpoint2.cpp

Oct 7, Homework 4:
Visual Difference Lists

due @ 11:59pm

README.txt
diff.h
input_output.h
input_output.cpp
render.h
render.cpp
main.cpp
requests_sample.txt
requests_sample_debugging.txt
input_original.txt
input_sample.txt
output_original_sample.diff
output_sample_original.diff
requests_still_i_rise.txt
input_still_i_rise.txt
input_still_i_rise_no_punctuation.txt
requests_hello_world.txt
input_hello_world.cpp
input_hello_world_revised.cpp
requests_revised.txt
input_revised.txt
output_prioritize_erase.diff
output_prioritize_insert.diff
output_prioritize_replace.diff
output_default.diff
output_recursive.diff
provided_files.zip

Oct 8, Lecture 11:
Advanced Recursion
Oct 11,
No classes
Oct 12, Lecture 12:
Problem Solving, part 1
Oct 13, Lab 7:
Recursion

grid1.txt
grid2.txt
grid3.txt
grid4.txt
start.cpp

Oct 14, Homework 5:
Linked Grid

due @ 11:59pm

README.txt
main.cpp
sample_output.txt
provided_files.zip

Oct 15, Lecture 13:
Problem Solving, part 2
 Oct 19, Lecture 14:
Operators & Friends
Oct 20, Lab 8:
Operators

main_checkpoint_1_and_2.cpp

Oct 21, Test 2
6:00-7:50pm
Oct 22, Lecture 15:
Associative Containers, part 1

Last day to drop classes

 Oct 26, Lecture 16:
Associative Containers, part 2
Oct 27, Lab 9:
Maps

Oct 28, Homework 6:
Carcassonne Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
tile.h
tile.cpp
board.h
board.cpp
location.h
location.cpp
puzzle1.txt
puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle8.txt
puzzle9.txt
output5.txt
output3rotations.txt
output6all.txt
output4allrotations.txt
provided_files.zip

Homework 6 Contest Results

Oct 29, Lecture 17:
Trees, part 1
 Nov 2, Lecture 18:
Trees, part 2
Nov 3, Lab 10:
Binary Search Trees &
Tree Implementation, part 1

ds_set.h
test_ds_set.cpp

Nov 4, Homework 7:
Halloween Maps

due @ 11:59pm

README.txt
main.cpp
small_input.txt
small_output.txt
medium_input.txt
medium_output.txt
large_input.txt
huge_input.txt
provided_files.zip

Nov 5, Lecture 19:
Trees, part 3
 Nov 9, Lecture 20:
Trees, part 4
Nov 10, Lab 11:
Tree Implementation, part 2

ds_set.h
test_ds_set.cpp

Nov 11, Homework 8:
Quad Trees & Tree Iteration

due @ 11:59pm

README.txt
main.cpp
quad_tree.h
output.txt
provided_files.zip

Nov 12, Lecture 21:
Hybrid / Variant Data Structures

Pass/No Credit Deadline

 Nov 16, Lecture 22:
Hash Tables, part 1
Nov 17, Lab 12:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Nov 18, Test 3
6:00-7:50pm
Nov 19, Lecture 23:
Hash Tables, part 2
 Nov 23, Lecture 24:
Inheritance & Polymorphism
Nov 24-26,
No Classes
 Nov 30, Lecture 25:
Priority Queues
Dec 1, Lab 13:
Priority Queues & Inheritance

heapsort.cpp

Dec 2, Homework 9:
Constellation Hash Table

due @ 11:59pm

README.txt
provided_files.zip

Dec 3, Lecture 26:
C++ Exceptions
 Dec 7, Lecture 27:
Garbage Collection & Smart Pointers
Dec 8, Lab 14:
Garbage Collection & Smart Pointers

stop_and_copy.h
stop_and_copy.cpp
main_stop_and_copy.cpp
ds_smart_pointers.h
main_smart_pointers.cpp

Dec 9, Homework 10:
Distance Fields & Priority Queues

due @ 11:59pm

README.txt
image.h
image.cpp
main.cpp
priority_queue.h
dots_1000x1000.ppm
data_structures_300x300.ppm
lines_100x100.ppm
squiggle_30x30.ppm
small_10x10.ppm
tiny_5x5.ppm
provided_files.zip

Dec 10, Lecture 28:
Concurrency & Asynchronous Computing

Last Day of Classes

Dec 13-14,
Reading Days
Dec 15,
Other RPI Final Exams
Dec 16,
Data Structures Final Exam
6:30-9:30pm

Fall 2021 Final Exams Schedule

Dec 17,
Other RPI Final Exams
Dec 20-21,
Other RPI Final Exams