Related papers: Juppix: a Linux Live-CD for Undergraduate Students
The Libopt environment is both a methodology and a set of tools that can be used for testing, comparing, and profiling solvers on problems belonging to various collections. These collections can be heterogeneous in the sense that their…
This paper presents an overview of the "Applied Parallel Computing" course taught to final year Software Engineering undergraduate students in Spring 2014 at NUST, Pakistan. The main objective of the course was to introduce practical…
Distributed, large-scale quantum computing will need architectures that combine matter-based qubits with photonic links, but today's software stacks target either gate-based chips or linear-optical devices in isolation. We introduce Optyx,…
In this paper, we present the Quantum Information Software Developer Kit - Qiskit, for teaching quantum computing to undergraduate students, with basic knowledge of quantum mechanics postulates. We focus on presenting the construction of…
We have written a reference manual to use JUDE (Jayant's UVIT data Explorer) data pipeline software for processing and reducing the Ultraviolet Imaging Telescope (UVIT) Level~1 data into event lists and images -- Level~2 data. The JUDE…
This paper presents an approach to authoring a textbook titled Interactive OpenMP Programming with the assistance of Large Language Models (LLMs). The writing process utilized state-of-the-art LLMs, including Gemini Pro 1.5, Claude 3, and…
An ideal software system in computer graphics should be a combination of innovative ideas, solid software engineering and rapid development. However, in reality these requirements are seldom met simultaneously. In this paper, we present…
The state of numerical computing is currently characterized by a divide between highly efficient yet typically cumbersome low-level languages such as C, C++, and Fortran and highly expressive yet typically slow high-level languages such as…
We report a case study where an existing materials science course was modified to include numerical simulation projects on the micromagnetic behavior of materials. The Ubermag micromagnetic simulation software package is used in order to…
As computer systems become more and more complex, software and tools lag more and more behind. This is especially true for scientific software that often demands high performance, and thus needs to take advantage of parallelisms, memory…
Live coding for teaching-synchronously writing software in front of students-can be an effective method for engaging students and instilling practical programming skills. However, not all settings are conducive to live coding and not all…
JISA is a software library, written in Java, aimed at providing an easy, flexible and standardised means of creating experimental control software for physical sciences researchers. Specifically, with an emphasis on enabling measurement…
Interactivity, experimenting and performing laboratory practicals contribute much to the efficiency of natural science and engineering education. Computers represent a natural element for today's students, thus the use of computers in…
Live coding is a performance and creative technique based on improvised and interactive coding. Many recent endeavors have focused in live coding both because of aesthetics and as a way to alleviate performance drawbacks when the musical…
This report introduces Juno, a modular Python package for optical design and simulation. Juno consists of a complete library that includes a graphical user interface to design and visualise arbitrary optical elements, set up wave…
Software Development is a core second-year course currently offered to undergraduate students at Victoria University at its five local and international campuses. The project aims to redesign the existing course curriculum to support…
Recent advancements in parallel simulation and successful robotic applications are spurring a resurgence in sampling-based model predictive control. To build on this progress, however, the robotics community needs common tooling for…
Typically, even low-level operating system concepts, such as resource sharing strategies and predictability measures, are evaluated with Linux on PC hardware. This leaves a large gap to real industrial applications. Hence, the direct…
We present DataDeps.jl: a julia package for the reproducible handling of static datasets to enhance the repeatability of scripts used in the data and computational sciences. It is used to automate the data setup part of running software…
We introduce two new packages, Nemo and Hecke, written in the Julia programming language for computer algebra and number theory. We demonstrate that high performance generic algorithms can be implemented in Julia, without the need to resort…