Learning to code with Mahara
by Jinelle Foley-Barnes
Working on the Mahara ePortfolio project has proven to be a great way for students of all ages to learn programming – from Rylee, aged 9, to the many high school students who have made their first contributions to an open source project, as well as university students who gain work experience through internships, part-time work or university projects.
Recently, Rylee contributed her first Behat test. These tests are written in a human-readable programming language, using a pseudo-language called Gherkin. Behat allows test scenarios that are normally completed manually to be run automatically. This makes it possible to perform these scenarios repeatedly during the software testing process, much more quickly than would be possible for a person. Rylee copied and pasted steps from the Mahara Behat wiki page into a document and filled in the blanks with the names of links and buttons she was clicking on to create a journal entry. Rylee's test is now run every time a piece of code is added to Mahara, to check that the links in the journal entry are still always clickable by users.
Writing Behat tests allows for a soft introduction to the concept of programming. It's perfect for children, because it plants those early seeds to make them think about how a website is acting when they click a link. It encourages them to think about the elements they see on a website and how they are generated and what happens when the words on the screen change: Will the test break? Websites are then no longer magic boxes that "just work", as the children gain a better understanding of how they work.
Having started out with Behat test scenarios, it's an easy step for budding programmers to make simple changes in the code by updating language strings for text seen on regular pages and in help files. Getting more adventurous, they can learn more developer-type concepts, from writing the code behind the Behat steps to make them more efficient to configuring a bot to run the tests every time a bug is fixed.
The opportunities are endless once the seed is planted. Mahara supports the growth!