490 research outputs found

    Influence of synchronized domain visualizations on program comprehension

    Get PDF
    An effective program comprehension is reached when it is possible to view and relate what happens when the program is executed, synchronized with its effects in the real world concepts. This enables the interconnection of program’s meaning at both problem and program domains. To sustain this statement we need (i) to develop a tool which provides and synchronizes views at both domains, and (ii) to perform an experiment to measure the actual impact of this approach. So, in this working session we aim at discussing the benefits of providing synchronized domain visualizations. We also envisage to discuss the preparation and conduction of appropriate experiments that will test that benefits. A case study will be used and the discussion will be supported by experimental material specially prepared for the occasion, but adapted from material already used in previous experiments

    Improving program comprehension tools for domain specific languages

    Get PDF
    Dissertação de Mestrado em InformáticaSince the dawn of times, curiosity and necessity to improve the quality of their life, led humans to find means to understand everything surrounding them, aiming at improving it. Whereas the creating abilities of some was growing, the capacity to comprehend of others follow their steps. Disassembling physical objects to comprehend the connections between the pieces in order to understand how they work together is a common human behavior. With the computers arrival, humans felt the necessity of applying the same techniques (disassemble to comprehend) to their programs. Traditionally, these programs are written resorting to general-purpose programming languages. Hence, techniques and artifacts, used to aid on program comprehension, were built to facilitate the work of software programmers on maintaining and improving programs that were developed by others. Generally, these generic languages deal with concepts at a level that the human brain can hardly understand. So understanding programs written in this languages is an hard task, because the distance between the concepts at the program level and the concepts at the problem level is too big. Thus, as in politics, justice, medicine, etc. groups of words are regularly used facilitating the comprehension between people, also in programming, languages that address a specific domain were created. These programming languages raise the abstraction of the program domain, shortening the gap to the concepts of the problem domain. Tools and techniques for program comprehension commonly address the program domain and they took little advantage of the problem domain. In this master’s thesis, the hypothesis that it is easier to comprehend a program when the underlying problem and program domains are known and a bridge between them is established, is assumed. Then, a program comprehension technique for domain specific languages, is conceived, proposed and discussed. The main objective is to take advantage from the large knowledge about the problem domain inherent to the domain specific language, and to improve traditional program comprehension tools that only dealt, until then, with the program domain. This will create connections between both program and problem domains. The final result will show, visually, what happens internally at the program domain level, synchronized with what happens externally, at problem level.Desde o início dos tempos a curiosidade e a necessidade de melhorar a qualidade de vida impeliram o humano a arranjar meios para compreender o que o rodeia com o objectivo de melhorar. À medida que a habilidade de uns foi aumentando, a capacidade de compreensão de outros seguiu-lhe os passos. Desmontar algo físico de modo a compreender as ligações entre as peças e assim perceber como funcionam num todo, é um acto bastante normal dos humanos. Com o advento dos computadores e os programas para ele codificados, o homem sentiu a necessidade de aplicar as mesmas técnicas (desmontar para compreender) ao código desses programas. Tradicionalmente, a codificação de tais programas é feita usando linguagens genéricas de programação. Desde logo técnicas e artefactos que ajudam na compreensão desses programas (nessas linguagens) foram produzidas para auxiliar o trabalho de engenheiros de software que necessitam de manter ou alterar programas previamente construídos por outros. De um modo geral estas linguagens mais genéricas lidam com conceitos a um nível bastante abaixo daquele que o cérebro humano, facilmente, consegue captar. Previsivelmente, compreender programas neste tipo de linguagens é uma tarefa complexa pois a distância entre os conceitos ao nível do programa e os conceitos ao nível do problema (que o programa aborda) é bastante grande. Deste modo, tal como no dia-a-dia foram surgindo nichos como a política, a justiça, a informática, etc. onde grupos de palavras são usadas com maior regularidade para facilitar a compreensão entre as pessoas, também na programação foram surgindo linguagens que focam em domínios específicos, aumentando a abstracção em relação ao nível do programa, aproximando este do nível dos conceitos subjacentes ao problema. Ferramentas e técnicas de compreensão de programas abordam, geralmente, o domínio do programa, tirando pouco partido do domínio do problema. Na presente tese assume-se a hipótese de que será mais fácil compreender um programa quando os domínios do problema e do programa são conhecidos, e entre eles é estabelecida uma ponte de ligação; e parte-se em busca de uma técnica de compreensão de programas para linguagens de domínio específico, baseada em técnicas já conhecidas para linguagens de carácter geral. O objectivo prende-se com aproveitar o conhecimento sobre o domínio do problema e melhorar as ferramentas de compreensão de programas existentes para as linguagens genéricas, de forma a estabelecer ligações entre domínio do programa e domínio do problema. O resultado será mostrar, visualmente, o que acontece internamente ao nível do programa, sincronizadamente com o que acontece externamente ao nível do problema

    P-D controller computer vision and robotics integration based for student’s programming comprehension improvement

    Get PDF
    The 21st-century skills needed to face the speed of understanding technology. Such as critical thinking in computer vision and robotics literacy, any student is hampered by the programming that is considered complicated. This study aims at the improvement of student embedded system programming competency with computer vision and mobile robotics integration approach. This method is proposed to attract the students to learn about embedded system programming by delivering integration between computer vision and robotics using the P-D controller since both of the fields are closely related. In this paper, the researcher described computer vision programming to get the data of captured images through the camera stream and then delivered the data into an embedded system to make the decision of robot movement. The output of this study is the improvement of a student’s ability to make an application to integrate a sensor system using a camera and the mobile robot running follow the line. The result of the test shows that the integration method between computer vision and robotics can improve the student’s programming comprehension by 40%. Based on the Feasibility test survey, it can be interpreted that from the whole assessment after being converted to qualitative data, all aspects of the learning stages of programming application tested with the integration of computer vision and robotics fall into the very feasible category for used with a percentage of feasibility by 77.44%

    AI in space: Past, present, and possible futures

    Get PDF
    While artificial intelligence (AI) has become increasingly present in recent space applications, new missions being planned will require even more incorporation of AI techniques. In this paper, we survey some of the progress made to date in implementing such programs, some current directions and issues, and speculate about the future of AI in space scenarios. We also provide examples of how thinkers from the realm of science fiction have envisioned AI's role in various aspects of space exploration

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    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)

    Introductory programming: a systematic literature review

    Get PDF
    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

    A Review of Verbal and Non-Verbal Human-Robot Interactive Communication

    Get PDF
    In this paper, an overview of human-robot interactive communication is presented, covering verbal as well as non-verbal aspects of human-robot interaction. Following a historical introduction, and motivation towards fluid human-robot communication, ten desiderata are proposed, which provide an organizational axis both of recent as well as of future research on human-robot communication. Then, the ten desiderata are examined in detail, culminating to a unifying discussion, and a forward-looking conclusion

    A model for systematically investigating relationships between variables that affect the performance of novice programmers

    Get PDF
    This research was motivated by an interest in novices learning to program and a desire to understand the factors that affect their learning. The traditional approach to performing such an investigation has been to select factors which may be important and then perform statistical tests on a few potential relationships. A new research model is proposed and tested to ensure that a thorough and systematic investigation of the data is performed. This thesis describes the data, defines the model and explains the application and validation of the model. The research process is managed by a control algorithm that is the heart of the model. This algorithm is seeded by a hypothesis that connects two variables of interest and dictates the testing of a series of hypotheses; as it does this, it also delves deeper into the data to identify additional relationships. In this research the model was applied to investigate the relationships between: learning style and achievement; programming behaviour and achievement; and learning style and programming behaviour. Learning style was assessed using Kolb’s Learning Style Inventory, achievement was based on exam score and programming behaviour was extracted from a log of student activities using a programming tool. The largest number of significant relationships was found between aspects of behaviour and achievement. The model was validated by classifying the significant hypotheses based on the research model’s tree structure, the section of the programming tool in use and the literature. These three classification schemes provided a structure to explore their similarities and differences. The model was thus demonstrated to be robust and repeatable by comparing the results with those from both using a programming tool, and expert opinion. This research has revealed several attributes of the learning behaviour that affected the students’ results within this group, including aspects of timeliness and overall volume of activity. These are suitable targets for future investigations. The research model could be applied to other data sets where an in-depth investigation into pairwise data is required.

    Multiple Robot Simulation in a Virtual Reality Environment

    Get PDF
    Nowadays, robotics is becoming increasingly important in people's daily lives. However, the process of learning and training in robotics is not always easy. In fact, in most cases, proper training is linked to direct interaction with these devices. This is usually not possible for the vast majority of people, as they may not have access to a robot. Nevertheless, thanks to the emergence of different technologies such as Virtual Reality (VR) it is possible to do things that were considered unimaginable before. Therefore, this project aims to make the most of both technologies, creating an alternative way of interacting with robots to understand how they behave, thus flattening the robotics learning curve. To this end, a software that allows the simulation and control of various robots in VR has been developed
    • …
    corecore