Asee peer logo

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

Download Paper |

Conference

2020 First-Year Engineering Experience

Location

East Lansing, Michigan

Publication Date

July 26, 2020

Start Date

July 26, 2020

End Date

July 28, 2020

Page Count

7

DOI

10.18260/1-2--35783

Permanent URL

https://peer.asee.org/35783

Download Count

869

Paper Authors

biography

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 CS/engineering education, and embedded systems. He is a co-founder of zyBooks.com.

visit author page

biography

Joe Michael Allen University of California, Riverside

visit author page

Joe Michael Allen is a Ph.D. student in Computer Science at the University of California, Riverside. His current research focuses on finding ways to improve CS education, specifically focusing on introductory programming courses known as CS1. Joe Michael is actively researching the impact of using a many small programs (MSP) teaching approach in CS1 courses. His other interests include educational games for building skills for college-level computer science and mathematics.

visit author page

biography

Alex Daniel Edgcomb zyBooks

visit author page

Alex Edgcomb is Sr. Software Engineer at zyBooks.com, 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

biography

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 focuses on embedded systems with emphasis on medical device security, automated threat detection and mitigation, runtime adaptable systems, performance and energy optimization, and non-intrusive observation methods. He is an author on more than 100 research publications in top journals and conferences. He received the Outstanding Ph.D. Dissertation Award from the European Design and Automation Association (EDAA) in 2006, a CAREER award from the National Science Foundation in 2009, and nine Best Paper Awards. He is an inventor on one US patent. He has authored eight textbooks on topics including C, C++, Java, Data Structures, VHDL, and Verilog, and he has contributed to several more. His recent textbooks with zyBooks utilize a web-native, active-learning approach that has shown measurable increases in student learning and course grades. He has also received multiple awards for Excellence at the Student Interface from the College of Engineering at the University of Arizona.

visit author page

Download Paper |

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 at corallanguage.org [1].

Vahid, F., & Allen, J. M., & Edgcomb, A. D., & Lysecky, R. (2020, July), Using the free Coral language and simulator to simplify first-year programming courses Paper presented at 2020 First-Year Engineering Experience, East Lansing, Michigan. 10.18260/1-2--35783

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: © 2020 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