Skip to main content

Course Calendar

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

Monday Tuesday Wednesday Thursday Friday
 Aug 28,
First Day of Classes
Monday Schedule
Aug 29, Lecture 1:
Introduction to C++ Development
Sept 1,
No Classes
Sept 2, Lecture 2:
STL Strings & Vectors
Sept 3, Lab 1:
Introduction to C++, Strings, & Vectors


quadratic.cpp
README.txt

Sept 4, Homework 0:
Guessing Game

due @ 11:59pm


README.txt
troy_zip_code.txt
powers_of_two.txt
prime_numbers.txt
100_4_digit_numbers.txt
1000_5_digit_numbers.txt
example_output_troy_zip_code.txt
example_output_prime_numbers.txt
example_output_powers_of_two.txt
provided_files.zip

Sept 5,
Monday Schedule
 Sept 9, Lecture 3:
C++ Classes, part 1
Sept 10, Lab 2:
Classes, Const, & Reference


main.cpp

Sept 11, Homework 1:
Math Equation Game

due @ 11:59pm


README.txt
sample_equation.txt
example_output_sample_equation.txt
sample_equation2.txt
example_output_sample_equation2.txt
simple_equations.txt
addition_only_equations.txt
general_equations.txt
provided_files.zip

Sept 12, Lecture 4:
C++ Classes, part 2


Last day to add/drop courses

 Sept 16, Lecture 5:
Pointers and Arrays
Sept 17, Lab 3:
Pointers & Step-by-Step Debugging


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

Sept 18, Homework 2:
Bowling Classes

due @ 11:59pm


README.txt
no_strikes_or_spares.txt
out_no_strikes_or_spares.txt
simple_tenth.txt
out_simple_tenth.txt
example.txt
out_example.txt
2010_US_Open.txt
provided_files.zip

Sept 19, Lecture 6:
Dynamic Memory
 Sept 23, Lecture 7:
Vector Implementation
Sept 24, Lab 4:
Vec Implementation & Dynamic Memory & Memory Debugging


vec.h
test_vec.cpp

Sept 25, Test 1
6:00-7:50pm
Sept 26, Lecture 8:
Algorithm Analysis a.k.a. Big O Notation
 Sept 30, Lecture 9:
Iterators & STL Lists
Oct 1, Lab 5:
Iterators & Lists


checkpoint1.cpp

Oct 2, Homework 3:
Undo Array

due @ 11:59pm


README.txt
main.cpp
sample_output.txt
small.txt
medium.txt
large.txt
provided_files.zip

Oct 3, Lecture 10:
Simple Recursion & Linked Lists
 Oct 7, Lecture 11:
Doubly Linked Lists & List Implementation
Oct 8, Lab 6:
List Implementation


dslist.h (partial)
lab6_testing.cpp

Oct 9, Homework 4:
Autograding Scheduler

due @ 11:59pm


README.txt
main.cpp
timestamp.h
timestamp.cpp
job.h
simulator.h
simulator.cpp
sample_jobs.txt
sample_visualization_single_file.txt
sample_log_single_file.txt
sample_stdout_single_file.txt
random_jobs_100.txt
random_jobs_500.txt
random_jobs_2000.txt
random_jobs_10000.txt
random_jobs_50000.txt
provided_files.zip

Oct 10, Lecture 12:
Operators & Friends
Oct 13,
No classes
Oct 14, Lecture 13:
Advanced Recursion
Oct 15, Lab 7:
Recursion & Big O Notation


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

Oct 16, Homework 5:
Jenga Stability

due @ 11:59pm


README.txt
main.cpp
jenga_print.cpp
output_SimpleTest.txt
output_CantileverTest.txt
output_JengaTest.txt
provided_files.zip

Oct 17, Lecture 14:
Problem Solving
 Oct 21, Lecture 15:
C++ Exceptions
Oct 22, Lab 8:
Operator Overloading


main.cpp
team.h
team.cpp

Oct 23, Test 2
6:00-7:50pm
Oct 24, Lecture 16:
Associative Containers, part 1
 Oct 28, Lecture 17:
Associative Containers, part 2
Oct 29, Lab 9:
Maps


phonebook.cpp

Oct 30, Homework 6:
Carcassonne Recursion

due @ 11:59pm


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

Oct 31, Lecture 18:
Trees, part 1
 Nov 4, Lecture 19:
Trees, part 2
Nov 5, Lab 10:
Binary Search Trees &
Tree Implementation, part 1


ds_set.h
test_ds_set.cpp

Nov 6, 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 7, Lecture 20:
Trees, part 3

Last day to withdraw from courses

 Nov 11, Lecture 21:
Trees, part 4
Nov 12, Lab 11:
Tree Implementation, part 2


ds_set.h
test_ds_set.cpp

Nov 13, Homework 8:
Bidirectional Map

due @ 11:59pm


README.txt
main.cpp
output.txt
extra_credit_output.txt
provided_files.zip

Nov 14, Lecture 22:
Inheritance & Polymorphism

Last day to pass/no credit courses

 Nov 18, Lecture 23:
Hash Tables, part 1
Nov 19, Lab 12:
Hash Tables


ds_hashset.h
test_ds_hashset.cpp

Nov 20, Test 3
6:00-7:50pm
Nov 21, Lecture 24:
Hash Tables, part 2
Nov 24-28,
No Classes
 Dec 2, Lecture 25:
Priority Queues
Dec 3, Lab 13:
Priority Queues & Heapsort


heapsort.cpp

Dec 4, Homework 9:
Spell Correcting Hash Table

due @ 11:59pm


README.txt
main.cpp
hash_function.h
hash_table.h
sample_separate_chaining_stats.txt
sample_open_addressing_stats.txt
sample_check_spelling_output.txt
sample_suggest_replacements_output.txt
words_with_frequency_10k.txt
words_with_frequency_20k.txt
words_with_frequency_50k.txt
words_with_frequency_100k.txt
words_with_frequency_200k.txt
words_with_frequency_500k.txt
hansel_and_gretel.txt
alice_in_wonderland.txt
wizard_of_oz.txt
shakespeare.txt
provided_files.zip

Dec 5, Lecture 26:
Hybrid / Variant Data Structures
 Dec 9, Lecture 27:
Garbage Collection & Smart Pointers
Dec 10, Lab 14:
Big O Notation & Performance


performance.cpp
generate_input.cpp
test_input.txt
test_sort.txt
test_mode.txt
test_remove_dups.txt
performance_linked_list.cpp
performance_bst.cpp
performance_priority_queue.cpp
performance_hash_table.cpp

Dec 11, Homework 10:
Priority Queue Scheduling

due @ 11:59pm


README.txt
main.cpp
timestamp.h updated 12/8
timestamp.cpp
job.h updated 12/8
simulator.h
simulator.cpp
main.cpp
sample_jobs.txt
random_jobs_100.txt updated 12/8
random_jobs_500.txt updated 12/8
random_jobs_1000.txt updated 12/8
random_jobs_2000.txt updated 12/8
random_jobs_5000.txt updated 12/8
random_jobs_10000.txt updated 12/8
provided_files.zip

Dec 12, Lecture 28:
Concurrency & Asynchronous Computing

Last Day of Classes

Dec 15,
Reading/Study Day
Dec 16,
Other RPI Final Exams
Dec 17,
Data Structures Final Exam
6:30-9:30pm

Fall 2025 Final Exams Schedule & Information

Dec 18-19,
Other RPI Final Exams
Dec 22,
Other RPI Final Exams