karel the robot teaches critical thinking
DESCRIPTION
TRANSCRIPT
Copyright © 2008 Technia. All rights reserved.
Welcome!
Karel the Robot
Teaches Critical
Thinking
Copyright © 2008 Technia. All rights reserved.
Karel the Robot
Teaches Critical Thinking
Compiled by: Debbie Clingingsmith Email: [email protected] Last revised: 1/26/2008 Description: Using the Karel J Robot simulator to
teach critical thinking skills Download Slides: slideshare.net/dlclingingsmith
Copyright © 2008 Technia. All rights reserved.
What is a critical thinking?Critical thinking is the intellectually disciplined process of actively and skillfully conceptualizing, applying, analyzing, synthesizing, and/or evaluating information gathered from, or generated by, observation, experience, reflection, reasoning, or communication, as a guide to belief and action.
Defining Critical Thinking: A statement by Michael Scriven & Richard Paul for the National Council for Excellence in Critical Thinking Instruction, Critical Thinking Foundation, downloaded 1-23-2008 from http://www.criticalthinking.org/aboutCT/define_critical_thinking.cfm
Copyright © 2008 Technia. All rights reserved.
What Karel J Robot?Karel is an educational programming language for absolute beginners, created by Richard E. Pattis in his book “Karel The Robot: A Gentle Introduction to the Art of Programming.” Pattis used the language in his courses at Stanford University. The language is named after Karel Čapek, a Czech writer who introduced the word robot.
Karel (programming language), Wikipedia, downloaded 1-23-2008 from http://en.wikipedia.org/wiki/Karel_(programming_language)
Copyright © 2008 Technia. All rights reserved.
For teachers, Karel J Robot
is: A simulator
Karel lives in a simple world of streets and avenues Free to download
PC/MAC available at http://pclc.pace.edu/~bergin/KarelJava2ed/karelexperimental.html
or http://www.wiley.com/college/pattis/0471597252/instructor/instructor.html#pc Palm OS available at
http://handheld.softpedia.com/get/Educational/Tutorial/Karel-the-Robot-6753.shtml
Several versions, suggested version is Karel J Robot which uses Java Available for MAC, PC, or Palm OS
Easy to learn and use Karel may perform five different activities May create new activities oneself Karel knows about conditions in the environment
Fun to run Provides immediate feedback Middle and high school students enjoy Karel
Copyright © 2008 Technia. All rights reserved.
Karel J Robot's World
Copyright © 2008 Technia. All rights reserved.
Karel J Robot's World
Copyright © 2008 Technia. All rights reserved.
Karel J Robot's World
Copyright © 2008 Technia. All rights reserved.
Karel J Robot's World
Copyright © 2008 Technia. All rights reserved.
Program tab (Pascal)
Copyright © 2008 Technia. All rights reserved.
Program tab (Java)
Copyright © 2008 Technia. All rights reserved.
Execute tab
Copyright © 2008 Technia. All rights reserved.
What may Karel do move
turnleft
pickbeeper
putbeeper
turnoff
Copyright © 2008 Technia. All rights reserved.
What Karel may know
Whether a direction is blocked or clear frontIsBlocked leftIsBlocked RightIsBlocked
Direction faced facingNorth facingSouth facingEast facingWest
Whether beepers are nearby or in the bag anyBeepersInBeeperBag nextToABeeper
frontIsClear leftIsClear rightIsClear
noBeepersInBeeperBag notNextToABeeper
notFacingNorth notFacingSouth notFacingEast notFacingWest
Copyright © 2008 Technia. All rights reserved.
How may Karel decideControl statements
if Example: if (frontIsBlocked) {turnleft();}
whileExample: while (frontIsBlocked) {turnleft();}
iterateExample: iterate(3) {turnleft();}
if with elseExample: if (frontIsBlocked) {turnleft();}
else {move()};•Format: command ( condition to meet ) { what to do }
Copyright © 2008 Technia. All rights reserved.
Creating new Karel
activitiesdefine
Use with braces above and below the instructions included in the newly defined command
A defined command may be used in another defined command. However, it must be defined previous to its use (physically, it must be above where it is used in a new define).
Example: creating a right turn define turnright() {
turnleft();turnleft();turnleft();
}
Example of use: if (frontIsBlocked) {turnright()};
Copyright © 2008 Technia. All rights reserved.
How to Use Karel
1) Make or open a Karel world* When Karel starts, it is in the world tab* Create walls by left clicking between two adjacent blocks* Place beepers if you wish* Save your world
2) Create or open a program* Left click the Program tab* Choose Pacal or Java, then click the New button* Write your program, then click the Compile button* Save your program
3) Run your program* Left click the Execute tab * Click the Initialize button* Click the Run button. Increase speed by increasing the
Steps/Min number.
Copyright © 2008 Technia. All rights reserved.
Karel Resources
• Otterbein college* Karel the Robot tutorial online in Pascal* URL:
http://math.otterbein.edu/home/JKarelRobot/ParelTutorial/Karel.htm* Place beepers if you wish* Save your world
• David Wittry web site* URL: http://www.apcomputerscience.com/karel/index.htm* Movie demos of Karel running* First edition of Karel J Robt: An Introduction to the Gentle Art
of Object Oriented Programming in Java available free and online.
Copyright © 2008 Technia. All rights reserved.
Karel Exercises
• Atlantic City High School* “Karel the Robot Introductory Role Play Classroom Activity”
paper by Joseph A. Tosh* URL:
http://pclc.pace.edu/~bergin/KarelJava2ed/KarelRolePlay.html
• JR Masterman School* URL:
http://geom.teachopensource.org/apcs/resources/resources_files/lecturek1-2007.pdf
* Slide set and a paper exercise.