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 CS 31 or CS 35.
Here are a few other useful online Python resources:
By the end of the course, we expect that you will have developed the following skills:
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Sep 01 | Introduction to Python and Unix | In class Lab 0: unix and editing | |
Sep 03 | ||||
2 | Sep 08 | Writing simple programs | In class Lab 1: first programs | |
Sep 10 | Drop/add ends (Sep 11) | |||
3 | Sep 15 | Booleans and Conditionals | In class Lab 2: nums and strings | |
Sep 17 | Quiz 1 | |||
4 | Sep 22 | Functions, while loops | In class Lab 3: if/else statements | |
Sep 24 | ||||
5 | Sep 29 | Graphics, Using Objects | Lab 4: while loops and functions | |
Oct 01 | Quiz 2 | |||
6 | Oct 06 | Fruitful Functions | Lab 5: objects and graphics | |
Oct 08 | ||||
Oct 13 | Fall Break | |||
Oct 15 | ||||
7 | Oct 20 | File I/O, Top-down design
| Lab 6: Lists, Stacks, and Functions | |
Oct 22 | Quiz 3 | |||
8 | Oct 27 | Searching and algorithmic analysis | Lab 7: Word warp design | |
Oct 29 | ||||
9 | Nov 03 | Sorting, more algorithmic analysis | ||
Nov 05 | Quiz 4 CR/NC/W Deadline (Nov 06) | |||
10 | Nov 10 | Recursion
| Lab 8: Twitter Explorer | |
Nov 12 | ||||
11 | Nov 17 | Classes and Objects | Lab 9: Recursion | |
Nov 19 | Quiz 5 | |||
12 | Nov 24 | More Classes and Objects Counter object | Lab 10: Triad | |
Nov 26 | Thanksgiving | |||
13 | Dec 01 | Linked Lists | ||
Dec 03 | Quiz 6 | |||
14 | Dec 08 | Wrap up | Lab 11: Linked Lists (Optional) | |
Dec 11 | Final Exam — 7pm-10pm — Science Center 101 |