skip to main content

Title: Learning Loops: A Replication Study Illuminates Impact of HS Courses
A recent study about the effectiveness of subgoal labeling in an introductory computer science programming course both supported previous research and produced some puzzling results. In this study, we replicate the experiment with a different student population to determine if the results are repeatable. We also gave the experimental task to students in a follow-on course to explore if they had indeed mastered the programming concept. We found that the previous puzzling results were repeated. In addition, for the novice programmers, we found a statistically significant difference in performance based on whether the student had previous programming courses in high school. However, this performance difference disappears in a follow-on course after all students have taken an introductory computer science programming course. The results of this study have implications for how quickly students are evaluated for mastery of knowledge and how we group students in introductory programming courses.  more » « less
Award ID(s):
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
Proceedings of the twelfth annual International Conference on International Computing Education Research (ICER '16)
Page Range / eLocation ID:
221 to 230
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Computational thinking (CT) involves breaking a problem into smaller components and solving it using algorithmic thinking and abstraction. CT is no longer exclusively for computer scientists but for everyone. While CT does not necessarily require programming, learning programming to enhance CT skills at a young age can help shape the next generation of children with knowledge that can help them succeed in our technological world. In order to produce teachers who are able to incorporate programming and CT into their future classrooms, we created an introductory Computer Science course (CS0) targeting future K-8 STEM teachers yet open to any student to enroll and learn computer science. We used a mixed-methods approach, examining both quantitative and qualitative data based on self-reported surveys, classroom artifacts, and focus groups from four semesters of data. We found that after taking the course, students’ self-efficacy in CT increased and while education students initially had lower confidence in their computing abilities than computer science students in the course, by the end of the semester there were no differences in their perceived and actual coding abilities when compared with computer science students. Furthermore, education students had many ideas on how to incorporate similar projects into their own future classrooms. 
    more » « less
  2. null (Ed.)
    As open-access institutions serving diverse student populations, community colleges are perfect settings for broadening participation in computing efforts in higher education. The very nature of open access, however, places students with a wide variety of previous experience in the same introductory computer science classroom, intimidating the students with little programming exposure, many of whom are traditionally underrepresented in computer science. This paper reports on a pre-semester, intensive program designed to increase the computer science confidence and motivation of students with no previous programming exposure implemented at a community college in California. Framed using social cognitive career theory, results from the accompanying research project indicate preliminary success; we found the program to be well received by the majority of students, who had increased self-efficacy and interest in computer science. Implications for practice and research are discussed. 
    more » « less
  3. The instructional practices used in introductory college courses often differ dramatically from those used in high school courses, and dissatisfaction with these practices is cited by students as a prominent reason for leaving science, technology, engineering, and mathematics (STEM) majors. To better characterize the transition to college course work, we investigated the extent to which incoming expectations of course activities differ based on student demographic characteristics, as well as how these expectations align with what students will experience. We surveyed more than 1500 undergraduate students in large introductory STEM courses at three research-intensive institutions during the first week of classes about their expectations regarding how class time would be spent in their courses. We found that first-generation and first-semester students predict less lecture than their peers and that class size had the largest effect on student predictions. We also collected classroom observation data from the courses and found that students generally underpredicted the amount of lecture observed in class. This misalignment between student predictions and experiences, especially for first-generation and first-semester college students and students enrolled in large- and medium-size classes, has implications for instructors and universities as they design curricula for introductory STEM courses with explicit retention goals. 
    more » « less
  4. There have been many calls recently for computing for all across the nation. While there are many opportunities to study and use computing to advance the fields of computer science, software development, and information technology, computing is also needed in a wide range of other disciplines, including engineering. Most engineering programs require students take a course that teaches them introductory programming, which covers many of the same topics as an introductory course for computing majors (and at times may be the same course). However, statistics about the success of a course that is an introductory programming course are sobering; approximately half the students will fail, forcing them to either repeat the course or leave their chosen field of study if passing the course is required. This NSF IUSE project incorporates instructional techniques identified through educational psychology research as effective ways to improve student learning and retention in introductory programming. The research team has developed worked examples of problems that incorporate subgoal labels, which are explanations that describe the function of steps in the problem solution to the learner and highlight the problem-solving process. Using subgoal labels within worked examples, which has been effective in other STEM fields, students are able to see an expert's problem solving process, which helps students learn to solving problems before they can solve problem themselves. Experts, including instructors, teaching introductory level courses are often unable to explain the process they use in problem solving at a level that learners can grasp because they have automated much of the problem-solving processes after many years of practice. This submission will present the results of the first part of development of subgoals and will explain how to integrate them into classroom lessons in introductory computing classes. 
    more » « less
  5. null (Ed.)
    Student experiences in large undergraduate Computer Science courses are increasingly impacted by automated systems. Bots, or agents of software automation, are useful for efficiently grading and generating feedback. Current efforts at automation in CS education focus on supporting instructional tasks, but do not address student struggles due to poor behaviors, such as procrastination. In this paper, we explore using bots to improve the software engineering behaviors of students using developer recommendation choice architectures, a framework incorporating behavioral science concepts in recommendations to improve the actions of programmers. We implemented this framework in class-bot, a novel system designed to nudge students to make better choices while working on programming assignments. This work presents a preliminary evaluation integrating this tool in an introductory programming course. Our results show that class-bot is beneficial for improving student development behaviors increasing code quality and productivity. 
    more » « less