English
Related papers

Related papers: On Fun for Teaching Large Programming Courses

200 papers

We have reformed a large lecture modern physics course for engineering majors by radically changing both the content and the learning techniques implemented in lecture and homework. Traditionally this course has been taught in a manner…

Physics Education · Physics 2009-11-13 S. B. McKagan , K. K. Perkins , C. E. Wieman

An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging…

Formal Languages and Automata Theory · Computer Science 2014-12-17 Marco T. Morazán , Rosario Antunez

Phishing continues to be a difficult problem for individuals and organisations. Educational games and simulations have been increasingly acknowledged as enormous and powerful teaching tools, yet little work has examined how to engage users…

Computers and Society · Computer Science 2019-03-08 Matt Dixon , Nalin Asanka Gamagedara Arachchilage , James Nicholson

Advancements in Large Language Models (LLMs), such as ChatGPT, offer significant opportunities to enhance instructional support in introductory programming courses. While extensive research has explored the effectiveness of LLMs in…

Human-Computer Interaction · Computer Science 2025-05-09 Muntasir Hoq , Jessica Vandenberg , Shuyin Jiao , Seung Lee , Bradford Mott , Narges Norouzi , James Lester , Bita Akram

Formal methods for software correctness are critical to the future of software engineering - and so must be an essential part of software engineering education. Unfortunately, formal methods are often resisted by students due to perceived…

Software Engineering · Computer Science 2022-05-03 James Noble , David Streader , Isaac Oscar Gariano , Miniruwani Samarakoon

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

This paper discusses Reusable Learning Objects (RLOs) and to what extent they have lived up to the promise, particularly of reusability. Reusable Learning Objects have actually been discussed in the literature for the last 20 years and yet…

Computers and Society · Computer Science 2020-07-13 R. Pito Salas

The prominence of artificial intelligence and machine learning in everyday life has led to efforts to foster AI literacy for all K-12 students. In this paper, we review how Hour of Code activities engage with the five big ideas of AI, in…

Computers and Society · Computer Science 2025-01-14 Luis Morales-Navarro , Yasmin B. Kafai , Eric Yang , Asep Suryana

Students introduced to programming using a design-based approach and a functional programming language become familiar with first-class functions. They rarely, however, connect first-class functions to objects and object-oriented program…

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

Project-based learning (PBL) is an instructional method that is very helpful in nurturing students' creativity, but it requires significant time and energy from both students and teachers. Large language models (LLMs) have been proven to…

Human-Computer Interaction · Computer Science 2024-04-08 Siyu Zha , Yuehan Qiao , Qingyu Hu , Zhongsheng Li , Jiangtao Gong , Yingqing Xu

Software development requires understanding of users, user needs, user tasks and context in which they are operating. These skills are familiar to entrepreneurs, product managers, and marketing experts. However, our teaching experience…

Human-Computer Interaction · Computer Science 2020-11-19 Dusanka Boskovic , Nihad Borovina , Merima Zukic

Productive Failure (PF) is a learning approach where students initially tackle novel problems targeting concepts they have not yet learned, followed by a consolidation phase where these concepts are taught. Recent application in STEM…

Computers and Society · Computer Science 2024-11-19 Hussel Suriyaarachchi , Paul Denny , Suranga Nanayakkara

We propose a bridge between functional and object-oriented programming in the first-year curriculum. Traditionally, curricula that begin with functional programming transition to a professional, usually object-oriented, language in the…

Programming Languages · Computer Science 2013-12-11 Sam Tobin-Hochstadt , David Van Horn

A standing challenge in undergraduate Computer Science curricula is the teaching and learning of computer programming. Through this paper which is an essay about programming, we aim to contribute to the plethora of existing pedagogies,…

Programming Languages · Computer Science 2022-02-21 Elpida Keravnou-Papailiou

Machine learning has seen a vast increase of interest in recent years, along with an abundance of learning resources. While conventional lectures provide students with important information and knowledge, we also believe that additional…

Computers and Society · Computer Science 2021-07-30 Sebastian Raschka

Formal methods provide systematic and rigorous techniques for software development. We strongly believe that they must be taught in computer science curricula. In this paper we present the pedagogic rationale and the concrete implementation…

Logic in Computer Science · Computer Science 2021-11-17 Salwa Souaf , Frédéric Loulergue

Prior research has raised concerns about students' over-reliance on large language models (LLMs) in higher education. This paper examines how Computer Science students and instructors engage with LLMs across five scenarios: "Writing",…

Human-Computer Interaction · Computer Science 2026-02-06 Xinrui Lin , Heyan Huang , Shumin Shi , John Vines

We address the problem of motivating students in Data Structures and Algorithms courses by presenting two simple problems that each have a series of improvements to a basic algorithm, leading to spectacular decreases in runtimes. Coining a…

Data Structures and Algorithms · Computer Science 2026-04-13 Alistair Moffat , David Hawking

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

We present how to integrate Design Sprints and project-based learning into introductory visualization courses. A design sprint is a unique process based on rapid prototyping and user testing to define goals and validate ideas before…

Human-Computer Interaction · Computer Science 2021-10-01 Johanna Beyer , Yalong Yang , Hanspeter Pfister