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

Week 1

Jan 09

Slides

Introduction to Computer Science, CSCI111

Algorithms

Writing and running programs in Python

Programming Fundamentals

Computing with numbers

HtTLaCS, Chapter 1

Review Course Web page and Syllabus

An Introduction to Computational Thinking

Lab 0 due

Write up of Broader Issue Artificial Intelligence: Silicon Valley's Next Frontier on Sakai on Friday

Jan 10

Lab 0 - Intro to Linux and HTML
Slides

Jan 11

Slides

Jan 13

Drop/Add ends

Slides

Week 2

Jan 16

Classes suspended

Arithmetic Operations
Chapter 2

Development process, testing
Chapter 3

HtTLaCS, Chapter 2-3

Read What happens when an algorithm is sexist? New guidelines seek accountability, check out the linked articles about the questionable algorithms to get the idea of what the questions are about, and choose one article to read. Write one summary on the two articles.

Jan 17

Lab 1 - Python Programming and Numeric Operations
Slides

Jan 18

Slides
Examples

Jan 20

Slides
Examples

Week 3

Jan 23

Slides
Examples

Definite Loops
Chapter 4

Calling functions and leveraging modules
HtTLaCS, Chapter 5

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

Lab 2

This isn't a news article, but I think it's really important to know how Google search works. (Optional: find out how other search engines work.) Make sure you access all the info, like hovering over or clicking on the various interactive pieces.

Jan 24

Lab 2 - Advanced Arithmetic and Definite Loops
Slides

Jan 25

Slides
Examples

Jan 27

Slides
Examples

Week 4

Jan 30

Slides
Examples

OO and Animation

Conditionals, HtTLaCS Chapter 7

Lab 3

Broader Issue: Read both Autonomous Vehicles Complete DARPA Urban Challenge -- An oldie but goodie -- and Self-Driving Cars Should Be Regulated Like Drugs and write one summary of the articles and write one summary

Jan 31

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

Feb 01

Slides
Examples

Feb 03

Slides
Examples

Week 5

Feb 06

Slides
Examples

Conditionals
HtTLaCS Chapter 7

String operations
HtTLaCS Chapter 9

Lab 4 Due Wednesday

Feb 07

Lab 4 - Advanced Conditional Problems
Slides

Feb 08

Slides
Examples

Feb 10

Exam 1

Exam Preparation Document

Week 6

Feb 13

Slides
Examples

String Methods

String formatting Examples

HtTLaCS Chapter 9

Data Representations
ASCII table handout

Lists

HtTLaCS Chapter 10

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 Stanford cryptography pioneers Whitfield Diffie and Martin Hellman win ACM 2015 A.M. Turing Award and write your response on Sakai. Bonus: Turing Biography

Feb 14

Lab 5: String Operations and Methods
Slides

Feb 15

Slides
Examples

Feb 17

Slides
Examples

Week  

Feb 20

Washington Break

Feb 21

Feb 22

Feb 24

Week 7

Feb 27

Slides
Examples

Lists, continued

HtTLaCS Chapter 10

Files

HtTLaCS Chapter 11

Defining Functions

HtTLaCS Chapter 6

Lab 6

Broader Issue: Read both and summarize in one entry on Sakai: Researchers aim for smarter people, not smarter thermostats and, so click-baity, A Robotic Home That Knows When You’re Hungover

Feb 28

Lab 6: Data Representation, Lists, and Files
Slides

Mar 01

Slides
Examples

Mar 03

Slides
Examples

Week 8

Mar 06

Slides
Examples

Functions - Passing parameters
HtTLaCS Chapter 6

Writing to Files
HtLaCS Chapter 11

Defining modules

Exception handling

Indefinite loops
HtLaCS, Chapter 8

Lab 7

Read both articles related to computer science education and summarize together:

Mar 07

Lab 7: Files and Functions
Slides

Mar 08

Slides
Examples

Mar 10

Slides
Examples

Week 9

Mar 13

Slides
Examples

Indefinite Loops

Dictionaries
Chapter 12

Lab 8

Mar 14

Lab 8: Functions, Modules, and Indefinite Loops
Slides

Examples

Mar 15

Slides
Examples

Mar 17

SSA Conference

Week 10

Mar 20

Slides
Examples

Object-oriented Programming
Top-down design
Chapter 14

Command-line arguments

Lab 9

Mar 21

Lab 9 - Dictionaries and Designing Our Own Classes
Slides
Examples

Mar 22

Slides
Examples

Mar 24

Exam 2

Exam Preparation Document

Week 11

Mar 27

Slides

Designing Our Own Classes

Comparing Linear and Binary Search
Searching - 5.3, 5.4

Lab 10: Designing and Implementing a Social Network

Broader Issue: Danielle Steel Loves the Weather and Elmore Leonard Hates Exclamation Points: Literature by the Numbers - Think about how you could implement similar analyses in Python.

Mar 28

Lab 10: Designing and Implementing a Social Network
Slides
Examples

Mar 29

Slides
Examples

Mar 31

Slides
Examples

Week 12

Apr 03

Slides
Examples

Exception Handling

2D Lists

Comparing Python3 with other programming languages

Complexity Science

Lab 11

Final Exam Preparation

Broader Issue: How Facebook News Feed Works
Optional:

Apr 04

Lab 11: Exception Handling, Binary Search, and 2D Lists
Slides

Apr 05

Slides
Examples

Apr 07

Slides

Week  

Apr 10

Final Exam

Final Exam Preparation

Apr 11

Apr 12

Apr 14