Lectures Cip3 Lecture-Slides-Karel File PDF
Lectures Cip3 Lecture-Slides-Karel File PDF
• Childhood: Iran
• High School: San Diego
• Stanford University Ph.D. in Machine Learning
(Before Machine Learning was cool)
• Spent a decade in tech industry before coming back as professor
• Love of teaching is why I came back
Pandemic of
loneliness
Pandemic of
education
inequality
Section Leaders
https://codeinplace.stanford.edu/cip3
Build a community
Piech and Sahami, Code in Place
Please try to make them!
Private posts go to
just the section
leaders
Piech and Sahami, Code in Place
We are all learners, teachers
This is a collective
community service project.
You are part of our
community.
Do:
Do:
Do not:
👷👷
Piech and Sahami, Code in Place
Course Plan
Karel
Karel
Data
Graphics
Next Week
Footer Text 51
4/9/20 Piech and Sahami, Code in Place
Humane in Trying Times
Good morning
y thon
p
2012
2019
https://stackoverflow.blog/2017/09/06/incredible-growth-python/
Piech and Sahami, CS106A, Stanford University
Guido van Rossum
3 + + + + + North
2 + + + + + West East
1 + + + + +
South
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
move()
turn_left()
put_beeper()
pick_beeper()
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
3 + + + + +
2 + + + + +
1 + + + + +
1 2 3 4 5
def name():
function statements
a n ew
a d ds a re ls
This nd to K
ma l a ry
co m a b u
v o c
Program
def main():
move()
pick_beeper()
move()
turn_left()
main function
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
helper functions
turn_left()
turn_left()
if __name__
start == "__main__":
program
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
Import Packages
def main():
move()
pick_beeper()
move()
turn_left()
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
helper functions
turn_left()
turn_left()
if __name__
start == "__main__":
program
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
Import Packages
def main():
move()
pick_beeper()
move()
turn_left()
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__
start == "__main__":
program
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
Import Packages
def main():
move()
pick_beeper()
move()
turn_left()
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left()
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left()
move()
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left() This piece of the
move() program's source code is
turn_right() called a function.
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left()
move() This line of code gives the
turn_right() name of the function
move() (here, main)
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left()
move() This line of code gives the
turn_right() name of the function
move() (here, turn_right)
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left() This is called a
move() code block
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left() This is called a
move() code block
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
Anatomy of a Program
from karel.stanfordkarel import *
def main():
move()
pick_beeper()
move()
turn_left() This is called a
move() code block
turn_right()
move()
put_beeper()
move()
def turn_right():
turn_left()
turn_left()
turn_left()
if __name__ == "__main__":
run_karel_program()
Piech and Sahami, CS106A, Stanford University
The End,
but really just the start.