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

Published 2020

Authors

Prof. Frank Vahid
University of California, Riverside

Joe Michael Allen
University of California, Riverside

Dr. Alex Daniel Edgcomb
zyBooks a Wiley Brand

Prof. Roman Lysecky
University of Arizona

Free Download

Ready to explore in depth? Download a copy for free.

Get the full version

Abstract

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].

or, go back to the blog.

More action with less text.

zyBooks strike the perfect balance between text volume and engaged learning, with studies showing that students spend more time learning. Performance has been proven to increase and we have research to show it.

Get A Demo
zyBooks textbooks increase student engagement