Announcements
-
Our final exam is Friday, Dec 20, 2-5pm, in Sci Cen 101 (Chang Hou)
-
The final exam review session will be on Thursday, December 12 at 2:00 PM in SCI 199. It’ll be a Q&A style, so bring questions with you!
Course Info
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.
Piazza: CS21 Q&A forum
Meeting Times:
Section | Days | Time | Room | Instructor |
---|---|---|---|---|
1 |
MWF |
9:30-10:20 |
Sci 256 |
Andrew Danner |
2 |
MWF |
10:30-11:20 |
Sci 256 |
Jeff Knerr |
3 |
MWF |
11:30-12:20 |
Sci 256 |
Kevin Webb |
Lab | Day | Time | Room | Instructor |
---|---|---|---|---|
A |
T |
1:05-2:35 |
Sci 256 |
Scout Sinclair |
B |
T |
2:45-4:15 |
Sci 256 |
Scout Sinclair |
C |
W |
1:15-2:45 |
Sci 256 |
Andrew Danner |
D |
W |
3:00-4:30 |
Sci 256 |
Kevin Webb |
E |
T |
1:05-2:35 |
Clothier 16 |
Charlie Kazer |
F |
T |
2:45-4:15 |
Clothier 16 |
Charlie Kazer |
Support Staff & Office Hours
Course and Lab Instructors:
Name | Office | Office Hours |
---|---|---|
Sci 247 |
Wed 10:30 AM - 11:45 AM, Thu 10:00 AM - 11:45 AM, or by appointment |
|
Sci 238A |
Fri 12:30 PM - 2:00 PM (or by appt) |
|
Sci 255 |
Wed 10:00 AM - 11:00 AM, Thu 10:15 AM - 11:45 AM, or by appointment |
|
Sci 262A |
Mon Noon-2:00 PM, or by appointment |
|
Sci 252B |
Tue 10:00 AM -Noon, Thu 4:00 PM-5:30 PM |
|
Sci 257 |
Tue 10:00 AM - 11:00 AM, Thu 10:00 AM - 11:00 AM |
Academic Support Coordinator: Lauri Courtenay
Student assistants/Ninjas: Elvis Adorkor, Ali Baratta, Adriana Knight, Rebecca Lin, Saul Lopez-Valdez, Karin Nakano, Shayne Rothman, Bilal Soukouna, Kendre Thomas, Thibault Vernier, Owen Webb, Sam Yan, and Tiffany Zheng
Textbook
We will primarily be using the online book How to think like a computer scientist: Learning with Python by Elkner, Downey and Meyers.
See the Schedule for each week’s reading assignment.
Here are a few other useful online resources:
-
Python documentation (Note: we are using version 3.6)
Course Goals
By the end of the course, we hope that you will have developed the following skills:
-
Given a program, be able to simulate on paper how a computer would execute the program, and show the results that would be produced.
-
Given a problem, be able to design a clear, concise, and correct pseudocode algorithm to solve it.
-
Given a pseudocode algorithm, be able to successfully implement it in Python.
-
Be able to use top-down design to sub-divide a large problem into reasonably-sized modular sub-problems.
-
Given several algorithms for solving the same problem, be able to analyze which algorithm would be more efficient in terms of running time.
-
Develop debugging and unit testing skills. Consistently use these skills while implementing programs.
Schedule
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | NOTES/LABS |
1 | Sep 02 | Course Introduction
| ||
Sep 04 | ||||
Sep 06 | ||||
2 | Sep 09 | Numbers, Strings, and Loops
| ||
Sep 11 | ||||
Sep 13 | Drop/add ends | |||
3 | Sep 16 | Conditions and Boolean Logic
| ||
Sep 18 | ||||
Sep 20 | ||||
4 | Sep 23 | Quiz 1 | First Functions,
| |
Sep 25 | ||||
Sep 27 | ||||
5 | Sep 30 | Fruitful Functions
| ||
Oct 02 | ||||
Oct 04 | Quiz 2 | |||
6 | Oct 07 | Graphics, Using Objects
| ||
Oct 09 | ||||
Oct 11 | ||||
Oct 14 | Fall Break | |||
Oct 16 | ||||
Oct 18 | ||||
7 | Oct 21 | Top-Down Design
| ||
Oct 23 | ||||
Oct 25 | ||||
8 | Oct 28 | |||
Oct 30 | ||||
Nov 01 | Quiz 3 | |||
9 | Nov 04 | Searching
| ||
Nov 06 | ||||
Nov 08 | CR/NC/W Deadline | |||
10 | Nov 11 | Sorting
| ||
Nov 13 | ||||
Nov 15 | Quiz 4 | |||
11 | Nov 18 | Recursion
| ||
Nov 20 | ||||
Nov 22 | ||||
12 | Nov 25 | Classes and Objects
| ||
Nov 27 | ||||
Nov 29 | Thanksgiving | |||
13 | Dec 02 | Classes and Objects
| ||
Dec 04 | ||||
Dec 06 | Quiz 5 | |||
14 | Dec 09 | Wrap Up |
| |
Dec 20 | Final Exam: Fri 20 Dec, 2-5pm, Sci Cen 101 (Chang Hou) |