Written Preliminary Examination (CSC 890) for Gabriel Silva de Oliveira
Title: A Survey of Student Challenges with Introductory Programming Courses
Date: Thursday, March 25, 2021
Time: 12 pm
Location: Remote exam, Zoom link:
Examination Committee:
Dr. Kemafor Ogan (Chair and Department Representative)
Dr. Collin Lynch (Advisor)
Dr. Thomas Price (Area Representative)
All the department's graduate faculty and students are invited.
* * *
Abstract: Although research has been inconsistent on how early learning challenges impact a student's career, there is a global agreement that programming can be hard to learn. Some research studies show that low levels of self-efficacy and self-evaluation in programming, combined with a fixed mindset, can lead students to believe they are “not good enough” for Computer Science. That belief can possibly cause students to give up on Computer Science careers. As reported by the National Center for Education Statistics, there are more job openings in Computer Science, in the United States, than qualified people to occupy those jobs. The papers presented in this literature review cover some of the challenges programming students face, such as lack of metacognitive skills, programming misconceptions, and compilation error messages. We also explore challenges not directly related to programming, like the student's native language. The first part of this literature review presents a model of a CS1 course, followed by a sample assignment which is used through the review to give examples of problems students could struggle with. We then present theoretical background on metacognitive skills and evaluative misalignment issues since, as explained in the review, those issues heavily impact the student's ability to learn programming. Following the theory background, we present the surveyed papers divided by topics. For each paper, we show a summary, perceived weakness and strengths, and also points that were not totally understood and/or that could have been included or better explained. Also, for each topic, we present a possible challenge students could face, and offer insight on how to help students avoid those challenges. This literature review is in no way exhaustive of all the related topics, but it can be helpful as a first step for those who want to learn about novice programmers' struggles. The goal of this literature review is to create a body of knowledge that instructors can use to support their students, and to offer students the perception that struggling is normal and it does not mean they are not good enough for the field.