Teaching Coral before C++ in a CS1 Course
Author(s) -
Joe Allen,
Frank Vahid
Publication year - 2020
Publication title -
2020 asee virtual annual conference content access proceedings
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/1-2--35273
Subject(s) - computer science , python (programming language) , programming language , java , coral , compiler , art , visual arts
Commercial languages like Python, Java, or C++, have syntactic, semantic, and compiler/interpreter issues that make them less-than-ideal as a CS1 language. The free Coral language, which uses ultra-simple statements, auto-derived flowcharts, and a web-based graphical educational simulator with clear error messages, was developed in 2017 to address such issues. Coral is designed to lead more directly into commercial languages than other educational languages like Scratch or Snap. Dozens of schools use Coral, often as the language in CS0 courses. In this work, we experimented with using Coral in CS1 to ease students into the commercial language C++. For one 80-student CS1 section, the term's first half used Coral to teach input/output, variables, expressions, branches, loops, arrays, and functions, thus focusing on program logic and problem solving rather than syntax and semantic details. The term's second half then retaught those constructs using C++. We found what we'd hoped: the Coral-to-C++ students did equally well on the identical C++ final exam and did equally well in the course. The results suggest that instructors can start a CS1 class with Coral to enable a smooth start and to teach using an educational simulator, without loss in learning outcomes or programming capability. We indicate ideas of how Coral's introduction can be improved, which may yield further improvements.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom