Practice in programming courses is most of the time equated with programming and more specificall... more Practice in programming courses is most of the time equated with programming and more specifically with writing code. However, we believe that more emphasis needs to be put in the precursor skills to writing code. Specifically, that there are three phases that students should sequentially master in the process of learning computer programming: code comprehension, code manipulation, and code writing. Further, there are other companion skills, such as understanding technical documentation (i.e., APIs), that should also be stressed in all of the three phases and that are usually overlooked in CS1 courses. In this paper we present an empirical study where we evaluate students in each of these competencies separately. The results obtained are in line with our intuition that code comprehension, code manipulation, and code writing are phases that students should sequentially master in the process of learning to write programs.
An intervention strategy to hone students' code understanding skills
Journal of Computing Sciences in Colleges, 2018
The main focus in programming courses is usually on writing code; students are asked to write pro... more The main focus in programming courses is usually on writing code; students are asked to write programs after only being taught the syntax rules and a few examples. We believe that more emphasis needs to be put in code understanding skills, which are precursor skills to writing code. In this paper, we present the results of an intervention strategy we implemented with the goal of honing students f program understanding skills. Automatic Item Generation was used to generate a set of practice exercises individualized to each student fs needs. Results of pre and post-assessments from the intervention group and a control group show the benefits of dedicating time to program understanding.
2011 IEEE International Symposium on Policies for Distributed Systems and Networks, 2011
A Cyber-Physical System (CPS) involves a tight coupling between the physical and computational el... more A Cyber-Physical System (CPS) involves a tight coupling between the physical and computational elements. Security is a key challenge for the deployment of CPS. Therefore, it is highly desirable to extract correct information from a large volume of noisy data and properly evaluate the reputation of reporting devices in CPS. In this paper, we propose a Context-Aware tRust Evaluation scheme for wireless networks in CPS (CARE-CPS), and a set of policy rules are declared to accurately describe how we determine the reputation of each reporting device based on these factors. To validate the CARE-CPS scheme, we have conducted experiments in terms of both simulation and real deployment on smart phones. Experimental results show that the CARE-CPS scheme can properly evaluate the trustworthiness of the report devices in CPS.
2011 IEEE Fifth International Conference on Semantic Computing, 2011
Recent years have seen a confluence of two major trends-the increase of mobile devices such as sm... more Recent years have seen a confluence of two major trends-the increase of mobile devices such as smart phones as the primary access point to networked information and the rise of social media platforms that connect people. Their convergence supports the emergence of a new class of context-aware geosocial networking applications. While existing systems focus mostly on location, our work centers on models for representing and reasoning about a more inclusive and higher-level notion of context, including the user's location and surroundings, the presence of other people and devices, and the inferred activities in which they are engaged. A key element of our work is the use of collaborative information sharing where devices share and integrate knowledge about their context. This introduces the need for privacy and security mechanisms. We present a framework to provide users with appropriate levels of privacy to protect the personal information their mobile devices are collecting, including the inferences that can be drawn from the information. We use Semantic Web technologies to specify high-level, declarative policies that describe user information sharing preferences. We have built a prototype system that aggregates information from a variety of sensors on the phone, online sources, and sources internal to the campus intranet, and infers the dynamic user context. We show how our policy framework can be effectively used to devise better privacy control mechanisms to control information flow between users in such dynamic mobile systems.
Today's service-oriented systems realize many ideas from the research conducted a decade or so ag... more Today's service-oriented systems realize many ideas from the research conducted a decade or so ago in multiagent systems. Because these two fields are so deeply connected, further advances in multiagent systems could feed into tomorrow's successful service-oriented computing approaches.This article describes a 15year roadmap for service-oriented multiagent system research.
We describe work on representing and using a rich notion of context that goes beyond current netw... more We describe work on representing and using a rich notion of context that goes beyond current networking applications focusing mostly on location. Our context model includes location and surroundings, the presence of people and devices, inferred activities and the roles people fill in them. A key element of our work is the use of collaborative information sharing where devices share and integrate knowledge about their context. This introduces a requirement that users can set appropriate levels of privacy to protect the personal information being collected and the inferences that can be drawn from it. We use Semantic Web technologies to model context and to specify high-level, declarative policies specifying information sharing constraints. The policies involve attributes of the subject (i.e., information recipient), target (i.e., the information) and their dynamic context (e.g., are the parties co-present). We discuss our ongoing work on context representation and inference and prese...
Analysis of coincident failing ensembles in multi-version systems
Multi-version programming is a well-known method to increase the reliability of critical software... more Multi-version programming is a well-known method to increase the reliability of critical software. It relies on the use multiple functionally equivalent programs or versions to provide, hopefully, a better result than that of any single version. The analysis and use of this type of system has been based on the individual reliabilities of the versions and the assumption of independence between them. However, versions might fail simultaneously and the gain from the use of diversity completely depends on the degree of dependence between the failure processes of the versions, not only on their individual reliabilities. In this paper, we present an empirical study of the correlation of code complexity measures of the versions and their coincident failures. 1.
The Platys project focuses on developing a high-level, semantic notion of location called place. ... more The Platys project focuses on developing a high-level, semantic notion of location called place. A place, unlike a geospatial position, derives its meaning from a user’s actions and interactions in addition to the physical location where they occur. Our aim is to enable the construction of a large variety of applications that take advantage of place to render relevant content and functionality and thus, improve user experience. We consider elements of context that are particularly related to mobile computing. The main problems we have addressed to realize our place-oriented mobile computing vision, are representing places, recognizing places, engineering place-aware applications. We describe the approaches we have developed for addressing these problems and related subproblems. A key element of our work is the use of collaborative information sharing where users’ devices share and integrate knowledge about places. Our place ontology facilitates such collaboration. Declarative privac...
Recent years have seen a confluence of two major trendsthe increase of mobile devices such as sma... more Recent years have seen a confluence of two major trendsthe increase of mobile devices such as smart phones as the primary access point to networked information and the rise of social media platforms that connect people. Their convergence supports the emergence of a new class of contextaware geosocial networking applications. While existing systems focus mostly on location, our work centers on models for representing and reasoning about a more inclusive and higher-level notion of context, including the user's location and surroundings, the presence of other people and devices, feeds from social networking systems they use, and the inferred activities in which they are engaged. A key element of our work is the use of collaborative information sharing where devices share and integrate knowledge about their context. This introduces the need for privacy and security mechanisms. We present a framework to provide users with appropriate levels of privacy to protect the personal information their mobile devices are collecting including the inferences that can be drawn from the information. We use Semantic Web technologies to specify high-level, declarative policies that describe user's information sharing preferences. We have built a prototype system that aggregates information from a variety of sensors on the phone, online sources, and sources internal to the campus intranet, and infers the dynamic user context. We show how our policy framework can be effectively used to devise better privacy control mechanisms to control information flow between users in such dynamic mobile systems.
Multi-version programming is a well-known method to increase the reliability of critical software... more Multi-version programming is a well-known method to increase the reliability of critical software. It relies on the use multiple functionally equivalent programs or versions to provide, hopefully, a better result than that of any single version. The analysis and use of this type of system has been based on the individual reliabilities of the versions and the assumption of independence between them. However, versions might fail simultaneously and the gain from the use of diversity completely depends on the degree of dependence between the failure processes of the versions, not only on their individual reliabilities. In this paper, we present an empirical study of the correlation of code complexity measures of the versions and their coincident failures.
Collaborative Redundant Agents: Modeling the Dependences in the Diversity of the Agents’ Errors
Page 1. Collaborative Redundant Agents: Modeling the Dependences in the Diversity of the Agents&a... more Page 1. Collaborative Redundant Agents: Modeling the Dependences in the Diversity of the Agents' Errors Laura Zavala 1 , Michael Huhns 2 , and Angélica Garcıa-Vega 3 1 Computer Science, University of Maryland Baltimore ...
A Middleware-Based Computing Architecture for Virtual Medicine
Problem As the use of computer modeling spreads in medical research, smarter models of the human ... more Problem As the use of computer modeling spreads in medical research, smarter models of the human anatomy are needed in a broad range of applications, including clinical diagnosis, surgical planning, cancer treatment using radiation therapy, and other applications [1,2]. The ...
Uploads
Papers by Laura Zavala