Advanced Topics in Computer Science

Schedule

Advanced Topics in CS Calendar, F Period, 2023-2024
Sun Mon Tue Wed Thu Fri Sat
01/14/24 01/15/24 01/16/24 01/17/24 01/18/24 01/19/24 01/20/24

Martin Luther King, Jr. Holiday Day 4. Semester 2 starts. 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 1



HW: Complete all items listed in Unit 0 - Orentation. 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

01/21/24 01/22/24 01/23/24 01/24/24 01/25/24 01/26/24 01/27/24

CLASS: Continue Crash Course: Conditionals, Loops CLASS: Continue Crash Course: Strings, Lists, Tuples Day 4 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.10 Control Structures. Do grade_reporter, guessing_game 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/28/24 01/29/24 01/30/24 01/31/24 02/01/24 02/02/24 02/03/24

Day 1 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 4 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/04/24 02/05/24 02/06/24 02/07/24 02/08/24 02/09/24 02/10/24

CLASS: Continue Algorithm Analysis, del vs. remove Day 1 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 4

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/11/24 02/12/24 02/13/24 02/14/24 02/15/24 02/16/24 02/17/24

CLASS: Recursion. Maze program from book (maze.py) CLASS: Begin Unit 4: Linear Data Structures: Stacks; Activity-The Stack class. Checking parentheses Day 1 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/18/24 02/19/24 02/20/24 02/21/24 02/22/24 02/23/24 02/24/24

Presidents’ Day (Holiday) CLASS: Linear Data Structures: Deques, the Deque class Day 4 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/25/24 02/26/24 02/27/24 02/28/24 02/29/24 03/01/24 03/02/24

Day 1. Senior Ditch Day CLASS: Linear Data Structures: the UnorderedList. the Node class CLASS: Linear Data Structures: the UnorderedList class Day 4 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/03/24 03/04/24 03/05/24 03/06/24 03/07/24 03/08/24 03/09/24

CLASS: Complete Activity-StackComparison. Linear Data Structures: The OrderedList class. Day 1 CLASS: CLASS: Begin Unit 5: Sorting, Searching, Hashing: Selection, Insertion Quarter 3 ends. CLASS: Sorting and Searching: Insertion Sort. Introduce Project-Analysis of a Sorting Algorithm; Pick a Card: Merge, Quick, Shell Day 4. Quarter 4 begins.

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: Upload insertion_sort.py. Project-SortingAlgorithmAnalysis begun

03/10/24 03/11/24 03/12/24 03/13/24 03/14/24 03/15/24 03/16/24

CLASS: Work on Sorting Algorithm Project CLASS: Sorting and Searching: Linear Search, Binary Search. Day 1 CLASS: Complete course evaluation. Pi Day! CLASS: Video - Whiteboarding for Google; FOSS SCaLE21x

HW: Work on Sorting Algorithm Project HW: Read 5.2 - 5.4. Upload linear_search.py; work on binary_search.py
HW: Relax HW: Relax
03/17/24 03/18/24 03/19/24 03/20/24 03/21/24 03/22/24 03/23/24

Spring Break Spring Break Spring Break Spring Break Spring Break







03/24/24 03/25/24 03/26/24 03/27/24 03/28/24 03/29/24 03/30/24

Spring Break Spring Break Spring Break Spring Break Spring Break







03/31/24 04/01/24 04/02/24 04/03/24 04/04/24 04/05/24 04/06/24

Day 4 CLASS: The Map ADT, implementing HashTable in Python CLASS: Intro to trees and binary trees. Write binary_tree_list.py. Day 1 CLASS: Trees: Abstraction, Nodes and References; Binary Tree as connected nodes. Video. Write binary_tree_class, create_this_tree


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. HW: Read Sections 6.1-6.4. Upload binary_tree_list.py
HW: Read Section 6.5. Upload binary_tree_class.py, create_this_tree.py
04/07/24 04/08/24 04/09/24 04/10/24 04/11/24 04/12/24 04/13/24

CLASS: Parse trees. Fully parenthesized expressions, writing a parse tree. Write parse_tree. Day 4 CLASS: Review of trees. Traversing trees: preorder, inorder, postorder; Write binary_traversal_demo. CLASS: Algorithm analysis work day. Day 1 - Sorting Algorithm Analysis due.

HW: Upload parse_tree.py.
HW: Upload binary_traversal_demo.py HW: Algorithm Analysis

04/14/24 04/15/24 04/16/24 04/17/24 04/18/24 04/19/24 04/20/24

CLASS: Intro to heaps. Drawing minHeaps, implementing a minHeap. Write binary_heap ( template and tester ). CLASS: Video-Implementing minHeap. Start Activity-MaxHeap Day 4 CLASS: Binary Search trees CLASS: BinarySearchTree (cont’d)-do binary_search_tree_mods

HW: complete percolateUp and percolateDown HW: Work on MaxHeap activity
HW: Do textbook reading (7.11 - 7.14) and study binary_search_tree.py HW: Complete binary_search_tree_mods
04/21/24 04/22/24 04/23/24 04/24/24 04/25/24 04/26/24 04/27/24

Day 1 CLASS: Intro to Sparse Arrays, sparse_array_demo CLASS: Graphs: Introduction, Vocabulary, Adjacency Matrix, Adjacency List. Vertex class and Graph class. Day 4 Pet and Hobby Show. Graphs. word_ladder


HW: Complete and upload sparse_array_demo.py HW: Read Sections 8.1-8.3, 8.5-8.6. Add Vertex and Graph to atds.py and upload.
HW: Read Sections 8.7-8.10 Complete word_ladder.py
04/28/24 04/29/24 04/30/24 05/01/24 05/02/24 05/03/24 05/04/24

CLASS: Complete word_ladder.py. Begin so_many_islands Day 1 Day 2 Day 3 Day 4

HW: Use Breadth First Search to solve so_many_islands.




05/05/24 05/06/24 05/07/24 05/08/24 05/09/24 05/10/24 05/11/24
AP Week 1 Day 5 Day 6 Day 1 Day 2 Day 3







05/12/24 05/13/24 05/14/24 05/15/24 05/16/24 05/17/24 05/18/24
AP Week 2 Day 4 Day 5 Day 6 Day 1 Day 2







05/19/24 05/20/24 05/21/24 05/22/24 05/23/24 05/24/24 05/25/24

Day 3 Day 4 Day 5 Day 6 Day 1







05/26/24 05/27/24 05/28/24 05/29/24 05/30/24 05/31/24 06/01/24

Memorial Day (Holiday) Block Day Block Day Block Day Block Day







06/02/24 06/03/24 06/04/24 06/05/24 06/06/24 06/07/24 06/08/24

Special Schedule Special Schedule

US Honors Day & Commencement