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)

More info