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

More info + Syllabus