Schedule 001 & 002
Photo by Eric Rothermel on Unsplash
Please note the schedule is tentative and will be fine-tuned through out the semester due to unexpected weather or sickness. Plesae check back frequently.
This schedule includes planned topics, exams, and semester breaks. For individual assignment deadlines, please refer to the Canvas site. The semester has two major blocks:
- Develop an advanced understanding of object-oriented design, inheritance, event-driven programming, and GUI design. Weeks 1-10
- Introduction to efficient algorithms, data structures, sorting, and advanced recursion. Weeks 11-15
Week 1
- Tue, Jan 17 Software Setup and Course Overview. Homework 1 out.
- Reading:
- Review the resources section and ensure that you have attempted to install all required software and obtained all necessary accounts & licenses
- Warm up exercises
- Reading:
- Fri, Jan 20 In-class asssement
- Reading:
- ds Ch 1
- Reading:
Week 2
- Tue, Jan 24 Python Review 1: Data types, Assignments, Variables, Call Frames.
- Reading:
- ds CH 1 and in-class material
- homework 1 is due.
- Reading:
- Fri, Jan 27 Python Review 2: Function, Branching, Control Loop, List. Python Tutor
- Reading:
- ds CH 1 and in-class material
- Reading:
Week 3
- Tue, Jan 31 Python Review 3: List Comprehension, Tuples, Diciontary, Files I/O,
- quiz 1
- Homework 2 out
- Reading:
- ds CH 1 and in-class material
- Reading:
- Fri, Feb 3 Python Review 4
- Reading:
- ds CH1
- Runstone Foundation of Programming
- Reading:
Week 4
- Tue, Feb 7 Python Review 5
- Reading:
- ds CH 1
- Reading:
- Fri, Feb 10 Python Review 6; Introduction to OOP 1; Class and Objects
- Reading:
- oop Ch 3
- Reading:
Week 5
- Tue, Feb 14 Introduction to OOP 2; Methods
- Reading
- oop Ch 1-3
- Fri, Feb 17 Introduction to OOP 3; Operator overloading
- Reading:
- oop ch 3
- Reading:
Week 6
- Tue, Feb 21 Introduction to OOP 3; Operator overloading, Mental Models
- Reading:
- oop ch 3
- Reading:
- Fri, Feb 24 Exam I
- Reading:
Week 7
- Tue, Feb 28 Multiple Objects
- Reading:
- oop Ch 4
- Reading:
- Fri, Mar 3 Multiple Objects
- oop Ch 4
Week 8
- Tue, Mar 7
- Reading:
- oop Ch 10
- Reading:
- Fri, Mar 10
- Reading:
- oop Ch 11
- Reading:
Week 9
-
Tue, Mar 13 Spring Break No Class
-
Fri, Mar 17 Spring Break No Class
Week 10
- Tue, Mar 20 Class Canceled: Instructor Sick
- Reading:
- oop Ch 5
- Reading:
- Fri, Mar 24 Introduction to GUI Pygame
- Reading:
- oop Ch 5
- Reading:
Week 11
- Tue, Mar 28 GUI II
- Reading:
- oop Ch 5
- Reading:
- Fri, Mar 31 Object-Oriented PyGame and GUI Widgets
- Reading:
- oop Ch 6
- Reading:
Week 12.
- Tue, April 4 Encapsulation
- Reading:
- OOP Ch 7 and 8
- Reading:
- Fri, April 7 Polymorphism
- Reading:
- OOP Chapter 10
- Reading:
Week 13
-
Tue, Apr 11 ** Exam 2***
-
Fri, Apri 14 Inheritance
- Reading:
- OOP Chapter 11
- Reading:
Week 14
- Tue, April 18 Inheritance II and Algorithm Analysis
- Reading:
- ds CH 2
- Reading:
- Fri, April 21 GitHub Branches and Basic Data Structures
- Reading:
- ds Ch 3, skip 3.8, 3.9, and 3.13
- Review PyCharm’s documentation on branches
- Review PyCharm’s documentation on applying changes from one Git branch to another. Note, there’s some information on rebasing, which we did not discuss and I do not expect you to be familiar with. In class, we discussed letting GitHub do the work of merging branches for you. This documentation and the embedded video demonstrate doing this locally. Ultimately either is fine.
- Reading:
Week 15
- Tue, April 25 Recursion I
- Reading:
- ds Ch 4.1-4.6
- Reading:
- Fri, April 28 Recursion II
- Reading:
-
ds Ch 4.6-end of chapter
-
- Reading:
Week 16: Final Exams
- Fri, May 5
- Sec 001 8:10am-10:40am
- Tue, May 9
- Sec 001 11:20-1:50pm