To help aspiring programmers start writing code, researchers from the Georgia Institute of Technology in the US have developed a free web-based platform called Code Shrew.
Python is among the world's most popular programming languages, thanks in part to its utility for data science and AI-oriented disciplines. The creators of the site hope that the lessons learned through Code Shrew will help students whether they pursue Python or some similar language.
"The programming course consists of lessons that cover essential programming principles, as well as challenges to test users' skills as they progress through the course," explain Ludwik Trammer and Jamie Dunn from the Georgia Institute of Technology, in a paper describing the project. "Both the lessons and challenges take advantage of the editor's instant feedback, allowing for a focus on learning-by-doing."
Trammer and Dunn say Code Shrew was inspired by a learning theory advocated by Seymour Papert and Idit Harel called constructionism, which holds that people learn best by creating things. Unlike online courses that require students to follow a series of specific steps, Code Shrew lessons don't make many demands on how the student should progress.
"We want students to develop their own personal, unique creations," the pair state in their paper. "They shouldn’t be forced to follow predesigned paths."
Short videos provide an overview of specific concepts. And the interactive editor provides a way to test how code changes affect screen output. What helps make this approach work is that feedback is basically instantaneous. Where other online code editors generally require the user to click a button to run code, Code Shrew continually looks for changes made to the code input area on the left-hand side of the page. The results show up almost immediately in the graphics display area on the right-hand side of the page.
The syntax for basic operations like variable assignment, looping, conditional statements, and interacting with data structures comes from Python, but Code Shrew isn't feature-complete Python. It doesn't implement advanced concepts like Lambda Expressions, for example.
Still, that's for the best in the context of beginning programmers. Educators don't want prospective students to wind up in Python dependency hell or some similar state of frustration arising from installation missteps.
Registration for Code Shrew is not required to use most of the site's content, but it is supported so users can share their creations. Students can create profiles, share their code and remix code created by others. Instead of a "Like" button, there's a "Love" button. ®