Related papers: The BTeV Software Tutorial Suite
Quantum computing is a fascinating interdisciplinary research field that promises to revolutionize computing by efficiently solving previously intractable problems. Recent years have seen tremendous progress on both the experimental…
Developing embedded systems is a complex endeavor that frequently requires collaborative teamwork. With the rise of freelance work and the global shift towards remote work, the need for effective remote collaboration has become crucial for…
With limited time available in the classroom, e-learning tools can supplement in-class learning by providing opportunities for students to study and learn outside of class. Such tools can be especially helpful for students who lack adequate…
Quantum computing is getting increasing interest from both academia and industry, and the quantum software landscape has been growing rapidly. The quantum software stack comprises quantum programs, implementing algorithms, and platforms…
preCICE is a free/open-source coupling library. It enables creating partitioned multi-physics simulations by gluing together separate software packages. This paper summarizes the development efforts in preCICE of the past five years. During…
Upon release, ChatGPT3.5 shocked the software engineering community by its ability to generate answers to specialized questions about coding. Immediately, many educators wondered if it was possible to use the chatbot as a support tool that…
Numerical simulations are ubiquitous in mathematics and computational science. Several industrial and clinical applications entail modeling complex multiphysics systems that evolve over a variety of spatial and temporal scales. This study…
In this paper, we introduce an interactive simulator for programs in the form of LLVM bitcode. The main features of the simulator include precise control over thread scheduling, automatic checkpoints and reverse stepping, support for…
Quantum information science and engineering (QISE) is a rapidly developing field that leverages the skills of experts from many disciplines to utilize the potential of quantum systems in a variety of applications. It requires talent from a…
We are teachers who have benefited from the Open Source Physics (Brown, 2012; Christian, 2010; Esquembre, 2012) community's work and we would like to share some of the computer models and lesson packages that we have designed and…
This paper introduces pyRecLab, a software library written in C++ with Python bindings which allows to quickly train, test and develop recommender systems. Although there are several software libraries for this purpose, only a few let…
VeriFast is a prototype tool based on separation logic for modular verification of C and Java programs. We are in the process of adding support for C++. In this report, we describe the features of C++ for which we added support so far, as…
The CAVE-type virtual reality (VR) system was introduced for scientific visualization of large scale data in the plasma simulation community about a decade ago. Since then, we have been developing a VR visualization software, VFIVE, for…
Coyote C++ is an automated testing tool that uses a sophisticated concolic-execution-based approach to realize fully automated unit testing for C and C++. While concolic testing has proven effective for languages such as C and Java, tools…
Cloud computing is a ubiquitous solution to handle today's complex computing demands. However, it comes with data privacy concerns, as the cloud service provider has complete access to code and data running on their infrastructure. VM-based…
Quantum information science is a rapidly growing interdisciplinary field that is attracting the attention of academics and industry experts alike. It requires talent from a wide variety of traditional fields, including physics, engineering,…
How should software engineering be adapted for Computational Science (CS)? If we understood that, then we could better support software sustainability, verifiability, reproducibility, comprehension, and usability for CS community. For…
Scientific Computing relies on executing computer algorithms coded in some programming languages. Given a particular available hardware, algorithms speed is a crucial factor. There are many scientific computing environments used to code…
A working group on detector simulation was formed as part of the high-energy physics (HEP) Software Foundation's initiative to prepare a Community White Paper that describes the main software challenges and opportunities to be faced in the…
Graduate Teaching Assistants (GTAs) are key partners in the education of undergraduates. Given the potentially large impact GTAs can have on undergraduate student learning, it is important to provide them with appropriate preparation for…