Catalogs of C and Python Antipatterns by CS1 Students

04/02/2021
by   Yorah Bosse, et al.
0

Understanding students' programming misconceptions is critical. Doing so depends on identifying the reasons why students make errors when learning a new programming language. Knowing the misconceptions can help students to improve their reflection about their mistakes and also help instructors to design better teaching strategies. In this technical report, we propose catalogs of antipatterns for two programming languages: C and Python. To accomplish this, we analyzed the codes of 166 CS1 engineering students when they were coding solutions to programming exercises. In our results, we catalog 41 CS1 antipatterns from 95 cataloged misconceptions in C and Python. These antipatterns were separated into three catalogs: C, Python, and antipatterns found in code using both programming languages. For each antipattern, we present code examples, students' solutions (if they are present), a possible solution to avoid the antipattern, among other information.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

04/14/2019

From Theory to Systems: A Grounded Approach to Programming Language Education

I present a new approach to teaching a graduate-level programming langua...
06/27/2019

Investigating Compilation Errors of Students Learning Haskell

While functional programming is an efficient way to express complex soft...
08/27/2018

It's Like Python But: Towards Supporting Transfer of Programming Language Knowledge

Expertise in programming traditionally assumes a binary novice-expert di...
12/06/2021

Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments

In software engineering, it is not enough to simply write code that only...
03/01/2021

PHIDL: Python CAD layout and geometry creation for nanolithography

Computer-aided design (CAD) has become a critical element in the creatio...
03/30/2022

Error Identification Strategies for Python Jupyter Notebooks

Computational notebooks – such as Jupyter or Colab – combine text and da...
05/19/2011

A Multiple-Choice Test Recognition System based on the Gamera Framework

This article describes JECT-OMR, a system that analyzes digital images r...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.