364 research outputs found
Recommended from our members
A Gameful Approach to Teaching Software Design and Software Testing - Assignments and Quests
Introductory CS classes typically do not focus on software testing. A lot of students’ mental model when they start learning programming is that “if it compiles and runs without crashing, it must work fine.” Despite numerous attempts to introduce testing early in CS programs and many known benefits to inculcating good testing habits early in one’s programming life, students remain averse to software testing as there is low student interest in software testing. To address this problem, we used an internally developed research system called HALO — “Highly Addictive sociaLly Optimized Software Engineering”. Our previous work describes early prototypes of HALO; in this paper, we describe how we used it for the CS2 class and the feedback from real users. HALO uses game-like elements and motifs from popular games like World of Warcraft to make the whole software engineering process and in particular, the software testing process, more engaging and social. HALO is not a game; it leverages game mechanics and applies them to the software development process. For example, in HALO, students are given a number of “quests” that they need to complete. These quests are used to disguise standard software testing techniques like white and black box testing, unit testing, and boundary value analysis. Upon completing these quests, the students get social rewards in the form of achievements, titles, and experience points. They can see how they are doing compared to other students in the class. While the students think that they are competing just for points and achievements, the primary benefit of such a system is that the students’ code gets tested a lot better than it normally would have
Introductory programming: a systematic literature review
As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
Classroom Simulation for Trainee Teachers Using 3D Virtual Environments and Simulated Smartbot Student Behaviours
his thesis consists of an analysis of a classroom simulation using a Second Life (SL) experiment that aims to investigate the teaching impact on smartbots (virtual students) from trainee teacher avatars with respect to interaction, simulated behaviour, and observed teaching roles. The classroom-based SL experiments’ motivation is to enable the trainee teacher to acquire the necessary skills and experience to manage a real classroom environment through simulations of a real classroom. This type of training, which is almost a replica of the real-world experience, gives the trainee teacher enough confidence to become an expert teacher. In this classroom simulation, six trainee teachers evaluated the SL teaching experience by survey using qualitative and quantitative methods that measured interaction, simulated behaviour, and safety. Additionally, six observers evaluated trainee teachers’ performance according to a set of teaching roles and roleplay approaches. The experiment scenario was set up between smartbots, trainee teacher avatars, and observer avatars in the virtual classroom, where smartbots are intelligent agents managing SL bots, and where groups are similar to one another but are under programming control.Saudi Embassy in Londo
To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students
This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues
VisibleZ: A Mainframe Architecture Emulator for Computing Education
This paper describes a PC-based mainframe computer emulator
called VisibleZ and its use in teaching mainframe Computer Organization
and Assembly Programming classes.
VisibleZ models IBM’s z/Architecture
and allows direct interpretation of mainframe assembly language object
code in a graphical user interface environment that was developed in Java.
The VisibleZ emulator acts as an interactive visualization tool to simulate
enterprise computer architecture. The provided architectural components
include main storage, CPU, registers, Program Status Word (PSW), and
I/O Channels. Particular attention is given to providing visual clues to
the user by color-coding screen components, machine instruction execution,
and animation of the machine architecture components.
Students interact with VisibleZ by executing machine instructions in a step-by-step
mode, simultaneously observing the contents of memory, registers, and changes in
the PSW during the fetch-decode-execute machine instruction cycle. The
object-oriented design and implementation of VisibleZ allows students to
develop their own instruction semantics by coding Java for existing specific
z/Architecture machine instructions or design and implement new machine
instructions.
The use of VisibleZ in lectures, labs, and assignments is described
in the paper and supported by a website that hosts an extensive
collection of related materials. VisibleZ has been proven a useful tool in
mainframe Assembly Language Programming and Computer Organization
classes. Using VisibleZ, students develop a better understanding of
mainframe concepts, components, and how the mainframe computer works.
ACM Computing Classification System (1998): C.0, K.3.2
A gentle transition from Java programming to Web Services using XML-RPC
Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In
addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)
To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students
This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues
Phyro: Exploring an Untethered Model for Robots in CS-1
Robots are becoming more popular, both industrially and commercially. As new robots are created, designers must choose whether to tether to a primary computer. Many robots used in an introductory computing context, like the Scribbler robot and Fluke attachment, are tethered. Untethering educational robots is the next step in improving the way robots are used in CS-1. This project aims to demonstrate the advantages of untethered robots, using the Scribbler robot and Fluke singleboard computer attachment as a model. We developed the Phyro library to make programming an untethered Scribbler and Fluke easier for students. By comparing program performance and function execution time, it is shown that Phyro on an untethered Scribbler and Fluke can match and in some cases even outperform a tethered Scribbler and Fluke
- …