Fred Agbo
August 24, 2026

To gain the skills, knowledge, and confidence necessary to write, test, and debug Python programs requiring several hundred lines of code.
Doing so will require that students be able to:
| Assignment & Participation (incl. class & section attendance) | 10% |
| 5 Problem Sets | 20% |
| 5 Defined-Projects | 20% |
| 2 Midterms | 20% |
| A Final Exam | 20% |
Scored through participation watching the video and reading the chapters before class, in-class polls, in-class collaborations, or contacting me with a question about a specific slide.
Sometimes 1-2 polls per day
Answering any poll gets you full points for the day (even if you are wrong!)
Answering correctly gets you bits of extra credit
Polling website at this link. Remains constant throughout the semester.
| | 105 | A submission so good it “makes me weep” |
| | 100 | Exceeds requirements |
| | 95 | Satisfies all assignment requirements |
| | 90 | Meets most requirements, but some issues |
| | 80 | Some more serious problems evident |
| | 60 | Even worse… |
| | 30 | Why even bother turning this in? |
```this is formatted nicely as code```
As we mentioned before, Karel is a simple robot, and can really only do 4 potential actions
| Command | Action |
|---|---|
move() |
Moves Karel forward one corner in whatever direction they are facing |
turn_left() |
Rotates Karel 90 deg counter-clockwise |
pick_beeper() |
Picks up a beeper on the ground |
put_beeper() |
Places a beeper on the ground |
Our commands are just sequences of these actions
def main():
move()
turn_left()
turn_left()
turn_left()
move()
turn_left()
move()
turn_left()
turn_left()
turn_left()
move()
pick_beeper()
turn_left()
turn_left()
turn_left()
move()
move()
put_beeper()