English
Related papers

Related papers: Teaching Programming Concepts by Developing Games

200 papers

We propose some slight additions to O-O languages to implement the necessary features for using Deductive Object Programming (DOP). This way of programming based upon the manipulation of the Production Tree of the Objects of Interest,…

Software Engineering · Computer Science 2007-05-23 Francois Colonna

We propose the problem of tutorial generation for games, i.e. to generate tutorials which can teach players to play games, as an AI problem. This problem can be approached in several ways, including generating natural language descriptions…

Artificial Intelligence · Computer Science 2018-05-31 Michael Cerny Green , Ahmed Khalifa , Gabriella A. B. Barros , Julian Togelius

We define an abstract framework for object-oriented programming and show that object-oriented languages, such as C++, can be interpreted as parallel programming languages. Parallel C++ code is typically more than ten times shorter than the…

Programming Languages · Computer Science 2019-03-04 Edward Givelberg

Logic programming with fixed-point definitions is a useful extension of traditional logic programming. Fixed-point definitions can capture simple model checking problems and closed-world assumptions. Its operational semantics is typically…

Logic in Computer Science · Computer Science 2015-08-06 Keehang Kwon

This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following…

Programming Languages · Computer Science 2010-08-23 Rana Naim , Mohammad Fahim Nizam , Sheetal Hanamasagar , Jalal Noureddine , Marinela Miladinova

Teaching assembly programming is a fundamental component of undergraduate computer science education, yet many students struggle with its abstract and low-level concepts. Existing learning tools, such as simulators and visualisers, support…

Computers and Society · Computer Science 2026-03-02 Elliott Wen , Paul Denny , Andrew Luxton-Reilly , Sean Ma , Bruce Sham , Chenye Ni , Jun Seo , Yu Yang

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

Massive Open Online Courses (MOOCs) focus on manifold subjects, ranging from social sciences over languages to technical skills, and use different means to train the respective skills. MOOCs that are teaching programming skills aim to…

Software Engineering · Computer Science 2018-09-24 Ralf Teusner , Thomas Hille , Christiane Hagedorn

Here practical aspects of conducting research via computer simulations are discussed. The following issues are addressed: software engineering, object-oriented software development, programming style, macros, make files, scripts, libraries,…

Condensed Matter · Physics 2009-02-02 Alexander K. Hartmann , Heiko Rieger

This paper investigates how high school students approach computing through an introductory computer science course situated in the Logic Programming (LP) paradigm. This study shows how novice students operate within the LP paradigm while…

Computers and Society · Computer Science 2017-06-29 Timothy Yuen , Maritz Reyes , Yuanlin Zhang

Algorithmic thinking is a central concept in the context of computational thinking, and it is commonly taught by computer programming. A recent trend is to introduce basic programming concepts already very early on at primary school level.…

Computers and Society · Computer Science 2021-08-17 Nina Körber , Lisa Bailey , Luisa Greifenstein , Gordon Fraser , Barbara Sabitzer , Marina Rottenhofer

Probabilistic programming is considered as a framework, in which basic components of cognitive architectures can be represented in unified and elegant fashion. At the same time, necessity of adopting some component of cognitive…

Artificial Intelligence · Computer Science 2016-05-05 Alexey Potapov

Design skills are increasingly recognized as a core competency for software professionals. Unfortunately, these skills are difficult to teach because design requires freedom and open-ended thinking, but new designers require a structured…

Computers and Society · Computer Science 2024-10-17 Christopher William Schankula , Habib Ghaffari Hadigheh , Spencer Smith , Christopher Kumar Anand

Threads are a convenient and modular abstraction for writing concurrent programs, but often fairly expensive. The standard alternative to threads, event-loop programming, allows much lighter units of concurrency, but leads to code that is…

Programming Languages · Computer Science 2011-02-07 Gabriel Kerneis , Juliusz Chroboczek

When learning to program, students are usually assessed based on the code they wrote. However, the mere completion of a programming task does not guarantee actual comprehension of the underlying concepts. Asking learners questions about the…

Software Engineering · Computer Science 2025-10-14 Florian Obermüller , Gordon Fraser

Creative coding is an experimentation-heavy activity that requires translating high-level visual ideas into code. However, most languages and libraries for creative coding may not be adequately intuitive for beginners. In this paper, we…

Programming Languages · Computer Science 2024-04-17 Mark Edward M. Gonzales , Hans Oswald A. Ibrahim , Elyssia Barrie H. Ong , Ryan Austin Fernandez

Background: In times when the ability to program is becoming increasingly important, it is still difficult to teach students to become successful programmers. One remarkable aspect are recent findings from neuro-imaging studies, which…

Computers and Society · Computer Science 2024-02-06 Elisa Madeleine Hartmann , Annabelle Bergum , Dominik Gorgosch , Norman Peitek , Sven Apel , Janet Siegmund

Contributing to OSS projects can help students to enhance their skills and expand their professional networks. However, novice contributors often feel discouraged due to various barriers. Gamification techniques hold the potential to foster…

Software Engineering · Computer Science 2024-07-08 Italo Santos , Katia Romero Felizardo , Marco A. Gerosa , Igor Steinmacher

Over the last several decades, computer games started to have a significant impact on society. However, although a computer game is a type of software, the process to conceptualize, produce and deliver a game could involve unusual features.…

Building intelligent agents that can communicate with and learn from humans in natural language is of great value. Supervised language learning is limited by the ability of capturing mainly the statistics of training data, and is hardly…

Computation and Language · Computer Science 2018-05-02 Haichao Zhang , Haonan Yu , Wei Xu