skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: Learning From Doing: Lessons Learned From Designing and Developing an Educational Software Within a Heterogeneous Group
Software applications in educational technology have been a strong driving force for the success of online learning at all levels. These applications are created for various purposes and are used by a range of experts. The development of a successful educational technology software takes a deliberate team effort and thoughtful project management. This interpretive case study details the processes, successes, and challenges determined throughout the development of an educational web application, the Social Performance Optimization Tool (SPOT). In describing the evolution of SPOT, and the processes the heterogeneous team followed in the development of the web application, this study provides analysis and guidance to educational researchers who are interested in developing educational web applications in the future. The study described how authors mindfully adopted software design models, team management techniques, and communication tools. Additionally, the paper highlights practical and unique implications developers must account for when working in higher education contexts.  more » « less
Award ID(s):
1735627
PAR ID:
10288791
Author(s) / Creator(s):
; ; ; ; ; ;
Date Published:
Journal Name:
International Journal of Web-Based Learning and Teaching Technologies
Volume:
16
Issue:
4
ISSN:
1548-1093
Page Range / eLocation ID:
33 to 46
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Security vulnerabilities in an application open the ways to security dangers and attacks, which can easily jeopardize the system executing that application. Therefore, it is important to develop vulnerability-free applications. The best approach would be to counteract against potential vulnerabilities during the coding with secure programming practices. Software security proactive control education for secure portable and web application advancement is of enormous interests in the Information Technology (IT) fields. In this paper, we proposed and developed innovative learning modules for software security proactive control based on several real-world scenarios to broaden and promote proactive control for secure software development in computing education. 
    more » « less
  2. A new approach to web application development is presented, in which an application is constructed by configuring and composing concepts drawn from a catalog developed by experts. A concept is a self-contained, reusable increment of functionality. Each concept includes both front-end and back-end functionality, and exports a collection of components—full-stack GUI elements, backed by application logic and database storage. To build an app, the developer imports concepts from the catalog, tunes them to fit the application’s particular needs via configuration variables, and links concept components together to create pages. Components of different concepts may be executed independently, or bound together declaratively with dataflows and synchronization. The instantiation, configuration, linking and binding of components is all expressed in a simple template language that extends HTML. The approach has been implemented in a platform called Déjà Vu, which we outline and compare to conventional web application architectures. We describe a case study in which a collection of applications previously built as team projects for a web programming course were replicated in Déjà Vu. Preliminary results validate our hypothesis, suggesting that a variety of non-trivial applications can be built from a repository of generic concepts. 
    more » « less
  3. Flaky tests are a source of frustration and uncertainty for developers. In an educational environment, flaky tests can create doubts related to software behavior and student grades, especially when the grades depend on tests passing. NC State University's junior-level software engineering course models industrial practice through team-based development and testing of new features on a large electronic health record (EHR) system, iTrust2. Students are expected to maintain and supplement an extensive suite of UI tests using Selenium WebDriver. Team builds are run on the course's continuous integration (CI) infrastructure. Students report, and we confirm, that tests that pass on one build will inexplicably fail on the next, impacting productivity and confidence in code quality and the CI system. The goal of this work is to find and fix the sources of flaky tests in iTrust2. We analyze configurations of Selenium using different underlying web browsers and timeout strategies (waits) for both test stability and runtime performance. We also consider underlying hardware and operating systems. Our results show that HtmlUnit with Thread waits provides the lowest number of test failures and best runtime on poor-performing hardware. When given more resources (e.g., more memory and a faster CPU), Google Chrome with Angular waits is less flaky and faster than HtmlUnit, especially if the browser instance is not restarted between tests. The outcomes of this research are a more stable and substantially faster teaching application and a recommendation on how to configure Selenium for applications similar to iTrust2 that run in a CI environment. 
    more » « less
  4. null (Ed.)
    Providing students with authentic software development experiences is essential to preparing them for careers in industry. To that end, many undergraduate courses include a team-based software development experience in which each team works on a different software project. This raises significant challenges for assessing student work and measuring the impact of pedagogical interventions: What do we measure and how, when each team is working on a different project? To address this question, we present a collection of metrics developed using the Goal-Question-Metric framework from the empirical software engineering literature, and an empirical study in which we applied those metrics to assess 23 team software projects involving 94 students at three institutions. Study results suggest that these metrics, which gauge commit, issue, and overall product quality, are sensitive to differences in the quality of teams' processes and products. This work contributes a new metric-based approach to evaluating key aspects of software development processes and products in a wide variety of computing courses. 
    more » « less
  5. Managing large-scale projects in biomolecular visualization education presents unique challenges, especially when involving many contributors who generate resources over time. BioMolViz is a diverse group of faculty from multiple institutions promoting biomolecular visualization literacy, and our goal was to create a collaboratively designed repository of assessments to allow evaluation of students’ visual literacy skills. As we expanded our network and engaged large numbers of educators through online and in-person workshops and working groups, assessment ideas and revisions became challenging to organize. Our growing repository required a method to 1) track revisions, expert-panel reviews, and field-testing results, and 2) ultimately publish hundreds of visual literacy assessments. As we navigated this new space, we sought to streamline our approach, while continuing to engage valuable colleagues with varying levels of comfort with technology. Through collaboration tools, project management software, and a series of fits and starts, the internal team established a structured workflow that efficiently guided assessment items from development to public access. Project management software enabled effective collaboration across team members and ensured transparency and efficiency in tracking each item’s progress. We detail the trial-and-error process that enabled collaborative assessment design, our breakthrough in the identification of software that suited the project needs, and the process of guiding developers to create the repository we envisioned. Our workflow analysis offers a model for leveraging project management tools in similar educational contexts and optimizing database design. 
    more » « less