This paper revisits two emerging active learning practices in introductory programming courses and proposes ways they can be further improved. We first focus on a category of assignments which can further support the ...
详细信息
ISBN:
(纸本)9781934272114
This paper revisits two emerging active learning practices in introductory programming courses and proposes ways they can be further improved. We first focus on a category of assignments which can further support the switch from instructor-led to student-led live coding practices, thus helping develop the former into a real active learning pedagogy. Then, we propose to leverage test-driven development techniques through assignments meant to engage students in competitive learning without the drawbacks usually associated with this type of programming competition framework. The new activities have been tested in courses taught at the University of South Florida and observations of their impact are discussed with respect to constructive alignment theory, constructivist educational approaches, discovery learning and pair programming / test-driven techniques.
This poster describes an effort to create a different initial course sequence for computing degrees. This effort, the EntryPoint project, focuses primarily on the first two years of the undergraduate program. An inten...
详细信息
ISBN:
(纸本)9781605583815
This poster describes an effort to create a different initial course sequence for computing degrees. This effort, the EntryPoint project, focuses primarily on the first two years of the undergraduate program. An intention of the project is to retain programming learning objectives, but move away from the traditional programming-focused introductory sequence. A three dimensional model, CAP (content, application, and process), is used to organize the discussion of introductorycourses.
Traditionally, students learn about software testing during intermediate or advanced computing courses. However, it is widely advocated that testing should be addressed beginning in introductory programming courses. I...
详细信息
ISBN:
(纸本)9781450358903
Traditionally, students learn about software testing during intermediate or advanced computing courses. However, it is widely advocated that testing should be addressed beginning in introductory programming courses. In this context, testing practices can help students think more critically while working on programming assignments. At the same time, students can develop testing skills throughout the computing curriculum. Considering this scenario, we conducted a systematic mapping of the literature about software testing in introductory programming courses, resulting in 293 selected papers. We mapped the papers to categories with respect to their investigated topic (curriculum, teaching methods, programming assignments, programming process, tools, program/test quality, concept understanding, and students' perceptions and behaviors) and evaluation method (literature review, exploratory study, descriptive/persuasive study, survey, qualitative study, experimental and experience report). We also identified the benefits and drawbacks of this teaching approach, as pointed out in the selected papers. The goal is to provide an overview of research performed in the area, highlighting gaps that should be further investigated.
In introductory programming courses, students as novice programmers would benefit from doing frequent practices set at a difficulty level and concept suitable for their skills and knowledge. However, setting many good...
详细信息
ISBN:
(纸本)9786269689019
In introductory programming courses, students as novice programmers would benefit from doing frequent practices set at a difficulty level and concept suitable for their skills and knowledge. However, setting many good programming exercises for individual learners is very time-consuming for instructors. In this work, we propose an automated exercise generation system, named ExGen, which leverages recent advances in pre-trained large language models (LLMs) to automatically create customized and ready-to-use programming exercises for individual students on-demand. The system integrates seamlessly with Visual Studio Code, a popular development environment for computing students and software engineers. ExGen effectively does the following: 1) maintaining a set of seed exercises in a personalized database stored locally for each student;2) constructing appropriate prompts from the seed exercises to be sent to a cloud-based LLM deployment for generating candidate exercises;and 3) implementing a novel combination of filtering checks to automatically select only ready-to-use exercises for a student to work on. Extensive evaluation using more than 600 Python exercises demonstrates the effectiveness of ExGen in generating customized, ready-to-use programming exercises for new computing students.
programming is the core of computer science and due to this momentousness a special care is taken in designing the curriculum of programmingcourses. A substantial work has been conducted on the definition of programm...
详细信息
programming is the core of computer science and due to this momentousness a special care is taken in designing the curriculum of programmingcourses. A substantial work has been conducted on the definition of programmingcourses, yet the introductory programming courses are still facing high attrition, low retention and lack of motivation. This paper introduced a tiny pre-programming language called LPL (Learners programming Language) as a ZPL (Zeroth programming Language) to illuminate novice students about elementary concepts of introductoryprogramming before introducing the first imperative programming course. The overall objective and design philosophy of LPL is based on a hypothesis that the soft introduction of a simple and paradigm specific textual programming can increase the motivation level of novice students and reduce the congenital complexities and hardness of the first programming course and eventually improve the retention rate and may be fruitful in reducing the dropout/failure level. LPL also generates the equivalent high level programs from user source program and eventually very fruitful in understanding the syntax of introductoryprogramming languages. To overcome the inherent complexities of unusual and rigid syntax of introductoryprogramming languages, the LPL provide elementary programming concepts in the form of algorithmic and plain natural language based computational statements. The initial results obtained after the introduction of LPL are very encouraging in motivating novice students and improving the retention rate.
Teaching students to construct correct statements in programming languages is an important part of introductory programming courses. While modern development environments highlight syntax errors, they do not stimulate...
详细信息
ISBN:
(纸本)9781450383974
Teaching students to construct correct statements in programming languages is an important part of introductory programming courses. While modern development environments highlight syntax errors, they do not stimulate thinking in grammatical terms to help the student understand and memorize syntax rules. To facilitate learning syntax, we developed CorrectWriting, a question-type plug-in for the popular LMS Moodle. It finds mistakes in token order and composition and detects typos, including missing and extraneous separators. Mistake messages use teacher-supplied token descriptions to show the grammatical role of each wrong token. Hints are provided about students' mistakes. CorrectWriting questions are actively used by the students of Volgograd State Technical University to prepare for classwork.
Developing an understanding of control structures is one of the important tasks in introductory programming courses. To facilitate active learning with immediate feedback, we developed a constraint-based tutor, "...
详细信息
ISBN:
(纸本)9781450383974
Developing an understanding of control structures is one of the important tasks in introductory programming courses. To facilitate active learning with immediate feedback, we developed a constraint-based tutor, "How it Works: Algorithms," that asks students to build an execution trace of the given algorithm and provides explanatory feedback about the mistakes the student made. The reasons for the student's faults are determined by an inference engine, using a set of rules describing the subject domain. Teachers can create exercises using a simple visual block-based interface and sending them to students as permanent links.
Old teaching methods mechanisms are no longer beneficial to the students. In traditional instructional methodology, where the lecture classes are perceived to be tedious by students, the gamification technology has a ...
详细信息
ISBN:
(数字)9783319769080
ISBN:
(纸本)9783319769080;9783319769073
Old teaching methods mechanisms are no longer beneficial to the students. In traditional instructional methodology, where the lecture classes are perceived to be tedious by students, the gamification technology has a great advantage to solve the problem as it can improve learning motivation of students. Various studies have shown that gamification under appropriate conditions may create an environment conducive to learning and lead to large increases in students' interest in programming. ClassCraft is a game that it can be used in the classroom to help students to have fun, promote teamwork, and become better learners. In this paper, we present a pilot teaching intervention. The results showed that the general students' performance has not been affected positively. On the other hand, their engagement has been affected positively.
Acquiring and developing programming knowledge is a highly complex process. It involves a variety of cognitive activities and mental depictions. Hence, programmingcourses are generally regarded as difficult, and ofte...
详细信息
ISBN:
(纸本)9781424419692
Acquiring and developing programming knowledge is a highly complex process. It involves a variety of cognitive activities and mental depictions. Hence, programmingcourses are generally regarded as difficult, and often have the highest dropout taxes. Such problem is especially significant in introductory programming courses: novice programmers need to apply the programming concepts continuously to understand them. Besides, beginner students often fail to recognize their own deficiencies and oversights. In this context, early assessment and continuous feedback are essential activities to correct mistakes and confusions. The purpose of this paper is to present our experience in teaching introductory programming courses as a case study. The course design is based on a specific assessment tool for introductoryprogramming exercises. The tool aims at improving the assessment activity, facilitating its management and automating the communication flow in order to reduce the assessment process time-span. The final goal of our work is to increase feedback and improve the rectification of errors and misunderstandings from learners. The paper includes both the description of our assessment tool and the evaluation of its features.
The purpose of this study is to explore the influence of the microlearning instructional approach in an online introductory database programming classroom. The ultimate goal of this study is to inform educators and in...
详细信息
The purpose of this study is to explore the influence of the microlearning instructional approach in an online introductory database programming classroom. The ultimate goal of this study is to inform educators and instructional designers on the design and development of microlearning content that maximizes student learning. Grounded within the frameworks of cognitive theories of learning-Cognitive load theory, Cognitive theory of multimedia learning, and Cognitive, affective theory of learning with media, this exploratory case study collected student assessment data from ten-course topic quizzes and exam scores in midterm and final exams. Additionally, the students' and the course instructor's perceptions while experiencing the microlearning instructional approach were collected and analyzed. As a result, the students scored significantly higher in the course topic quizzes under microlearning instruction compared to the video lectures condition. The students experienced less cognitive load and were more motivated and engaged throughout the learning process under the microlearning instruction. The students also reported some challenges of microlearning instruction, including missing social aspects of learning, fragmented learning for some complex topics, and Canvas LMS platform issues. Overall, this inquiry suggests the potential of microlearning as an instructional approach for introductoryprogramming concepts. Some key implications of the findings are also addressed.
暂无评论