A Code-Driven Exploration of Key C Language Concepts in a CS1 Class

David Kerschbaumer*, Alexander Steinmaurer, Christian Gütl

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference paperpeer-review

Abstract

In computer science education, various teaching and learning methods exist to teach novice students programming. However, students' source code primarily serves as the basis for grading. Usually, it is not considered to identify key concepts and skills required to complete the course and understand the student's learning process. This paper presents a system that automatically analyzes source code and identifies the most relevant concepts for first-semester students to pass a university-level programming course. This system uses different tools to detect errors and vulnerabilities, calculate metrics, and generate 55 code-related features from the students' source codes. The source code submissions of 1,346 students in two cohorts have been considered. Further, an expert study evaluated which of those features can be assigned to concrete programming concepts and how relevant these concepts are for programming education. Furthermore, we used machine learning methods to analyze the most challenging concepts, where students tend to produce the highest number of errors during their learning process. Our findings indicate that understanding and applying dynamic memory significantly impacts the students' course success. This study provides empirical evidence of the most important programming concepts in C within the CS1 course. Educators can use these results to optimize teaching materials and increase assistance for challenging and crucial concepts, which might reduce the student dropout rate. Our approach further shows how a code-driven approach can be used to analyze a university-level programming course and get insights into its academic success.
Original languageEnglish
Title of host publicationSmart Mobile Communication & Artificial Intelligence
Subtitle of host publicationProceedings of the 15th IMCL Conference – Volume 1
PublisherSpringer
Pages 397–408
Number of pages13
DOIs
Publication statusPublished - 2023
Event15th IMCL Conference - Thessaloniki, Greece
Duration: 9 Nov 202310 Nov 2023

Publication series

NameLecture Notes in Networks and Systems
Volume936

Conference

Conference15th IMCL Conference
Country/TerritoryGreece
CityThessaloniki
Period9/11/2310/11/23

Fingerprint

Dive into the research topics of 'A Code-Driven Exploration of Key C Language Concepts in a CS1 Class'. Together they form a unique fingerprint.

Cite this