1 - 4 of 4
ItemCan Industrial-Strength Static Analysis Be Used to Help Students Who Are Struggling to Complete Programming Activities?( 2019-01-08)Static analysis tools evaluate source code to identify potential problems or issues beyond typical compiler errors. Prior work has shown a statistically significant relationship between the correctness of a student's work and statically identifiable flaws or "code smells" that are likely to indicate programming errors. This paper presents a comprehensive study of this relationship in the context of small programming exercises intended for use in student skill building. We use FindBugs, a static analysis tool that identifies program features that are likely to represent actual bugs in professional software. Our goal is to identify the extent to which FindBugs warnings might help novices struggling to solve short programming exercises. In this study, we ran FindBugs against 149,054 answers submitted by 516 students on 57 drill-and-practice coding exercises. We identify the specific FindBugs warnings that are inversely correlated with correctness. We confirm that presence of these warnings is significantly associated with struggling on an exercise, as indicated by taking more time, making more submissions, and receiving lower scores. Finally, every exercise exhibited answers that trigger these warnings, and 92.4% of students would experience these warnings over a full semester. Our results indicate that static analysis with tools designed for use in industry offers an untapped opportunity to provide hints or suggestions to students who are measurably struggling.
ItemDecidArch: Playing Cards as Software Architects( 2019-01-08)Teaching software architecture is a challenge because of the difficulty to expose students to actual meaningful design situations. Games can provide a useful illustration of the design decision making process, and teach students the power of team interaction for making sound decisions. We introduce a game –DecidArch– developed to achieve three learning objectives: _x0001_1) create awareness about the rationale involved in design decision making, _x0002_2) enable appreciation of the reasoning behind candidate design decisions proposed by others, and _x0003_3) create awareness about interdependencies between design decisions. The game has been played by _x0002__x0002_ groups with a total of _x0008__x0003_ players, all of them students of the VU software architecture course. We present some of the lessons learned, both from our observation and through participant survey. We conclude that the game well supports our three learning objectives, and we identify several improvement points for future game editions.
ItemInternet of Things Education( 2019-01-08)Educating the next generation of engineers to be able to design and develop the rapidly increasing need for Internet of Things (IoT) and Cyber Physical System (CPS) devices is imperative. The goal of this study is to determine the state of this educational need. This paper presents a: (1) mapping study to learn about existing research and proposed courses educating students to build IoT and CPS systems; and a (2) Programs Review for CPS/IoT-related courses currently being offered at the top 50 universities ranked by Collegechoice.net. The resulting courses from the mapping study and programs review are extensively analyzed and mapped to the NIST Network of Things primitives and the ACM/IEEE Computer Science Knowledge Areas. In addition to highlighting specific projects, the goal of this paper is to assist in the effort to build or adapt programs that academic institutions currently offer to meet the current and future IoT/CPS training and employment needs.
ItemUsing Augmented Reality in Software Engineering Education? First insights to a comparative study of 2D and AR UML modeling( 2019-01-08)Although there has been much speculation about the potential of Augmented Reality (AR) in teaching for learning material, there is a significant lack of empirical proof about its effectiveness and implementation in higher education. We describe a software to integrate AR using the Microsoft Hololens into UML (Unified Modeling Language) teaching. Its user interface is laid out to overcome problems of existing software. We discuss the design of the tool and report a first evaluation study. The study is based upon effectiveness as a metric for students performance and components of motivation. The study was designed as control group experiment with two groups. The experimental group had to solve tasks with the help of the AR modeling tool and the control group used a classic PC software. We identified tendencies that participants of the experimental group showed more motivation than the control group. Both groups performed equally well.