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, Lab 1:
Introduction to C++ Development


quadratic.cpp
README.txt

First Day of Classes

 Aug 30, Lecture 1:
Strings & Vectors


 F2020 Syllabus Q&A
 F2020 Lecture 1

Sept 2,
No Classes
Sept 3,
Monday Schedule
Sept 4, Lab 2:
Strings & Vectors


statistics.cpp
input.txt

Sept 5, Homework 1:
ASCII Font Art
due @ 11:59pm

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

Sept 6, Lecture 2:
C++ Classes, part 1


 F2020 Homework 1 Q&A
 F2020 Lecture 2

 Sept 10, Lecture 3:
C++ Classes, part 2


 F2020 FAQ and Q&A
 F2020 Lecture 3

Sept 11, Lab 3:
Classes & Command Line Debugging


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

Sept 12, Homework 2:
Swimming Classes
due @ 11:59pm

README.txt
sample_dataset.txt
sample_output_events.txt
sample_output_events_medals.txt (extra credit)
sample_output_participants.txt
sample_output_participants_medals.txt (extra credit)
rio_paris_sample_dataset.txt updated 9/9
rio_paris_sample_output_events.txt updated 9/9
rio_paris_sample_output_events_medals.txt updated 9/9 (extra credit)
rio_paris_sample_output_participants.txt updated 9/9
rio_paris_sample_output_participants_medals.txt updated 9/9 (extra credit)
relay_dataset.txt
relay_output_events.txt
relay_output_events_medals.txt (extra credit)
relay_output_participants.txt
relay_output_participants_medals.txt (extra credit)
rio_2016_full_dataset.txt
provided_files.zip

Sept 13, Lecture 4:
Pointers and Arrays


 F2020 Lecture 4A: Pointers
 F2020 Lecture 4B: Pointer Arithmetic & Arrays

Last day to add/drop courses

 Sept 17, Lecture 5:
Dynamic Memory


 F2020 Lecture 5A: Dynamic Memory Intro
 F2020 Lecture 5B: Dynamic Memory Examples

Sept 18, Lab 4:
Dynamic Memory & Memory Debugging


Sept 19, Test 1
6:00-7:50pm

practice problems

Don't look at the solutions until you have fully worked the problems
practice problem solutions

Test 1 Solutions

Sept 20, Lecture 6:
Vector Implementation


vec.h

 F2020 Lecture 6A: Vec Implementation
 F2020 Lecture 6B: Vec Implementation

 Sept 24, Lecture 7:
Big O Notation & Basic Recursion


 F2020 Lecture 7A: Algorithm Analysis Introduction
 F2020 Lecture 7B: Basic Recursion

Sept 25, Lab 5:
Vector Implementation & Big O Notation

vec_lab5.h
test_vec.cpp

Sept 26, Homework 3:
Jagged Array
due @ 11:59pm

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

Sept 27, Lecture 8:
Iterators & STL Lists


classlist_ORIGINAL.cpp
classlist_LIST.cpp

 F2020 Lecture 8A: Iterator & STL List
 F2020 Lecture 8B: Example of List & Iterator

 Oct 1, Lecture 9:
Vector Iterators & Linked Lists


 F2020 Lecture 9A: Iterators continued
 F2020 Lecture 9B: Singly-Linked Lists

Oct 2, Lab 6:
Iterators & Lists

checkpoint1.cpp
checkpoint3.cpp

Oct 3, Homework 4:
Preference Lists
due @ 11:59pm

README.txt
main.cpp
requests.txt
results.txt
requests_large.txt
results_large.txt
requests_with_errors.txt
results_with_errors.txt
sample_cerr_error_messages.txt
provided_files.zip

Oct 4,
No Lecture

OPTIONAL
Hack RPI: Git/Github Workshop
 Oct 8, Lecture 10:
Doubly Linked Lists & List Implementation


dslist_partial.h

 F2020 Lecture 10A: doubly-linked lists
 F2020 Lecture 10B: dslist implementation

Oct 9, Lab 7:
List Implementation

dslist.h (partial) updated 10/9
lab7_testing.cpp

Oct 10, Homework 5:
Jenga Stability
due @ 11:59pm

README.txt
main.cpp updated 10/11
jenga_print.cpp
output_SimpleTest.txt
output_CantileverTest.txt
output_JengaTest.txt
provided_files.zip

Oct 11, Lecture 11:
Advanced Recursion


merge_sol.cpp

 F2020 Lecture 11: Advanced Recursion

Oct 14,
No classes
Oct 15, Lecture 12:
Problem Solving


word_search_sol.cpp

 F2020 Lecture 12: Problem Solving I
 F2020 Lecture 13: Problem Solving II

