English
Related papers

Related papers: Teaching Programming and Design-by-Contract

200 papers

The ubiquity of technology in our daily lives and the economic stability of the technology sector in recent years, especially in areas with a computer science footing, has led to an increase in computer science enrollment in many parts of…

Computers and Society · Computer Science 2014-05-13 Zubair Nabi

Computer programming was once thought of as a skill required only by professional software developers. But today, given the ubiquitous nature of computation and data science it is quickly becoming necessary for all scientists and engineers…

Computers and Society · Computer Science 2016-08-23 Christian T. Jacobs , Gerard J. Gorman , Huw E. Rees , Lorraine Craig

Proof Blocks is a software tool that provides students with a scaffolded proof-writing experience, allowing them to drag and drop prewritten proof lines into the correct order instead of starting from scratch. In this paper we describe a…

Computers and Society · Computer Science 2022-12-20 Seth Poulsen , Yael Gertner , Benjamin Cosman , Matthew West , Geoffrey L. Herman

Programming is about automation in a wide variety of domains. Developing itself is one of those. As a side-effect, progress in automated coding may make people less willing to learn computer programming. This could become an issue, if the…

Programming Languages · Computer Science 2026-05-01 Attila Egri-Nagy

With the rapid development of artificial intelligence (AI) community, education in AI is receiving more and more attentions. There have been many AI related courses in the respects of algorithms and applications, while not many courses in…

Artificial Intelligence · Computer Science 2022-07-26 Jianlei Yang , Xiaopeng Gao , Weisheng Zhao

It is common knowledge that the quantity and quality of the training data play a significant role in the creation of a good machine learning model. In this paper, we take it one step further and demonstrate that the way the training…

Audio and Speech Processing · Electrical Eng. & Systems 2022-08-12 Georgios Karakasidis , Tamás Grósz , Mikko Kurimo

Computer science's increased recognition as a prominent field of study has attracted students with diverse academic backgrounds. This has significantly increased the already high failure rates in introductory courses. To address this…

Computers and Society · Computer Science 2025-10-28 Eric Hics , Vinhthuy Phan , Kriangsiri Malasri

Choreographic models support a correctness-by-construction principle in distributed programming. Also, they enable the automatic generation of correct message-based communication patterns from a global specification of the desired system…

Programming Languages · Computer Science 2022-05-16 Lorenzo Gheri , Ivan Lanese , Neil Sayers , Emilio Tuosto , Nobuko Yoshida

Curriculum design is a fundamental component of education. For example, when we learn mathematics at school, we build upon our knowledge of addition to learn multiplication. These and other concepts must be mastered before our first algebra…

Computer Vision and Pattern Recognition · Computer Science 2023-08-21 Parantak Singh , You Li , Ankur Sikarwar , Weixian Lei , Daniel Gao , Morgan Bruce Talbot , Ying Sun , Mike Zheng Shou , Gabriel Kreiman , Mengmi Zhang

Linear Programming is now included in Algorithm undergraduate and postgraduate courses for Computer Science majors. It is possible to teach interior-point methods directly with just minimal knowledge of Algebra and Matrices.

Data Structures and Algorithms · Computer Science 2015-01-15 Sanjeev Saxena

Hybrid systems are a compact and natural mechanism with which to address problems in robotics. This work introduces an approach to learning hybrid systems from demonstrations, with an emphasis on extracting models that are explicitly…

Robotics · Computer Science 2019-09-12 Michael Burke , Svetlin Penkov , Subramanian Ramamoorthy

Inspired by human learning, researchers have proposed ordering examples during training based on their difficulty. Both curriculum learning, exposing a network to easier examples early in training, and anti-curriculum learning, showing the…

Machine Learning · Computer Science 2021-02-10 Xiaoxia Wu , Ethan Dyer , Behnam Neyshabur

Contract scheduling is a general technique that allows to design a system with interruptible capabilities, given an algorithm that is not necessarily interruptible. Previous work on this topic has largely assumed that the interruption is a…

Artificial Intelligence · Computer Science 2020-11-26 Spyros Angelopoulos , Shahin Kamali

Generative AI enables students to produce plausible code quickly. Producing working code is therefore no longer a reliable indicator of understanding. This is particularly problematic in non-computer-science programmes, where time…

Computers and Society · Computer Science 2026-04-09 Christina Maria Mayr

The aim of this study is to construct and compose an instructional design in combinatorial learning, particularly in the concept of counting. A composed design is expected to optimize students' combinatorial-thinking skill. This research…

History and Overview · Mathematics 2021-04-02 I. R. Ihsan , N. Karjanto

Demonstration ordering, which is an important strategy for in-context learning (ICL), can significantly affects the performance of large language models (LLMs). However, most of the current approaches of ordering require high computational…

Computation and Language · Computer Science 2024-06-18 Yinpeng Liu , Jiawei Liu , Xiang Shi , Qikai Cheng , Yong Huang , Wei Lu

Coding is a fundamental skill required in the engineering discipline, and much work exists exploring better ways of teaching coding in the higher education context. In particular, Code Snippets (CSs) are approved to be an effective way of…

Programming Languages · Computer Science 2025-06-03 Joshua Akingbade , Jianhua Yang , Mir Seyedebrahimi

We present a case-study on teaching an undergraduate level course on Software Engineering (second year and fifth semester of bachelors program in Computer Science) at a State University (New Delhi, India) using a novel teaching instruction…

Computers and Society · Computer Science 2013-09-04 Ashish Sureka , Monika Gupta , Dipto Sarkar , Vidushi Chaudhary

The article describes a course on system design (structural approach) which involves the following: issues of systems engineering; structural models; basic technological problems (structural system modeling, modular design,…

Software Engineering · Computer Science 2015-03-19 Mark Sh. Levin

Teaching programming to novices is best done with tools with simpler user interfaces than professional IDEs that are tailored for experienced programmers. In a distance learning situation it is also important to have a development…

Programming Languages · Computer Science 2022-07-27 Marc Feeley , Olivier Melançon