2019
DOI: 10.24251/hicss.2019.924
|View full text |Cite
|
Sign up to set email alerts
|

Code Complexity in Introductory Programming Courses

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 q… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0
2

Year Published

2019
2019
2023
2023

Publication Types

Select...
6
3

Relationship

0
9

Authors

Journals

citations
Cited by 12 publications
(4 citation statements)
references
References 40 publications
0
2
0
2
Order By: Relevance
“…In [2], Petri Inhatola and Andrew Petersen investigate more than 800 student-produced software solutions to introductory python assignments in CS1level programming courses. Their aim was to ascertain if traditional complexity metrics (such as cyclomatic complexity) correlates with student learning outcomes.…”
Section: Minitrack Programmentioning
confidence: 99%
“…In [2], Petri Inhatola and Andrew Petersen investigate more than 800 student-produced software solutions to introductory python assignments in CS1level programming courses. Their aim was to ascertain if traditional complexity metrics (such as cyclomatic complexity) correlates with student learning outcomes.…”
Section: Minitrack Programmentioning
confidence: 99%
“…However, in CS1, even code that produces the desired outcome can exhibit undesirable characteristics that experienced programmers would typically avoid (De Ruvo et al, 2018;Soloway & Ehrlich, 1984). Examples of such characteristics include higher code complexity resulting from the redundant use of syntactic constructs, such as conditional statements or nested loops (Ihantola & Petersen, 2019;Silva et al, 2021;Ureel II & Wallace, 2019). The sole focus on code correctness may lead students to disregard other important code attributes, such as readability and maintainability, which are crucial for future programmers (De Ruvo et al, 2018;Keuning et al, 2019).…”
Section: Introductionmentioning
confidence: 99%
“…Essa utilização promove estudos que visam entender e auxiliar o ensino e a aprendizagem com base em características funcionais [3,6,26,28]. No entanto, em CS1, mesmo códigos corretos podem possuir características indesejáveis que programadores mais experientes não desenvolveriam [13], como, por exemplo, uma maior complexidade resultante da utilização redundante de construtos sintáticos (como demasiados desvios condicionais ou aninhamento de laços) [21,33,40]. Em especial, o foco na corretude pode estimular a não preocupação com fatores de legibilidade e manutenibilidade, essenciais para futuros programadores [13,23].…”
unclassified