Oct 16, Lab 8:
Recursion

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

Oct 17, Test 2
6:00-7:50pm

practice problems

Don't look at the solutions until you have fully worked the problems
practice problem solutions

Test 2 Solutions

Oct 18, Lecture 13:
Operators & Friends



 F2020 Lecture 14: Operators & Friends

 Oct 22, Lecture 14:
Associative Containers, part 1


 F2020 Lecture 15: Maps, part 1

Oct 23, Lab 9:
Maps

Oct 24, Homework 6:
Recursive Kurotto Solver
due @ 11:59pm

README.txt
README_contest.txt
provided_main.cpp
input1.txt
input2.txt
input3.txt
input4.txt
input4_buggy.txt
input5.txt
input6.txt
input7.txt
input8.txt
input9.txt
input10.txt
output1.txt
output1_print_islands.txt
output1_print_check_solution.txt
output2.txt
output2_print_islands.txt
output2_print_check_solution.txt
output3.txt
output3_print_islands.txt
output3_print_check_solution.txt
output4.txt
output4_print_islands.txt
output4_print_check_solution.txt
output4_buggy_print_check_solution.txt
output4_all.txt
output4_all_print.txt
provided_files.zip

Oct 25, Lecture 15:
Associative Containers, part 2


 F2020 Lecture 16: Maps, part 2

 Oct 29, Lecture 16:
Trees, part 1


 F2020 Lecture 17: Trees, part 1

(Optional) Bonus Lecture
 F2020 Dr. Memory Uncovered
slides

Oct 30, Lab 10:
Binary Search Trees &
Tree Implementation, part 1

ds_set.h
test_ds_set.cpp

Oct 31, Homework 7:
Registration Maps
due @ 11:59pm

README.txt
main.cpp typo corrected Oct 28
small_example.txt
output_small_example.txt
example_with_errors.txt
output_example_with_errors.txt
stderr_example_with_errors.txt
random_small.txt new Oct 28
output_random_small.txt new Oct 28
random_medium.txt new Oct 28
random_large.txt new Oct 28
fall21.txt
spring22.txt
fall22.txt
spring23.txt
fall23.txt
spring24.txt
fall24.txt
spring25.txt
conservative_prereqs.txt
detailed_prereqs.txt
simplified_degree_requirements.txt
degree_clearance_example.txt
output_degree_clearance.txt
provided_files.zip

Nov 1, Lecture 17:
Trees, part 2


 F2020 Lecture 18: Trees, part 2

 Nov 5, Lecture 18:
Trees, part 3


breadth_first.cpp
ds_set_lec18_post.h

 F2020 Lecture 19: Trees, part 3

Nov 6, Lab 11:
Tree Implementation, part 2

ds_set.h
test_ds_set.cpp

Nov 7, Homework 8:
Bounding Volume Hierarchy
due @ 11:59pm

README.txt
main.cpp
shapes.h
shapes.cpp
utils.h
utils.cpp
bvh_partial.h
provided_files.zip

Nov 8, Lecture 19:
Trees, part 4


 F2020 Lecture 20: Trees, part 4

Last day to withdraw from courses

 Nov 12, Lecture 20:
Hash Tables, part 1


google_interview.txt

 F2020 Lecture 22: Hash Tables, part 1

Nov 13, Lab 12:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Nov 14, Test 3
6:00-7:50pm

practice problems

Don't look at the solutions until you have fully worked the problems
practice problem solutions

Test 3 Solutions

Nov 15, Lecture 21:
Hash Tables, part 2


 F2020 Lecture 23: Hash Tables, part 2

Last day to pass/no credit courses

 Nov 19, Lecture 22:
Priority Queues
Nov 20, Lab 13:
Priority Queues

Nov 21, Homework 9
due @ 11:59pm

Nov 22, Lecture 23:
Inheritance & Polymorphism
 Nov 26, Lecture 24:
Hybrid / Variant Data Structures
Nov 27-29,
No Classes
 Dec 3, Lecture 25:
C++ Exceptions
Dec 4, Lab 14:
Garbage Collection & Smart Pointers

Dec 5, Homework 10
due @ 11:59pm

Dec 6, Lecture 26:
Garbage Collection & Smart Pointers
 Dec 10, Lecture 27:
Concurrency & Asynchronous Computing

Last Day of Classes

Dec 11-12,
Reading Days
Dec 13,
Other RPI Final Exams
Dec 16-17,
Other RPI Final Exams
Dec 18,
Data Structures Final Exam
3:00-6:00pm

Fall 2024 Final Exams Schedule & Information

Dec 19,
Other RPI Final Exams