CS 7 An Introduction to Programming and Computer Science

Eric Khumalo Photo




Announcements

June 7 The practice midterm is out. Attempt it and submit on Gradescope before July 6th. Reach out to your TAs for help. Midterm dat moved to July 12th.
Lab 3 is out and due on July 4 at 11:59 PM CAT.
Homework 2 is out and due on July 2 at 11:59 PM CAT.
Proj 1: The Game of HOG deadline has been extended and now due on June 26 at 11:59 PM CAT.
Lab 1 autograder is live on Gradescope and the lab is now due on June 14 at 11:59 PM CAT.
For those who are behind on Lab 0, continue working on it and rewach out to TAs for help.
Read note01 to help you prepare for the first week's materials
Please make sure that you are signed up on both Piazza and Gradescope. If not, reach out to the course staff for help.

Calendar

Week Date Lecture Topic Reading Lab/Discussion Homework Project
1 Sun June 1 New Students Orientation (Zoom Recording)(slides)

Lab 0: WorkFlow and Python Basics

Due Fri June 6

Mon June 02 Course Overview (Video)(slide01)

1.2

Wed June 4 Expressions (Video)(slide02)(code02.py)(note01)(shakespeare.txt)

1.2

Friday June 6 Names and Functions (Video)(slide03)(code03.py)(note01)

1.2

1.3

2 Mon June 9 Control (Video)(slide04)(code04.py)(note01)

1.5

Lab 1: Functions and Control

Due Fri Jun 13

Wed June 11 Higher Order Functions and Lambda Expressions (Video)(slide05)(code05.py)(note01)

1.6

Homework 1: Variables, Functions and Control

Due Fri Jun 20

Fri June 13 Recursion (Video)(slide06)(code06.py)

1.7

Lab 2: Higher Order Functions

Due Fri June 20

Proj 1: Hog

Due Mon June 23

3 Mon June 16 Tree Recursion (Video 1)(Video 2)(slide07)(code07.py)

1.7

Wed June 18 Data Abstraction (Video)(slide08)(code08.py)

2.2

Fri June 20 Sequences (Video)(slide09)(code09.py)

2.3

4 Mon June 23 Trees

2.3

Wed June 25 Mutable Values

Lab 3: Lists, Abstraction, Recursion

Due Fri July 4

Homework 2: Recursion

Due Wed July 2

Fri June 27 Mutable Functions
5 Mon June 30 Objects and Classes
Wed July 2 Object Oriented Programming
Fri July 4 Inheritance
Sat July 5 Midterm Exam

Practice Midterm

Due Sun July 6

6 Mon July 7 Iterators and Generators
Wed July 9 Representation
Fri July 11 Composition
Sat July 12 Midterm Exam
7 Mon July 14 Hierachy
Wed July 16 Efficiency
Fri July 18 Exceptions
8 Mon July 21 Declarative Programming
Wed July 23 Tables
Fri July 25 Recursive Select
9 Mon July 28 Aggregation
Wed July 30 Regular Expressions
Fri Aug 1 Special Topic: Ray Tracing
Sat Aug 2 Final Exam Review
10 Mon Aug 4 Special Topic: TBD
Wed Aug 6 Special Topic: TBD
Fri Aug 8 Special Topic: TBD
Sat Aug 9 Final Exam
12 Sat Aug 16 Graduation


Weekly Schedule - Central African Time

Sunday Monday Tuesday Wednesday Thursday Friday Saturday
9:00              
9:30              
10:00              
10:30              
11:00              
11:30              
12:00              
12:30              
13:00              
13:30              
14:00              
14:30              
15:00              
15:30              
16:00              
16:30              
17:00              
17:30              
18:00              
18:30              
19:00              
19:30              
20:00              

Resources