English
Related papers

Related papers: On Fun for Teaching Large Programming Courses

200 papers

Live coding for teaching-synchronously writing software in front of students-can be an effective method for engaging students and instilling practical programming skills. However, not all settings are conducive to live coding and not all…

Human-Computer Interaction · Computer Science 2025-04-04 Caroline Berger , David Weintrop , Niklas Elmqvist

One the major challenges in undergraduate computing programs is the learning of object-oriented programming (OOP). This paradigm has a variety of concepts with an abstraction level usually high for most beginners, even the ones who already…

The use of functional programming languages in the first programming course at many universities is well-established and effective. Invariably, however, students must progress to study object-oriented programming. This article presents how…

Computers and Society · Computer Science 2022-08-15 Marco T. Morazán

Active Learning (AL) is a well-known teaching method in engineering because it allows to foster learning and critical thinking of the students by employing debate, hands-on activities, and experimentation. However, most educational results…

Computers and Society · Computer Science 2024-06-04 Jonathan Álvarez Ariza

Novice programmers benefit from timely, personalized support that addresses individual learning gaps, yet the availability of instructors and teaching assistants is inherently limited. Large language models (LLMs) present opportunities to…

Computers and Society · Computer Science 2025-10-07 Griffin Pitts , Anurata Prabha Hridi , Arun-Balajiee Lekshmi-Narayanan

There are many benefits in providing formal specifications for our software. However, teaching students to do this is not always easy as courses on formal methods are often experienced as dry by students. This paper presents a game called…

Novice programmers are increasingly relying on Large Language Models (LLMs) to generate code for learning programming concepts. However, this interaction can lead to superficial engagement, giving learners an illusion of learning and…

Human-Computer Interaction · Computer Science 2024-10-14 Majeed Kazemitabaar , Oliver Huang , Sangho Suh , Austin Z. Henley , Tovi Grossman

Computer programming is undergoing a true transformation driven by powerful new tools for automatic source code generation based on large language models. This transformation is also manifesting in introductory programming courses at…

Computers and Society · Computer Science 2025-07-02 Clemente Rubio-Manzano , Jazna Meza , Rodolfo Fernandez-Santibanez , Christian Vidal-Castro

There are countless reasons cited in scientific studies to explain the difficulties in programming learning. The reasons range from the subject's complexity, the ineffective teaching and study methods, to psychological aspects such as…

Computers and Society · Computer Science 2020-06-26 Alberto Simões , Ricardo Queirós

Introducing inner-city high school students to program design presents unique challenges. The typical assumptions of an introductory programming course, like students understand what variables and functions are, may not be safe. Therefore,…

Computers and Society · Computer Science 2020-08-28 Marco T. Morazán

Programming and software engineering courses in computer science curricula typically focus on both providing theoretical knowledge of programming languages and best-practices, and developing practical development skills. In a massive course…

Software Engineering · Computer Science 2018-04-06 Marco Torchiano , Giorgio Bruno

Computational thinking is increasingly introduced at primary school level, usually with some form of programming activity. In particular, educational robots provide an opportunity for engaging students with programming through hands-on…

Software Engineering · Computer Science 2022-08-30 Luisa Greifenstein , Isabella Graßl , Ute Heuer , Gordon Fraser

Providing students with flexible and timely academic support is a challenge at most colleges and universities, leaving many students without help outside scheduled hours. Large language models (LLMs) are promising for bridging this gap, but…

Computers and Society · Computer Science 2025-09-12 Chang Liu , Loc Hoang , Andrew Stolman , Rene F. Kizilcec , Bo Wu

This study examines the use of large language models (LLMs) by undergraduate and graduate students for programming assignments in advanced computing classes. Unlike existing research, which primarily focuses on introductory classes and…

We introduce ROLL, an efficient, scalable, and user-friendly library designed for Reinforcement Learning Optimization for Large-scale Learning. ROLL caters to three primary user groups: tech pioneers aiming for cost-effective,…

Children learn though play. We introduce the analogous idea of learning programs through play. In this approach, a program induction system (the learner) is given a set of tasks and initial background knowledge. Before solving the tasks,…

Machine Learning · Computer Science 2019-05-21 Andrew Cropper

Software architecture education remains challenging for instructors, students, and software industry professionals. Several initiatives have been proposed to mitigate the inherent challenges, including games, supporting tools, collaborative…

Computers and Society · Computer Science 2022-10-11 Brauner R. N. Oliveira , Elisa Y. Nakagawa

The widespread establishment of computational thinking in school curricula requires teachers to introduce children to programming already at primary school level. As this is a recent development, primary school teachers may neither be…

Computers and Society · Computer Science 2021-11-04 Luisa Greifenstein , Isabella Graßl , Gordon Fraser

As the landscape of software engineering evolves, introductory programming courses must go beyond teaching syntax to foster comprehensive technical competencies and professional soft skills. This paper reports on a pedagogical experience in…

Computers and Society · Computer Science 2026-03-20 Santiago Berrezueta-Guzman , Vanesa Metaj , Stefan Wagner

Collaborative learning environments such as programming labs are crucial for learning experiential hands-on skills such as critical thinking and problem solving, and peer discussion. In a traditional laboratory setting, many of these skills…

Computers and Society · Computer Science 2021-11-12 Tahiya Chowdhury