10 research outputs found

    Enabling intuitive and efficient physical computing

    Get PDF
    Making tools for technology accessible to everyone is important for diverse and inclusive innovation. Significant effort has already been made to make software innovation more accessible, and this effort has created a movement of citizen developers. These citizen developers have the drive to create, but not necessarily the technical skill to innovate with technology. Software, however, has limited impact in the real world compared to hardware and here, physical computing is democratising access to technological innovation. Using microcontroller programming and networking, citizens can now build interactive devices and systems that respond to the real world. But building a physical computing device is riddled with complexity. Memory efficient but hard to use low-level programming languages are used to program microcontrollers, implementation efficient but hard to use wired protocols are used to compose microcontrollers and peripherals, and energy efficient but hard to configure wireless protocols are used to network devices to each other and to the Internet. This consistent trade off between efficiency and ease of use means that physical computing is inaccessible to some. This thesis seeks to democratise microcontroller programming and networking in order to make physical computing accessible to all. It provides a deep exploration of three areas fundamental to physical computing: programming, hardware composition, and wireless networking, drawing parallels with consumer technologies throughout. Based upon these parallels, it presents requirements for each area that may lead to a more intuitive physical computing experience. It uses these requirements to compare existing work in the space and concludes that no existing technology correctly strikes the balance between efficient operation for microcontrollers and intuitive experiences for citizen developers. It therefore goes onto describe and evaluate three new technologies designed to make physical computing accessible to everyone

    The BBC micro:bit – from the UK to the World

    Get PDF
    The micro:bit is a small programmable and embeddable computer designed, developed, and deployed by the BBC and 29 project partners to approximately 800,000 UK Year 7 (11/12 year old) school children in 2015-2016. The micro:bit has been described by the BBC as "its most ambitious education initiative in 30 years, with an ambition to inspire digital creativity and develop a new generation of tech pioneers". This article describes the design of the BBC micro:bit, the realization of its goals through examples of the diverse projects crested with the micro:bit, reviews the project's history as it transitioned from a UK-centric to a worldwide project, and concludes with lessons learned and project outcomes

    Plug-and-play Physical Computing with Jacdac

    Get PDF
    Physical computing is becoming mainstream. More people than ever---from artists, makers and entrepreneurs to educators and students---are connecting microcontrollers with sensors and actuators to create new interactive devices. However, physical computing still presents many challenges and demands many skills, spanning electronics, low-level protocols, and software---road blocks that reduce participation. While USB has made connecting peripherals to a personal computing device (PC) trivial, USB components are expensive and require a PC to operate. This makes USB impractical for many physical computing scenarios where cost, size and low power operation are often important

    DRAFT-What you always wanted to know but could not find about block-based environments

    Get PDF
    Block-based environments are visual programming environments, which are becoming more and more popular because of their ease of use. The ease of use comes thanks to their intuitive graphical representation and structural metaphors (jigsaw-like puzzles) to display valid combinations of language constructs to the users. Part of the current popularity of block-based environments is thanks to Scratch. As a result they are often associated with tools for children or young learners. However, it is unclear how these types of programming environments are developed and used in general. So we conducted a systematic literature review on block-based environments by studying 152 papers published between 2014 and 2020, and a non-systematic tool review of 32 block-based environments. In particular, we provide a helpful inventory of block-based editors for end-users on different topics and domains. Likewise, we focused on identifying the main components of block-based environments, how they are engineered, and how they are used. This survey should be equally helpful for language engineering researchers and language engineers alike

    Exploring and Characterizing Large Language Models For Embedded System Development and Debugging

    Full text link
    Large language models (LLMs) have shown remarkable abilities to generate code, however their ability to develop software for embedded systems, which requires cross-domain knowledge of hardware and software has not been studied. In this paper we systematically evaluate leading LLMs (GPT-3.5, GPT-4, PaLM 2) to assess their performance for embedded system development, study how human programmers interact with these tools, and develop an AI-based software engineering workflow for building embedded systems. We develop an an end-to-end hardware-in-the-loop evaluation platform for verifying LLM generated programs using sensor actuator pairs. We compare all three models with N=450 experiments and find surprisingly that GPT-4 especially shows an exceptional level of cross-domain understanding and reasoning, in some cases generating fully correct programs from a single prompt. In N=50 trials, GPT-4 produces functional I2C interfaces 66% of the time. GPT-4 also produces register-level drivers, code for LoRa communication, and context-specific power optimizations for an nRF52 program resulting in over 740x current reduction to 12.2 uA. We also characterize the models' limitations to develop a generalizable workflow for using LLMs in embedded system development. We evaluate the workflow with 15 users including novice and expert programmers. We find that our workflow improves productivity for all users and increases the success rate for building a LoRa environmental sensor from 25% to 100%, including for users with zero hardware or C/C++ experience

    Sensitive and Makeable Computational Materials for the Creation of Smart Everyday Objects

    Get PDF
    The vision of computational materials is to create smart everyday objects using the materi- als that have sensing and computational capabilities embedded into them. However, today’s development of computational materials is limited because its interfaces (i.e. sensors) are unable to support wide ranges of human interactions , and withstand the fabrication meth- ods of everyday objects (e.g. cutting and assembling). These barriers hinder citizens from creating smart every day objects using computational materials on a large scale. To overcome the barriers, this dissertation presents the approaches to develop compu- tational materials to be 1) sensitive to a wide variety of user interactions, including explicit interactions (e.g. user inputs) and implicit interactions (e.g. user contexts), and 2) makeable against a wide range of fabrication operations, such cutting and assembling. I exemplify the approaches through five research projects on two common materials, textile and wood. For each project, I explore how a material interface can be made to sense user inputs or activities, and how it can be optimized to balance sensitivity and fabrication complexity. I discuss the sensing algorithms and machine learning model to interpret the sensor data as high-level abstraction and interaction. I show the practical applications of developed computational materials. I demonstrate the evaluation study to validate their performance and robustness. In the end of this dissertation, I summarize the contributions of my thesis and discuss future directions for the vision of computational materials

    An exploration of the teaching and learning of Information Technology (IT) programming in a higher education institution in KwaZulu-Natal (KZN)

    Get PDF
    Doctoral Degree. University of KwaZulu-Natal, Durban.In this study, classic grounded theory, threshold concepts, self-study and practitioner research capture the processes of Information Technology (IT) academics who teach computer programming to first-year IT students at a university of technology in Kwa-Zulu Natal. The qualitative data analysis revealed the basic pedagogy of teaching and learning computer programming, and described how IT academics perceived their vocation and their decisions to take action to ultimately improve the quality of teaching and learning of IT programming. From the data, the following four themes emerged in the process of teaching and learning computer programming: 1) Teaching IT; 2) Learning IT and its impact; 3) Challenges in teaching IT; 4) Recommendations for teaching IT programming. This study will assist first-year IT programming academics to understand their pedagogical impact at an institution of higher learning. This study will further potentially serve as a path for future research and aid in understanding the pedagogical impact of the teaching and learning of IT on first-year IT students

    Promoting data science in schools:Facilitating the use of open data and sensors in secondary education

    Get PDF

    Tecnologías educativas y estrategias didácticas

    Get PDF
    La incorporación de las herramientas digitales en la educación conforma un proceso que ha hecho emerger un nuevo ambiente educativo, en el que se han redefinido los roles tradicionalmente asumidos por docentes y estudiantes, siendo la relación didáctica más cercana y comprometida en generar aprendizajes relevantes, funcionales y significativos. Una de las disciplinas en las que la emergencia de las TIC se ha hecho visible en los últimos años es la educación para el desarrollo sostenible, en la que cada vez hay más recursos didácticos y plataformas digitales que abogan por promover valores y actitudes de respeto y defensa hacia el medio ambiente. El propósito de este trabajo ha sido analizar las potencialidades que ofrecen las herramientas tecnológicas para trabajar una educación comprometida con la defensa y el respeto al entorno. Para ello, se ha emprendido un estudio en profundidad de investigaciones que forman parte de bases de datos de reconocido prestigio, de la misma forma que se han identificado plataformas y recursos digitales que acentúan la necesidad de trabajar una educación respetuosa con el Planeta. Los resultados ponen de manifiesto el importante rol de las TIC en el impulso y consolidación epistemológica de la educación para el desarrollo sostenible, al propiciar procesos de aprendizaje interactivo, intercambio de información relevante y acceso a materiales didácticos relacionados con la sostenibilidad
    corecore