CSCI 232: Data Structures and Algorithms 🖥
Spring 2024
📅 Date | 📋 Topic | 📖 Extra Notes | 📊 Class Content | 📝 Assignment |
---|---|---|---|---|
Thursday January 18th | Syllabus + Course Intro | CSCI 132 Material | Slides Lecture Recording | Please fill out the Course Questionnaire! |
Friday January 19th | NO LAB (Get IDE Installed) | |||
Tuesday January 23rd | Java Review | Slides Lecture Recording Code |
||
Thursday January 25th | Stacks, Queues, Linked Lists | Slides Lecture Recording Code |
||
Friday January 26th | Lab 1 (Java) | Lab 1 Due | ||
Tuesday January 30th | Trees | Slides Lecture Recording Code |
||
Thursday February 1st | Trees | Slides Lecture Recording Code |
||
Friday February 2nd | Lab 2 (Trees) | Lab 2 Due | ||
Tuesday February 6th | Tree Traversal | Slides Lecture Recording Code |
||
Thursday February 8th | Binary Search Trees | Slides Lecture Recording Code |
||
Friday February 9th | Lab 3 (Trees) | Lab 3 Due | ||
Tuesday February 13th | Binary Search Trees, Program 1 | Traversals of a BST | Slides Lecture Recording Code |
|
Thursday February 15th | CLASS CANCELLED (Reese sick) | |||
Friday February 16th | Lab 4 (BST) | Lab 4 Due | ||
Tuesday February 20th | Hash Tables | Slides Lecture Recording Code |
||
Thursday February 22nd | Java Hashing (Hash Maps, Hash Sets) | Slides Lecture Recording Code |
||
Friday February 23rd | Lab 5 (Hash Tables) | Lab 5 Due | ||
Tuesday February 27th | Hash Maps, Hashing Collisions, Hash Functions | Slides Lecture Recording Code |
Program 1 Due | |
Thursday February 29th | NO CLASS (Reese gone) | |||
Friday March 1st | Lab 6 (Hash Collisions) | Lab 6 Introduction Video | Lab 6 Due | |
Tuesday March 5th | Red Black Trees | Red Black Tree Animation Tool | Slides Lecture Recording Code |
|
Thursday March 7th | Heaps | Slides Lecture Recording Code |
||
Friday March 8th | Lab 7 (Comparing Data Structures) | Lab 7 Due | ||
Sunday March 10th | Program 2 Due | |||
Tuesday March 12th | No lab (Spring Break) | |||
Thursday March 14th | No class (Spring Break) | |||
Friday March 15th | No class (Spring Break) | |||
Tuesday March 19th | Review | Midterm Exam Study Guide | Slides Lecture Recording | |
Thursday March 21st | Midterm Exam | |||
Friday March 22nd | No Lab | |||
Tuesday March 26th | Graphs (Representation) | Slides Lecture Recording Code |
||
Thursday March 28th | Graphs (Traversal) | Slides Lecture Recording Code |
||
Friday March 29th | Lab 8 due (Survey) | Lab 8 Due | ||
Tuesday April 2nd | MST (Asyncronous Lecture) | Slides Lecture Recording Code |
||
Thursday April 4th | MST | Slides Lecture Recording Code |
||
Friday April 5th | Lab 9 (Graphs) | Lab 9 Due | ||
Tuesday April 9th | Shortest Path | Slides Lecture Recording Code |
||
Thursday April 11th | Shortest Path | Dijkstra's Algorithm Shortest Path Visualizer |
Slides Lecture Recording Code |
|
Friday April 12th | Lab 10 (Program 3 Starting Code) | Lab 10 | ||
Tuesday April 16th | Dynamic Programming (Change Making) | Slides Lecture Recording Code |
||
Wednesday April 17th | Gianforte Hall Groundbreaking Ceremony (2PM) | |||
Thursday April 18th | Dynamic Programming (Edit Distance) | CIA Careers | Slides Lecture Recording Code |
|
Friday April 19th | Lab 11 (Dynamic Programming) | Lab 11 | ||
Sunday April 21st | ||||
Tuesday April 23rd | Dynamic Programming (Rod Cutting) Program Help Session (Barnard Hall 254) |
Slides Lecture Recording Code |
Program 3 Due | |
Thursday April 25th | Greedy Algorithms + Tractability | P vs NP | Slides Lecture Recording | |
Friday April 26th | Lab 12 (Greedy Algorithms) | Lab 12 | ||
Tuesday April 30th | Divide and Conquer (Closest Pair) | Closest Pair Algorithm Visualization | Slides Lecture Recording | |
Thursday May 2nd | Course Conclusion + Review | Final Exam Study Guide | Slides Lecture Recording | |
Friday May 3rd | Lab 13 (Course Evaluation) | Lab 13 | ||
Sunday May 5th | Program 4 Due | |||
Thursday May 9 10:00am - 11:50am | Final Exam (in person) | Let me know if you are taking the exam! |
Other things we might cover if we have time
- Pattern Matching
- Suffix Trees
- B-Trees
- Symbol Tables
- Memory Management