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