MyProgrammingLab educator study measures coding assignment grades and exam grades at Moraine Valley Community College
- Data for this course show a very strong positive correlation between average MyProgrammingLab homework grades and average lab assignment grades.
- Students earning an A, B, or C grade on lab assignments had average MyProgrammingLab scores 14 percentage points higher than students who earned a D or F as their lab assignment grade.
- Students exhibiting mastery of course content by earning an A, B, or C average exam grade had average MyProgrammingLab scores 10 percentage points higher than students who earned a D or F as their average exam grade.
Moraine Valley Community College, Palos Hills, IL
Introduction to Computer Science
MyProgrammingLab®; Starting Out with C++:Early Objects, by Gaddis, Walters and Muganda
Larry Langellier, Professor
- Locale: two-year, urban, public institution located in the southwest suburbs of Chicago, second largest community college in the state
- Enrollment: approximately 17,000 students
- Full-time: 43 percent
- Average class size: 21
- Financial aid, entering students: 39 percent
- Occupation status: 85 percent work while in attendance
- Average age: 25
- Ethnicity/race: 47 percent minority, 23 percent Hispanic
About the Course
Professor Larry Langellier has been teaching full-time for 16 years at Moraine Valley where he has been teaching the Introduction to Computer Science course for five years. Introduction to Computer Science is a one-semester, three-credit course enrolling approximately 300 students per year, both online and in a hybrid, face-to-face setting. It is a required course for computer science majors and is an elective for engineering students, which comprise about 80 percent of the course. The course is designed as an introduction to problem-solving, structured logic and programming, and concepts of an algorithm and its implementation as a program. Topics include basic program construction, simple data types, expressions and statements, input/output, decisions, loops, functions, arrays, style and debugging. C++will be used to write programs based on functional decomposition, structured programming, and basic Object-Oriented design concepts.
Challenges and Goals
Learning to program is challenging—students have to master the syntax and learn how to do the algorithm at the same time. Langellier spent much of his time in lab working with students, helping them individually with their programming concerns, only to have students leave the lab without any resources available to them while completing assignments on their own later. Criteria used to evaluate lab assignments include style, structure, and accuracy—all things students were struggling with as they worked on their own. Langellier’s students needed help outside the classroom which he was not able to provide for them.
With MyProgrammingLab, students gain first-hand programming experience in an interactive environment while being provided with two types of immediate personalized feedback—compiler feedback and plain English interpretations of possible error causes. This is exactly what Langellier felt his students needed in order to master issues of syntax on their own, knowing this would free him up to spend more time in lecture/lab on actual programming algorithms. Langellier adopted MyProgrammingLab for his fall 2013 classes.
MyProgrammingLab is required and the program is used by students at home on a personal computer. Students use MyProgrammingLab for practice, homework assignments, and to assess their own understanding and progress. Langellier’s principal goal for assigning work in MyProgrammingLab is to give students an avenue to practice the tedious work involved in learning proper syntax when writing programs allowing him to focus on actual problem-solving and programming in lab. As the course instructor, Langellier’s role is to assign content and homework in MyProgrammingLab, introduce new concepts through lecture, and provide support in a lab setting as students work on coding and programming assignments.
To be successful in this course, Langellier expects his students to spend a minimum of 3–4 hours of study time for every contact hour. This includes time spent reading the text, viewing lecture videos, completing assignments, reviewing notes, completing projects, studying for tests, and completing MyProgrammingLab homework assignments.
Students are encouraged to watch pre-recorded video-note tutorial lectures in MyProgrammingLab before attending class. Langellier reports that his students really like the flexibility of being able to watch the lectures when it’s convenient for them, because it frees up face-to-face classroom time for problem-solving. Lecture is a flipped classroom/open lab format that functions much like a lab recitation. Initially, new content is covered as lecture if needed, but the majority of the face-to-face time is spent with students working on MyProgrammingLab homework assignments or the more challenging lab assignments. Lab assignments differ from MyProgrammingLab homework in that they are longer, more complex programming problems. When a student requires instructor support, they sign their name on the board to identify their need for a one-on-one mentoring consultation during class. Langellier or a teaching assistant will then spend 5–10 minutes assisting the student with their particular problem area. This format also leads to peer-to-peer work, with students both teaching and learning from one another.
Langellier recommends his students begin their homework by attempting the MyProgrammingLab assignment before reading the textbook. Once they try to learn the coding and syntax by working through the assignment, the textbook provides a good ‘how to’ follow-up for confirmation or further clarification of the topic. Programming is a hands-on activity, students can’t learn simply by reading a book; it is intended to give them the necessary practice to be successful. Most assignments consist of 50–100 small coding problems, and students have unlimited attempts at completion. Langellier offers unlimited attempts so that his students can learn the correct process from the mistakes they are making, anticipating that this will help them with the longer, more challenging lab assignments. On a fall 2015 voluntary, end-of-semester survey of Langellier’s students (100 percent response rate), one student offered his thoughts on the usefulness of unlimited attempts for homework, “Each question in MyProgrammingLab was like a puzzle that you had to figure out. The unlimited attempts made you feel safe as you practiced.”
MyProgrammingLab assignments have firm due dates and Langellier expects students will spend 2–3 hours completing each weekly MyProgrammingLab assignment. On the end of semester survey, 43 percent of students said they spent 2–3 hours per week working in MyProgrammingLab, and another 17 percent said they spent three or more hours per week working in the program.
In addition to MyProgrammingLab homework, students are given 4–6 lab assignments per week. Lab assignments differ from MyProgrammingLab assignments in that they are 10–20 line coding projects which are longer in length and more complex than the work in MyProgrammingLab. These assignments allow students to put the syntax work they have been doing in MyProgrammingLab into action. These projects should take students about ten hours to complete each week. A student on the end-of-semester survey said, “MyProgrammingLab helped guide me in the right direction if I wasn’t inputting the code correctly or had logical errors.” This is exactly what Langellier hoped students would garner from the online homework, to help them avoid making those logic errors on the more summative lab assignments (which comprise 40 percent of their final grade).
Exams comprise 10–20 line coding projects and the final exam is comprehensive, consisting of 30 lines of coding. Students have just one attempt and 90 minutes for completion for all exams.
- 40% Lab programming assignments
- 20% MyProgrammingLab homework
- 20% Exams (two)
- 20% Final exam
Results and Data
Figures 1 and 2 are correlation graphs; correlations do not imply causation but instead measure the strength of a relationship between two variables, where r is the correlation coefficient. The closer the r value is to 1.0, the stronger the correlation. The corresponding p-value measures the statistical significance/strength of this evidence (the correlation), where a p-value <.01 shows the existence of a positive correlation between these two variables.
- A very strong positive correlation exists between average MyProgrammingLab homework grades and the average lab assignment grade, where r=.70 and p<.01.
- A very strong positive correlation exists between average MyProgrammingLab homework grades and the final course grade, where r=.77 and p<.01. It should be noted that MyProgrammingLab homework grades are 20 percent of the final course grade, influencing this relationship.
For students, the formative MyProgrammingLab homework is intended to help them identify where they are in terms of successfully completing the summative lab assignments. It appears that performance on the MyProgrammingLab homework could be an indicator of course success (additional research is needed to develop and test this concept further). As a best practice, MyProgrammingLab homework is intended to help Langellier identify students who are struggling early on and might be in need of intervention. Langellier often looks at the number of attempts his students take on MyProgrammingLab assignments to help him diagnose the content students are struggling with most; he is then able to address the topic at the next class before students move on to new material.
An assessment of average MyProgrammingLab homework grades and lab assignment grades shows that students who earned higher average MyProgrammingLab grades also earned higher average lab assignment grades (Figure 3). Similarly, Figure 4 shows the relationship between average MyProgrammingLab homework grades and average exam scores:
- Average lab assignment grade: 79 percent
- Average exam grade: 91 percent
- Average MyProgrammingLab grade: 93 percent
- Students earning an A average on lab assignments scored an average of 98 percent on MyProgrammingLab homework.
- Students earning an A average on exams scored an average of 96 percent on MyProgrammingLab homework.
Correlation between average MyProgrammingLab homework grade and average lab assignment grade
Figure 1. Correlation Between Average MyProgrammingLab Homework Grade and Average Lab Assignment Grade, Fall 2015 (n=42)
Correlation between average MyProgrammingLab homework grade and final course grade
Figure 2. Correlation Between Average MyProgrammingLab Homework Grade and Final Course Grade, Fall 2015 (n=42)
Grade distribution of average MyProgrammingLab homework score and average lab assignment grades
Figure 3. Grade Distribution of Average MyProgrammingLab Homework Score and Average Lab Assignment Letter Grades, Fall 2015 (n=42
Grade distribution of average MyProgrammingLab homework score and average exam grades
Figure 4. Grade Distribution of Average MyProgrammingLab Homework Score and Average Exam Letter Grades, Fall 2015 (n=42)
The Student Experience
Responses from a fall 2015 end-of-semester, voluntary survey of Langellier’s students (100 percent response rate) indicate that the majority of responding students recognize the value of MyProgrammingLab:
- 91 percent of students agree or strongly agree that the use of MyProgrammingLab positively impacted their quiz scores.
- 88 percent of students agree or strongly agree that MyProgrammingLab provided additional resources that helped them learn more than they would have from more traditional pencil-and-paper homework.
- 93 percent of students agree or strongly agree that their understanding of the course material increased as a result of using MyProgrammingLab.
- 88 percent of students agree or strongly agree that they would recommend MyProgrammingLab to another student taking this course.
Student survey responses to the question, “What did you like most about MyProgrammingLab?” include:
- “There could be different answers for the same question. There are multiple ways of solving each problem and that is taken care of.”
- “Interactive Learning Immediate feedback Small scale problems that build upon one another.”
- “It provides instant feedback, so you don’t keep making the same mistakes all the way through an assignment. The suggestions after making mistakes was incredibly helpful as well.”
- “The additional video explanations for different topics, because it adds versatility in the teaching/learning process.”
- “What I liked best is that I was given consistent examples on how certain programming functions work and how I can use those different versions to get my programming end result. For me it helped immensely because it allowed to see the material in many different forms and helped me navigate through the lecture and book.”
- “I liked that it broke down the topics. It looked at smaller aspects of the program then put them all together by the end. It helped me better understand the material so I didn’t feel overwhelmed in the beginning.”
- “I like how MyProgrammingLab helped me remember the things I read in the book. Also I like the challenging problems there, because I am improving my thinking that way.”
MyProgrammingLab enabled Langellier to provide his students with the opportunity to practice coding on their own, outside of the lab—something he knew was important for them in order to improve their skills. “MyProgrammingLab provides a great scaffolding effect for students as they learn to code,” says Langellier, “it is the perfect intermediate point between lab/lecture and the more complex programming problems my students do for lab assignments.” He has concluded that his students are more efficient and successful while completing their lab assignments because of the work they do in MyProgrammingLab, especially in regards to syntax errors. Data in Figure 1 corroborates this, as it indicates a very strong correlation between these two types of assignments. Additionally, Langellier has noted that students are less likely to attend his office hours now that he is using MyProgrammingLab. Most students who came to him previously required syntax assistance, and Langellier now believes that MyProgrammingLab is successfully supplying that so students are working more autonomously and are less inclined to seek out his help.