====== Student Project 2019-20 ====== ====== Student Project: Initial Goals ====== **Project title**: Webapp for compiling/executing Eiffel programs with a selection of coding challenges illustrating Design by Contract and Mathmodels Supervisor(email): Jonathan Ostroff (jonathan) * Student Team * Gianluca Corvinelli (corv9) * Shangru Li (ioagnx) ===== Initial Goals ===== Design and implement a webapp hosted on EECS servers which will provide the following services * Provide students in EECS with powerful development tools and a Playground to test and debug Eiffel programs in a browser (see for example leetcode.com). * Unit Testing along the lines of ESpec must be supported. * Syntax and compile errors are reported in the browser in a clear fashion. * Provide students with a carefully selected suite of Eiffel challenge questions that illustrate and test comprehension of Design by Contract and Mathmodels (see [[https://ieeexplore.ieee.org/document/8501488)|Modelling and Testing Requirements via Executable Abstract State Machines]]. * Allow instructors to easily add new challenge problems to the base set. * Provide a method for storing student scores for a set of problems selected by instructorsto be used in Labs as well as in Labtest mode. * The system must be designed to support other languages (e.g. Python3 with type annotations). * The system must be well-designed and maintainable by the EECS tech team.