Lecture 1: Part 1 Welcome
June 21st, 2021
Welcome to CS106A
- Instructor - Juliette Woodrow - Stanford CS Master's Student
- Head TA - Tara Jones - Stanford CS Undergrad
- Live lectures every Monday, Tuesday, Wednesday, Thursday from 1:30-2:30pm PT
- No lectures on Fridays, but we will use two Friday slots for the quizzes
- Recordings of lectures will be posted on Canvas
- No prior experience required
Why Take CS106A?
- No longer intimidated
- 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
- Solve Coding Problems
- Python is powerful
- In 8 weeks you will learn how to solve real problems
- Many CS106A projects have neat, tangible output
- Hidden Agenda
- You might find that you like it
- Go on to take more CS courses
Course Mechanics
- Course website: cs106a-8.stanford.edu
- Tara Jones - our awesome head TA!
- Contact her if you need a problem solved
- Please also send Tara any OAE letters
- Prerequesites: none! This class is designed for students with no prior programming experience.
- Getting to know you!
- Assignment 0 is on the website!
- Please fill this out by Tuesday, June 22nd at 11:55pm PTso we know who you are and where you are (for planning purposes)
- Lecture:
- Live lecture Mon-Thurs 1:30-2:30pm PT
- Will be recorded and posted on Canvas.
- Attendance is highly encouraged, but not required
- Section:
- Weekly 50 minute section led by awesome section leaders (the backbone of this course!)
- Section signups are already open -- see the class webpage for signups NOT Axess
- Signups close Tuesday at 5pm. Sections start this week !!
- Section attendance and participation is 10% of your final grade
- Office Hours:
- Juliette and Tara have weekly office hours.
- Juliette's hours start next week.
- Section leaders have one-on-one debugging help at the LaIR Mon-Thursday. LaIR starts Tuesday!
- You can find the times and links for office hours and LaIR here.
- Course Communication:
- CS106A Feedback:
- Feel free to let us know via email, Ed, or office hours what is working and what isn't working
- Teaching and learning online is difficult. We want to make this the best it can be.
- Please read the General Course Information handout before class on Tuesday.
What we will ask you to do
- Weekly programming assignments (50%)
- Assignments turned in on time receive a 2% on time bonus
- After the due date, each assignment will have a full-credit "grace period" of 48 hours unless documented otherwise on the assignment.
- Contact Tara if you need to arrange extra time on homework for extenuating circumstances
- Two quizzes - week 3 and week 7 (40%)
- Section attendance and participation (10%)
What is CS106A?
- "Computer science is no more about computers than
astronomy is about telescopes, biology is about
microscopes or chemistry is about beakers and test
tubes. Science is not about tools, it is about how we
use them and what we find out when we do." - Michael Fellows and Ian Parberry
- "To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge." - Grace Hopper
- Learning Goals:
- Learn how to harness computing power to solve problems.
- Explore fundamental techniques in computer programming.
- Develop good software engineering style.
- Gain familiarity with the Python programming language.
- There are so many cool programs that you could write!
- Computer Graphics
- Pat Hanrahan, one of the founders of pixar is a prof here. He just won the Turing Award - the Nobel Prize of Computer Science
- Mobile Computing - you probably have a super computer in your pocket. Learning how to code on your phone can be fun!
- Autonomous Surgery
- Self Driving Cars
- Image Transformation
- Data Visualization
- Internet Applications
- So many more !!
Python Language
- Using Python3
- Python is "programmer friendly"
- Not just for CS people
- Very popular for data, all sorts of things
Lecture and Pedagogy Notes
- CS is kind of like swimming or riding a bike - you can't just read about it, you have to try for yourself!
- Lab in lecture - reinforce the ideas
- Education research, Carl Wieman (Stanford)
- Do a little activity with what you just saw
- Just a few days from seeing it in lecture to doing it yourself on homework
- I'll provide notes like this each day
- May include links to live code to try
- I go through pretty fast .. do examples etc.
- You can review later in section and when you do your homework
Please read the General Course Information handout for other details - linked off course page