The Coral language, along with a web-based graphical simulator, was developed in 2017 by Frank Vahid, Roman Lysecky, and Alex Edgcomb. Frank is a computer science professor at Univ. of California, Riverside (since 1994) and zyBooks’ co-founder. Roman is a computer engineering professor at Univ. of Arizona (since 2005) and co-leads authoring at zyBooks (with Frank). Alex has his CS Ph.D. (2014) and is a senior software developer and researcher at zyBooks and a UCR research specialist.
zyBooks’ mission is to help college students succeed, especially in early computer science and STEM courses where much attrition occurs. We’ve long known that a student’s first programming experience can be a make-or-break situation. But learning any industry coding language (even Python) can be tough due to syntax and nuances. Those languages target professionals, not learners. And many education-focused languages are so far from coding that college students may not connect well with them, nor transition well into coding. For years, we wanted to create a language to ease learning while being more like industry coding languages.
Then in 2017 we caught a break — a major university asked zyBooks to create content for a new language-agnostic intro programming course, teaching (hand-written) flowcharts and pseudocode. We jumped, and said we’ll do more — we’ll create new languages that execute in a web-based simulator we’d also build.
For months, we worked to define the easiest-to-learn coding language on the planet. We anguished over every construct, striving for intuitiveness and minimization of common learner mistakes. We carefully matched the code and flowchart versions, and Alex wrote an amazing tool to convert code to a flowchart with similar layout. We iterated extensively to build a simple learner-focused web-based simulator, showing variables in memory, input being consumed, and step-by-step execution. And we wrote a zyBook to teach students core programming concepts (variables, assignments, branches, loops, arrays, functions) using the language. Language design decisions are discussed on our philosophy page.
We decided that for maximum impact, we’d make the language and simulator free for students and instructors. We named the language Coral, because coral is a simple creature, like our language. Plus, we like having an excuse to post beautiful photos of coral. (We considered naming the language Amoeba, which are even simpler creatures, but gosh not quite as beautiful).
We expect to continue to develop Coral, the simulator, and tutorials, and conduct research on Coral’s use, at our universities and at zyBooks as well. We hope the community of instructors and students finds that these items help students be attracted to and successful in learning programming. We welcome feedback — email firstname.lastname@example.org with comments/questions or to ask to be connected with Frank, Roman, and/or Alex.