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 29,
First Day of Classes
Aug 30, Lecture 1:
Introduction to C++,
Strings & Vectors
Aug 31, Lab 1:
C++ Development,
Strings, & Vectors


quadratic.cpp
README.txt

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


main.cpp

Sept 8, Homework 1:
Crossword Checker

due @ 11:59pm

README.txt
puzzle1.txt
puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
puzzle8.txt
linux_dict_words.txt
puzzle2_output.txt
puzzle6_output.txt
puzzle6_output_print.txt
puzzle6_output_print_coordinates.txt
puzzle6_output_print_numbered.txt
provided_files.zip

Sept 9, Lecture 3:
C++ Classes, part 2
Sept 12,
Last day to add classes
Sept 13, Lecture 4:
Pointers and Arrays
Sept 14, 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 15, Homework 2:
Spelling Bee Classes

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 16, Lecture 5:
Dynamic Memory
 Sept 20, Lecture 6:
Vector Implementation
Sept 21, Lab 4:
Vector Implementation & Memory Debugging


vec.h
test_vec.cpp

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

checkpoint1.cpp

Sept 29, Homework 3:
Resizeable Tables

due @ 11:59pm

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

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

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

Oct 6, Homework 4:
Visual Difference Lists

due @ 11:59pm

README.txt
diff.h
input_output.h minor update 10/3
input_output.cpp
render.h minor update 10/3
render.cpp
main.cpp
requests.txt
requests_debugging.txt
input_original.txt
input_revised.txt
output_original_revised.diff
output_revised_original.diff
requests_still_i_rise.txt
input_still_i_rise_original.txt
input_still_i_rise_revised.txt
requests_hello_world.txt
input_hello_world_original.cpp
input_hello_world_revised.cpp
requests_revised2.txt
input_revised2.txt
output_prioritize_erase.diff
output_prioritize_insert.diff
output_prioritize_replace.diff
output_default.diff
output_recursive.diff
provided_files.zip

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

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

Oct 13, Homework 5:
Backup Essay

due @ 11:59pm

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

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

main_checkpoint_1_and_2.cpp

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

Last day to drop classes

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

Oct 27, Homework 6:
Recursive Bridges

due @ 11:59pm

README.txt
README_contest.txt
provided_main.cpp
provided_grid.h
provided_grid.cpp
puzzle_sample.txt
puzzle_1.txt
puzzle_2.txt
puzzle_3.txt
puzzle_4.txt
puzzle_5.txt
puzzle_6.txt
puzzle_7.txt
puzzle_8.txt
puzzle_9.txt
out_sample_covers_board.txt
out_puzzle_1.txt
out_puzzle_1_one_color_A.txt
out_puzzle_1_one_color_B.txt
out_puzzle_1_all_paths.txt
out_puzzle_2.txt
out_puzzle_2_one_color_A.txt
out_puzzle_2_one_color_B.txt
out_puzzle_2_one_color_C.txt
out_puzzle_2_all_paths.txt
provided_files.zip

Homework 6 Contest Results

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

ds_set.h
test_ds_set.cpp

Nov 3, Homework 7:
Registration Maps

due @ 11:59pm

README.txt
main.cpp
small_example.txt
example_with_errors.txt
random_small.txt new Oct 31
random_medium.txt new Oct 31
output_small_example.txt
output_example_with_errors.txt
stderr_example_with_errors.txt
output_random_small.txt new Oct 31
output_random_medium.txt bugfix Nov 1
fall.txt
spring.txt
prereqs.txt
degree_requirements.txt
provided_files.zip

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

ds_set.h
test_ds_set.cpp

Nov 10, Homework 8:
Bidirectional Maps

due @ 11:59pm

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

Nov 11, Lecture 21:
Hybrid / Variant Data Structures
 Nov 15, Lecture 22:
Hash Tables, part 1
Nov 16, Lab 12:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Nov 17, Test 3
6:00-7:50pm
Nov 18, Lecture 23:
Hash Tables, part 2

Pass/No Credit Deadline

 Nov 22, Lecture 24:
Inheritance & Polymorphism
Nov 23-25,
No Classes
 Nov 29, Lecture 25:
Priority Queues
Nov 30, Lab 13:
Priority Queues & Inheritance

heapsort.cpp

Dec 1, Homework 9:
Perfect Hashing

due @ 11:59pm

README.txt
main.cpp
image.h
image.cpp updated 11/21
image.h
car_occupancy.pbm
car_hash_data.ppm
car_offset.offset
car_original.ppm
chair.ppm
lightbulb.ppm
provided_files.zip

Dec 2, Lecture 26:
C++ Exceptions
 Dec 6, Lecture 27:
Garbage Collection & Smart Pointers
Dec 7, 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 8, Homework 10:
Priority Queues for Mesh Simplification

due @ 11:59pm

README.txt
vertex.h
vertex.cpp
edge.h
edge.cpp
triangle.h
triangle.cpp
mesh.h
mesh.cpp
output.cpp
main.cpp
priority_queue.h
image.h
image.cpp
sunflowers.ppm
cats.ppm
deer.ppm
tomatoes.ppm
provided_files.zip

Dec 9, Lecture 28:
Concurrency & Asynchronous Computing

Last Day of Classes

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

Fall 2022 Final Exams Schedule & Information

Dec 20,
Other RPI Final Exams