Welcome to CS106A
- Instructor - Nick Parlante - CS senior lecturer, Google, etc.
- Head TA - Juliette Woodrow
- CS106A teaches basic coding and problem solving
like swimming, you can't just read about it
Learn by doing - "reps" Nick's favorite word
- No prior experience required
- We are careful to go step by step
You Will Be Amazed
- You will be amazed at what you can build
- Partly because it's easier than you think
- Partly computers are powerful
- Learning to code .. you harness the power of the computer
Why Take CS106A?
- 1. No longer intimidated by computers
The nature of computers is code
Understand how computers fit in the world
Not some hocus-pocus mythology of computers
Computing is a lot simpler (dumber?) than you might think
- 2. Solve Coding Problems
Python is powerful
In 10 weeks, you'll learn enough to solve real problems
Maybe don't take CS106A senior year
- 3. Hidden Agenda
You might find you like it
Take CS106B
We have a whole department on this stuff!
Here is the deal...
1. Code Looks Bad
- Weird syntax
- Bad error messages
- The style of computer systems is one of ludicrous inflexibility
You see this trying to enter data into web forms
- BUT .. that's all superficially bad
Aside: Why
- Why is the syntax so fixed and stupd?
- Because computers are inflexible
- Computers are good at something else
- This is the basic deal
You take the ideas in the world
Express them in syntax so the computer can understand
2. And Then it's Going To Work
- Show you A connects to B, B connects to C
- Show how to fix some common problems
- And then it's going to work
- "That's it?" you will say, how can it be so easy?
3. A Prediction About Your Code
Aside: "broken" is the natural state of code - a theme for another day
- You will have code, and at first it is not working
- You will work on it, fixing this and that
- And one moment you will click the Run button..
- And it will rise up, working perfectly
- That moment is very satisfying
- You built it
- Working code is sort of tangibly satisfying
- Writing a great essay is more abstract
Course Mechancics..
Links on Course Page
- cs106a.stanford.edu - links to everything from there
- Juliette Woodrow - our super head TA
Contact her if you need a problem solved
- Link to "Python Guide" written detail
- Videos available after lecture within 2 hours - links on course page
The videos will be sufficient for you to follow along with the course
But we like in-person lecture attendance
Our room does not have enough seats for everyone
Office Hours
- Updated on the course page of course
- After Class
Juliette and I will be here right after class
A great time to ask a question - bring your laptop right up
- Nick, next to Durand 311
Mon and Wed, 3:00-4:00 (basically still after class)
Tue: 11:30-2:00 - ask questions, or just sit with your laptop and work
- Juliette: Tue 4:00-6:00 Durand 311, The Fri am on zoom
- We have a lot of coverage on Tue, come and say hello
- Lair helper system - zoom evenings, see "Getting Help" on course page
Python Language
- Using Python3
- Python is "programmer friendly"
get things done easily
- Not just for CS people
- Very popular for data, all sorts of things
Pedagogy Notes
- Lab in lecture - reinforce
- Education research, Carl Wieman (Stanford)
Do a little activity with what you just saw
- Typical schedule
Give out HW on Wed
Lecture on that topic through Fri
HW is due Tue or Wed following week
So we always give you the weekend
Lecture Notes and Exercises
- I'll provide notes like this each day
- Often including links of code exercises to try
- I go through pretty fast .. do examples etc.
- After lecture, you should, say, 60% understand the ideas
- You will likely need to review the examples to solidify
Maybe after class
Maybe when the homework comes out on these topics
- Ultimately, you want to be able to solve the lecture problems without peeking at a solution
Nick's Theory of the 10 Week Quarter
- We're going to go quite fast at the start of the quarter
- Reduce the load at the very end
- This first material is weird but not that difficult
- Just hang in there, this will give us more time later
Please read the syllabus for other details - linked off course page