Skip to main content

Course Calendar

IMPORTANT NOTE: Due to COVID-19, all aspects of RPI's Fall 2020 Data Structures course will be conducted online. Please be patient as we adapt our materials and teaching methods to this format.

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


quadratic.cpp
README.txt

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


main.cpp

Sept 10, 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 11, Lecture 3:
C++ Classes, part 2

Last day to add classes

 Sept 15, Lecture 4:
Pointers and Arrays
Sept 16, 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 17, Homework 2:
Tennis Classes

due @ 11:59pm

README.txt
sample_scores.txt
output_sample_scores_matches.txt
output_sample_scores_games.txt
mens_2014_5_setters.txt
output_mens_2014_5_setters_matches.txt
output_mens_2014_5_setters_games.txt
mens_2014_ao.txt
mens_2014_fo.txt
mens_2014_w.txt
mens_2014_uso.txt
mens_2014.txt
provided_files.zip

Sept 18, Lecture 5:
Dynamic Memory
 Sept 22, Lecture 6:
Vector Implementation
Sept 23, Lab 4:
Vector Implementation & Memory Debugging


vec.h
test_vec.cpp

Sept 24, Test 1
6:55-8:45pm
Sept 25, Lecture 7:
Big O Notation & Basic Recursion
 Sept 29, Lecture 8:
Iterators & STL Lists
Sept 30, Lab 5:
Reversing Data: STL Vectors vs. STL Lists

checkpoint1.cpp

Oct 1, Homework 3:
Undo Array

due @ 11:59pm

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

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

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

Oct 8, 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

power outage extension to Friday Oct 9th @ 11:59pm

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

grid1.txt
grid2.txt
grid3.txt
grid4.txt
start.cpp Updated 10/13 @ 11pm to use enum rather than bool

Oct 15, Homework 5:
Multi-Linked Lists

due @ 11:59pm

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

Oct 16, Lecture 13:
Problem Solving, part 2
 Oct 20, Lecture 14:
Operators
Oct 21, Lab 8:
Operators

main_checkpoint_1_and_2.cpp

Oct 22, Test 2
6:55-8:45pm
Oct 23, Lecture 15:
Associative Containers, part 1

Last day to drop classes

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

Oct 29, Homework 6:
Paint-By-Pairs Recursion

due @ 11:59pm

README.txt
README_contest.txt
main.cpp
board.h
board.cpp
puzzle1.txt
out_puzzle1.txt
out_puzzle1_all.txt
puzzle2.txt
out_puzzle2.txt
puzzle3.txt
puzzle4.txt
puzzle5.txt
puzzle6.txt
puzzle7.txt
provided_files.zip

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

ds_set.h
test_ds_set.cpp

Nov 5, Homework 7:
Word Frequency Maps

due @ 11:59pm

README.txt
main.cpp
spot.txt
spot_input.txt
spot_output.txt
hansel_and_gretel.txt
(original link)
hg_input_2.txt
hg_output_2.txt
hg_input_3.txt
hg_output_3.txt
alice_in_wonderland.txt
(original link)
shakespeare.txt
(original link)
provided_files.zip

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

ds_set.h
test_ds_set.cpp

Nov 12, Homework 8:
Bounding Volume Hierarchy Trees

due @ 11:59pm

README.txt
main.cpp
shapes.h update 11/11
shapes.cpp update 11/11
moved implementation of templated intersect function from shapes.cpp to shapes.h
utils.h
utils.cpp
bvh_partial.h
provided_files.zip

Nov 13, Lecture 21:
Hybrid / Variant Data Structures
 Nov 17, Lecture 22:
Hash Tables, part 1
Nov 18, Lab 12:
Hash Tables

ds_hashset.h
test_ds_hashset.cpp

Nov 19, Test 3
6:55-8:45pm
Nov 20, Lecture 23:
Hash Tables, part 2

Pass/No Credit Deadline

 Nov 24, Lecture 24:
Inheritance & Polymorphism
Nov 25-27,
No Classes
 Dec 1, Lecture 25:
Priority Queues
Dec 2, Lab 13:
Priority Queues & Inheritance

heapsort.cpp

Dec 3, Homework 9:
Hash Tables for Image Comparison

due @ 11:59pm

README.txt
main.cpp
image.h
image.cpp
visualization.h
visualization.cpp
images.zip
provided_files.zip

Dec 4, Lecture 26:
C++ Exceptions
 Dec 8, Lecture 27:
Garbage Collection & Smart Pointers
Dec 9, 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 10, Homework 10:
Performance and Big O Notation

due @ 11:59pm

README.txt
performance.cpp
performance_vector.cpp
performance_linked_list.cpp
performance_bst.cpp
performance_priority_queue.cpp
performance_hash_table.cpp
generate_input.cpp
runstats.c
small_string_input.txt
small_string_output_sort.txt
small_string_output_remove_duplicates.txt
small_string_output_mode.txt
small_string_output_first_sorted_3.txt
small_string_output_longest_substring.txt
small_integer_input.txt
small_integer_output_sort.txt
small_integer_output_remove_duplicates.txt
small_integer_output_mode.txt
small_integer_output_closest_pair.txt
small_integer_output_first_sorted_5.txt
provided_files.zip

Dec 11, Lecture 28:
Concurrency & Asynchronous Computing

Last Day of Classes

Dec 12-14,
Reading Days
Dec 15-16,
Other RPI Final Exams
Dec 17, Data Structures Final Exam
6:30-9:30pm America/New York

Fall 2020 Final Exams Schedule

Dec 18,
Other RPI Final Exams
Dec 21,
Other RPI Final Exams