Welcome to CS21. This course will introduce fundamental ideas in computer science while also teaching you how to write computer programs. We will study algorithms for solving problems and implement solutions in the Python programming language. Python is an interpreted language that is known for its ease of use. We also introduce object-oriented programming and data structures. A deeper coverage of these topics will be presented in CS 35.
This course is appropriate for all students who want to learn how to write computer programs and think like computer scientists. It is the usual first course for computer science majors and minors. Students with advanced placement credit or extensive programming experience should place out of this course and instead begin with CS31 or CS35.
Here are a few other useful online resources:
By the end of the course, we hope that you will have developed the following skills:
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Aug 29 | Introduction to Python and Unix
| In class topics: Lab 0: unix, editing | |
Aug 31 | ||||
Sep 02 | ||||
2 | Sep 05 | Writing simple programs
| In class topics: Lab 1: first programs | |
Sep 07 | ||||
Sep 09 | Drop/add ends | |||
3 | Sep 12 | Conditionals
| In class topics: Lab 2: numbers and strings | |
Sep 14 | ||||
Sep 16 | Quiz 1 | |||
4 | Sep 19 | First functions,
| In class topics: Lab 3: branching | |
Sep 21 | ||||
Sep 23 | ||||
5 | Sep 26 | Graphics, Using Objects
| In class topics: Lab 4: while loops | |
Sep 28 | ||||
Sep 30 | Quiz 2 | |||
6 | Oct 03 | Fruitful Functions
| In class: Lab 5: graphics | |
Oct 05 | ||||
Oct 07 | ||||
Oct 10 | Fall Break | |||
Oct 12 | ||||
Oct 14 | ||||
7 | Oct 17 | File IO, Top-Down Design
| In class: Lab 6: snails | |
Oct 19 | ||||
Oct 21 | Quiz 3 | |||
8 | Oct 24 | Searching
| In class: Lab 7 (design): scattergories | |
Oct 26 | ||||
Oct 28 | ||||
9 | Oct 31 | Sorting
| In class: Lab 7 (program): scattergories | |
Nov 02 | ||||
Nov 04 | CR/NC/W Deadline Quiz 4 | |||
10 | Nov 07 | Recursion
| In class: Lab 8 : nasdaq | |
Nov 09 | ||||
Nov 11 | ||||
11 | Nov 14 | Classes and Objects
| In class: Lab 9 : recursion | |
Nov 16 | ||||
Nov 18 | Quiz 5 | |||
12 | Nov 21 | Classes and Objects
| In class: Lab 10 : pong | |
Nov 23 | ||||
Nov 25 | Thanksgiving | |||
13 | Nov 28 | Linked Lists
| In class: Lab 10 : pong | |
Nov 30 | ||||
Dec 02 | Quiz 6 | |||
14 | Dec 05 | Wrap up | In class: Lab 11 : linkedlist | |
Dec 10 | Final: 7-10pm Science Center 101 |