3,537 research outputs found

    ConcurrencySuite: Teaching concurrency and nondeterminism with Spin

    Get PDF
    The Spin model checker is an excellent system for teaching concepts such as concurrency, verification and nondeterminism. I will show pedagogical tools that I have built based upon Spin: the jSpin environment for developing and verifying concurrent programs; SpinSpider, a tool for generating graphical representations of state diagrams of concurrent programs; VN, a tool for “experiencing” the nondeterminism of finite automata

    Content-driven design and architecture of E-learning applications

    Get PDF
    E-learning applications combine content with learning technology systems to support the creation of content and its delivery to the learner. In the future, we can expect the distinction between learning content and its supporting infrastructure to become blurred. Content objects will interact with infrastructure services as independent objects. Our solution to the development of e-learning applications – content-driven design and architecture – is based on content-centric ontological modelling and development of architectures. Knowledge and modelling will play an important role in the development of content and architectures. Our approach integrates content with interaction (in technical and educational terms) and services (the principle organization for a system architecture), based on techniques from different fields, including software engineering, learning design, and knowledge engineering

    Strategies and challenges to facilitate situated learning in virtual worlds post-Second Life

    Get PDF
    Virtual worlds can establish a stimulating environment to support a situated learning approach in which students simulate a task within a safe environment. While in previous years Second Life played a major role in providing such a virtual environment, there are now more and more alternative—often OpenSim-based—solutions deployed within the educational community. By drawing parallels to social networks, we discuss two aspects: how to link individually hosted virtual worlds together in order to implement context for immersion and how to identify and avoid “fake” avatars so people behind these avatars can be held accountable for their actions

    A model-driven approach to teaching concurrency

    Get PDF
    We present an undergraduate course on concurrent programming where formal models are used in different stages of the learning process. The main practical difference with other approaches lies in the fact that the ability to develop correct concurrent software relies on a systematic transformation of formal models of inter-process interaction (so called shared resources), rather than on the specific constructs of some programming language. Using a resource-centric rather than a language-centric approach has some benefits for both teachers and students. Besides the obvious advantage of being independent of the programming language, the models help in the early validation of concurrent software design, provide students and teachers with a lingua franca that greatly simplifies communication at the classroom and during supervision, and help in the automatic generation of tests for the practical assignments. This method has been in use, with slight variations, for some 15 years, surviving changes in the programming language and course length. In this article, we describe the components and structure of the current incarnation of the course?which uses Java as target language?and some tools used to support our method. We provide a detailed description of the different outcomes that the model-driven approach delivers (validation of the initial design, automatic generation of tests, and mechanical generation of code) from a teaching perspective. A critical discussion on the perceived advantages and risks of our approach follows, including some proposals on how these risks can be minimized. We include a statistical analysis to show that our method has a positive impact in the student ability to understand concurrency and to generate correct code

    Safety-critical Java for embedded systems

    Get PDF
    This paper presents the motivation for and outcomes of an engineering research project on certifiable Java for embedded systems. The project supports the upcoming standard for safety-critical Java, which defines a subset of Java and libraries aiming for development of high criticality systems. The outcome of this project include prototype safety-critical Java implementations, a time-predictable Java processor, analysis tools for memory safety, and example applications to explore the usability of safety-critical Java for this application area. The text summarizes developments and key contributions and concludes with the lessons learned

    CAP Bench: a benchmark suite for performance and energy evaluation of low-power many-core processors

    Get PDF
    International audienceSUMMARY The constant need for faster and more energy-efficient processors has been stimulating the development of new architectures, such as low-power many-core architectures. Researchers aiming to study these architectures are challenged by peculiar characteristics of some components such as Networks-on-Chip and lack of specific tools to evaluate their performance. In this context, the goal of this paper is to present a benchmark suite to evaluate state-of-the-art low-power many-core architectures such as the Kalray MPPA-256 low-power processor, which features 256 compute cores in a single chip. The benchmark was designed and used to highlight important aspects and details that need to be considered when developing parallel applications for emerging low-power many-core architectures. As a result, this paper demonstrates that the benchmark offers a diverse suite of programs with regard to parallel patterns, job types, communication intensity and task load strategies, suitable for a broad understanding of performance and energy consumption of MPPA-256 and upcoming many-core architectures

    Flipping a Hardware Design Class: An Encouragement of Active Learning. Should It Continue?

    Get PDF
    In this paper we aim to present the lessons learned from flipping the classroom of an entry-level graduate course on digital hardware design. This digital hardware design course uses hardware description languages (HDLs) for programming and requires students to learn relevant concepts and methodologies to successfully design, simulate, synthesize, and verify digital circuits created using hands-on projects and in-class activities. In addition, students in the digital hardware design class get exposure and gain familiarity with an industrial design suite to enhance their knowledge of real-life design cycles. Typically, students struggle with provided in-class activities, assignments, and projects in any digital hardware design class; even those with prior experience in the field may still struggle due to the complex nature of HDLs. The effort required for large digital designs is often overwhelming and leads to time commitments of several hours outside of the classroom to debug design issues without help from the instructor or teaching assistant(s). This extra time spent shows that help through office hours and recitation sessions is definitely needed to help prepare students. This work summarizes our explored implications of taking a previously all-lecture-based classroom environment, with traditional teaching methods, and changing to an active-learning environment using multi-modal teaching techniques. In this new teaching environment, students were directed to watch and follow along with short videos produced with the goal of providing instructional and pre-programmed digital hardware design exercises before coming into class. The pre-programmed exercises help change the classroom environment into a center for active-learning through means of creative activities. Students in the active-learning environment are further urged to work in teams on the provided activities to reinforce key concepts and operational ideologies. From the students’ perspectives, our preliminary results show that less time was spent working alone on assignments and projects due to the new active-learning environment, pre-class preparation, and in-class group-work activities. The new active-learning environment included online preview of lecture notes, constant interaction between the instructor, teaching assistant(s), and students, and an increased number of in-class hands-on activities. From an instructional perspective, regardless of drawbacks, the new active-learning environment and teaching techniques allowed for the instructor to reinforce and delve deeper into course content while allowing students to work efficiently with new material. The results from the change to an active learning environment on students’ work on assignments and projects during non class-times is: adequate preparation, easy reference to related materials, and an overall wealth of knowledge in the field of digital hardware design
    corecore