Welcome to CS106A

How Does This Class Work?

Why Take CS106A?

Other CS Courses

(pasted from syllabus)

CS106A is the main, first course in programming and computer science, for people who with zero experience.

CS106B is the second course, teaching more advanced programming and computer science for people who know basic programming.

CS105 is a more lightweight introduction to CS ideas, but without as much coding as CS106A.

CS193q is a 1 unit seminar that teaches Python very very quickly - geared for people who already know how to program but want to learn Python.

CS106AX is an "accelerated" variant of CS106A taught this quarter for people who already have some programming experience. It's more advanced and moves more quickly, covering both the Javascript and Python languages.

Foreshadowing

The story arc or a typical CS106A project...

Step-1 - Code is going to look bad

Aside: Why is syntax inflexible?

Step-2 - And Then it's Going To Work


Course Details

We will go through the main course details quickly here, then we'll start coding. Please see the syllabus for more information.

Links on Course Page

Python Language

Education Theory - Learn By Doing

Lecture Structure and Exercises

Weekly Section

Typical Week Schedule

Late Days

Office Hours - Lair

Office Hours - Nick and Elyse

Ed Forum

Honor Code

Nick's Theory of the 10 Week Quarter