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) |