Announcements
-
The Final Exam study guide is posted
-
Office hours for the last week of class is below. Bring questions you have about the final exam to office hours so we can go over material. There will be no prepared materials for a "review session" but we’re happy to review whatever you’d like if you bring along your own questions.
-
Lauri: Tuesday 10am-noon
-
Rich: Tuesday 1:30pm-3:30
-
Keith: Thursday 1:30pm-3:30
-
Ben: Friday 1:30pm-3:30
-
-
The Current Week’s Schedule has weekly Notes, assigned Readings, and Lab assignments.
-
Note: Ninja Sessions and office hours.
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 |
9:30 - 10:20 |
SCI 256 |
Wilbert, Natassia |
|
2 |
MWF |
10:30 - 11:20 |
SCI 256 |
Andrew, Crystal |
|
3 |
MWF |
11:30 - 12:20 |
SCI 256 |
Noor, Cici, Jasmine |
Lab | Day | Time | Room | Instructor | Ninja |
---|---|---|---|---|---|
A |
T |
1:05 - 2:35 |
SCI 256 |
Rich Wicentowski |
Alex |
B |
T |
2:45 - 4:15 |
SCI 256 |
Rich Wicentowski |
Jasmine |
C |
W |
1:15 - 2:45 |
SCI 256 |
Keith O’Hara |
Cici |
D |
W |
3:00 - 4:30 |
SCI 256 |
Ben Mitchell |
Pedro |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Tue 10:00am - 12:00pm |
SCI 257 |
|
Thr 9:30am - 11:30am |
SCI 251 |
|
Thr 1:30pm - 3:30pm |
SCI 247 |
|
Fri 2:00pm - 4:00pm |
SCI 249 |
Academic Support Coordinator: Lauri Courtenay
Student assistants/Ninjas: Wilbert Fundira, Natassia Lowe, Andrew Henin, Crystal Secaira, Noor Ali, Cici Wen, Jasmine Fan, Pedro Cruz, Alex Carpenter, Emily Smith, Kiki Abbey
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 29 | Course Introduction
| ||
Aug 31 | ||||
Sep 02 | ||||
2 | Sep 05 | Labor Day | ||
Sep 07 | Numbers, Strings, and Loops
| |||
Sep 09 | Drop/Add Ends | |||
3 | Sep 12 | Conditions and Boolean Logic
| ||
Sep 14 | ||||
Sep 16 | ||||
4 | Sep 19 | First Functions,
| ||
Sep 21 | ||||
Sep 23 | ||||
5 | Sep 26 | Fruitful Functions
| ||
Sep 28 | ||||
Sep 30 | ||||
6 | Oct 03 | Graphics, Using Objects
| ||
Oct 05 | ||||
Oct 07 | ||||
Oct 10 | Fall Break | |||
Oct 12 | ||||
Oct 14 | ||||
7 | Oct 17 | Top-Down Design
| ||
Oct 19 | ||||
Oct 21 | ||||
8 | Oct 24 | |||
Oct 26 | ||||
Oct 28 | ||||
9 | Oct 31 | Searching
| ||
Nov 02 | ||||
Nov 04 | ||||
10 | Nov 07 | Sorting
| ||
Nov 09 | ||||
Nov 11 | ||||
11 | Nov 14 | Recursion
| ||
Nov 16 | ||||
Nov 18 | ||||
12 | Nov 21 | Classes and Objects
| Lab 10: Recursion (due 11/28) | |
Nov 23 | ||||
Nov 25 | Thanksgiving | |||
13 | Nov 28 |
More Classes and Objects
| Lab 11: Classes (due 12/8) | |
Nov 30 | ||||
Dec 02 | ||||
14 | Dec 05 | TBD
|
| |
Dec 07 | ||||
Dec 12 | December 12 @ 2pm-5pm Chang Hou Hall (Sci 101) |