Student Stuck-ness

Tejasvini Prasad

  

Project Summary

This project attempted to identify the areas where students struggle with programming assignments in a basic programming course and the way they solve the problems they run into.  In addition, students were encouraged to utilize resources that would be available to them outside of class when they needed help.

 

Course Context

The course where this research was carried out was Computer Science 1 ρ an introductory programming course which teaches object oriented programming using the Java programming language. The project was done in the Spring of 2005 when an off-semester section of the course was offered. The class size was small (11 students) of whom about 8 attended regularly. The class had 9 non-majors, 2 majors and one high school student. A beginning of term survey indicated that most of them were curious about the course content and expected to get an A or B in the course.

The class met twice a week for a 55 minute lecture and once a week for a 2 hour lab. In addition to the lecture and lab, students were required to complete online quizzes and assignments.

A supplemental instructor was assigned to the class. The supplemental instructor is a junior/senior student in the AMCS program who sits in on all classes and holds scheduled help sessions for students outside of class.

In previous offerings of the course, I had students come in for help on the assignments. I frequently observed that students came to me for a quick solution without even looking at the text or attempting to figure out the solution themselves.

 

Key Learning Activity

In every offering of the course, weekly, out of class programming assignments were handed to students. Assignments varied in length and complexity but always addressed a concept that had been taught in the last week.

The key learning activity was the weekly assignment described above. This was the place where students were forced to apply the theoretical and practical knowledge acquired in the past week to make a program work. Frequently, concepts that were lightly treated in class were practiced, forcing students to look up and use the text.

Once students finished an assignment, they had to answer a survey that was designed to pinpoint problem areas in their assignment. The survey was worth 1/5 of the grade on their assignment.

Part of the survey included a list of resources that students could use to get μunstuckξ when they hit a problem. Students were told that the list was ordered from most independent to least independent.

To make students independent, I introduced the concept of the CS1 FAQ where students posted solutions to problems that they ran into during lab/assignments. The idea was that once someone in class solved a problem everyone else could look up the solution by going to the FAQ.

Text Box: 1.      I got stuck at points when solving this problem. (True/False)
 
2.      Where did you get stuck?
a.      Didn't understand the problem.
Explain in brief why the problem didn't make sense to you (e.g. badly worded, too mathematical, etc.)
 
b.      Understood the problem in theory, but had trouble programming the solution.
         Please pick from the following options. FYI: An "old" concept is one which we have discussed and practiced in class. A "new" concept has been recently taught and is being explicitly practiced in this assignment. 
…  Didn't understand how to break up the problem.
…  Had trouble translating mathematical/logical knowledge into code
…  Got stuck on an old concept that was applied to this problem.
…  Didn't understand a new concept that was needed to solve this problem.
…  Understood the new concept needed for this problem, but had trouble integrating it with older ideas.
…  Other (Please explain in the next question).
                    If you answered "other", explain briefly.
 
 
3.      How did you get un-stuck??
          Pick as many of the following options as applied to you when solving this assignment. 
 
…  Student FAQ
…  Textbook/ class notes
…  Online java API 
…  google/web
…  Asked the SI
…  Asked the instructor
…  Asked a friend to explain the solution. 
…  Other           
                    If you answered "other", explain briefly.
 
 
Following is the questionnaire that students were given at the end of every assignment:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

At the end of the term, I had students answer a reflection piece. This was another survey which is shown below.

Text Box: Were you considering a career in Computer Science before you took this course?
Yes                        No      
 
Has this course influenced your view of Computer Science?
…  This course has increased my interest in CS.                    
…  This course has decreased my interest in CS.                             
…  This course has not affected me.       
 
Overall, did you enjoy the class?
Yes                        No      
  
On a scale of 1 to 5, how comfortable are you with the material taught in the course? (1 = very comfortable, 5 = not comfortable at all)
 
Do you feel your knowledge of programming has grown since the beginning of the term?
Yes                        No      
 
If you answered "yes" to the previous question, please explain how you feel your understanding of programming has grown as a result of taking the course.
 
If you answered "no", please explain why the course didn't work for you.
 
Think back on what you expected this course to be like when you signed up for it. Has it been everything you expected?
 
Please describe briefly how this course has exceeded/met/fallen short of your expectations.
 
What suggestions do you have for improving the course? Please include suggestions on teaching, course work, material, text book or anything else you can think of. All comments are welcome!

 

Key Findings

  1. The FAQ was updated as part of the assignment, but students did not refer to it to solve their problems. (I'm still not sure why this was the case - it seems like a fantastic idea!)
  2. There was no constant point at which students repeatedly got stuck. The problem areas depended on the assignment and frequently coincided with the areas that I wanted them to think about during the assignment. This led me to believe that the assignments were serving the function I intended them to.
  3. Encouraging students to seek help from resources other than the instructor worked. Students tried resources that were available to them outside of class before turning to the instructor for help. Below is the list of resources in order of the frequency with which they were used.

1

Textbook/classnotes

2

Other

3

Google/web

3

SI

4

Friend

5

Student FAQ

5

Online java API

5

Instructor


 

Interestingly, the comments from the category μotherξ indicated that students used resources outside of class, some of which may fall into one of the other categories. Following are the resources that students listed under "other".

Text Box: * I just searched through the code and folder and realized the Keyboard had no file extension. 
* A student in the class helped me out and showed me what I was doing wrong. 
* I immediately remembered what i did wrong in the lab. 
* My RA helped me out because he is in CS II 
* RA 
* I changed the order of my operations to prevent java from dropping my decimal points 
* Sister, who has taken this class, helped me with a few questions that I had. 
* randomly placed it in different spots until it compiled 
* I helped another student with the same problem, but when we were done trying things, his worked and mine still didn't. Then I noticed I was declaring my initial customerAccountNumber value in the wrong spot. 
* Got help from other CS students 
* I looked at the assignment 5 program. 
* I wasnt able to. Jgrasp had the error virtual memory is full. Shutdown immediately This happened everytime I worked with the file. Eventually my compter froze. Dont know if this mattered as I struggled with this assignment 
*  examined error message 
* Examined error message. 
* Asked my RA 
* Tried searching google for the problem, and tried solutions, but didn't work. Documentation is there, but couldn't get javadoc to create the HTML files.
 

 

 

 

 

 

 

 

 

 

 

 

 

Evidence of Student Learning

Summary report of the student reflection piece. (This was the survey they filled out at the end of the term)