Announcements
-
Final Exam Schedule has been released. Our final exam is May 9th, from 2-5pm in Sci Cntr 101.
-
Lab 11 is posted. Part 1 is due April 27, and Part 2 is due May 4.
-
Lab attendance is mandatory.
-
Topics and concepts you need to solve lab assignments come from lecture content and in-class code examples. There may be some features of the Python language covered in the readings that we do not cover in lecture. You will not need to use these features to solve lab assignments.
-
-
Here is a quick link to the current week on the class Schedule.
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 |
Jenna, Iz, Gia |
|
2 |
MWF |
9:30am - 10:20am |
SCI 256 |
Ernesto, Sofie, Tommy |
|
3 |
MWF |
11:30am - 12:20am |
SCI 256 |
V, Bohou, Yara |
Lab | Day | Time | Room | Instructor | Ninja |
---|---|---|---|---|---|
A |
T |
1:05pm - 2:35pm |
SCI 256 |
Andrew Danner |
Iz |
B |
T |
2:45pm - 4:15pm |
SCI 256 |
Jocelyn Corey |
Nick |
C |
W |
1:15pm - 2:45pm |
SCI 256 |
Tia Newhall |
Ernesto |
D |
W |
3:00pm - 4:30pm |
SCI 256 |
Chris Murphy |
Jayden |
Support Staff & Office Hours
Name | Office Hours | Location |
---|---|---|
Fri 1-3p |
SCI 257 |
|
Thu 10a-Noon |
SCI 247 |
|
Wed 3:00-4:00p, Fri 4:00-5:00p |
SCI 249 |
|
Thu 2:30-4:30p |
SCI 252D |
|
Fri 10:30-12:30 |
SCI 252B |
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: Sofie Aird, Jayden Booker, V Buckley, Nicholas Fettig, Tommy Hoang, Ernesto Garza, Gia Kwon, Iz Lee, Jenna Martinez, Yara Shobut, Lila Traves, Bohou Zhang
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 | Jan 22 | Course Introduction
| ||
Jan 24 | ||||
Jan 26 | ||||
2 | Jan 29 | Numbers, Strings, and Loops
| ||
Jan 31 | ||||
Feb 02 | Drop/Add Ends | |||
3 | Feb 05 | Conditions and Boolean Logic
| ||
Feb 07 | ||||
Feb 09 | ||||
4 | Feb 12 | First Functions, while Loops
| ||
Feb 14 | ||||
Feb 16 | Quiz 1 (study guide) | |||
5 | Feb 19 | Graphics, Using Objects
| ||
Feb 21 | ||||
Feb 23 | ||||
6 | Feb 26 | Fruitful Functions
| ||
Feb 28 | ||||
Mar 01 | Quiz 2 (study guide) | |||
7 | Mar 04 | Top-Down Design
| ||
Mar 06 | ||||
Mar 08 | ||||
Mar 11 | Spring Break | |||
Mar 13 | ||||
Mar 15 | ||||
8 | Mar 18 | More Top-Down Design
| ||
Mar 20 | ||||
Mar 22 | Quiz 3 (study guide) | |||
9 | Mar 25 | Searching
| ||
Mar 27 | ||||
Mar 29 | Last Day to Declare CR/NC | |||
10 | Apr 01 | Sorting
| ||
Apr 03 | ||||
Apr 05 | Quiz 4 (study guide) | |||
11 | Apr 08 | Recursion
| ||
Apr 10 | ||||
Apr 12 | ||||
12 | Apr 15 | More RecursionClasses and Objects
| ||
Apr 17 | ||||
Apr 19 | ||||
13 | Apr 22 | More Classes and Objects | ||
Apr 24 | ||||
Apr 26 | Quiz 5 (study guide) | |||
14 | Apr 29 |
Additional Data Structures | [Lab 11 cont] | |
May 01 | ||||
May 03 | ||||
May 09 | Final exam 2-5pm in SCI 101. |