CS21 - Introduction to Computer Science
Fall 2016


Announcements

  • Jump to this week's schedule
  • The Final Exam study guide is available. The final is on Saturday, December 10 at 7-10pm in Science Center 101.
  • Lab 11 is now available. It will not graded but is useful for studying for the final exam.

This syllabus is a living document; please be aware that many elements on this page will change throughout the semester, including the course schedule. It is the student's responsibility to review this page periodically for updates.

I value any and all student feedback. If you would like to provide anonymous course feedback, use this submission form here. Please be constructive in any comments so that I can adjust the course as best possible.



Schedule

WEEK DAY ANNOUNCEMENTS TOPIC & READING LABS     
1

Aug 30

 

Introduction to Python and Unix

In class exercises
Lab 00: unix, editing

Sep 01

 
2

Sep 06

 

Writing simple programs

In class exercises
Reversing a String
Lab 01: First Programs

Sep 08

Drop/add ends (Sep 09)

3

Sep 13

Quiz 1 Study Guide

Conditionals

In class exercises
Lab 02: Numbers and Strings

Sep 15

Quiz 1

4

Sep 20

 

First functions, while loops

In class exercises
Lab 03: if/else statements

Sep 22

 
5

Sep 27

Quiz 2 Study Guide

Graphics, Using Objects

In class exercises
Lab 04: while loops and functions

Sep 29

Quiz 2

6

Oct 04

 

Fruitful Functions

In class exercises
Lab 05: Objects and Graphics
Lab 05 Rubric

Oct 06

 
 

Oct 11

Fall Break

Oct 13

7

Oct 18

Quiz 3 Study Guide

File IO, Top-Down Design

In class exercises
Lab 06: Functions

Oct 20

Quiz 3

8

Oct 25

 

Searching

In class exercises: More TDD
In class exercises: Search


Lab 07 (design): Scattergories

Oct 27

 
9

Nov 01

Quiz 4 Study Guide

Sorting

In class exercises: Sorting


Lab 07 (implementation): Scattergories
Lab 07 Common Errors

Nov 03

Quiz 4

CR/NC/W Deadline (Nov 04)

10

Nov 08

 

Recursion

In class exercises: Recursion


Lab 08: Searching and Sorting NASDAQ Data
Lab 08 Common Errors

Nov 10

 
11

Nov 15

Quiz 5 Study Guide

Classes and Objects

In class exercises: Classes


Lab 09: Recursive Dragons, Snowflakes, and Spikes
Lab 09 Common Errors

Nov 17

Quiz 5

12

Nov 22

 

Classes and Objects

  • more examples



Lab 10: Pong

Nov 24

Thanksgiving

13

Nov 29

Quiz 6 Study Guide

Linked Lists

  • python list vs linked list
  • Node() class
  • LinkedList() class
  • linked list methods
  • analysis of algorithms

  • Ch 18: Linked Lists

Lab 11: Linked Lists

Dec 01

Quiz 6

14

Dec 06

Final Study Guide

Wrap up

In class

Dec 10

Final: 7-10pm Science Center 101