Announcements
-
Final exam: Sunday 17 December 9am-noon.
-
8:30am and 9:30am sections meet in SCI 199
-
11:30am section meets in SCI 181
-
-
Final ninja session: Wednesday 13 December 7pm-9pm in SCI 240
-
Final exam study session: Friday 15 December 10am-noon in SCI 256
-
There are no labs the week of 11 December - 15 December
-
The Current Week’s Schedule has weekly assigned readings and lab assignments.
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 | Ninjas |
---|---|---|---|---|---|
1 |
MWF |
8:30am - 9:20am |
SCI 256 |
Allison, Jayden |
|
2 |
MWF |
9:30am - 10:20am |
SCI 256 |
XT, Nick, Imani |
|
3 |
MWF |
11:30am - 12:20am |
SCI 256 |
Morgan, Ben, Zara |
Lab |
Day |
Time |
Room |
Instructor |
Ninja |
A |
T |
1:05pm - 2:35pm |
SCI 256 |
Jocelyn Corey |
Arden |
B |
T |
2:45pm - 4:15pm |
SCI 256 |
Jocelyn Corey |
Morgan |
C |
W |
1:15pm - 2:45pm |
SCI 256 |
Gautam Mohan |
Andrew |
D |
W |
3:00pm - 4:30pm |
SCI 256 |
Gautam Mohan |
Jayden |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Tue 10:00a-noon |
SCI 257 |
|
Wed 2:00p-4:00p |
SCI 247 |
|
Tue 1:30p-3:30p |
SCI 251 |
|
Jocelyn Corey |
Thu 10:00a-noon |
SCI 252B |
Gautam Mohan |
Thu 12:45p-2:45p |
SCI 262A |
Students can attend any office hour session regardless of lecture/lab section. If you cannot meet during the posted times, please reach out to us to schedule an appointment.
Academic Support Coordinator: Lauri Courtenay
Student assistants/Ninjas: Allison Chong, Jayden Booker, XT Tay, Nicholas Fettig, Imani Allah, Morgan McErlean, Ben Gottlieb, Zara Amjad, Arden Cole, Lisa Messier, Andrew Henin
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 | LABS |
1 | Sep 04 | Labor Day | ||
Sep 06 | Course Introduction
| |||
Sep 08 | ||||
2 | Sep 11 | Numbers, Strings, and Loops
| ||
Sep 13 | ||||
Sep 15 | ||||
3 | Sep 18 | Drop/Add Ends | Conditions and Boolean Logic
| |
Sep 20 | ||||
Sep 22 | Quiz 1 (study guide) | |||
4 | Sep 25 | First Functions,
| ||
Sep 27 | ||||
Sep 29 | ||||
5 | Oct 02 | Fruitful Functions
| ||
Oct 04 | ||||
Oct 06 | Quiz 2 (study guide) | |||
6 | Oct 09 | Graphics, Using Objects
| ||
Oct 11 | ||||
Oct 13 | ||||
Oct 16 | Fall Break | |||
Oct 18 | ||||
Oct 20 | ||||
7 | Oct 23 | Top-Down Design
| ||
Oct 25 | ||||
Oct 27 | Quiz 3 (study guide) | |||
8 | Oct 30 | |||
Nov 01 | ||||
Nov 03 | ||||
9 | Nov 06 | Searching
| ||
Nov 08 | ||||
Nov 10 | Last Day to Declare CR/NC Quiz 4 (study guide) | |||
10 | Nov 13 | Sorting
| ||
Nov 15 | ||||
Nov 17 | ||||
11 | Nov 20 | Recursion
| ||
Nov 22 | ||||
Nov 24 | Thanksgiving | |||
12 | Nov 27 | Recursion(continued from before Thanksgiving) | ||
Nov 29 |
Classes and Objects
| |||
Dec 01 | ||||
13 | Dec 04 | |||
Dec 06 | ||||
Dec 08 | Quiz 5 (study guide) | |||
14 | Dec 11 | More Classes and Objects
| ||
Dec 13 | Wrapup | |||
Dec 17 |
Final exam 9am-noon. 8:30am and 9:30am sections in SCI 199; 11:30am section in SCI 181. |