Using the free Coral language and simulator to simplify first-year programming courses

Frank Vahid, Joe Michael Allen, Alex Daniel Edgcomb, Roman Lysecky

Research output: Contribution to conferencePaperpeer-review

1 Scopus citations


Many engineering majors require first-year students to learn programming. Unfortunately, commercial languages like Python, C, C++, and Java were designed for professionals, not learners, and thus have nuances that can cause students to struggle. Such struggle can lead to frustration, low grades, and potentially to dropping their programming classes or even switching majors. The Coral language was created in 2017 to address this issue. Coral is ultra-simple, looking almost like pseudocode, with fewer than 10 instruction types. Coral has a free web-based educational simulator, which auto-derives a graphical flowchart, and which executes the code and flowchart visually while showing variable updates in memory. Unlike other educational programming environments like Alice, Scratch, or Snap, Coral was designed for college students, with an emphasis on leading smoothly into a commercial language. Though Coral is now used by many thousands of students in CS0 classes at dozens of universities, in Fall 2019 our university experimented with introducing Coral in its CS1 class, where one 80-student section was taught programming in Coral for the first 5 weeks, then C++ for the second 5 weeks. Those Coral-to-C++ students did equally well on the identical C++ final exam compared to the students in other class sections who learned C++ the entire term, and their code style was better. Coral-to-C++ students' evaluations were also very positive, and teachers reported an exceptionally smooth class startup using Coral. The C++ class sections were already highly optimized with strong performance and excellent student evaluations. These Coral-to-C++ results suggest that Coral can be used to enable a simpler and smoother start to a freshmen programming class, while still achieving the desired learning of a commercial language. And, as the Coral approach is improved, one might begin to see Coral-to-C++ students outperforming C++-only students as well. The Coral simulator and tutorial are available for free online [1].

Original languageEnglish (US)
StatePublished - Jul 26 2020
Event12th Annual First Year Engineering Experience, FYEE 2020 - East Lansing, United States
Duration: Jul 26 2020Jul 28 2020


Conference12th Annual First Year Engineering Experience, FYEE 2020
Country/TerritoryUnited States
CityEast Lansing

ASJC Scopus subject areas

  • General Engineering


Dive into the research topics of 'Using the free Coral language and simulator to simplify first-year programming courses'. Together they form a unique fingerprint.

Cite this