Advanced Topics in Computer Science

Schedule

Advanced Topics in CS Calendar, D Period, 2025-2026
Sun Mon Tue Wed Thu Fri Sat
01/11/26 01/12/26 01/13/26 01/14/26 01/15/26 01/16/26 01/17/26

Day 6-End of First Semester Day 1-Second Semester Begins. CLASS: Presentation on Unit 0 - Orientation. Intro to Course: website, server (username, password). Installing Miniconda Python3. Installing VS Code. Organizing files in folders. Navigating file system in Terminal. Taking notes in a text editor with Markdown. Writing function-based hello_world.py CLASS: Begin presentation on Unit 1 - Python Bootcamp. Crash Course in Python: Output/Input, Identifiers, Data Types, Mutable, Immutable. Modules, Functions Day 3 CLASS: Continue Crash Course: Conditionals, Loops


HW: Complete all items listed in Unit 0 - Orientation. Read Chapter 1 up to and including Section 1.9.1 String Formatting in our textbook. Upload hello_world.py to server. HW: Read Chapter 1 up to and including Section 1.12 Defining Functions. Do four_functions
HW: Read Section 1.10 Control Structures. Do grade_reporter, guessing_game
01/18/26 01/19/26 01/20/26 01/21/26 01/22/26 01/23/26 01/24/26

Martin Luther King, Jr. Holiday CLASS: Continue Crash Course: Strings, Lists, Tuples Day 6 CLASS: Continue Crash Course: Dictionaries, External Files, List Comprehension CLASS: Crash Course: Object-Oriented Python. Objects, Instance variable, Constructors, Methods. Examples: Die class, Fraction class


HW: Read Section 1.8.2. Do vowel_counter, censor
HW: Read 1.8.2. Do letter_counter with sowpods wordlist HW: Begin work on Activity-Zipf’s Law analysis. Read Ch1, Section 1.13. Implement Fraction class .__add__() method, gcd function, and .__eq__() method.
01/25/26 01/26/26 01/27/26 01/28/26 01/29/26 01/30/26 01/31/26

Day 3 CLASS: Crash Course: Object-Oriented Python. Continue Fraction class, run fraction_tester.py against your Fraction class. Discuss the Wardrobe Project CLASS: Crash Course: Object-Oriented Python and Inheritance. Download Project: Wardrobe (PDF). Watch Object-Oriented Programming in Python: Video 1 and Video 2 on YouTube in class or for reference Day 6 CLASS: Begin Unit 2: Algorithm Analysis, incl. O-Notation


HW: Work on Zipf, Fraction. HW: Write up the Clothing class as described in the videos, and add a subclass of your own to the project, OR, develop your own superclass and subsclasses, and write a runner to demonstrate their functionality
HW: factorial_execution_time, anagram_analysis, complete Zipf, Fraction, and Wardrobe projects.
02/01/26 02/02/26 02/03/26 02/04/26 02/05/26 02/06/26 02/07/26

CLASS: Continue Algorithm Analysis, del vs. remove Day 3 CLASS: Begin Unit 3: Recursion: Visual, summing, factorials, Fibonacci. CodingBat problems (zipped collection CLASS: Recursion: Work on Sierpinski w/Turtle graphics (sierpinski.py) and recursive_tree.py. Day 6

HW: Upload zipf_analysis.zip, fraction.py, and wardrobe.zip
HW: Read Ch5, Sections 5.1-5.4, 5.7. HW: Modify recursive_tree.py to implement at least one of the suggestions in Exercise 5.17.3, screenshot your tree, and upload it as fractaltree.jpg (or .png)

02/08/26 02/09/26 02/10/26 02/11/26 02/12/26 02/13/26 02/14/26

CLASS: Recursion. Maze program from book (maze.py) CLASS: Begin Unit 4: Linear Data Structures: Stacks; Activity-The Stack class. Checking parentheses Day 3 CLASS: Linear Data Structures: Queues; Activity-The Queue class Professional Growth Day

HW: Read Section 5.6 HW: Read Sections 4.1 - 4.6. Upload atds.py with a Stack class defined in it.
HW: Read Sections 3:10 - 3:13, 3:15-318. Upload the updated atds.py file with a Queue class added to it, paren_checker.py, hot_potato.py

02/15/26 02/16/26 02/17/26 02/18/26 02/19/26 02/20/26 02/21/26

Presidents’ Day (Holiday) CLASS: Linear Data Structures: Deques, the Deque class Day 6 CLASS: git CLASS: GitHub


HW: Read Sections 3:10 - 3:13, 3:15-318. Upload the updated atds.py file with a Deque class added to it, upload palindrome_checker.py
HW: HW:
02/22/26 02/23/26 02/24/26 02/25/26 02/26/26 02/27/26 02/28/26

Day 3 CLASS: Linear Data Structures: the UnorderedList. the Node class CLASS: Linear Data Structures: the UnorderedList class Day 6 Class: Implementing a stack with an UnorderedList


HW: update atds.py file HW: Read 3.19 - 3.21. Complete UnorderedList by writing the .remove() method.
HW: Complete UnorderedListStack
03/01/26 03/02/26 03/03/26 03/04/26 03/05/26 03/06/26 03/07/26

CLASS: Complete Activity-StackComparison. Linear Data Structures: The OrderedList class. Day 3 CLASS: Begin Unit 5: Sorting, Searching, Hashing: Selection, Insertion CLASS: Video - Whiteboarding for Google; FOSS Day 6 SoCal Linux Expo (SCaLE)

HW: Read 3.22 - 3.23. Upload completed stack_comparison.py to server by 23:59:59.
HW: Read 5.6 - 5.9. Upload selection_sort.py HW: Relax

03/08/26 03/09/26 03/10/26 03/11/26 03/12/26 03/13/26 03/14/26

US Writing Day CLASS: Sorting and Searching: Insertion Sort. Introduce Project-Analysis of a Sorting Algorithm; Pick a Card: Merge, Quick, Shell CLASS: Work on Sorting Algorithm Project Day 3 CLASS: Sorting and Searching: Linear Search, Binary Search.


HW: Upload insertion_sort.py. Project-SortingAlgorithmAnalysis begun HW: Work on Sorting Algorithm Project
HW: Read 5.2 - 5.4. Upload linear_search.py; work on binary_search.py
03/15/26 03/16/26 03/17/26 03/18/26 03/19/26 03/20/26 03/21/26

CLASS: Complete course evaluation. Pi Day! Day 6 CLASS: The Map ADT, implementing HashTable in Python Day 2 Day 3

HW: Relax
HW: Watch video on Map ADT, hash tables, complete hash_table.py, run hash_table_tester.py, upload hash_table.py. Read Sec 5.5 in textbook.


03/22/26 03/23/26 03/24/26 03/25/26 03/26/26 03/27/26 03/28/26

Spring Break Spring Break Spring Break Spring Break Spring Break







03/29/26 03/30/26 03/31/26 04/01/26 04/02/26 04/03/26 04/04/26

Spring Break Spring Break Spring Break Spring Break Spring Break