English
Related papers

Related papers: Teaching Programming Concepts by Developing Games

200 papers

A functional hardware description language enables students to gain a working understanding of computer systems, and to see how the levels of abstraction fit together. By simulating circuits, digital design becomes a living topic, like…

Computers and Society · Computer Science 2013-01-23 John T. O'Donnell

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…

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can {\em reflect} (i.e. make runtime queries of an…

Programming Languages · Computer Science 2007-05-23 Duraid Madina , Russell K. Standish

Teaching programming through storytelling is a popular pedagogical approach and an active area of research. However, most previous work in this area focused on K-12 students using block-based programming. Little, if any, work has examined…

Computers and Society · Computer Science 2021-10-19 Sangho Suh , Ken Jen Lee , Celine Latulipe , Jian Zhao , Edith Law

The goal of inductive program synthesis is for a machine to automatically generate a program from user-supplied examples. A key underlying assumption is that humans can provide sufficient examples to teach a concept to a machine. To…

Human-Computer Interaction · Computer Science 2025-02-18 Céline Hocquette , Johannes Langer , Andrew Cropper , Ute Schmid

Game development is a highly technical practice that traditionally requires programming skills. This serves as a barrier to entry for would-be developers or those hoping to use games as part of their creative expression. While there have…

Human-Computer Interaction · Computer Science 2024-10-03 Megan Sumner , Vardan Saini , Matthew Guzdial

Defining abstract algorithmic structures like functions and variables using self-made tangibles can enhance the usability and affordability of the tangible programming experience by maintaining the input modality and physical interaction…

Human-Computer Interaction · Computer Science 2022-10-13 Alpay Sabuncuoglu , T. Metin Sezgin

Object-Oriented programming is frequently challenging for undergraduate Computer Science students, particularly in understanding abstract concepts such as encapsulation, inheritance, and polymorphism. Although the literature outlines…

Software Engineering · Computer Science 2025-07-24 Andre Menolli , Bruno Strik

Quantum computing is a growing field with significant potential applications. Learning how to code quantum programs means understanding how qubits work and learning to use quantum gates. This is analogous to creating classical algorithms…

Quantum Physics · Physics 2025-01-14 Tamás Varga , Yaiza Aragonés-Soria , Manuel Oriol

This is a draft of the textbook/monograph that presents computability theory using string diagrams. The introductory chapters have been taught as graduate and undergraduate courses and evolved through 8 years of lecture notes. The later…

Logic in Computer Science · Computer Science 2023-03-29 Dusko Pavlovic

This report describes a variety of programming assignments that can be used to teach quantum computing in a practical manner. These assignments let the learners get hands-on experience with all stages of quantum software development…

Physics Education · Physics 2023-12-19 Mariia Mykhailova

The emergence of large language models has enabled vibe coding, a natural language approach to programming in which users describe intent and AI generates or revises code, potentially broadening access to programming while preserving…

Software Engineering · Computer Science 2026-04-27 Ashley J. Chen , Yijia Cao , Minghao Shao , Ramesh Karri , Muhammad Shafique

Teachers face several challenges when presenting the fundamental concepts of programming in the classroom. Several tools are introduced to give a visual dimension to support the learning process. These tools rely on code blocks, easily…

Computers and Society · Computer Science 2019-11-22 Hussein Alrubaye , Stephanie Ludi , Mohamed Wiem Mkaouer

This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation.…

Programming Languages · Computer Science 2007-05-23 Todd L. Veldhuizen

Game jams are a way to create games under fast-paced conditions and certain constraints. The increase in game jam events all over the world, their engaging and creative nature, with the aim of sharing results among players can be seen in…

Computers and Society · Computer Science 2018-09-03 Bernadette Spieler , Anja Petri , Christian Schindler , Wolfgang Slany , Maria Betran , Helen Boulton , Eugenio Gaeta , Jonathan Smith

The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions,…

Programming Languages · Computer Science 2010-03-15 Laurent Deniau

Recently, user-centered methods have been proposed to improve the design of programming languages. In order to explore what benefits these methods might have for novice programming language designers, we taught a collection of user-centered…

Programming Languages · Computer Science 2020-11-17 Michael Coblenz , Ariel Davis , Megan Hofmann , Vivian Huang , Siyue Jin , Max Krieger , Kyle Liang , Brian Wei , Mengchen Sam Yong , Jonathan Aldrich

Recent developments in computer programming and in mathematics suggest that there is a strong case for a new way of introducing programming to enhance the learning of school mathematics. The article describes a collaboration of mathematics…

History and Overview · Mathematics 2022-03-30 Ian Benson , Jim Darby , Neil MacDonald , Jesse Sigal

This entry introduces educational games in secondary schools. Educational games include three main types of educational activities with a playful learning intention supported by digital technologies: educational serious games, educational…

Physics Education · Physics 2020-04-14 Margarida Romero

Reading, understanding and explaining code have traditionally been important skills for novices learning programming. As large language models (LLMs) become prevalent, these foundational skills are more important than ever given the…

Human-Computer Interaction · Computer Science 2024-03-12 Paul Denny , David H. Smith , Max Fowler , James Prather , Brett A. Becker , Juho Leinonen