Welcome to CS106A! Four Handouts Today: Course Overview Why Learn - - PowerPoint PPT Presentation

welcome to cs106a
SMART_READER_LITE
LIVE PREVIEW

Welcome to CS106A! Four Handouts Today: Course Overview Why Learn - - PowerPoint PPT Presentation

Welcome to CS106A! Four Handouts Today: Course Overview Why Learn to Program? Meet Karel the Robot Who's Here Today? Aeronautical Engineering Drama Materials Science Anthropology Earth Systems Mathematics


slide-1
SLIDE 1

Welcome to CS106A!

  • Four Handouts
  • Today:
  • Course Overview
  • Why Learn to Program?
  • Meet Karel the Robot
slide-2
SLIDE 2

Who's Here Today?

  • Aeronautical Engineering
  • Anthropology
  • Art
  • Biochemistry
  • Biology
  • Biophysics
  • Business Administration
  • Chemical Engineering
  • Chemistry
  • Civil Engineering
  • Classics
  • Communication
  • Comparative Literature
  • Computational and

Mathematical Science

  • Computer Science
  • Materials Science
  • Mathematics
  • Mechanical Engineering
  • Medicine
  • Management Science and

Engineering

  • Music
  • Physics
  • Political Science
  • Psychology
  • Race and Ethnicity
  • Religious Studies
  • Science, Technology, and

Society

  • Statistics
  • Symbolic Systems
  • Urban Studies
  • Drama
  • Earth Systems
  • Economics
  • Education
  • Electrical Engineering
  • Energy Resources

Engineering

  • English
  • Environmental

Engineering

  • Film Studies
  • Genetics
  • Geological Science
  • Human Biology
  • International Relations
  • Law
slide-3
SLIDE 3

Course Staff

Instructor: Keith Schwarz (htiek@cs.stanford.edu) Head TA: Jeremy Keeshin (jkeeshin@cs.stanford.edu) The CS106A Section Leaders The CS106A Course Helpers

slide-4
SLIDE 4

http://cs106a.stanford.edu

Course Website

slide-5
SLIDE 5

Prerequisites

The void where prerequisites usually go

slide-6
SLIDE 6

Required Reading

KAREL THE ROBOT LEARNS JAVA

slide-7
SLIDE 7

Required Reading

slide-8
SLIDE 8

Grading Policies

slide-9
SLIDE 9

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

slide-10
SLIDE 10

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

7 Programming Assignments

slide-11
SLIDE 11

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

slide-12
SLIDE 12

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

Midterm Exam: Monday, February 13 7:00PM – 9:00PM

slide-13
SLIDE 13

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

slide-14
SLIDE 14

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

Final Exam: Wednesday, March 21 12:15PM – 3:15PM

slide-15
SLIDE 15

Grading Policies

55% Assignments 15% Midterm 25% Final 5% Section Participation

slide-16
SLIDE 16

Discussion Sections

  • Weekly discussion sections.
  • Section attendance is required in CS106A.
  • Sign up between Thursday, January 12 at

5:00PM and Sunday, January 15 at 5:00PM at

http://cs198.stanford.edu/section

  • Do not enroll through Axess; everything will be

handled through the above link.

slide-17
SLIDE 17

5 Units 3 Units

  • or-

4 Units

Are you an undergrad?

NO YES YES

Do you want to take CS106A for fewer units?

NO

Start Here

The CS106A Units Flowchart

NO

slide-18
SLIDE 18

A Word on the Honor Code...

slide-19
SLIDE 19

A Word on the Honor Code...

  • Feel free to discuss general ideas with
  • ther students, but do not share any

programs or code (text of the programs).

  • Cite all sources you use and everyone

you collaborated with.

  • This is not an exhaustive list; please see

Handout #03 for a full discussion of the Honor Code.

slide-20
SLIDE 20

On a Happier Note...

  • There are 38 hours a week where we're

available to help you!

  • Section leaders and course helpers staff

the Tresidder LaIR Sunday – Thursday, 6PM – Midnight.

  • Starts next Tuesday.
  • Keith and Jeremy hold office hours each

week.

  • See Handout #00 for details.
slide-21
SLIDE 21

Why Learn to Program Computers?

slide-22
SLIDE 22

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,

“SIGACT trying to get children excited about CS”

slide-23
SLIDE 23

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,

“SIGACT trying to get children excited about CS”

slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26

(c) 2012 Intuitive Surgical, Inc.

slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34

All of these projects occurred within the last ten years.

slide-35
SLIDE 35

Who's Here Today?

  • Aeronautical Engineering
  • Anthropology
  • Art
  • Biochemistry
  • Biology
  • Biophysics
  • Business Administration
  • Chemical Engineering
  • Chemistry
  • Civil Engineering
  • Classics
  • Communication
  • Comparative Literature
  • Computational and

Mathematical Science

  • Computer Science
  • Materials Science
  • Mathematics
  • Mechanical Engineering
  • Medicine
  • Management Science and

Engineering

  • Music
  • Physics
  • Political Science
  • Psychology
  • Race and Ethnicity
  • Religious Studies
  • Science, Technology, and

Society

  • Statistics
  • Symbolic Systems
  • Urban Studies
  • Drama
  • Earth Systems
  • Economics
  • Education
  • Electrical Engineering
  • Energy Resources

Engineering

  • English
  • Environmental

Engineering

  • Film Studies
  • Genetics
  • Geological Science
  • Human Biology
  • International Relations
  • Law
slide-36
SLIDE 36

Goals for this Course

  • Learn how to harness computing

power to solve problems.

  • To that end:
  • Explore fundamental techniques in computer

programming.

  • Develop good software engineering

techniques.

  • Gain familiarity with the Java programming

language.

slide-37
SLIDE 37

Meet Karel the Robot

slide-38
SLIDE 38
slide-39
SLIDE 39

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-40
SLIDE 40

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-41
SLIDE 41

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Each row is called a street.

slide-42
SLIDE 42

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-43
SLIDE 43

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Each column is called an avenue.

slide-44
SLIDE 44

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-45
SLIDE 45

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

The intersection of a street and an avenue is a corner.

slide-46
SLIDE 46

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-47
SLIDE 47

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel cannot move through walls.

slide-48
SLIDE 48

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-49
SLIDE 49

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-50
SLIDE 50

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

Beepers mark locations in Karel's world.

slide-51
SLIDE 51

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5

slide-52
SLIDE 52

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

slide-53
SLIDE 53

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move

slide-54
SLIDE 54

Karel's World

. . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move

.

slide-55
SLIDE 55

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move

slide-56
SLIDE 56

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move

slide-57
SLIDE 57

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move

slide-58
SLIDE 58

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper

slide-59
SLIDE 59

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper

slide-60
SLIDE 60

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-61
SLIDE 61

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-62
SLIDE 62

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-63
SLIDE 63

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-64
SLIDE 64

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-65
SLIDE 65

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-66
SLIDE 66

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-67
SLIDE 67

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft

slide-68
SLIDE 68

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft putBeeper

slide-69
SLIDE 69

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft putBeeper

slide-70
SLIDE 70

Karel's World

. . . . . . . . . . . . . . .

1 2 3 1 2 3 4 5 Karel Commands

move pickBeeper turnLeft putBeeper

slide-71
SLIDE 71

Get Ready!

slide-72
SLIDE 72

It's Time for Your Very First Karel Program!