CS 7 An Introduction to Programming and Computer Science

Eric Khumalo Photo




Announcements

May 27 The practice midterm is out. Attempt it and submit on Gradescope before July 3rd. Reach out to your TAs for help.
The first project Hog is out and due on June 30.
Lab 2 is out and due on June 25.
The midterm dates have been pushed by a week to July 6th/7th.

Calendar

Week Date Lecture Topic Reading Lab/Discussion Homework Project
1 Wed May 29 No lecture

1.1

1.2

Lab 0: WorkFlow and Python Basics

Due Mon June 3

Fri May 31 Course Overview (Video)(slide01)

1.2

2 Mon June 3 Expressions (Video)(slide02)(code02.py)(note01)(shakespeare.txt)

1.2

Wed June 5 Names and Functions (Video)(slide03)(code03.py)(note01)

1.2

1.3

Lab 1: Functions and Control

Due Mon Jun 10

>

Homework 1: Variables, Functions and Control

Due Wed Jun 12

Fri June 7 Control (Video)(slide04)(code04.py)(note01)

1.5

3 Mon June 10 Higher Order Functions and Lambda Expressions (Video)(slide05)(code05.py)(note01)

1.6

Wed June 12 Recursion(Video)(slide05)(code06.py)

1.7

Fri June 14 Tree Recursion(Video Part 1)(Video Part 2)(slide07)(code07.py)

1.7

4 Mon June 17 Data Abstraction(Video)(slide08)(code08.py)

2.2

Lab 2: Higher Order Functions

Due Tue June 25

Wed June 19 Sequences(Video)(slide09)(code09.py)

2.3

Proj 1: Hog

Due Sun June 30

Fri June 21 Midterm Review(Video)

Practice Midterm

Due Wed July 3

5 Mon June 24 Trees(Video)(slide10)(code10.py)

2.3

Wed June 26 Mutable Values(Video)(slide12)(code12.py)
Fri June 28 Mutable Functions(Video)(slide13)(code13.py)
6 Mon July 1 Objects and Classes(Video)(slide14)(code14.py)
Wed July 3 Object Oriented Programming
Fri July 5 Inheritance
Sat & Sun July 6-7 Midterm Exam
7 Mon July 8 Iterators and Generators

Proj 2: Trends

Due Sun July 21

Wed July 10 Representation

Lab 3: Lists, Abstraction, Recursion

Due Tue July 16

Homework 2: Recursion

Due Thu July 18

Fri July 12 Composition
8 Mon July 15 Hierachy
Wed July 17 Efficiency
Fri July 19 Exceptions
9 Mon July 22 Declarative Programming
Wed July 24 Tables
Fri July 26 Recursive Select
10 Mon July 29 Aggregation
Wed July 31 Regular Expressions
Fri Aug 2 Special Topic: Ray Tracing
11 Mon Aug 5 Special Topic: HTML & CSS
Wed Aug 7 Special Topic: JavaScript 1
Fri Aug 9 Special Topic: JavaScript 2
12 Mon Aug 12 Final Review
Wed Aug 14 Reading, Review & Recitation
Fri Aug 16 Reading, Review & Recitation
Sat & Sun Aug 17-18 Final Exam


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