Powerful Visual Introduction to Computer Programming
Karel the Robot is a legendary programming language originally introduced by the Stanford University professor Richard E. Pattis in his famous book Karel the Robot: A Gentle Introduction to the Art of Programming in 1981 (see its Wikipedia page). R.E. Pattis created Karel because his students lacked logic and problem-solving skills. Without these skills, one cannot be successful at computer programming. The same is still very much true today.
The original Karel language was similar to Pascal, a language which is not widely used anymore. However, the powerful educational concepts of the language based on logic and problem solving are timeless. Therefore, the NCLab team gave the Karel language a fresh new look. The NCLab Karel is similar to Python, one of the world’s most popular programming languages today. We also upgraded the graphical user interface, as you will see in the videos below.
The tremendous power of the Karel language is in its simple syntax. Many instructors make the mistake of exposing beginners to a realistic programming language such as C++, Java or Python. However, these languages have a complicated syntax. Beginners need time to adjust to the level of detail and accuracy which are required when writing computer programs. Every forgotten semicolon, colon, or parenthesis causes a computer program to half with an error message, which causes frustration to beginners. This is the main reason why many beginners never get a chance to really enjoy computer programming.
Therefore, the NCLab Karel language does not use semicolons, colons, parentheses, or other such symbols. On the contrary, it only uses a handful of simple commands such as “go”, “left”, “right”, “get”, “put”, “repeat”, “if”, “while” etc. This allows students to focus on logic and problem solving which are the most important aspects of computer programming. The Karel Coding course consists of 225 carefully designed challenges which range from simple to advanced, as illustrated by the following videos.
Solving a maze by typing simple commands:
Solving a maze which contains a repeating pattern:
Navigating an unknown maze: