Announcements
-
The Final Exam will be 2-5pm on Monday, December 13, in Science Center CHANGHOU Hall (SCI 101). Here is a study guide.
-
There will be a Final Exam review session this Friday at 3pm in SCI 101. All are welcome.
-
The recording is available on YouTube. (Note: You must be signed in with your @swarthmore.edu account.)
-
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.
Meeting Times:
Section | Days | Time | Room | Instructor |
---|---|---|---|---|
1 |
MWF |
9:30 AM - 10:20 AM |
SCI 256 |
|
2 |
MWF |
10:30 AM - 11:20 AM |
SCI 256 |
|
3 |
MWF |
11:30 AM - 12:20 AM |
SCI 256 |
Lab | Day | Time | Room | Instructor |
---|---|---|---|---|
A |
T |
1:05 PM - 2:35 PM |
SCI 256 |
Kevin Webb |
B |
T |
2:45 PM - 4:15 PM |
SCI 256 |
Charles Kazer |
C |
W |
1:15 PM - 2:45 PM |
SCI 256 |
Joshua Brody |
D |
W |
3:00 PM - 4:30 PM |
SCI 256 |
Xiaodong Qu |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Mon 3:00 PM - 4:30 PM (and by appt) |
SCI 252B |
|
Tue 10:00 AM - Noon (and by appt) |
SCI 257 |
|
Tue 2:00 PM - 4:00 PM (and by appt) |
SCI 252C |
|
Thu 11:30 AM - 1:30 PM (and by appt) |
SCI 255 |
|
Thu 2:00 PM - 4:00 PM (and by appt) |
SCI 260 |
Academic Support Coordinator: Lauri Courtenay
Student assistants/Ninjas: Anika, Asha, Devyani, Ipek, Mehtap, Orhun, Sojin, Theron, Vika, and Xoe
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.8)
Course Goals
By the end of the course, we hope that you will have developed the following skills:
-
Given a program, simulate on paper how a computer would execute the program and show the results that it would produce.
-
Given a pseudocode algorithm, successfully implement it in Python.
-
Given a problem, design a clear, concise, and correct pseudocode algorithm to solve it.
-
Use top-down design to sub-divide a large problem into reasonably-sized modular sub-problems.
-
Given several algorithms for solving the same problem, 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 | Aug 30 | Course Introduction
| ||
Sep 01 | ||||
Sep 03 | ||||
2 | Sep 06 | Labor Day | ||
Sep 08 | Numbers, Strings, and Loops
| |||
Sep 10 | ||||
3 | Sep 13 | Drop/Add Ends | Conditions and Boolean Logic
| |
Sep 15 | ||||
Sep 17 | ||||
4 | Sep 20 | First Functions,
| ||
Sep 22 | ||||
Sep 24 | Quiz 1 | |||
5 | Sep 27 | Fruitful Functions
| ||
Sep 29 | ||||
Oct 01 | ||||
6 | Oct 04 | Graphics, Using Objects
| ||
Oct 06 | ||||
Oct 08 | Quiz 2 | |||
Oct 11 | Fall Break | |||
Oct 13 | ||||
Oct 15 | ||||
7 | Oct 18 | Top-Down Design
| ||
Oct 20 | ||||
Oct 22 | ||||
8 | Oct 25 | More Top-Down Design
| ||
Oct 27 | ||||
Oct 29 | Quiz 3 | |||
9 | Nov 01 | Searching
| ||
Nov 03 | ||||
Nov 05 | ||||
10 | Nov 08 | Sorting
| ||
Nov 10 | ||||
Nov 12 | Quiz 4 | |||
11 | Nov 15 | Recursion
| ||
Nov 17 | ||||
Nov 19 | ||||
12 | Nov 22 | Classes and Objects
| ||
Nov 24 | ||||
Nov 26 | Thanksgiving | |||
13 | Nov 29 | More Classes and Objects
| ||
Dec 01 | ||||
Dec 03 | Quiz 5 | |||
14 | Dec 06 | |||
Dec 08 | ||||
Dec 13 | Final exam 2pm - 5pm SCI CHANGHOU (room 101) |