Skip to main content.

Schedule

In general, labs assigned on Tuesday are due on Friday BEFORE CLASS.

Lecture slides will be posted after class.

All dates are tentative. The schedule will be updated as the semester progresses.

WEEK DAY Lectures & Examples Topic & Reading Assignments
1

Jan 11

Slides

Introduction to CS, CS111

Algorithms

Writing and running programs in Python

Programming Fundamentals

Computing with numbers

Zelle, Chapters 1-2

Review Course Web page and Syllabus

An Introduction to Computational Thinking

Lab 0 due

Write up of Broader Issue Algorithms: The Ever-Growing, All-Knowing Way Of The Future on Sakai on Friday

Jan 12

Lab 0 - Intro to Linux and HTML
Slides

Jan 13

Slides

Jan 15

Drop/Add ends

Slides
Examples

2

Jan 18

Classes suspended

Arithmetic Operations

Development process, testing

Definite Loops
Zelle, Chapters 2-3

Classes shifted by one day.

Lab 1 due Friday by 5 p.m.

Jan 19

Slides
Examples

Jan 20

Lab 1 - Python Programming and Numeric Operations
Slides

Jan 22

Slides
Examples

3

Jan 25

Slides
Examples

Definite Loops

Calling functions and leveraging modules
Chapter 3

Intro to Object-Oriented Programming
Using an API - Graphics library API, graphics.py
Zelle, Chapter 4

Lab 2

Read all of these articles and summarize in one entry on Sakai: Yes, Rick Santorum did just ask you to Google him, Santorum asks Google to clean up search results for his name, and Google: Inside Search for Friday

Jan 26

Lab 2 - Advanced Arithmetic and Definite Loops
Slides

Jan 27

Slides
Examples

Jan 29

Slides
Examples

4

Feb 01

Slides
Examples

OO and Animation

Conditionals
Zelle, Chapter 7.1-7.3, 8.4

Exam Preparation Document

Lab 3 due

Feb 02

Lab 3 - Functions, Modules, Using APIs, and Animation
Slides

Feb 03

Slides
Examples

Feb 05

Exam

5

Feb 08

Slides
Examples

Conditionals
Zelle, Chapter 7.1-7.3, 8.4

String operations
Zelle, Chapter 5.1-5.2, 5.8

Lab 4 Due

Feb 09

Lab 4 - Advanced Conditional Problems
Slides

Feb 10

Slides
Examples

Feb 12

Mock Convention

6

Feb 15

Class Cancelled

Slides
Examples

String Methods
Zelle, Chapter 5.8

String formatting
Zelle, Chapter 5.5

Data Representations
ASCII table handout
Zelle, Chapter 5.4

Lists
Zelle, Chapter 5.3, 5.6

Building a Skittles sorting machine (practice with lists) -- Note that this is in Python 2, but you can adapt to Python 3 relatively easily.

Lab 5

Broader Issue: Read both Autonomous Vehicles Complete DARPA Urban Challenge -- An oldie but goodie -- and Self-Driving Cars Are Coming Soon to a Highway Near You

Feb 16

Lab 5: Advanced String Problems
Slides

Feb 17

Slides
Examples

Feb 19

Slides
Examples

 

Feb 22

Washington Break

Feb 23

Feb 24

Feb 26

7

Feb 29

Slides
Examples

Files
Zelle, Chapter 5.9

Defining Functions
Zelle, Chapter 6
Lab 6

Broader Issue: FBI vs Apple: Encryption, Security, and Privacy. Read both articles and summarize in one entry:

Mar 01

Lab 6: Data Representation, Lists, and Files
Slides

Mar 02

Slides
Examples

Mar 04

Slides
Examples

8

Mar 07

Slides
Examples

Functions - Passing parameters

Writing Files, Handling Numeric Data in files

Defining modules
Chapter 6

Exception handling
Chapter 7.4

Indefinite loops
Chapter 8

Lab 7

Read both articles and summarize together:

Mar 08

Lab 7: Files and Functions
Slides

Mar 09

Slides
Examples

Mar 11

Slides
Examples

9

Mar 14

Slides
Examples

Indefinite Loops

Dictionaries
Chapter 11.6

Defining Classes
Chapter 10

Lab 8

Exam Prep

Mar 15

Lab 8: Modules and Indefinite Loops
Slides

Mar 16

Slides
Examples

Mar 18

Exam

10

Mar 21

Slides
Examples

Object-oriented Programming
Top-down design
Chapter 12

Command-line arguments

Lab 9 - Dictionaries and Defining Our Own Classes

Broader Issues: Read and summarize on Sakai: Do Computer Scientists Hold the Key to Treating Cancer? - poses some good questions.

Mar 22

Lab 9 - Dictionaries and Designing Our Own Classes
Slides
Examples

Mar 23

Slides
Examples

Mar 25

Slides
Examples

11

Mar 28

Slides

Designing Our Own Classes

Comparing Linear and Binary Search
Chapter 13.1
Lab 10: Designing and Implementing a Social Network

Broader Issue: Instagram May Change Your Feed, Personalizing It With an Algorithm

Mar 29

Lab 10: Designing and Implementing a Social Network
Slides
Examples

Mar 30

Slides
Examples

Apr 01

Slides
Examples

12

Apr 04

Slides
Examples

2D Lists

Comparison with other programming languages

Complexity Science
Lab 11

Final Exam Preparation

Apr 05

Lab 11: Binary Search, Key Functions, and 2D Lists
Slides

Apr 06

Slides
Examples

Apr 08

Slides

 

Apr 11

Final Exam

Apr 12

Apr 13

Apr 15