Please use this identifier to cite or link to this item:

Code Complexity in Introductory Programming Courses

File Size Format  
0764.pdf 465.72 kB Adobe PDF View/Open

Item Summary

Title:Code Complexity in Introductory Programming Courses
Authors:Ihantola, Petri
Petersen, Andrew
Keywords:Methods and Models
Software Engineering Education and Training
complexity measures, computer science educatio, CS1, curriculum, programming
Date Issued:08 Jan 2019
Abstract:Instructors of introductory programming courses would benefit from having a metric for evaluating the sophistication of student code. Since introductory programming courses pack a wide spectrum of topics in a short timeframe, student code changes quickly, raising questions of whether existing software complexity metrics effectively reflect student growth as reflected in their code. We investigate code produced by over 800 students in two different Python-based CS1 courses to determine if frequently used code quality and complexity metrics (e.g., cyclomatic and Halstead complexities) or metrics based on length and syntactic complexity are more effective as a heuristic for gauging students' progress through a course. We conclude that the traditional metrics do not correlate well with time passed in the course. In contrast, metrics based on syntactic complexity and solution size correlate strongly with time in the course, suggesting that they may be more appropriate for evaluating how student code evolves in a course context.
Pages/Duration:9 pages
Rights:Attribution-NonCommercial-NoDerivatives 4.0 International
Appears in Collections: Methods and Models

Please email if you need this content in ADA-compliant format.

This item is licensed under a Creative Commons License Creative Commons