10 tools to teach & learn programming concepts and increase logical ability
Scratch: Scratch is the most popular tool that can be used to teach or learn programming. It provides an easy to use drag & drop GUI to the student with some blocks, these blocks can be arranged in a logical order to achieve a goal. Using scratch students can create interactive stories, animations, games, music, and art. Scratch let novice users know the power of computer programming and give a chance to explore more possibilities of computer programming to the experienced programmers.
BYOB: BYOB is an extension to scratch that allows us to build our own blocks. It also features first class lists and first class procedures. You can create block of any category and of any type (reporter, predicate or command). It increases the capabilities of this program, there is no command in scratch to create a rectangle but in BYOB you can create a block that can be used to draw a rectangle.
Alice3d: Alice3d is a tool that is more powerful than Scratch. Although it provides same kind of interface to the users but it is used to create more complex animation, games or videos. It uses a 3D environment and used to teach object oriented programming concepts to the students. According to the makers of alice 3d -
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.
Robomind: robomind is a programming environment, we can say it an enhanced version of popular program LOGO, used in 1960s to teach programming. Using robomind one can program a robot. A programming language 'robo' is designed to program the robot. Robo is very easy to use and it's syntax is same as C programming language.
Robotprog: This is a tool that can be used to develop logical ability in new programming students. This tool defines a language called Robot language and provide blocks in a GUI based interface to program a robot. A student can program robot using these blocks to achieve certain goal. The goal and the ground is defined by the instructor. Ground is a level or a maze that present a challenge in front of the student.
CeeBot: This is a game that is based on same principle of RoboProg and Robomind. In which one need to program a robot to achieve certain task but this is a game that means learner will gain and loose points. Stage wise setup of this game provide a very controlled and effective environment to teach programming.
robozzle: This is the only game that provides a social learning environment. This is based of Microsoft silverlight. It is a web based tool that gives you challenges in style of maze. Learner need to solve that maze using programming commands. It increases logical ability of the learner. After solving 40 puzzles you can create your own mazes for others. Maze and scores created by you will be visible on the website. You can challenge your friends and members in your group. High score and no. of puzzle solved by a person are shown on website that encourage one to reach that point.
LighBot: LightBot is very similar to above two tools but it is a flash based game. It best feature is it's robot that looks like real, his expression and way of moving is similar to the humans that make this game more attractive. Mazes are provided in front of learner and he need to write code in order to solve the maze.
Kodu: This is a result of Microsoft research program to teach programming to the students, students can create only games here for the windows or X box gaming device. It is completely based on event-driven model of programming, do this if this event occur. Various characters, models, levels, objects are given in the gaming environment and user can create there own paths or terrains in the kodu. create games students do not need to write a single line of code they just need to build logic.
The best simulation tool I have ever seen to teach programming to the students of above 5th std. It's look & feel, easiness, self guided instructions provides an engaging environment in front of learner. The best thing with this tool is that the games created using this tool can be played on Xbox, this work as a boost in confidence. Terrain, characters and GUI to program a game is catchy to eyes and very attractive that a learner can not leave it in between. Only one problem with this tool is that it needs a high end machine to run it.
Jeliot: Developed by Niko myller and Andres Moreno Garcia under the supervision of Mordechai Ben-Ari and Erkki Sutinen. It has the capabilities to run a JAVA program step by step. It helps in visualizing the work of a computer when it executes a JAVA program. It's interface is divided into four parts program, visual, control and console. You can write your program in program part. After compiling you can play the animation using control. Animation will play on visual part of the environment, any error or message will be shown in console part.