103 research outputs found
Exploring The Impact Of Cognitive Awareness Scaffolding For Debugging In An Introductory Computer Science Class
Debugging is a significant part of programming. However, a lot of introductory pro- gramming classes tend to focus on writing and reading code than on debugging. They utilize programming assignments that are designed in ways such that students learn debugging by completing these assignments which makes debugging more of an im- plicit goal. In this thesis, we propose a cognitive awareness scaffolding in debugging to help students self-regulate their debugging process. We validate its effectiveness by conducting experiments with students in four sections of a Data Structures course, which is one of the introductory computer science classes at California Polytechnic State University, San Luis Obispo. In this form, students identified the debugging stage, described the bugs in their own words, and tracked their attempts to fix them. The exit survey responses that students filled out at the end of the quarter indi- cate that students seemed to find the debugging form helpful with self-regulation in debugging process. For further investigation, we attempt to measure students’ under- standing of the bugs explained on the form. Additionally, we also discuss potential improvements for the debugging form
Recommended from our members
SMILE/ MARVEL: Two Approaches to Knowledge-Based Programming Environments
This technical report consists of three related papers in the area of intelligent assistance for software development and maintenance. Intelligent Assistance without Artificial Intelligence describes SMILE, a software engineering environment that assists teams of programmers without using AI technology. An Architecture for Intelligent Assistance in Software Development presents an AI approach to generalizing the capabilities of SMILE. Granularity Issues in a Knowledge-Based Programming Environment briefly describes MARVEL, an intelligent assistant based on this AI approach, and compares it to SMILE
UCL (University College London) Libraries Masterplan: Masterplanning Report
BDP were appointed to undertake a Masterplan for the UCL Main Library and the
UCL Science Library and to identify how these buildings could be re-ordered to
significantly improve the quality of the library environment and to facilitate the
delivery of library services.
An initial brief was agreed with UCL’s Estates Management Committee and a
Masterplan Steering Group established including academic representatives,
library staff and design consultants. To inform the development of this brief, UCL
Library Services undertook a number of consultation exercises with users of the
Library; students, academic staff and external users, together with Library staff.
A number of visits to exemplar library buildings in the UK and continental Europe
were also undertaken to inform the development of options for the buildings.
Following the development and review of initial options for both the Main Library
and Science Library, it was agreed a further, hypothetical New Build Central
Library Option should be reviewed, to accommodate a relocated and consolidated
library service encompassing 7 of the 16 existing libraries currently distributed
across the UCL Estate
The development of a program analysis environment for Ada: Reverse engineering tools for Ada
The Graphical Representations of Algorithms, Structures, and Processes for Ada (GRASP/Ada) has successfully created and prototyped a new algorithm level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and thus improve reliability and reduce costs. The emphasis was on the automatic generation of the CSD from Ada source code to support reverse engineering and maintenance. The CSD has the potential to replace traditional prettyprinted Ada source code. In Phase 1 of the GRASP/Ada project, the CSD graphical constructs were created and applied manually to several small Ada programs. A prototype (Version 1) was designed and implemented using FLEX and BISON running under the Virtual Memory System (VMS) on a VAX 11-780. In Phase 2, the prototype was improved and ported to the Sun 4 platform under UNIX. A user interface was designed and partially implemented. The prototype was applied successfully to numerous Ada programs ranging in size from several hundred to several thousand lines of source code. In Phase 3 of the project, the prototype was prepared for limited distribution (GRASP/Ada Version 3.0) to facilitate evaluation. The user interface was extensively reworked. The current prototype provides the capability for the user to generate CSD from Ada source code in a reverse engineering mode with a level of flexibility suitable for practical application
A Refactoring-Based Approach to Support Binary Backward-Compatible Framework Upgrades
Evolutionary changes applied to a framework API may invalidate existing framework-based applications. While manually adapting applications is expensive and error-prone, automatic adaptation demands cumbersome specifications, which the developers are reluctant to write and maintain. Considering structural changes (so-called refactorings) of framework APIs, our adaptation technology supports backward-compatible framework upgrade. The technology is rigorous defining precisely the structure and automatic derivation of compensating adapters. It is also practical compensating for most application-breaking API changes automatically, while requiring neither manual adaptation nor recompilation of existing application code
Tailoring Interaction. Sensing Social Signals with Textiles.
Nonverbal behaviour is an important part of conversation and can reveal much about the nature of an interaction. It includes phenomena ranging from large-scale posture shifts to small scale nods. Capturing these often spontaneous phenomena requires unobtrusive sensing techniques that do not interfere with the interaction. We propose an underexploited sensing modality for sensing nonverbal behaviours: textiles. As a material in close contact with the body, they provide ubiquitous, large surfaces that make them a suitable soft interface. Although the literature on nonverbal communication focuses on upper body movements such as gestures, observations of multi-party, seated conversations suggest that sitting postures, leg and foot movements are also systematically related to patterns of social interaction. This thesis addressees the following questions: Can the textiles surrounding us measure social engagement? Can they tell who is speaking, and who, if anyone, is listening? Furthermore, how should wearable textile sensing systems be designed and what behavioural signals could textiles reveal? To address these questions, we have designed and manufactured bespoke chairs and trousers with integrated textile pressure sensors, that are introduced here. The designs are evaluated in three user studies that produce multi-modal datasets for the exploration of fine-grained interactional signals. Two approaches to using these bespoke textile sensors are explored. First, hand crafted sensor patches in chair covers serve to distinguish speakers and listeners. Second, a pressure sensitive matrix in custom-made smart trousers is developed to detect static sitting postures, dynamic bodily movement, as well as basic conversational states. Statistical analyses, machine learning approaches, and ethnographic methods show that by moni- toring patterns of pressure change alone it is possible to not only classify postures with high accuracy, but also to identify a wide range of behaviours reliably in individuals and groups. These findings es- tablish textiles as a novel, wearable sensing system for applications in social sciences, and contribute towards a better understanding of nonverbal communication, especially the significance of posture shifts when seated. If chairs know who is speaking, if our trousers can capture our social engagement, what role can smart textiles have in the future of human interaction? How can we build new ways to map social ecologies and tailor interactions
SystemC Through the Looking Glass : Non-Intrusive Analysis of Electronic System Level Designs in SystemC
Due to the ever increasing complexity of hardware and hardware/software co-designs, developers strive for higher levels of abstractions in the early stages of the design flow. To address these demands, design at the Electronic System Level (ESL) has been introduced. SystemC currently is the de-facto standard for ESL design. The extraction of data from system designs written in SystemC is thereby crucial e.g. for the proper understanding of a given system. However, no satisfactory support of reflection/introspection of SystemC has been provided yet. Previously proposed methods for this purpose %introduced to achieve the goal nonetheless either focus on static aspects only, restrict the language means of SystemC, or rely on modifications of the compiler and/or parser. In this thesis, approaches that overcome these limitations are introduced, allowing the extraction of information from a given SystemC design without changing the SystemC library or the compiler. The proposed approaches retrieve both, static and dynamic (i.e. run-time) information
A COGNITIVE ARCHITECTURE FOR AMBIENT INTELLIGENCE
L’Ambient Intelligence (AmI) è caratterizzata dall’uso di sistemi pervasivi per
monitorare l’ambiente e modificarlo secondo le esigenze degli utenti e rispettando
vincoli definiti globalmente. Questi sistemi non possono prescindere da requisiti
come la scalabilità e la trasparenza per l’utente. Una tecnologia che consente di
raggiungere questi obiettivi è rappresentata dalle reti di sensori wireless (WSN),
caratterizzate da bassi costi e bassa intrusività . Tuttavia, sebbene in grado di
effettuare elaborazioni a bordo dei singoli nodi, le WSN non hanno da sole le capacitÃ
di elaborazione necessarie a supportare un sistema intelligente; d’altra parte
senza questa attività di pre-elaborazione la mole di dati sensoriali può facilmente
sopraffare un sistema centralizzato con un’eccessiva quantità di dettagli superflui.
Questo lavoro presenta un’architettura cognitiva in grado di percepire e controllare
l’ambiente di cui fa parte, basata su un nuovo approccio per l’estrazione
di conoscenza a partire dai dati grezzi, attraverso livelli crescenti di astrazione.
Le WSN sono utilizzate come strumento sensoriale pervasivo, le cui capacità computazionali
vengono utilizzate per pre-elaborare i dati rilevati, in modo da consentire
ad un sistema centralizzato intelligente di effettuare ragionamenti di alto
livello.
L’architettura proposta è stata utilizzata per sviluppare un testbed dotato degli
strumenti hardware e software necessari allo sviluppo e alla gestione di applicazioni
di AmI basate su WSN, il cui obiettivo principale sia il risparmio energetico. Per
fare in modo che le applicazioni di AmI siano in grado di comunicare con il mondo
esterno in maniera affidabile, per richiedere servizi ad agenti esterni, l’architettura
è stata arricchita con un protocollo di gestione distribuita della reputazione.
È stata inoltre sviluppata un’applicazione di esempio che sfrutta le caratteristiche
del testbed, con l’obiettivo di controllare la temperatura in un ambiente
lavorativo. Quest’applicazione rileva la presenza dell’utente attraverso un modulo
per la fusione di dati multi-sensoriali basato su reti bayesiane, e sfrutta questa
informazione in un controllore fuzzy multi-obiettivo che controlla gli attuatori sulla
base delle preferenze dell’utente e del risparmio energetico.Ambient Intelligence (AmI) systems are characterized by the use of pervasive
equipments for monitoring and modifying the environment according to users’
needs, and to globally defined constraints. Furthermore, such systems cannot ignore
requirements about ubiquity, scalability, and transparency to the user. An
enabling technology capable of accomplishing these goals is represented by Wireless
Sensor Networks (WSNs), characterized by low-costs and unintrusiveness. However,
although provided of in-network processing capabilities, WSNs do not exhibit
processing features able to support comprehensive intelligent systems; on the other
hand, without this pre-processing activities the wealth of sensory data may easily
overwhelm a centralized AmI system, clogging it with superfluous details.
This work proposes a cognitive architecture able to perceive, decide upon, and
control the environment of which the system is part, based on a new approach to
knowledge extraction from raw data, that addresses this issue at different abstraction
levels. WSNs are used as the pervasive sensory tool, and their computational
capabilities are exploited to remotely perform preliminary data processing. A central
intelligent unit subsequently extracts higher-level concepts in order to carry on
symbolic reasoning. The aim of the reasoning is to plan a sequence of actions that
will lead the environment to a state as close as possible to the users’ desires, taking
into account both implicit and explicit feedbacks from the users, while considering
global system-driven goals, such as energy saving. The proposed conceptual architecture
was exploited to develop a testbed providing the hardware and software
tools for the development and management of AmI applications based on WSNs,
whose main goal is energy saving for global sustainability. In order to make the
AmI system able to communicate with the external world in a reliable way, when
some services are required to external agents, the architecture was enriched with
a distributed reputation management protocol.
A sample application exploiting the testbed features was implemented for addressing
temperature control in a work environment. Knowledge about the user’s
presence is obtained through a multi-sensor data fusion module based on Bayesian
networks, and this information is exploited by a multi-objective fuzzy controller
that operates on actuators taking into account users’ preference and energy consumption
constraints
lmproving Microcontroller and Computer Architecture Education through Software Simulation
In this thesis, we aim to improve the outcomes of students learning Computer Architecture and Embedded Systems topics within Software and Computer Engineering programs. We develop a simulation of processors that attempts to improve the visibility of hardware within the simulation environment and replace existing solutions in use within the classroom. We designate a series of requirements of a successful simulation suite based on current state-of-the-art simulations within literature. Provided these requirements, we build a quantitative rating of the same set of simulations. Additionally, we rate our previously implemented tool, hc12sim, with current solutions. Using the gaps in implementations from our state-of-the-art survey, we develop two solutions. First, we developed a web-based solution using the Scala.js compiler for Scala with an event-driven simulation engine through Akka. This Scala model implements a VHDL-like DSL for instruction control definition. Next we propose tools for developing cross-platform native applications through a project-based build system within CMake and a continuous integration pipeline using Vagrant, Oracle VirtualBox and Jenkins. Lastly, we propose a configuration-driven processor simulation built from the original hc12sim project that utilizes a Lua-based scripting interface for processor configuration. While we considered other high-level languages, Lua best fit our requirements allowing students to use a modern high-level programming language for processor configuration. Instruction controls are defined through Lua functions using high-level constructs that implicitly trigger low-level simulation events. Lastly, we conclude with suggestions for building a new solution that would better meet requirements set forth in our research question building from successful aspects from this work
- …