TY - GEN
T1 - New web-based learning content for core programming concepts using Coral
AU - Vahid, Frank
AU - Edgcomb, Alex
AU - Lysecky, Roman
AU - Rajasekhar, Yamuna
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/10
Y1 - 2019/10
N2 - This innovative practice full paper presents new learning content, developed natively for the web, that teaches core programming concepts using interactive activities, such as animations, learning questions, and interactive tools, in addition to text and figures. The core programming concepts are topics typically covered in CS1 (and often in CS0), including input/output, variables, branching, loops, arrays, and functions. Usually, programming is introduced with an industry language, such as Java or Python, which were developed for professionals, not for students. Sometimes, programming is introduced visually, such as Scratch or Alice, but many instructors want a more serious feel for college students, writing textual code. Our content teaches programming using an ultra-simple language, Coral, designed specifically to teach core concepts. The content presents a Coral program as code or a flowchart that closely resembles the code's structure. Each chapter starts by introducing the programming concept visually with flowchart examples, so students develop a strong ability to read a program and understand how the program executes. Later in the chapter, the content introduces the corresponding textual code. The student then writes code to solve homework problems. Such incremental learning (first master program reading, then master program writing) is a key feature. Another key feature is a strong emphasis on visualization and intuition: The content uses animations that show Coral programs being executed line-by-line, along with variables shown in memory, including variable value updates from assignments. Further, the content has an online educational simulator where a student or instructor can write and execute Coral code. This paper includes early student usage data, such as amount of time spent to complete learning and homework, that shows students can quickly learn programming concepts. Some surveyed students commented on liking the incremental practice.
AB - This innovative practice full paper presents new learning content, developed natively for the web, that teaches core programming concepts using interactive activities, such as animations, learning questions, and interactive tools, in addition to text and figures. The core programming concepts are topics typically covered in CS1 (and often in CS0), including input/output, variables, branching, loops, arrays, and functions. Usually, programming is introduced with an industry language, such as Java or Python, which were developed for professionals, not for students. Sometimes, programming is introduced visually, such as Scratch or Alice, but many instructors want a more serious feel for college students, writing textual code. Our content teaches programming using an ultra-simple language, Coral, designed specifically to teach core concepts. The content presents a Coral program as code or a flowchart that closely resembles the code's structure. Each chapter starts by introducing the programming concept visually with flowchart examples, so students develop a strong ability to read a program and understand how the program executes. Later in the chapter, the content introduces the corresponding textual code. The student then writes code to solve homework problems. Such incremental learning (first master program reading, then master program writing) is a key feature. Another key feature is a strong emphasis on visualization and intuition: The content uses animations that show Coral programs being executed line-by-line, along with variables shown in memory, including variable value updates from assignments. Further, the content has an online educational simulator where a student or instructor can write and execute Coral code. This paper includes early student usage data, such as amount of time spent to complete learning and homework, that shows students can quickly learn programming concepts. Some surveyed students commented on liking the incremental practice.
KW - CS0
KW - CS1
KW - Coral
KW - animations
KW - coding
KW - interactive
KW - programming
UR - http://www.scopus.com/inward/record.url?scp=85082442633&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85082442633&partnerID=8YFLogxK
U2 - 10.1109/FIE43999.2019.9028529
DO - 10.1109/FIE43999.2019.9028529
M3 - Conference contribution
AN - SCOPUS:85082442633
T3 - Proceedings - Frontiers in Education Conference, FIE
BT - 2019 IEEE Frontiers in Education Conference, FIE 2019
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 49th IEEE Frontiers in Education Conference, FIE 2019
Y2 - 16 October 2019 through 19 October 2019
ER -