About two decades ago The MIT Media lab introduced the concept of block-based programming. The idea was to develop an interface that allowed computer programs to be built by simply dragging and dropping puzzle blocks to represent complex programming constructs and commands. With this new method for teaching and learning computer science, the hugely popular Scratch platform was born. This approach lowered the bar for experimenting with programmatic thinking, making it possible for students to create interactive animations and small games without writing a single line of code. This simple concept removed the need to learn the syntax of a formal programming language, and made teaching and learning the basics of computer science accessible to younger learners and to teachers with no formal coding background.
Outside of the classroom though, coding has always been, and still remains, a process of typing letters, numbers and symbols. This text-based programming, used in programming language such as C, Javascript and Python, requires coders to obey and conform to formal syntax. Despite the pain of dealing with typos in names of variables and inevitable syntax errors, no other coding method designed to be more “user friendly” has really caught on. Tools have been offered for managers to define business logic through a graphical user interface without writing lines of codes. Or for web developers to add interactive behaviors to their websites without learning Javascript. But in reality, neither of those substitute the power and flexibility of text-based programming. And with neither winning significant adoption, the demand for the classic skill of text-based coding continues to grow and grow.
Teaching text-based coding with CodeMonkey
Block-based coding is an excellent approach to kickstart learners’ excitement and interest in programming. It’s the perfect way to teach programmatic thinking, while also giving an enthusiastic head start into real world coding skills. The challenge lies when children begin to advance and grow out of block-based coding, around the ages of seven or eight.
This is partly because children feel they’re not doing ‘real’ coding, and partly the limitations programming in blocks places on their creativity. And given that creativity is one of the strongest motivations for a computer science learner, and that all the apps, games and web sites they want to build require text-based coding, there needs to be a logical next step.
With the vast amount of coding expertise required to teach students text-based coding, it is a challenge for many educators to help students progress at the pace they want. Even for experienced programmers or computer science teachers who have mastered the skills themselves, teaching code is very different from writing it. But thanks to emerging educational coding platforms such as CodeMonkey (playcodemonkey.com), this is starting to change.
CodeMonkey is a full coding course in the form of an intuitive and engaging online game. Learners type code in a real programming language called CoffeeScript to guide a fun-loving monkey to his bananas through a series of increasingly complex obstacles.
The code editor in the game provides numerous tools to help learners overcome the technical difficulties that are inherent in text-based programming. Students can click on objects in the game instead of typing their names letter by letter, and when doing so the code editor automatically takes cares of small syntax issues for them (such as inserting a dot between an object and a function, a space between a function and its arguments, and a new line for each statement).
If a student is still struggling and tries to run a program with errors, the game will pop up clear and simple error messages, sometimes suggesting how to fix the error, instead of the infamous dumb compiler error messages such as “Undefined object or function: x”…
CodeMonkey also makes it easy to work with large groups of students with:
- Pre-defined linear progression through the course
- The high engagement that a full-blown game experience creates
- And immediate feedback from its built-in automatic assessment engine
These three elements allow teachers to “auto-pilot” for large parts of the lesson while students work individually or in pairs. This leaves teachers free to attend to students who may be struggling or help those having problems at specific points.
CodeMonkey also offers a great entry point to the world of text-based coding for teachers themselves. Any teacher with no prior knowledge in computer science can pick it up by playing CodeMonkey an evening before class. They can also use the full detailed lesson plans offered to teachers alongside the CodeMonkey games, and easily track their students progress and work through CodeMonkey’s simple teacher dashboard.
And the best part – you can sign up and set up your class in just a few clicks at playcodemonkey.com/teachers. The first 30 levels of the game are free!
Feature image adapted from image courtesy of Flickr, Riebart.