Experiences teaching coral before C++ in CS1
Published SIGCSE 2023, March 15–18, 2023, Toronto, ON, Canada.
Authors
Frank Vahid
Computer Science and Engineering University of California, Riverside Riverside, California, USA - Also with zyBooks
Ashley Pang
Computer Science and Engineering University of California, Riverside Riverside, California, USA
Kelly Downey
Computer Science and Engineering University of California, Riverside Riverside, California, USA
Lizbeth Areizaga
Computer Science and Engineering University of California, Riverside Riverside, California, USA
Coral was introduced several years ago to ease the learning in college-level introductory programming courses. Coral consists of a simple textual code language and corresponding flowchart language and a free web-based educational simulator. Previous researchers described the benefits of Coral in CS0 courses and the first weeks of CS1 courses. We previously used Coral in CS1 and enjoyed the teaching experience, due to: the simple intuitive syntax, the simulator’s auto-creation of a flowchart from code, and the simulator’s visualization of code and flowchart program execution. However, we wanted to ensure we weren’t hurting students with the transition from Coral to C++. This paper describes our experiences of teaching Coral in a ~100-student CS1 section for weeks 1-3 versus two other sections that taught C++ only. We performed analyses to answer three research questions: (1) Do students learn Coral more easily than C++? (2) Do students easily transition from Coral to C++? and (3) Do Coral-treated students do equally well on later C++ programs? We analyzed performance on auto-graded code-writing problems in zyBooks. We did not find support for (1), but did find support for (2) and (3), with Coral-treated students easily switching to C++ and performing equally well on later C++ programs. We conclude that CS1 instructors who enjoy the early-weeks teaching benefits of Coral can do so confidently knowing that students will perform equally well later in the course.