Welcome to CS106A

What Is The Plan for CS106A?


CS106A in 1 Slide

alt: computers and useful things like the internet, what is between?
alt: computers and useful things like the internet, CODE is what is between

Why Take CS106A?

Other CS Courses

CS106AX is an "accelerated" variant of CS106A taught this quarter for people who already have some programming experience and want an extra-challenging experience. It's more advanced and moves more quickly.

CS106AX is designed for those with prior programming experience who want to review introductory material while challenging themselves with more elaborate programming assignments. Because those taking CS106AX have prior experience, we're able to cover the basics more quickly, understand how larger programs are constructed, and understand why the implementation of web applications often relies on an ability to code in multiple languages.

With that in mind, CS106AX teaches two programming languages: JavaScript and Python. JavaScript programs are typically executed within the web browser to foster interactivity and substantially improve user experience, and Python is often used to implement the server-synthesized HTML pages and deliver them to the browser.

CS106AX is intentionally offered at the same time as CS106A, so students can choose which of the two is the better fit without having to worry about how their choice will impact their class schedule.

CS193q is a 1 unit seminar that teaches Python very quickly, just mentioning the various features. Geared for people who already know how to program and want to see how programming constructs work in Python.

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.

CME193 is a 1-unit course in applied Python for scientists and engineers. It is a course one could take after CS106A.

Foreshadowing - Story Arc

The story arc of many computer challenges

Step 1 - Broken Code, Broken Computer

Step-2 - Weird But Not Difficult


Course Details

We will go through the main course details quickly here, then we'll start coding. Please read the syllabus for the spelled out details.

Everything on Course Page cs106a.stanford.edu

Videos

Python Language

Education Theory - Learn By Doing

Lecture Notes and Exercises

Lecture Goes Pretty Fast - Lecture Examples

Weekly Section

No A+ Grades

Late Days

Office Hours - Lair

Office Hours - Nick and Ngoc

Ed Forum

Honor Code

Nick's Theory of the 10 Week Quarter


CS106A Important True/False Disclosure

Q. You say everyone can do this class. True/False - CS106A is an easy course.

False. It's doable, but "easy" is not the word that springs to mind.