Problem-Solving with Karel Announcements Programming Assignment #1 - - PowerPoint PPT Presentation
Problem-Solving with Karel Announcements Programming Assignment #1 - - PowerPoint PPT Presentation
Problem-Solving with Karel Announcements Programming Assignment #1 Out: Karel the Robot: Due Friday, January 20 at 3:15 PM Email: Due Sunday, January 22 at 11:59PM Sign up for section! http://cs198.stanford.edu/section Signups
SLIDE 1
SLIDE 2
Announcements
- Programming Assignment #1 Out:
- Karel the Robot: Due Friday, January 20 at
3:15 PM
- Email: Due Sunday, January 22 at 11:59PM
- Sign up for section!
http://cs198.stanford.edu/section Signups close this Sunday at 5PM.
SLIDE 3
Friday Four Square
- Good snacks!
- Good company!
- Good game!
- Good fun!
- Today at 4:15
in front of Gates.
Don't be this guy!
SLIDE 4
Revisiting HurdleJumpingKarel
SLIDE 5
RowSweepingKarel
SLIDE 6
. . . . . . . .
1 2 3 4 5 6 7 8 1
Before
SLIDE 7
. . . . . . . .
1 2 3 4 5 6 7 8 1
After
SLIDE 8
Let's Code it Up!
SLIDE 9
. . . . . . .
1
Karel has to take six steps… …but has to sweep seven corners.
1 2 3 4 5 6 7
SLIDE 10
A More Elaborate Problem
SLIDE 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 12
RoombaKarel
SLIDE 13
The Problem
- Setup:
- Karel begins at (1, 1).
- Karel's world has no walls in it.
- Each corner has zero or one beepers.
- Goal:
- Karel's world is free of beepers.
- Karel's location does not matter.
SLIDE 14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 19
Algorithms
- An algorithm is a process for solving
some problem.
- Named for 9th-century Persian
mathematician يمزراوخلاىسومنبدمحم, (Muhammad ibn Musa al-Khwarizmi).
- There are many algorithms for solving
each problem; each offers tradeoffs.
SLIDE 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
SLIDE 21
BeeperDoublingKarel
SLIDE 22
. . .
1 2 3 1
137
Before
SLIDE 23
. . .
1 2 3 1
274
After
SLIDE 24
How do you double beepers?
SLIDE 25
. . .
1 2 3 1
3
SLIDE 26
. . .
1 2 3 1
2 2
SLIDE 27
. . .
1 2 3 1
1 4
SLIDE 28
. . .
1 2 3 1
6
SLIDE 29
. . .
1 2 3 1