Asee peer logo

Coral: An Ultra-Simple Language For Learning to Program

Download Paper |


2019 ASEE Annual Conference & Exposition


Tampa, Florida

Publication Date

June 15, 2019

Start Date

June 15, 2019

End Date

October 19, 2019

Conference Session

Technical Session 1: Issues Impacting Students Learning How to Program

Tagged Division

Computers in Education

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


Alex Daniel Edgcomb Zybooks

visit author page

Alex Edgcomb is Sr. Software Engineer at, a startup spun-off from UC Riverside that develops interactive, web-native learning materials for STEM courses. Alex is also a research specialist at UC Riverside, studying the efficacy of web-native content and digital education.

visit author page


Frank Vahid University of California, Riverside

visit author page

Frank Vahid is a Professor of Computer Science and Engineering at the Univ. of California, Riverside. His research interests include embedded systems design, and engineering education. He is a co-founder of

visit author page


Roman Lysecky University of Arizona

visit author page

Roman Lysecky is a Professor of Electrical and Computer Engineering at the University of Arizona. He received his Ph.D. in Computer Science from the University of California, Riverside in 2005. His research interests include embedded systems, runtime optimization, non-intrusive system observation methods, data-adaptable systems, and embedded system security. He has recently coauthored multiple textbooks, published by zyBooks, that utilize a web-native, interactive, and animated approach, which has shown notable increases in student learning and course grades.

visit author page

Download Paper |


University-level introductory programming courses, CS0 (non-majors) and CS1 (majors), often teach an industry language, such as Java, C++, and Python. However, such languages were designed for professionals, not learners. Some CS0 courses teach a graphical programming language, such as Scratch, Snap, and Alice. However, many instructors want a more serious feel for college students that leads more directly into an industry language. In late 2017, we designed Coral, an ultra-simple language for learning to program that has both textual code and a graphical flowchart view. Concurrently, Coral's educational simulator was designed hand-in-hand with the language. Coral was designed specifically for learning core programming concepts: input/output, variables, assignments, expressions, branches, loops, functions, and arrays. Coral is intended as a step in learning; once Coral is learned, students might transition to an industry language. This paper describes Coral, including the design philosophy and pedagogical considerations. This paper also includes data on student usage and perspectives of Coral during the Summer and Fall 2018.

Edgcomb, A. D., & Vahid, F., & Lysecky, R. (2019, June), Coral: An Ultra-Simple Language For Learning to Program Paper presented at 2019 ASEE Annual Conference & Exposition , Tampa, Florida. 10.18260/1-2--32550

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2019 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015