L4K ︰ 通往 Python 的道路

程式語言何其多!教育程式語言也不少?且讓我們藉著

The Guido van Robot
Programming Language

About GvR

Guido van Robot is a minimalistic programming language providing just enough syntax to help students learn the concepts of sequencing, conditional branching, looping and procedural abstraction. Its biggest strength is that it permits this learning in an environment that combines the thrill of problem-solving with instant visual feedback. In short, it is an interactive, introductory programming language that is excellent for learning the basic concepts of programming, applicable in any high-level language. Best of all, it’s a whole lot of fun, too!

At this point, you are probably asking yourself, What is GvR, specifically? The gist of it is that it is a robot represented by a triangle on the screen that moves around in a world made up of streets and avenues, walls and beepers, which Guido can collect or set. His actions are completely guided by a program written by the user.

One other item of interest about GvR is that it is a student-created project. GvR was initially written by students at Yorktown High School in Arlington, Virginia, with the help of professional programmers serving as mentors. You can navigate to the History page to learn more about this part of the project.

History

Everyone loves robots. Remember R2-D2? Logo? Data? HAL? Well… maybe HAL isn’t such a good example. In any case, back in the early 80s, Richard E. Pattis, a professor at Carnegie Mellon University, was developing a project to introduce his first-year programming students to the Pascal programming language. The result? The Karel the Robot programming language. Its strengths lie in the fact that it is extremely simple (it only has five commands) yet can be used to teach some of the most advanced concepts, without all the complicated syntax.

Enter Steve Howell, a dashingly handsome, ambitious young student at Duke University. In taking “An Introduction to Programming,” taught by Owen Astrachan, he encountered the Karel Programming Language. While it was merely an introduction to Pascal, and had no practical commercial use, it proved memorable.

Flash Forward fifteen years to November 2001. Steve, as industrious as ever, furiously works on a Python project of his, designed as a sort of academic project to hone his skills. What did he create? A Python implementation of Karel the Robot, of course.

But Rome wasn’t built in a day. Steve’s program still needed substantial improvement. While fully functional, it only ran in a terminal, using the Python curses module. Steve Howell needed somebody to work with his Python version of Karel, preferably an educator. That way, Karel could then be used as an educational tool as well as a programming project. He then examined his options: he could write a Personals ad (Wanted: Programmers, know Python, enjoy long, moonlit walks on the beach), or he could use the power of the Internet to find someone on one of the Open-Source school mailing lists, such as schoolforge-discuss@schoolforge.net After much debate, he settled on the latter, and came across Jeff Elkner, infamous masked Open-Source avenger from Yorktown, armed with student prodigies Waseem Daher and Donald Oellerich: Keepers of the Code. Their mission was to rewrite the GUI using wxPython, enabling graphical support in both Windows and Linux. Aptly named pyKarel, it had much potential.

Of course, everyone is above average at Yorktown High School, but even then, Waseem and Donald needed some help with the GUI, more help than Steve could always provide. Here’s where Michele Moore of MetaSlash Inc. comes in. Whenever a problem arose, they’d fire off an email in her direction with the latest question. Think of her as the Ms. Cleo for Donald and Waseem’s undertaking.

But misery loves company, and apparently so does programming. Donald and Waseem, after much effort, needed some fresh help with the project. That’s where programmer extraordinaire Paul Carduner comes in. He proceeded to rewrite the entire compiler, and what’s more, brought the project to its current state. Karel the Robot was designed to teach introductory Pascal students about Pascal. Enter Guido van Robot, a Python-esque programming language designed to teach students about Python. Paul has been the principal author of this new use for an older project, working closely alongside all the familiar pyKarel faces.

The work on GvR continues to this day. Luckily, since it was built off the pyKarel compiler engine, and still uses the same familiar GUI, it already is fairly robust and can be used as an excellent precursor to Python in the classroom environment.

sudo apt-get install gvrng

 

以及

Learning Python: Child’s Play with RUR-PLE!

André Roberge, © 2004, 2005

Learning to program computers should be fun, for adults and children alike. RUR-PLE is an environment designed to help you learn computer programming using the language Python. Within an artificial world in which a robot can be programmed to perform various tasks, you will learn what it means to write a computer program, using Python’s syntax. You will also be able to apply your programming skills in a more traditional environment using the built-in interpreter. If these words don’t mean much to you for now, don’t worry.

While learning to program can be fun, it does require some work on your part. I will be your guide, so that you can learn on your own; however, you will not learn if you do not write your own programs. This is important enough that you should take it as a rule to follow.

Rule # 1
Learning about computer programming is like learning to play a musical instrument: you have to do it, not simply read about it.

The second thing you need to know is the most important, best-kept secret for writing good computer programs.

Rule # 2
Write your computer programs to make them easy for people to read.

That’s right, write your computer programs so that other people, just like you, would find them easy to read on their own. Yes, computer languages are designed to allow you to communicate with computers, just as human languages have evolved to allow humans to communicate with each other. But computer languages, which are much simpler than human languages, are often used by programmers to share their work with other programmers. Just as you can improve your English writing skills by reading well-written novels, you can improve your programming skills by reading well-written computer programs. However, you will still need to write your own programs to learn how to do it.

To get you started on writing computer programs, you will make a robot, named Reeborg, perform certain tasks on your computer screen. While doing so, you will learn universal programming concepts as well as the language named Python. Later on, we will move away from having Reeborg perform tasks, and learn to do other things using the computer.

Find out more about RUR-PLE including a summary of instructions as well as acknowledgements to various people.

sudo apt-get install rurple-ng

 

的設計理念談談兒童學習編程之事。想想為什麼不能直接教導派生 Python 呢?