120 likes | 243 Views
Karel J. Robot offers an engaging, object-oriented approach to learning fundamental computer science concepts. This course spans seven weeks and includes lectures, homework, labs, quizzes, and tests designed to provide visual feedback. Students explore key topics such as inheritance, polymorphism, abstraction, encapsulation, recursion, and iteration through practical tasks in Karel's World, which consists of streets and avenues populated by robots. With its focus on major concepts and minimal details, students can easily grasp programming fundamentals while building their problem-solving skills.
E N D
Karel J Robot Chapter 1 Note: Original slides provided by www.apComputerScience.comand modified for this specific class
Karel J Robot • Karel provides an OOP approach to learning computer science • It provides visual feedback to students – you get to see your mistakes and triumphs. • It will cover some of the major CS concepts in a short period of time: • Inheritance, Polymorphism, Abstraction, Encapsulation, OOP-Design, Recursion, Iteration, Selection, … • Filters out many(relevant) details so one can focus on the major concepts: • Not in danger of losing sight of the Forest (computer science) through the details of the Trees (java details)
Karel J Robot • It’s pureJava • It introduces many major topics in a short period of time – not too much detail • then, as the year goes on, we will spiral back through those topics introducing more and more detail as required • 7 Week timeframe which includes lectures, homework, labs, quizzes, and tests
Karel's World • Robot World • A flat plane of streets (east-west) and AVenues (north-south) Streets Corner (many robots may occupy) Avenues
Karel's World • Bounded on west side by an an infinitely long vertical wall and on south side by infinitely long horizontal wall • Streets and avenues have numbers • Corner is identified by street and avenue. Origin is street 1, avenue 1. • Position of robots and other things can be referred to by an absolute or relative location
Karel's World • Contains Beepers and Walls • Beepers • Beep very softly. Robots cannot sense a beeper until they are on the same corner. • May be picked up, carried, and placed again • Several beepers can be placed on a corner and they don’t interfere with Robot movement • Walls • Placed half way between street corners • Impenetrable, blocks robots • Used to create rooms, mazes, hurdles
Robot Capabilities • Moves • Only moves forward in direction top of its head is facing • Turns • Turns 90 degrees to the left • Senses surroundings • Hears beepers (on same corner) • Determines direction it is facing • Picks up, carries, and puts down beepers • Turns itself off I am facing West and have no beepers I am turned OFF. I can’t do anything else.
“factory”(auf Deutsch) Karel-Werke • Factory - Builds the robots • Standard model • New model • Extension of an existing base model • Factory – Delivers the robots
Robot Tasks and Situations • Examples: • Move to a corner (3rd St. & 5th Ave.) • Run a hurdle race • Escape from a maze • Find a beeper and deliver it to the origin • Draw a pattern with beepers
Robot Tasks and Situations Fig A: A room has one door. A robot is at the origin and facing North. Robot must enter the room. Fig B: A diagonal line of beepers. Robot is facing East and must pick up all beepers. Fig C: A “+” wall arrangement with beepers. From a starting position, Robot must pick up all beepers. Fig D: Robot must escape the maze.
Robot Tasks and Situations Fig E: Beepers are scattered in a box. Robot is facing South in the Northwest corner and must pick up all beepers in the box.. Fig F: Box with a beeper. Robot is facing North in the Northeast corner. Robot must find the beeper.