introductory programming course (CS1) generally includes students from different background freshman or sophomore (from STEM and non-STEM majors) who struggle at learning basic programming concepts. We have implemente...
详细信息
ISBN:
(纸本)9781728117461
introductory programming course (CS1) generally includes students from different background freshman or sophomore (from STEM and non-STEM majors) who struggle at learning basic programming concepts. We have implemented peer code review (PCR) in our CS1 courses and have found it to be useful pedagogical support. PCR, a quality assurance activity, requires reviewing code to find errors. PCR can help improve students' attendance and engagement in higher education. However, there is a lack of evidence on the usefulness of PCR at improving students' programming knowledge. The goal of this research is to gain insights on Guided (checklist) PCR and its impact on students' learning of programming concepts. To accomplish this goal, this research will research different aspects of theory of PCR and execute experiments to evaluate PCR usefulness in CS1 classrooms. Initial results on PCR shows that it is useful at helping students understand hard-to-comprehend programming concepts and at improving their programming skills. We also found that students become progressively better at discovering programming errors and their improved performance during the code review translates to the improvement in the quality of code produced.
Can automated adaptive feedback for correcting erroneous programs help novice programmers learn to code better? In a large-scale experiment, we compare student performance when tutored by human tutors, and when receiv...
详细信息
ISBN:
(纸本)9781450371247
Can automated adaptive feedback for correcting erroneous programs help novice programmers learn to code better? In a large-scale experiment, we compare student performance when tutored by human tutors, and when receiving automated adaptive feedback. The automated feedback was designed using one of two well-known instructional principles: (i) presenting the correct solution for the immediate problem, or (ii) presenting generated examples or analogies that guide towards the correct solution. We report empirical results from a large-scale (N = 480, 10,000+ person hour) experiment assessing the efficacy of these automated compilation-error feedback tools. Using the survival analysis on error rates of students measured over seven weeks, we found that automated feedback allows students to resolve errors in their code more efficiently than students receiving manual feedback. However, we also found that this advantage is primarily logistical and not conceptual;the performance benefit seen during lab assignments disappeared during exams wherein feedback of any kind was withdrawn. We further found that the performance advantage of automated feedback over human tutors increases with problem complexity, and that feedback via example and specific repair have distinct, non-overlapping relative advantages for different categories of programming errors. Our results offer a clear and granular delimitation of the pedagogical benefits of automated feedback in teaching programming to novices.
The C programming language is an important piece of many undergraduate CS programs, as it provides an environment for interacting directly with memory and exploring systems-programming concepts. However, while many co...
详细信息
ISBN:
(纸本)9781450334402
The C programming language is an important piece of many undergraduate CS programs, as it provides an environment for interacting directly with memory and exploring systems-programming concepts. However, while many common introductory languages have rich tools that support instruction, C has received relatively little attention [2, 1]. To provide students with rapid feedback and tools for understanding C, we have extended PCRS, a web-based platform for deploying programming exercises and content such as videos. Students submit C code to solve programming exercises and receive immediate feedback generated by running the submission against a set of instructor-defined testcases. Students also have access to graphical traces of execution, so they can explore how their code manipulates memory. The system has been deployed to two second-year systems-programming courses with a total enrollment over 600, and a set of modules, consisting of videos and exercises, is being developed for use by the community.
Comics as a pedagogical tool have shown promise in conveying ideas and increasing retention in STEM disciplines. Within the context of introductory programming courses, the visual, real-world analogies to programming ...
详细信息
ISBN:
(纸本)9781665438513
Comics as a pedagogical tool have shown promise in conveying ideas and increasing retention in STEM disciplines. Within the context of introductory programming courses, the visual, real-world analogies to programming problems that comics offer may allow engineering students to better grasp abstract algorithmic concepts that can be obscured by low-level programming language details. Creating comics also provides an opportunity for students to exercise metacognition, as they are asked to reflect on what they know and how to express it in a new way. Further work is needed, however, to develop comic assignments with rigorous rubric-based assessment. Our work in progress focuses on an intervention where students develop their own algorithmic comics and share them with peers. The design of the assignment and assessment rubric leverages prior work on using context-bounded analogy to teach programming concepts. Students will create a comic illustrating an algorithmic concept and then use it as a medium for further communication, responding to peer feedback in order to further refine their understanding. These communications, we hypothesize, will increase correctness of representations and scenarios in the comics through refinement and likewise, in their understanding of programming concepts. The rubric associated with the assignment will serve as a model for assessment of relevant criteria within comic-based student activities.
This work in progress research paper discusses importance of appropriate order of content delivery in an introductory programming course (CS1). A majority of students face problems when programming concepts are introd...
详细信息
ISBN:
(纸本)9781728117461
This work in progress research paper discusses importance of appropriate order of content delivery in an introductory programming course (CS1). A majority of students face problems when programming concepts are introduced to them in disorderly fashion, reducing their retention. It has been observed that the instructors use their intrinsic judgement to order course contents without considering effective student learning outcome. This traditional approach of teaching a course in an unstructured way leads to high failure and dropout rate in CS1 course. In this study, an association rule mining (ARM) based approach is being used to understand the order of information that students should be exposed to in CS1 courses. Our proposed approach follows an empirical research methodology and generates strong ARM rules. These rules can assist instructors to structure CS1 topics and reflect on required prerequisites for problematic topics to improve students' learning. Our initial results and observations yielded promising and logical inferences and uncovered few anomalies with traditional pedagogy during course offering.
In the computing education community, discussion is growing about the benefits of teaching programming by explicitly using notional machines to help students. To-date most work is largely theoretical and little work a...
详细信息
ISBN:
(纸本)9781450390705
In the computing education community, discussion is growing about the benefits of teaching programming by explicitly using notional machines to help students. To-date most work is largely theoretical and little work addresses actually using them in a classroom. This paper documents our experience of creating a notional machine for a specific course and using it in that classroom. A key point we learned while creating this notional machine is that many of the difficulties encountered were due to the concept of a notional machine being tightly coupled to students' mental models. Although not surprising, the numerous complications this brings are important to overcome. The potential amount of detail included in the notional machine is enormously influenced by the students' mental models, which are likely specific to a course, and also change throughout a semester - and certainly across several semesters. We present lessons learned from this experience, among them that implementing a notional machine and using it in class is a non-trivial yet possibly beneficial exercise.
In this article, we report an experiment where students in an introductory programming course were given the opportunity to view model solutions to programming assignments whenever they wished, without the need to com...
详细信息
ISBN:
(纸本)9781450363013
In this article, we report an experiment where students in an introductory programming course were given the opportunity to view model solutions to programming assignments whenever they wished, without the need to complete the assignments beforehand or to wait for the deadline to pass. Our experiment was motivated by the observation that some students may spend hours stuck with an assignment, leading to non-productive study time. At the same time, we considered the possibility of students using the sample solutions as worked examples, which could help students to improve the design of their own programs. Our experiment suggests that many of the students use the model solutions sensibly, indicating that they can control their own work. At the same time, a minority of students used the model solutions as a way to proceed in the course, leading to poor exam performance.
Mini-languages for teaching principles of programming - such as Karel the Robot - were once used in top computer science departments to provide a “gentle introduction” to programming for computer science majors. The...
详细信息
An alternative to the traditional classroom structure that has seen increased use in higher education is the flipped classroom. Flipping the classroom switches when assignments (e.g. homework) and knowledge transfer (...
详细信息
ISBN:
(纸本)9781467352611
An alternative to the traditional classroom structure that has seen increased use in higher education is the flipped classroom. Flipping the classroom switches when assignments (e.g. homework) and knowledge transfer (e.g. lecture) occur. Flipped classrooms are getting popular in secondary and post-secondary teaching institutions as evidenced by the marked increase in the study, use, and application of the flipped pedagogy as it applies to learning and retention. The majority of the courses that have undergone this change use applied learning strategies and include a significant "learning-by-doing" component. The research in this area is skewed towards such courses and in general there are many considerations that educators ought to account for if they were to move to this form of teaching. introductory courses in computer programming can appear to have all the elements needed to move to a flipped environment;however, initial observations from our research identify possible pitfalls with the assumption. In this work in progress the authors discuss early results and observations of implementing a flipped classroom to teach an introductory programming course (CS1) to engineering, engineering technology, and software engineering undergraduates.
暂无评论