Announcements
-
Lab 12 has been posted and is due Saturday 30 April
-
Quiz 6 will be at the start of class Friday, 29 April
-
Note Ninja Sessions and office hours.
-
The Current Week’s Schedule has weekly Notes, assigned Readings, and Lab assignments.
-
The final exam is set by the Registrar on 6 May 9am-noon.
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 |
Emily, Alex |
|
2 |
MWF |
10:30 - 11:20 |
SCI 256 |
Laura, Aaliyah, Roger |
|
3 |
MWF |
11:30 - 12:20 |
SCI 256 |
Calvin, Pedro, Kiara |
Lab | Day | Time | Room | Instructor | Ninja |
---|---|---|---|---|---|
A |
T |
1:05 - 2:35 |
SCI 256 |
Andrew Danner |
Kiara |
B |
T |
2:45 - 4:15 |
SCI 256 |
Tia Newhall |
Alex |
C |
W |
1:15 - 2:45 |
SCI 256 |
Tia Newhall |
Devyani |
D |
W |
3:00 - 4:30 |
SCI 256 |
Ben Mitchell |
Mehtap |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Thr 10:00am - 12:00pm |
SCI 247 |
|
Tu 10:00am - 12:00pm |
SCI 257 |
|
Thr 11:00am - 1:00pm |
SCI 249 |
|
Fri 2:00pm - 4:00pm |
SCI 252 D |
Academic Support Coordinator: Lauri Courtenay
Student assistants/Ninjas: Laura Strachan, Pedro Cruz, Kiara Abbey, Calvin White, Roger Wang, Aaliyah Bullen, Alex Carpenter, Emily Smith, Mehtap Yercel, Devyani Mahajan, Ipek Icten
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 | Jan 17 | MLK Day | ||
Jan 19 | Remote Async prep week
| |||
Jan 21 | ||||
2 | Jan 24 | Course Introduction
| ||
Jan 26 | ||||
Jan 28 | Drop/Add Ends (Jan 29) | |||
3 | Jan 31 | Numbers, Strings, and Loops
| ||
Feb 02 | ||||
Feb 04 | ||||
4 | Feb 07 | Conditions and Boolean Logic
| ||
Feb 09 | ||||
Feb 11 | Quiz 1 | |||
5 | Feb 14 | First Functions,
| ||
Feb 16 | ||||
Feb 18 | ||||
6 | Feb 21 | Fruitful Functions
| ||
Feb 23 | ||||
Feb 25 | Quiz 2 | |||
7 | Feb 28 | Graphics, Using Objects
| ||
Mar 02 | ||||
Mar 04 | ||||
Mar 07 | Spring Break | |||
Mar 09 | ||||
Mar 11 | ||||
8 | Mar 14 | Top-Down Design
| ||
Mar 16 | ||||
Mar 18 | Quiz 3 | |||
9 | Mar 21 | More Top-Down Design
| ||
Mar 23 | ||||
Mar 25 | ||||
10 | Mar 28 | Searching
| Week 10 Notes | |
Mar 30 | ||||
Apr 01 | Quiz 4 | |||
11 | Apr 04 | Sorting
| ||
Apr 06 | ||||
Apr 08 | ||||
12 | Apr 11 | Recursion
| ||
Apr 13 | ||||
Apr 15 | Quiz 5 | |||
13 | Apr 18 | Classes and Objects
| ||
Apr 20 | ||||
Apr 22 | ||||
14 | Apr 25 | More Classes and Objects
| ||
Apr 27 | ||||
Apr 29 | Quiz 6 | |||
May 06 | Final exam 9am-Noon Chang Hou Hall (Sci 101) |