42 research outputs found

    Impact Of A Visual Programming Experience On The Attitude Toward Programming Of Introductory Undergraduate Students

    Get PDF
    Traditionally, textual tools have been utilized to teach basic programming languages and paradigms. Research has shown that students tend to be visual learners. Using flowcharts, students can quickly understand the logic of their programs and visualize the flow of commands in the algorithm. Moreover, applying programming to physical systems through the use of a microcontroller to facilitate this type of learning can spark an interest in students to advance their programming knowledge to create novel applications. This study examined if freshmen college students\u27 attitudes towards programming changed after completing a graphical programming lesson. Various attributes about students\u27 attitudes were examined including confidence, interest, stereotypes, and their belief in the usefulness of acquiring programming skills. The study found that there were no statistically significant differences in attitudes either immediately following the session or after a period of four weeks

    Aesthetic Programming

    Get PDF
    Aesthetic Programming explores the technical as well as cultural imaginaries of programming from its insides. It follows the principle that the growing importance of software requires a new kind of cultural thinking — and curriculum — that can account for, and with which to better understand the politics and aesthetics of algorithmic procedures, data processing and abstraction. It takes a particular interest in power relations that are relatively under-acknowledged in technical subjects, concerning class and capitalism, gender and sexuality, as well as race and the legacies of colonialism. This is not only related to the politics of representation but also nonrepresentation: how power differentials are implicit in code in terms of binary logic, hierarchies, naming of the attributes, and how particular worldviews are reinforced and perpetuated through computation. Using p5.js, it introduces and demonstrates the reflexive practice of aesthetic programming, engaging with learning to program as a way to understand and question existing technological objects and paradigms, and to explore the potential for reprogramming wider eco-socio-technical systems. The book itself follows this approach, and is offered as a computational object open to modification and reversioning

    Designing graphical interface programming languages for the end user

    Get PDF
    This thesis sets out to answer three simple questions: What tools are available for novice programmers to program GUIs? Are those tools fulfilling their role? Can anything be done to make better tools? Despite being simple questions, the answers are not so easily constructed. In answering the first question, it was necessary to examine the range of tools available and decide upon criteria which could be used to identify tools aimed specifically at the novice programmer (there being no currently agreed criteria for their identification). Having identified these tools, it was then necessary to construct a framework within which they could be sensibly compared. The answering of the second question required an investigation of what were the successful features of current tools and which features were less successful. Success or failure of given features was determined by research in both programming language design and studies of programmer satisfaction. Having discovered what should be retained and discarded from current systems, the answering of the third question required the construction of new systems through blending elements from visual languages, program editors and fourth generation languages. These final prototypes illustrate a new way of thinking about and constructing the next generation of GUI programming languages for the novice

    Runtime reconfiguration of physical and virtual pervasive systems

    Full text link
    Today, almost everyone comes in contact with smart environments during their everyday’s life. Environments such as smart homes, smart offices, or pervasive classrooms contain a plethora of heterogeneous connected devices and provide diverse services to users. The main goal of such smart environments is to support users during their daily chores and simplify the interaction with the technology. Pervasive Middlewares can be used for a seamless communication between all available devices and by integrating them directly into the environment. Only a few years ago, a user entering a meeting room had to set up, for example, the projector and connect a computer manually or teachers had to distribute files via mail. With the rise of smart environments these tasks can be automated by the system, e.g., upon entering a room, the smartphone automatically connects to a display and the presentation starts. Besides all the advantages of smart environments, they also bring up two major problems. First, while the built-in automatic adaptation of many smart environments is often able to adjust the system in a helpful way, there are situations where the user has something different in mind. In such cases, it can be challenging for unexperienced users to configure the system to their needs. Second, while users are getting increasingly mobile, they still want to use the systems they are accustomed to. As an example, an employee on a business trip wants to join a meeting taking place in a smart meeting room. Thus, smart environments need to be accessible remotely and should provide all users with the same functionalities and user experience. For these reasons, this thesis presents the PerFlow system consisting of three parts. First, the PerFlow Middleware which allows the reconfiguration of a pervasive system during runtime. Second, with the PerFlow Tool unexperi- enced end users are able to create new configurations without having previous knowledge in programming distributed systems. Therefore, a specialized visual scripting language is designed, which allows the creation of rules for the commu- nication between different devices. Third, to offer remote participants the same user experience, the PerFlow Virtual Extension allows the implementation of pervasive applications for virtual environments. After introducing the design for the PerFlow system, the implementation details and an evaluation of the developed prototype is outlined. The evaluation discusses the usability of the system in a real world scenario and the performance implications of the middle- ware evaluated in our own pervasive learning environment, the PerLE testbed. Further, a two stage user study is introduced to analyze the ease of use and the usefulness of the visual scripting tool

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark

    The other art of computer programming: A visual alternative to communicate computational thinking

    Get PDF
    The thesis will explore the implications of teaching computer science through visual communication. This study aims to define a framework for using pictures within learning computer science. Visual communication materials for teaching computer science were created and tested with Year 8 students. Along with a recent commercial and political focus on the introduction of coding to adolescents, it appears that the computer industry has a large shortfall of programmers. Accompanying this shortfall is a rise among adolescents in the preference for visual communication (Brumberger, 2011; Coats, 2006; Oblinger et al., 2005; Prensky, 2001; Tapscott, 1998) while textual communication currently dominates the teaching materials in the computing discipline. This study looks at the learning process and utilises the ideas of Gibson, Dewey and Piaget to consider the role of visual design in teaching programming. According to Piagetian theory Year 8 is the time a child begins to understand abstract thought. This research investigated through co-creation and prototyping how to creatively support cognition within the learning process. Visual communication theories, comprising the fields of graphic and information design, were employed to communicate computer science to approximately 60 junior high school students across eight schools. Literature in a range of visual communication fields is reviewed along with the psychology of perception and cognition to help create a prototype lesson plan for the target audience of Year 8 students. The history of computer science is reviewed to illustrate the mental imagery within the discipline and also to explore computational thinking concepts. These concepts are . . . the metaphors and structures that underlie all areas of science and engineering (Guzdial, 2008). The participants’ attitudes increased toward learning programming through visual communication. Quantitative questionnaires were used to gather data on cognition and measure the effectiveness of the learning process. Thirteen hypotheses were established concerning learning programming through pictures from the quantitative data. Focus groups further triangulated data gathered in the quantitative stage. Approximately seventy percent of the participants understood seventy percent of the information within the instrumentation. Models of intent to learn programming through pictures were established using structural equation modelling (SEM). Outcomes of the exegesis are a framework for using pictures that demonstrates computational thinking and explains the research

    A visual programming tool for forecasting and pattern recognition

    Get PDF
    Orientador: Takaaki OhishiDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoResumo: A tomada de decisão, em qualquer setor e nos mais diversos níveis, é um processo cada vez mais complexo, principalmente em função do nível de incerteza em relação ao futuro. Neste contexto, a disponibilidade de previsões torna-se um fator importante para uma decisão mais eficaz. As ferramentas de reconhecimento de padrões, por sua vez, são importantes em muitas áreas, tais como nas determinações de comportamentos típicos e em sistemas de controle. Nessa conjuntura, a proposta deste trabalho consistiu em explorar a criação e o uso de uma linguagem de programação visual, denominada Linguagem VisualPREV, de modo a facilitar a concepção e a execução dos modelos de previsão e classificação. Nesta Linguagem, blocos visuais colocados num diagrama (interface visual computacional) representam conceitos envolvidos num processo de modelagem do problema. O modelo pode então ser configurado, executado e armazenado para acesso futuro. Embora essa escolha implique uma perda de vantagens exclusivas da programação em código tradicional, como a maior flexibilidade para programação genérica, por exemplo, a linguagem diminui sensivelmente o tempo de criação dos modelos específicos para tratamento de dados em previsão de séries temporais e reconhecimento de padrões. Em algumas aplicações com dados relevantes, a linguagem foi avaliada com critérios baseados em métricas de usabilidade e os resultados foram discutidos ao longo do trabalhoAbstract : Decision making, in any area and in many different levels, is a process with growing complexity, mainly if you consider the level of uncertainty related to the future. In this context, the possibility of forecasting plays a major role in an efficient decision. On the other hand, pattern recognition tools are important in many areas, like fitting typical behaviors and in control systems, as well. In this context, we propose a visual programming language, called VisualPREV Language, intended to make easier the conception and execution of forecasting and pattern recognition models. Within this language, visual blocks that can be put into a diagram (computational visual interface) represent concepts involved when modeling the processes. These models can be configured, executed and stored for future access. Although these approach implies losing exclusive advantages of traditional programming (like flexibility of generic programming, for example), VisualPREV decreases considerably the amount of time needed for creating specific models for forecasting and pattern recognition. In few applications with relevant data, the language was evaluated based on usability metrics, and the results were discussed throughout the textMestradoEnergia EletricaMestre em Engenharia Elétric

    Towards a model for teaching distributed computing in a distance-based educational environment

    Get PDF
    Several technologies and languages exist for the development and implementation of distributed systems. Furthermore, several models for teaching computer programming and teaching programming in a distance-based educational environment exist. Limited literature, however, is available on models for teaching distributed computing in a distance-based educational environment. The focus of this study is to examine how distributed computing should be taught in a distance-based educational environment so as to ensure effective and quality learning for students. The required effectiveness and quality should be comparable to those for students exposed to laboratories, as commonly found in residential universities. This leads to an investigation of the factors that contribute to the success of teaching distributed computing and how these factors can be integrated into a distance-based teaching model. The study consisted of a literature study, followed by a comparative study of available tools to aid in the learning and teaching of distributed computing in a distance-based educational environment. A model to accomplish this teaching and learning is then proposed and implemented. The findings of the study highlight the requirements and challenges that a student of distributed computing in a distance-based educational environment faces and emphasises how the proposed model can address these challenges. This study employed qualitative research, as opposed to quantitative research, as qualitative research methods are designed to help researchers to understand people and the social and cultural contexts within which they live. The research methods employed are design research, since an artefact is created, and a case study, since “how” and “why” questions need to be answered. Data collection was done through a survey. Each method was evaluated via its own well-established evaluation methods, since evaluation is a crucial component of the research process.ComputingM. Sc. (Computer Science
    corecore