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.
See the Schedule for each week's reading assignment. We will primarily be using the online book:
Here are a few other useful online python resources:
By the end of the course, we hope that you will have developed the following skills:
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Jan 18 | MLK Day: No class | Introduction to Python and Unix
| |
Jan 20 | ||||
Jan 22 | ||||
2 | Jan 25 | Writing simple programs
| ||
Jan 27 | ||||
Jan 29 | Drop/add ends | |||
3 | Feb 01 | Conditionals
| ||
Feb 03 | ||||
Feb 05 | ||||
4 | Feb 08 | First functions,
| ||
Feb 10 | ||||
Feb 12 | ||||
5 | Feb 15 | Graphics, Using Objects
| ||
Feb 17 | ||||
Feb 19 | ||||
6 | Feb 22 | Fruitful Functions
| ||
Feb 24 | ||||
Feb 26 | ||||
7 | Feb 29 | File IO, Top-Down Design
| ||
Mar 02 | ||||
Mar 04 | ||||
Mar 07 | Spring Break | |||
Mar 09 | ||||
Mar 11 | ||||
8 | Mar 14 | More TDD
| ||
Mar 16 | ||||
Mar 18 | ||||
9 | Mar 21 | Searching
| ||
Mar 23 | ||||
Mar 25 | CR/NC/W Deadline | |||
10 | Mar 28 | Sorting
| ||
Mar 30 | ||||
Apr 01 | ||||
11 | Apr 04 | Recursion
| ||
Apr 06 | ||||
Apr 08 | ||||
12 | Apr 11 | Classes and Objects
| ||
Apr 13 | ||||
Apr 15 | ||||
13 | Apr 18 | Classes and Objects
| ||
Apr 20 | ||||
Apr 22 | ||||
14 | Apr 25 | Linked Lists
| ||
Apr 27 | ||||
Apr 29 |