English
Related papers

Related papers: What if we have 90 minutes only to teach programmi…

200 papers

Contribution: In this study, an alternative educational approach for introducing quantum computing to a wider audience is highlighted. The proposed methodology considers quantum computing as a generalized probability theory rather than a…

Physics Education · Physics 2021-05-31 Özlem Salehi , Zeki Seskir , İlknur Tepe

In this paper, we introduce a set of tools for providing user-friendly explanations in an explanation-based constraint programming system. The idea is to represent the constraints of a problem as an hierarchy (a tree). Users are then…

Programming Languages · Computer Science 2007-05-23 Narendra Jussien , Samir Ouis

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

This article attempts to describe specific mental techniques that are related to resolving very complex tasks in software engineering. This subject may be familiar to some software specialists to different extents; however, there is…

Software Engineering · Computer Science 2012-01-30 Igor Kusakov

Some aspects of programming education are examined in this work. It is emphasised, based on the entertainment value, the most appropriate examples are chosen to demonstrate the different language constructions and data structures. Such an…

Other Computer Science · Computer Science 2012-01-18 Krasimir Yordzhev , Hristina Kostadinova

Nowadays, scripting programming languages like Python, Perl and Ruby are widely used in system programming, scientific computing, etc. Although solving a particular problem in these languages requires less time, less programming effort, and…

Computers and Society · Computer Science 2014-04-24 Apostolos Syropoulos , Athanasios Stavrianos

Software is a field of rapid changes: the best technology today becomes obsolete in the near future. If we review the graduate attributes of any of the software engineering programs across the world, life-long learning is one of them. The…

Software Engineering · Computer Science 2017-11-22 Luiz Fernando Capretz , Fahem Ahmed , Fabio Queda Bueno da Silva

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

Programming digital devices and developing software is an important professional qualification, which contributes to employment opportunities. Despite this fact, there is a remarkable shortage in suitable human resources. In this context,…

Computers and Society · Computer Science 2021-05-25 Spyridon Doukakis , Panagiotis Vlamos

We discuss here constraint programming (CP) by using a proof-theoretic perspective. To this end we identify three levels of abstraction. Each level sheds light on the essence of CP. In particular, the highest level allows us to bring CP…

Programming Languages · Computer Science 2007-05-23 Krzysztof R. Apt

Recent progress in logic programming (e.g., the development of the Answer Set Programming paradigm) has made it possible to teach it to general undergraduate and even high school students. Given the limited exposure of these students to…

Other Computer Science · Computer Science 2017-07-07 Elias Marcopoulos , Christian Reotutar , Yuanlin Zhang

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

Modern computer programming languages are governed by complex syntactic rules. They are unlike natural languages; they require extensive manual work and a significant amount of learning and practicing for an individual to become skilled at…

Programming Languages · Computer Science 2012-04-03 Youssef Bassil , Aziz Barbar

Open-ended programming increases students' motivation by allowing them to solve authentic problems and connect programming to their own interests. However, such open-ended projects are also challenging, as they often encourage students to…

Human-Computer Interaction · Computer Science 2021-04-27 Wengran Wang , Archit Kwatra , James Skripchuk , Neeloy Gomes , Alexandra Milliken , Chris Martens , Tiffany Barnes , Thomas Price

Computer science (CS) education needs to evolve to support software and artificial intelligence (AI) systems engineering, and it needs to happen now -- precisely because the core intellectual contributions of CS have never been more…

Software Engineering · Computer Science 2026-05-01 Chandra N. Sekharan , George K. Thiruvathukal

Esoteric programming languages are challenging to learn, but their unusual features and constraints may serve to improve programming ability. From languages designed to be intentionally obtuse (e.g. INTERCAL) to others targeting artistic…

Programming Languages · Computer Science 2025-09-03 Jeremy Singer , Steve Draper

This study examines how AI code assistants shape novice programmers experiences during a two-part exam in an introductory programming course. In the first part, students completed a programming task with access to AI support; in the second,…

Emerging Technologies · Computer Science 2025-08-11 Sergio Rojas-Galeano , Julian Tejada , Fernando Marmolejo-Ramos

Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs…

Software Engineering · Computer Science 2024-11-19 Georgiana Haldeman , Judah Robbins Bernal , Alec Wydra , Paul Denny

Strong inductive biases give humans the ability to quickly learn to perform a variety of tasks. Although meta-learning is a method to endow neural networks with useful inductive biases, agents trained by meta-learning may sometimes acquire…

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