This project will extend and develop Simplicity. Simplicity is a programming language for novice programmers which makes syntax errors impossible, and maintains a continually runnable version of the code as the code is modified. This adds a challenge to the design by constraining input at the same time as encouraging experimentation. In many cases a careful choice of default values can demonstrate program constructs and prompt users to solve their programming problems. One consequence is that refactoring code is a normal part of programming with Simplicity. The existing Simplicity system is written in Python.
Undergraduate
None
Lab allocations have not been finalised