CSCI 132: Basic Data Structures and Algorithms ☕
Fall 2024
-Syllabus
📅 Date | 📋 Topic | 📖 Extra Notes | 📊 Class Content | 📝 Assignment |
---|---|---|---|---|
Unit 1: Java Introduction (Reese) | ||||
Wednesday August 21st | Syllabus | Eclipse IDE Installation Tutorial | Slides Lecture Recording | Please Fill out the Course Questionnaire! |
Thursday August 22nd | No lab! | Get IDE Installed | ||
Friday August 23rd | Python to Java (Variables, Data Types, Operations) | Slides Lecture Recording Code |
||
Monday August 26th | Python to Java (OOP, Functions/Method, If Statements) | Slides Lecture Recording Code |
||
Wednesday August 28th | Python to Java (Loops, Arrays) | Slides Lecture Recording Code |
||
Thursday August 29th | Lab 1 (Basic Java) | Lab 1 Due | ||
Friday August 30th | File I/O | Slides Lecture Recording Code |
||
Monday September 2nd | NO CLASS | |||
Wednesday September 4th | More Java | Slides Lecture Recording Code |
||
Thursday September 5th | Lab 2 (More Java) | Lab 2 Due | ||
Friday September 6th | Program 1, References, Debugging | Slides Lecture Recording Code |
||
Unit 2: Java Object Oriented Design (Iliana) | ||||
Monday September 9th | Inheritance | Slides Lecture Recording Code |
||
Wednesday September 11th | Interfaces | Slides Lecture Recording Code |
||
Thursday September 12th | Lab 3 (Inheritance) | Lab 3 Due | ||
Friday September 13th | Static Methods, Four Pillars of OOP | Slides Lecture Recording Code |
||
Unit 3: List ADT (Reese) | ||||
Monday September 16th | Dynamic Arrays | Slides Lecture Recording Code |
||
Wednesday September 18th | Dynamic Arrays + ArrayLists | Slides Lecture Recording Code |
||
Thursday September 19th | Lab 4 (Arrays) | Lab 4 Due | ||
Friday September 20th | Linked Lists | Slides Lecture Recording Code |
||
Sunday September 22nd | Program 1 Due | |||
Monday September 23rd | Doubly Linked Lists | Slides Lecture Recording Code |
||
Wednesday September 25th | Doubly Linked Lists, Circular Linked Lists | Slides Lecture Recording Code |
||
Thursday September 26th | Lab 5 (Linked Lists) | Lab 5 Due | ||
Friday September 27th | Circular Linked Lists, Program 2 Discussion | Slides Lecture Recording Code |
||
Unit 4: Time Complexity (Reese) | ||||
Monday September 30th | Growth Rates | Slides Lecture Recording | ||
Wednesday October 2nd | Big O | Slides Lecture Recording | ||
Thursday October 3rd | Lab 6 (Linked Lists) | Lab 6 Due | ||
Friday October 5th | Program 2 Help Session (no lecture) | |||
Monday October 7th | Review | Midterm Exam Study Guide | Slides Lecture Recording | |
Wednesday October 9th | Midterm Exam | |||
Thursday October 10th | No Lab! | |||
Friday October 11th | Exam Solution, Program Q+A | MSU Schedule of Classes | Lecture Recording | Program 2 Due |
Unit 5: Stack and Queue ADT (Iliana) | ||||
Monday October 14th | Stacks (Array) | Slides Lecture Recording Code |
||
Wednesday October 16th | Stacks (Linked Lists) | Slides Lecture Recording Code |
||
Thursday October 17th | Lab 7 (Stacks) | Lab 7 Due | ||
Friday October 18th | Program 3, Queues (LinkedList) | Slides Lecture Recording Code |
||
Monday October 21st | Queues (Array) | Slides Lecture Recording Code |
||
Wednesday October 23rd | Queues (Array) | Slides Lecture Recording Code |
||
Thursday October 24th | Lab 8 (Queues) | Lab 8 Due | ||
Friday October 25th | Program 3 Work Day | |||
Monday October 28th | Priority Queues | Slides Lecture Recording Code |
||
Unit 6: Algorithms- Recursion (Iliana) | ||||
Wednesday October 30th | Program 4, Recursion | Slides Lecture Recording Code |
||
Thursday October 31st | Lab 9 (Big-O) | Lab 9 Due | ||
Friday November 1st | Recursion | Slides Lecture Recording Code |
Program 3 Due | |
Monday November 4th | Recursion | Slides Lecture Recording Code |
||
Unit 7: Algorithms- Sorting and Searching (Reese and Iliana) | ||||
Wednesday November 6th | Change Making | Slides Lecture Recording Code |
||
Thursday November 7th | Lab 10 (Recursion) | Lab 10 Due | ||
Friday November 8th | Sorting (Bubble Sort) | Slides Lecture Recording Code |
||
Monday November 11th | NO CLASS | |||
Wednesday November 13th | Sorting (Merge Sort) | Slides Lecture Recording Code |
||
Thursday November 14th | Lab 11 (Sorting) | Lab 11 Due | ||
Friday November 15th | Sorting (Quick Sort) | Slides Lecture Recording Code |
Program 4 Due | |
Monday November 18th | Searching | Slides Lecture Recording Code |
||
Wednesday November 20th | Program 5, Finish up Sorting | Slides Lecture Recording | ||
Thursday November 21st | Lab 12 (Searching) | Lab 12 Due | ||
Friday November 22nd | Program 5 Work day (No Lecture) | |||
Monday November 25th | No Class | |||
Wednesday November 27th | No Class | |||
Thursday November 28th | No Class | |||
Friday November 29th | No Class | |||
Unit 8: Special Topics | ||||
Monday December 2nd | Classroom broken (no class) | |||
Wednesday December 4th | Java Generics, Software Testing | Slides Lecture Recording Code |
||
Thursday December 5th | Lab 13 (Course Eval) | Lab 13 Due | ||
Friday December 6th | Review | Final Exam Study Guide | Slides Lecture Recording | Rubber Duck Extra Credit Screenshot Due |
Sunday December 8th | Program 5 Due | |||
Monday, December 9th 2:00 - 3:50 PM | Final Exam (in person) |