O90 O1em m #3

[3]Bettina Just All authors contributed equally to this work.

1]Center of Finance, Cooperative State University of Baden-Württemberg (DHBW),
Stuttgart, Germany

2]Department of Computer Sciences and Microsystems Technology, University of
Applied Sciences Kaiserslautern, Germany

3]FB MNI, Technische Hochschule Mittelhessen (THM), Gießen, Germany

# Introducing Quantum Information and Computation to a Broader Audience with
MOOCs at OpenHPI

Gerhard Hellstern<EMAIL_ADDRESS>Jörg Hettel
<EMAIL_ADDRESS><EMAIL_ADDRESS>[  [  [

###### Abstract

Quantum computing is an exciting field with high disruptive potential, but
very difficult to access. For this reason, numerous concepts are being
developed worldwide on how quantum computing can be taught. This always raises
questions about the didactic concept, the content actually taught, and how to
measure the success of the teaching concept. In 2022 and 2023, the authors
gave a total of nine two-week MOOCs (massive open online courses) with
different possible learning paths on the Hasso Plattner Institute’s OpenHPI
platform. The platform’s purpose is to make computer science education
available to everyone free of charge. The nine quantum courses form a self-
contained curriculum. A total of 17157 course attendances have been taken by
7413 natural persons, and the number is still rising. This paper presents the
course concept and then evaluates the anonymized data on the background of the
participants, their behavior in the courses, and their learning success. In
the present paper for the first time such a large dataset of MOOC-based
quantum computing education is analyzed. The summarized results are a
heterogeneous personal background of the participants biased towards IT
professionals, a majority following the didactic recommendations, and a high
success rate, which is strongly correlatatd to following the didactic
recommendations. The amount of data from such a large group of quantum
computing learners offers numerous starting points for further research in the
field of quantum computing education.

###### keywords:

Quantum computing, quantum information, quantum algorithms, education, MOOC
(Massive Open Online Course), statistics, participant’s behavior

##  1 Introduction

Quantum technologies are considered to be one of the most important
technologies of the near future. Recently, the sub-area of quantum computing
and quantum communication has increasingly come into focus, see section 2 for
a brief glance at the literature. Many companies have launched initial
innovation projects in order not to miss out on these technologies. However, a
major problem is the lack of skilled workers, particularly in the field of
quantum computing. Universities have now set up relevant courses, but the
number of graduates will not meet the expected demand for specialists.
Politicians have recognized this and have launched various programs. The
Federal Ministry of Education and Research in Germany (BMBF) has therefore
initiated the ”Quantum Future of Education” funding measure for 2021. The aim
was to ”develop innovative, interdisciplinary concepts and programs for
education and training in quantum technologies”.

As part of this project, an innovative MOOC (Massive Open Online Courses)
curriculum on topics related to quantum computing was developed by the authors
of the present paper in cooperation with the Hasso Plattner Institute (HPI).
The curriculum consists of nine courses and is explicitly addressed at an
audience with little prior knowledge of the subject. The aim was to pick up
participants at their level of knowledge and use innovative didactic concepts
to convey a sound understanding of various areas of quantum computing. The
focus was not on quantum physics or mathematics but on applications of the
underlying concepts. As this was a BMBF project and was primarily aimed at a
German audience, the MOOC content is in German with an ongoing process of
English subtitles being added. The knowledge acquired in the MOOCs is intended
to serve as a starting point for further individual specialized professional
training.

To make it easier for participants to get started, they are offered various
learning paths. This allowes participants to put together an individual
learning profile depending on their previous knowledge and interests. Up to
January 2024, more than 7413 participants attended the MOOCs. The topic of
this paper is to analyze the learning behavior of these participants within
the MOOCs. Therefore, the following research questions are addressed:

RQ 1:

Did the MOOCs address a broader audience with different professional and
personal characteristics?

RQ 2:

Did the participants follow the given learning paths and other learning
recommendations?

RQ 3:

Were the desired competencies acquired by the participants in the courses, and
did using the recommended learning items contribute to the learning success?

This paper is organized as follows. Section 2 provides a brief (and
necessarily selective) overview of the enormous amount of literature on
quantum computing education. Section 3 presents the didactic concept of the
curriculum under consideration in this paper, as well as the course’s
contents. The content is also categorized with respect to the European
Competence Framework for Quantum Technologies [1]. Section 4 evaluates the
data collected by HPI during the courses with respect to the three research
questions mentioned above. In Section 5, based on the results of section 4, we
draw conclusions with respect to the research questions and point out topics
for further research.

##  2 Literature Review

While quantum technologies have recently gained prominence in educational
research, the investigation into quantum physics pedagogy is longstanding [2].
Bitzenbauer’s literature review spanning 2000 to 2021 encapsulates 1520 works
on this subject.

Research in imparting skills and competencies for quantum technologies has
primarily centered on university education, particularly Bachelor’s and
Master’s degree programs [3]. Aiello’s work discusses 18 programs dedicated to
training in quantum information science and engineering, emphasizing the
necessity for corresponding investments across various stakeholders.

A targeted approach to teaching quantum technology and computing at US
universities, especially within Historically Black Colleges and Universities
(HBCUs), have been noted [4]. Lee’s research addresses issues of Black
representation and workforce diversity in quantum information science and
engineering.

Bungum’s study focuses on developing a quantum course for master’s level
information technology students, drawing insights from participant interviews
[5]. Similarly, Stump’s analysis explores student difficulties and
misunderstandings regarding quantum topics [6].

An evaluation of interdisciplinary approaches to teaching quantum information
science is detailed in Meyer’s work, highlighting the influence of instructors
and the need for diverse perspectives [7]. The presentation of a 1D quantum
simulation and visualization tool by Zaman Ahmed aims to enhance understanding
of quantum phenomena from the students’ perspective [8].

Delgado’s examination of the effects of the COVID-19 pandemic on quantum
information science education underscores the evolving landscape of online
teaching modalities [9]. Lastly, Hasanovic’s account of the NSF-funded
EdQuantum project highlights efforts to develop a curriculum for future
quantum technicians [10].

In contrast to tertiary education, there has been a scant focus on elementary
and secondary schools in the realm of educational research on quantum topics.
Noteworthy among the few exceptions is the work by Bondani et al. [11]. This
study is conducted within the European QTEdu CSA project, a component of the
”Quantum Technologies” flagship, wherein courses on quantum physics and the
application of quantum technologies are devised, implemented, and evaluated
among approximately 250 students. Freericks et al. [12] already 2017 developed
MOOCs for teaching quantum mechanics to over 28.000 non-scientists.

The training imparted in both school and university settings on quantum
technologies ultimately aims to address the anticipated global demand for
skilled professionals in these domains. This foreseen need is compellingly
expounded upon by Venegas-Gomez and Plunkett [13, 14].

Several works specifically tackle the imperative of cultivating a requisite
national and international workforce in quantum domains. Fox et al. [15]
conclude that the commercialization of quantum technologies necessitates an
adequately trained workforce, drawing insights from a qualitative study
involving 21 US companies. Asfaw et al. [16] chart a roadmap for developing a
commensurate workforce through the establishment of a quantum engineering
education program, informed by a survey of 480 researchers across US
universities, government agencies, industry, and research laboratories.

Although the aforementioned studies primarily center on the US landscape works
such as those by Gerke et al. [17], Greinert et al. [18, 1], contribute to the
formulation and presentation of a European competence framework. This
framework underpins the development of training programs aimed at nurturing
the future quantum workforce. Such initiatives are integral to the European
Flagship project QTEdu, which seeks to establish a framework for second-
generation quantum technologies.

The education and training of specialists in quantum technologies necessitate
broader dissemination of these subjects in academic institutions alone.
Engagement with individuals already employed in companies is imperative.
Additionally, initiatives must cater to students and schoolchildren lacking
adequate educational provisions thus far.

Quantum-related online courses were introduced at the European Research Center
CERN in 2020, as evaluated in Combarro’s report [19], which examines
participant demographics and course outreach.

Maldonado-Romo’s study reports on a Spanish-language quantum online event
featuring introductory workshops and hackathons, engaging 220 participants
from Latin America, with two-thirds being beginners [20].

The integrated approach presented in the present paper, which encompasses
fundamental quantum concepts, quantum computing, and quantum cryptography, is
echoed in Aithal’s work [21]. Notably, Aithal underscores synergies among
various topics within the realm of Information, Communication, and Computing
Technologies (ICCT).

##  3 The OpenHPI Quantum Channel and the curriculum on Quantum Computing

Since 2012, the Hasso Plattner Institute (HPI) operates the online educational
platform OpenHPI (https://open.hpi.de). The platform offers free access to
MOOCs in the field of information technology. A MOOC at OpenHPI consists
usually of around 20 concise videos (approximately 10-15 minutes each), 10
self-tests to assess participant learning progress, and one final examination
test. Each course is conducted within a specified timeframe. Participants can
repeat self-tests as needed, but the final exam can only be taken once online
at the end of the time frame. The time frame is usually two weeks since
studies in the literature supported the determination that a two-week module
with integrated self-tests and a final exam is optimal [22].

Throughout the course’s timeframe, participants can engage in discussions and
pose questions within a forum moderated by the instructor. Answers to
questions and comments are usually provided within one day. A course can be
completed in two ways. If participants have accessed more than 50% of the
items (videos, self-tests, additional material), they receive a certificate of
attendance. If participants have more than 50% of the points achieved in the
final examination, they receive a qualification certificate.

Even after the MOOCs have ended, the courses are still available to new
interested parties. However, the forums are closed, and the final exam cannot
be taken anymore. The videos can now be viewed on the platform without
registering. However, registered participants can access the self-test and old
forum entries. Participants can still complete the course successfully by
accessing 50 % or more of the items. Then they will also receive a certificate
of attendance.

In the present paper, a distinction between so-called course learners and
self-learners is made. Course learners attend the course during the time-frame
and are able to interact with the course instructor and fellow students. Self-
learners register for the course after the ending of the time-frame. They can
only attend the course in a non-interactive way.

In 2022, a dedicated channel for quantum computing was established on OpenHPI
(https://open.hpi.de/channels/quantum). The channel features 15 MOOCs
addressing various aspects of quantum computing. The kernel is a curriculum of
nine interconnected and thematically coordinated modules, developed by the
authors of the present paper from June 2022 to July 2023. They consist of
three introduction courses, three courses about cryptography, and three
courses about algorithms and programming. The last two courses, Algo 2 and
Algo 3, were merged into one course for practical reasons. Concurrently, six
additional quantum MOOCs were developed as specialized, independent courses.
These courses cover diverse topics such as quantum computing for school
pupils, a general introduction to Qiskit, or advanced topics like simulating
quantum systems (Quantum Computing for Natural Sciences). The present paper
discusses and evaluates the curriculum of the nine interconnected quantum
MOOCs forming the kernel of the channel.

###  3.1 Didactic Concept

The didactic concept aimes to give participants with no prior knowledge of
mathematics or physics a sound introduction to quantum information. The broad
field is structured by self-contained learning paths so that participants can
set their own priorities and not have to deal with topics outside their area
of interest. In the end they are able to use the acquired knowledge to face
the quantum computing topics occurring in their proper professional practice.
This leads to a structure of nine courses. These courses are categorized into
three sections: three introductory modules (Intro 1, Intro 2, and Intro 3),
three modules focusing on quantum cryptography (Crypto 1, Crypto 2, and Crypto
3), and three modules on quantum algorithms (Algo 1, Algo 2, and Algo 3). The
modular structure allows participants to customize their learning paths based
on their interests and pre-existing knowledge. The learning paths are
illustrated in figure 1.

Figure 1: Structure of the curriculum with nine courses and self-contained
learning paths.

In designing the individual courses, the authors drew on their experience of
teaching at Universities of Applied Sciences. The aim here is always to assume
as little prior knowledge as possible, minimize the theoretical background,
use graphical representations, and activate the participants through
integrated exercises. Repetitions of the same topic in different courses from
different perspectives are also intentionally included to deepen the
participants’ understanding.

In the introductory modules, the ”quantum cube” is used throughout to
illustrate quantum register states and the effect of quantum gates. This model
was developed by Just [23, 24] and since then has been studied and used as an
intuitive tool for visualizing quantum entanglement and quantum computation
[25, 26, 27]. The quantum cube represents the state of an n-qubit register by
providing one dimension in n-dimensional Euclidean space to each qubit. It
then utilizes the standard n-dimensional cube with corners $(0,...,0)$ up to
$(1,...,1)$. For a given register state, it places the amplitudes of the basis
states (in any suitable representation of numbers, i.e. digits, arrows,
squares, cubes or circles) at the corresponding corners of the n-dimensional
cube. The application of quantum gates to a quantum register can then be
visualized as a swapping, rotation, or mixing of the numbers at the corners of
the cube. Espescially for dimensions up to 4, quantum entanglement and quantum
algorithms can be impressively demonstrated visually, without any prior
knowledge of linear algebra. The first two introductory courses use the
quantum cube to illustrate simple quantum algorithms like the teleportation
algorithm, which as was already published before. In the third introductory
course, the cube model is applied for the first time to the advanced issues of
quantum oracles and quantum phase kickback. This serves not only to make it
easy to understand for the participants but also to demonstrate that the cube
model can be applied for visualizing abstract algorithmic concepts [28].
The focus on quantum cryptography and quantum algorithms use Qiskit [29] to
provide easy, hands-on access for the participants. The code is made available
to the participants, so they can also experiment independently of the course.
The quantum cryptography series of modules largely dispenses with formal
mathematical formulations and uses many examples to illustrate the concepts
and mechanisms. For example, simulation examples and graphical diagrams
demonstrate entanglement swapping and purification very well.
In the algorithmic course series, the focus is on the practical implementation
and less on analytical investigations of the algorithms. Access to the quantum
algorithms via programming has the advantage that complex calculations can be
omitted and a strong emphasis can be placed on demonstrations.
In addition to the MOOCs, twenty participants were selected by the HPI to
participate in a workshop associated with the courses. The workshop was guided
by members of the HPI Academy and the authors of the present paper. It used
the design thinking method (for further information see e.g. [30]) and aimed
to develop tangible applications of quantum technologies. The workshop took
the style of a business game. A fictitious company had to be made ”quantum-
ready” by the participants. There were no limits to the imagination. Since
only a few selected participants could attend the workshop, its evaluation is
not the topic of the present paper.

###  3.2 Module Content

The biggest challenge for the content design of the courses was the different
and heterogeneous prior knowledge of the participants. As the courses are
aimed at a broad audience, only minimal mathematical and physical knowledge
could be required. On the other hand, the aim of the course series was for
participants to have a deeper understanding and overview of current topics
after successfully completing the curriculum. The bridge between minimal prior
knowledge and deeper understanding at the end of the curriculum was built by
choosing the contents of the courses as follows.

In the introductory module series, the first module (Intro 1) introduces
logical qubits, the elementary gates X, Z, H, and CNOT, and the gate model for
the description of algorithms. Since the cube model for illustration [23, 24]
is used, this very quickly familiarized the participants with quantum
phenomena known from the press such as superposition and entanglement. In the
second course (Intro 2), the algorithm for teleportation is presented. Then
elementary mathematical description tools ($2^{n}\times 2^{n}$-matrices, the
operations of matrix multiplication and tensoring, and complex numbers) are
introduced. Formal definitions are deliberately omitted. The focus is on
examples and applications to give the participants an intuitive understanding
of the concepts. The third module (Intro 3) deals with quantum oracles and the
phenomenon of phase kickback, again taking advantage of the quantum cube for
visualizing abstract algorithmic concepts. These two concepts form the basis
of many classical quantum algorithms. A brief excursion into adiabatic quantum
computing concludes the introductory module series.

In the module series on quantum cryptography, the first module (Crypto 1)
explains elementary concepts from classical cryptography using examples. The
somewhat inaccessible terms computationally secure and perfectly secure are
also introduced. It is shown how quantum computers attack common asymmetric
encryption methods. The BB84 key exchange protocol [31] is discussed in detail
(including simple error correction and privacy amplification)) and its
physical implementation and attack possibilities are explained. In the second
module (Crypto 2) the central topic is the property of entangled quantum
systems (in particular bipartite systems, Schmidt decomposition, partial
trace) and the key exchange protocol derived from this. Instead of
mathematical calculations, simulations with Qiskit [29] or quantum games
(CHSH-Inequality) [32, 33] are used. The ideas on the security proofs of the
protocols are also explained. The third module (Crypto 3) discusses the
concept of a quantum internet and the associated technological challenges
(repeaters and error correction).

In the first module of the series on quantum algorithms and programming (Algo
1), the implementation of the gate model with Qiskit [29] is presented. The
classic quantum algorithms [34] such as teleportation, Deutsch’s algorithm,
Deutsch-Jozsa’s algorithm, and Grover’s algorithm are presented using Qiskit.
The Qiskit code is made available to the participants so that they can try out
the algorithms on their computers. In the second module (Algo 2), somewhat
more sophisticated algorithms such as the quantum Fourier transform, the Shor
algorithm [35] and the HHL algorithm [36] are explained step by step using
example implementations. The third part (Algo 3) deals with current NISQ
algorithms [37], which can also run on existing error-prone hardware. In
addition to Monte Carlo simulations, VQE and QAOA for solving optimization
problems and algorithms see e.g. [38].

###  3.3 Mapping to Quantum Competencies

The three tables 1, 2 and 3 show which course teaches which competence up to
which level, with the domains of possible knowledge and skills taken from the
European Competence Framework for Quantum Technologies [1].

It can be seen that the curriculum covers a wide range of quantum information
technology skills, mostly at level A1 of the European Competence Framework,
and sometimes at level A2. This is in line with the aim of not assuming any
prior knowledge, while still enabling participants to deepen their knowledge
according to their needs and prior knowledge.

Table 1: Competence category: Concepts and Foundation |  Intro 1 |  Intro 2 |  Intro 3 |  Crypto 1 |  Crypto 2 |  Crypto 3 |  Algo 1 |  Algo 2/3
---|---|---|---|---|---|---|---|---
Basic Quantum concepts |  |  |  |  |  |  |  |
| Superposition, Interference | A1 | – | – | A1 | – | – | A1 | –
| Unitary time evolution, Schrödinger equation | – | A1 | A1 | – | – | – | A1 | –
| Quantum measurement |  |  |  |  |  |  |  |
|  | Probabilistic nature of quantum physics | A1 | – | – | A1 | – | – | A1 | –
|  | No cloning theorem, etc. | – | – | – | A1 | – | – | – | –
| Two state systems |  |  |  |  |  |  |  |
|  | State representation, visualisation | A1 | A1 | A2 | A1 | A2 | – | A1 | –
| Pure and mixed quantum states | – | – | – | – | A1 | – | – | –
Mathematical formalism and information theory |  |  |  |  |  |  |  |
| Mathematical foundations |  |  |  |  |  |  |  |
|  | Linear algebra, functional analysis | – | A1 | – | A1 | – | – | A1 | –
| State space, Dirac notations | A1 | – | – | A1 | A1 | – | – | –
Table 2: Competence category: Quantum communication and networks |  Intro 1 |  Intro 2 |  Intro 3 |  Crypto 1 |  Crypto 2 |  Crypto 3 |  Algo 1 |  Algo 2/3
---|---|---|---|---|---|---|---|---
Basics |  |  |  |  |  |  |  |
|  Conventional and PQC, combined cryptographic approaches | – | – | – | A1 | A1 | – | – | –
|  Quantum teleportation, Bell state measurement | – | A1 | – | – | A1 | – | – | –
|  Security proof, side-channel-attacks | – | – | – | – | A1 | – | – | –
Quantum random number generators |  |  |  |  |  |  |  |
|  Secure keys, e.g. for QKD | A1 | – | – | A1 | A1 | – | – | –
|  Random numbers for algorithms, e.g. online gambling | A1 | – | – | – | – | – | – | –
Quantum key distribution QKD |  |  |  |  |  |  |  |
|  QKD basic protocols, e.g. BB84, B92, E91 | – | – | – | A1 | A2 | – | – | –
|  Measurement-device independent QKD and device independent QKD | – | – | – | – | A1 | – | – | –
|  Quantum key management systems, QKD modules | – | – | – | – | – | A1 | – | –
Applications of quantum cryptography |  |  |  |  |  |  |  |
|  Secure access to cloud-based quantum computing, delegated quantum computing | – | – | – | – | – | A1 | – | –
Quantum internet |  |  |  |  |  |  |  |
|  Quantum network nodes, memories and switches | – | – | – | – | – | A1 | – | –
|  Quantum repeaters, entanglement swapping, entanglement purification | – | – | – | – | A1 | A1 | – | –
|  Free-space communication | – | – | – | A1 | – | – | – | –
Quantum internet applications) |  |  |  |  |  |  |  |
|  Full quantum communication network, QKD trusted node networks (secure data transfer) | – | – | – | – | – | A1 | – | –
Table 3: Competence category: Quantum Computing and Simulation |  Intro 1 |  Intro 2 |  Intro 3 |  Crypto 1 |  Crypto 2 |  Crypto 3 |  Algo 1 |  Algo 2/3
---|---|---|---|---|---|---|---|---
Basics |  |  |  |  |  |  |  |
|  Qubits, quantum gates, … | A1 | – | A2 | – | – | – | A1 | A2
|  Circuit design, notation, matrix representation | A1 | A1 | – | – | – | – | A1 | A2
|  Basic quantum programming techniques | – | A1 | – | – | – | – | A1 | A2
Quantum simulators |  |  |  |  |  |  |  |
|  Quantum annealers | – | – | A1 | – | – | – | – | –
Quantum programming tools , error correction |  |  |  |  |  |  |  |
|  Quantum assembler languages and software development kits, quantum circuit simulation | – | – | – | – | – | – | A1 | A2
|  Quantum compilers,high-level programming with pre-defined subroutines | – | – | – | – | – | – | – | A2
|  Cloud platforms | – | – | – | – | – | – | A1 | A2
|  Quantum error correction | – | – | – | – | – | A1 | – | –
Quantum computing subroutines |  |  |  |  |  |  |  |
|  Quantum amplitude amplification | – | – | – | – | – | – | – | A2
|  QFT, hidden subgroup finding | – | – | – | – | – | – | – | A1
|  Quantum phase estimation | – | – | A1 | – | – | – | – | A2
|  Quantum linear algebra subroutines, quantum singular value decomposition | – | – | – | – | – | – | – | A1
Quantum algorithms |  |  |  |  |  |  |  |
|  Numer theory and factorisation | – | – | – | – | – | – | – | A1
|  Oracular algorithms and database search | – | – | A1 | – | – | – | A1 | A2
|  Linear algebra (e.g. HHL-algorithm) | – | – | – | – | – | – | – | A1
|  Quantum optimisation | – | – | – | – | – | – | – | A1
|  Quantum machine learning, quantum neural networks | – | – | – | – | – | – | – | A1
|  Quantum simulation algorithms | – | – | – | – | – | – | – | A1
|  NISQ-Algorithms, VQE, QAOA | – | – | – | – | – | – | – | A1
Application of quantum computing |  |  |  |  |  |  |  |
|  Data security and cryptography | – | – | – | – | A1 | A1 | – | –

##  4 Evaluation of the data collected

To analyze the field of participants and the success of the courses, the
anonymized participant data provided by HPI is used. These data consist of two
types of data sets:

Dataset 1:

Once registered at OpenHPI, a pseudo ID is assigned to each participant, which
is the same for all courses attended. Now for each course enrolment, there is
an automatically generated data record with the pseudo ID, the date of
enrolment in the course, and information on the number of course items taken
(i.e. videos, self-test, and final exam), the number of posts in the forum and
the success in the final exam, if this was taken. Information on the age of
the participant is also sometimes included if disclosed by the participant.

Dataset 2:

In addition, when registering for a course, each participant is asked to take
part in a questionnaire on their personal background. This includes questions
about gender, current professional activity, and previous education.
Participation in this survey is anonymous and voluntary.

Across all courses in the curriculum under consideration, there are till
January 2024 a total of 17157 course attendances of 7413 distinct
participants. Among those 6232 participants were already registered on
OpenHPI; 1181 created a new account on the same day they enrolled in their
first course.

###  4.1 RQ 1: Did the MOOCs address a broader audience with different
professional and personal characteristics?

In this section, the personal and professional background of the participants
is analyzed. The information provided voluntarily by the participants is used
for this purpose. Thus, the information relates to about 5700 of 17147
registrations, and participants who attended several courses may have answered
more than once. Nevertheless, the analyses provide good indications of the
spectrum of participants present and of frequently occurring characteristics.
The following criteria are analyzed:

  * -

age (Dataset 1)

  * -

gender (Dataset 2)

  * -

status of employment (i.e. student, employee, pensioner) (Dataset 2)

  * -

professional area (i.e. IT, administration, education) (Dataset 2)

  * -

highest educational qualification (Dataset 2)

It turns out that the typical participant in a course is between 50 and 59
years old, male, employed in IT, and has a diploma or master’s degree. These
characteristics are mentioned in between 30% and 80% of registrations. But
often there is a wide variety of answers for the non-typical participants. The
courses were therefore also attended by hundreds to thousands of participants
who are female, do not work in IT, or do not have a university degree.

Figures (2) - (6) provide detailed information: In Figure (2) we show the
distribution of age groups over all participants, without double countings of
participants. Unfortunately, the majority (4747 participants) did not disclose
their age. Of those who revealed their age, a majority of participants are in
the 50-59 age group.

Figure 2: Distribution of age groups over all participants. Participants in
the survey: 2732

Figure (4) shows the distribution of genders. At over 80%, the proportion of
men is even higher than is typically observed in STEM subjects, where the
proportion of men is regularly around 2/3.

Figures (4) - (6) reveal information about professional characteristics. Over
60% of survey participants described their employment status as employed,
followed by retired people (approx. 17%) and students at universities and
others (approx. 7% each). Unsurprisingly, around 58% of participants
categorize themselves in the IT sector, followed by other (around 16%),
education (around 14%), and engineering (around 12%). However, it was also
possible to reach people from administration and marketing/sales. In terms of
professional qualifications, the MA degree dominates with approx. 54%,
followed by a Bachelor’s degree (approx. 18%) and a doctorate (approx. 17%).
Around 15% of respondents stated that they had a non-academic professional
qualification.

Figure 3: Distribution of different genders. Registrations in the survey: 5767

Figure 4: Staus of Employment. Registrations in the survey: 5652

Figure 5: Professional Area of the participants. Registrations in the survey:
5303

Figure 6: Professionl qualification. Registrations in the survey: 5331

###  4.2 RQ 2: Did the participants follow given learning paths and other
learning recommendations?

In this section, we look at the learning behavior of the participants. The
data basis is the automatically generated, anonymized data records, i.e. there
is a complete data basis without double counting (Dataset 1). A data record
refers to one participant in a course, with each participant having an
unchanging pseudo ID across all courses. The following criteria are analyzed:

  * -

Number of course registrations per participant

  * -

Number of course registrations per course

  * -

Items visited per participant and course

  * -

Number of registrations per learning path

It turns out that many participants specifically selected one or a few courses
and did not decide to complete the entire program with all the courses.

Among the courses, the number of enrolments for Intro 1 is the highest,
followed by Intro 2, Crypto 1, and Algo1. The number of participants then
decreases within the three areas. This order of enrolments also holds for the
two subgroups here considered separately, namely enrolments during the course
and enrolments for self-study after the course was finished.

When analyzing the items attended per course, after deducting the no-shows who
were only enrolled and did not attend any items at all, the largest group of
participants attended 75% to 100% of the items. The second largest group only
attended less than 25% of the items. It turns out that only a small percentage
of participants visited an average number of items between 26% and 75%.

When analyzing the learning paths, only participants who attended at least 25%
of the items in the courses are considered, as only here can the effect of the
didactic concept unfold. It turns out that the majority of these participants
followed the recommended learning paths.

Figures (7) - (10) show the details. Figure (7) shows that many participants
specifically selected one or a few courses and did not decide to complete the
entire program with all courses. The number of participants attending one
course, two courses, .., nine courses can be seen.

Figure 7: Number of participants taken one, two, …, nine courses.

Figure (8) shows the registrations per course. Summed up over all nine
courses, there are 17157 registrations until January 2024. 12468 are course
learners and 4689 are self-learners. The courses continue to be open for self-
learners, so the number of self-learners is still increasing.

Figure 8: Registrations per course, subdivided to course learners and self-
lerners.

Figure (9) displays for each course initially how many participants visited
how many items. Participants are divided into 5 groups: the no-shows
(participants who registered but did not visit any course item), and then the
4 groups of participants who visited between 1% and 25%, between 26% and 50%,
between 51% and 75%, and more than 75% of the items. In all courses, the
middle participant groups, those with shares between 26% and 75%, were by far
the smallest groups. The other groups are roughly equal in size, with
variations between individual courses.

Figure 9: Number of participants using percentage of the items.

Figure (10 ) shows which participants took which learning paths. Here, only
course participations with at least 25% of visited items are considered, these
are 2036 participants. The most visited learning path consists of the course
Intro 1 only, with 720 participants. This is followed by the learning path
Intro 1 and Crypto 1 with 316 participants, and then the learning path with
all courses with 119 participants. Only in exceptional cases course selections
outside of the recommended learning paths were made.

Figure 10: The 16 most frequently used learning paths embedded to the
untranslated German curriculum.

###  4.3 RQ 3: Were the desired competencies acquired by the course
participants, and did using the recommended learning items contribute to the
learning success?

To check the success of course participation, we split the 17157 data records
into 12468 data records from course learners (CLs) and 4689 data records from
self-learners (SLs). The distinction between course learners and self-learners
was made in the data records based on the enrolment date for the course.

Course learners used the same learning items as self-learners, except that
they also had the opportunity to exchange ideas and ask questions in the
forum. They also took a final exam.

The learning success of course learners is derived from the result of the
final examination. This is passed if 50% of the questions are answered
correctly.
It can be seen that of the 12468 course learners, 4550 are no-shows, 3145 did
not reach the 50% items threshold and 4773 successfully completed the course.
This corresponds to 38% of all course learners.

Figure (11) shows the correlation between the learning success (proportion of
the total score achieved including the final exam) and the proportion of the
learning items attended. While only a few participants achieved a high overall
score despite having attended fewer learning items, the majority showed a
clear positive correlation between the two variables. A simple linear
regression model of the score achieved with the explanatory variable
proportion of items visited achieves an $R^{2}=0.27$. This underlines the
significance of the learning materials visited for course success.

Figure 11: Points percentage (=total score) of the course learners vs.
percentage of items visited.

In Fig(13) we show that the mean of the number of items visited is
significantly larger for the top performers of the courses (top 5%, top 10%
and top 20% of the participants) compared with the remaining participants.
Here ”topx” means that a participant has achieved one of the x highest
percentage results (i.e. the result of a top 5 performer is not necessarily
better than that of 95% of the field of participants). The top performers
visited more than 92% of the items on average.

Figure 12: Number of participants achieving points percentage of the final
examination.

It can be seen that of the 4689 self-learners, 1369 were no-shows, 2181 did
not visit 50% of the items and 1139 finished the course with success, so
roughly a portion of 24% of the participants starting the course completed it
with a certificate of attendance.

Figure 13: Percentage of the items by Top Performers (Top 5, Top10, Top 20)
and the other course-learners.

Fig(14) gives an overview and the details on course registrations for course
learners and self-learners, the no-shows, the unsuccessful, and the successful
participants. Across all courses and participants, 5912 completed the course;
in 11245 cases the courses were not completed. It should be noted here that
individual participants are counted separately in each course they attended.

Figure 14: Divided between course and self-learners the number of no-shows,
unsuccessful, and successful participants are displayed.

##  5 Conclusions and topics for further research

In the previous section, we analyzed the participant’s data and the data of
their learning behavior in the core courses on quantum computing on the
OpenHPI platform that took place in the period from June 2022 to July 2023.
This provides answers to the following research questions

RQ 1:

Did the MOOCs address a broader audience with different professional and
personal characteristics?

RQ 2:

Did the participants follow the given learning paths and other learning
recommendations?

RQ 3:

Were the desired competencies acquired by the participants in the courses, and
did using the recommended learning items contribute to the learning success?

It should be emphasized once again that all data included in the analyses is
anonymized so that no conclusions can be drawn about individual participants.

RQ1:  Our analyses show that a broad audience attended the quantum MOOCs. All
age groups were represented, with the majority being over forty. Most
participants had an IT background, but participants from non-technical
professions are also a considerable part of the audience. The majority of
participants has a university degree. As is often the case in technical and
scientific fields, male participants also predominated in our courses. The
analyses show that people not directly associated with a university are also
interested in quantum computing. A broader audience with different
professional and personal characteristics could therefore be addressed.

RQ2:  As the field of quantum computing is very broad, various learning paths
were suggested to the participants. With the MOOC platform’s help, the
participants’ learning behavior could be tracked in detail. The analyses show
that the recommended learning paths were often followed. Most participants
attended an introductory course in each subject area (Intro 1, Crypto 1, Algo
1). Depending on their interests, they remained loyal to the topic and
completed more advanced courses. A not inconsiderable number of participants
also attended courses on several topics. More than 140 people completed all
nine core MOOCs. The data shows that the recommenadtion of learning paths was
highly accepted. Thus, there seems to be evidence that it is imporatant to
suggest learning paths to participants for better orientation when dealing
with complex topics.

RQ3:  The generally recognized European Reference Framework for Quantum
Technologies was used to select material. All content taught and tested in the
examinations could be assigned to categories in the reference framework. Over
80% of exam participants passed the final exam, 50% even with a good to
excellent result. It also shows that the success rate correlates with the
number of learning materials consumed (videos, self-study tests, forum
discussions). It can be stated that the learning elements provided by the MOOC
platform are sufficient to teach participants the necessary skills.

In conclusion, one can say that the quantum MOOCs at OpenHPI were a big
success and up to January 2024 reached more than 7400 participants from
different age and professional groups. The MOOCs help to bring the topic of
quantum computing closer to a broad audience outside of universities and
research departments. Therefore, the topic has reached a broader audience.

In addition to the results discussed in the present paper, further research
questions can be investigated based on the available data. It would be
interesting to see, how exactly the participants worked with the video
tutorials. For example, were the videos paused in between to better understand
complicated details? Did the sometimes detailed discussions in the forum
motivate the participants to engage with the topic? Another interesting
question could deal with possible specific learning differences between male
and female participants. More generally, the learning behavior of different
subgroups could be analyzed in relation to age, professional situation, or
educational attainment. Since the amount of data is large, the subgroups
usually consist of hundreds of participants with respect to various
characteristics, so that statistical analyses are meaningful.

Acknowledgements We would like to thank the Hasso-Plattner-Institut für
Digital Engineering gGmbH and in particular Christoph Meinel and Martin van
Elten for providing the data on which this study is based.

## Declarations

  * •

Funding: The work of Gerhard Hellstern is partly funded by the Ministry of
Economic Affairs, Labour and Tourism Baden-Württemberg in the frame of the
Competence Center Quantum Computing Baden-Württemberg (project ‘QORA II’).

  * •

Conflict of interest/Competing interests: The authors have no relevant
financial or non-financial interests to disclose.

  * •

Ethics approval and consent to participate: Not applicable.

  * •

Consent for publication: Not applicable.

  * •

Data availability: The data that support the findings of this study are
available upon reasonable request.

  * •

Materials availability: Not applicable.

  * •

Code availability: Not applicable.

  * •

Author contribution: The authors contributed equally to the paper. All authors
read and approved the final manuscript.

## References

  *   * Greinert et al. [2023] Greinert, F., Müller, R., Goorney, S., Sherson, J., Ubben, M.S.: Towards a quantum ready workforce: the updated european competence framework for quantum technologies. Frontiers in Quantum Science and Technology 2 (2023) https://doi.org/10.3389/frqst.2023.1225733
  * Bitzenbauer [2021] Bitzenbauer, P.: Quantum physics education research over the last two decades: A bibliometric analysis. Education Sciences 11(11) (2021) https://doi.org/10.3390/educsci11110699
  * Aiello et al. [2021] Aiello, C.D., Awschalom, D.D., Bernien, H., Brower, T., Brown, K.R., Brun, T.A., Caram, J.R., Chitambar, E., Felice, R.D., Edmonds, K.M., Fox, M.F.J., Haas, S., Holleitner, A.W., Hudson, E.R., Hunt, J.H., Joynt, R., Koziol, S., Larsen, M., Lewandowski, H.J., McClure, D.T., Palsberg, J., Passante, G., Pudenz, K.L., Richardson, C.J.K., Rosenberg, J.L., Ross, R.S., Saffman, M., Singh, M., Steuerman, D.W., Stark, C., Thijssen, J., Vamivakas, A.N., Whitfield, J.D., Zwickl, B.M.: Achieving a quantum smart workforce. Quantum Science and Technology 6(3), 030501 (2021) https://doi.org/10.1088/2058-9565/abfa64
  * Lee and Searles [2021] Lee, K.B., Searles, T.: Ibm-hbcu quantum center: A model for industry-academic partnerships to advance the creation of a diverse, quantum aware workforce. In: 2021 IEEE International Conference on Quantum Computing and Engineering (QCE), pp. 392–396 (2021). https://doi.org/10.1109/QCE52317.2021.00059
  * [5] Bungum, B., Selstø, S.: What do quantum computing students need to know about quantum physics? European Journal of Physics 43(5) https://doi.org/10.1088/1361-6404/ac7e8a
  * Stump et al. [2023] Stump, E.M., Dew, M., Passante, G., Holmes, N.G.: Context affects student thinking about sources of uncertainty in classical and quantum mechanics. Phys. Rev. Phys. Educ. Res. 19, 020157 (2023) https://doi.org/10.1103/PhysRevPhysEducRes.19.020157
  * Meyer et al. [2022] Meyer, J.C., Passante, G., Pollock, S.J., Wilcox, B.R.: Today’s interdisciplinary quantum information classroom: Themes from a survey of quantum information science instructors. Phys. Rev. Phys. Educ. Res. 18, 010150 (2022) https://doi.org/10.1103/PhysRevPhysEducRes.18.010150
  * Ahmed et al. [2022] Ahmed, S.Z., Weidner, C.A., Jensen, J.H.M., Sherson, J.F., Lewandowski, H.J.: Student use of a quantum simulation and visualization tool. European Journal of Physics 43(6), 065703 (2022) https://doi.org/10.1088/1361-6404/ac93c7
  * Delgado [2023] Delgado, F.: Extending learning and collaboration in quantum information with internet support: A future perspective on research education beyond boundaries, limitations, and frontiers. Future Internet 15(5) (2023) https://doi.org/10.3390/fi15050160
  * Hasanovic [2023] Hasanovic, M.: Quantum education: How to teach a subject that nobody fully understands. Seventeenth Conference on Education and Training in Optics and Photonics: ETOP 2023, 1272331 (2023) https://doi.org/10.1117/12.2670468
  * Bondani et al. [2022] Bondani, M., Chiofalo, M.L., Ercolessi, E., Macchiavello, C., Malgieri, M., Michelini, M., Mishina, O., Onorato, P., Pallotta, F., Satanassi, S., Stefanel, A., Sutrini, C., Testa, I., Zuccarini, G.: Introducing quantum technologies at secondary school level: Challenges and potential impact of an online extracurricular course. Physics 4(4), 1150–1167 (2022) https://doi.org/10.3390/physics4040075
  * Freericks et al. [2019] Freericks, J.K., Cutler, D., Kruse, A., Vieira, L.B.: Teaching Quantum Mechanics to Over 28,000 Nonscientists. The Physics Teacher 57(5), 326–329 (2019) https://doi.org/10.1119/1.5098924
  * [13] Araceli, V.-G.: The quantum ecosystem and its future workforce. Photonic Views 17(6), 34–38 https://doi.org/10.1002/phvs.202000044
  * Plunkett et al. [2020] Plunkett, T., Frantz, T.L., Khatri, H., Rajendran, P., Midha, S.: A survey of educational efforts to accelerate a growing quantum workforce. In: 2020 IEEE International Conference on Quantum Computing and Engineering (QCE), pp. 330–336 (2020). https://doi.org/10.1109/QCE49297.2020.00048
  * Fox et al. [2020] Fox, M.F.J., Zwickl, B.M., Lewandowski, H.J.: Preparing for the quantum revolution: What is the role of higher education? Phys. Rev. Phys. Educ. Res. 16, 020131 (2020) https://doi.org/10.1103/PhysRevPhysEducRes.16.020131
  * Asfaw et al. [2022] Asfaw, A., Blais, A., Brown, K.R., Candelaria, J., Cantwell, C., Carr, L.D., Combes, J., Debroy, D.M., Donohue, J.M., Economou, S.E., Edwards, E., Fox, M.F.J., Girvin, S.M., Ho, A., Hurst, H.M., Jacob, Z., Johnson, B.R., Johnston-Halperin, E., Joynt, R., Kapit, E., Klein-Seetharaman, J., Laforest, M., Lewandowski, H.J., Lynn, T.W., McRae, C.R.H., Merzbacher, C., Michalakis, S., Narang, P., Oliver, W.D., Palsberg, J., Pappas, D.P., Raymer, M.G., Reilly, D.J., Saffman, M., Searles, T.A., Shapiro, J.H., Singh, C.: Building a quantum engineering undergraduate program. IEEE Transactions on Education 65(2), 220–242 (2022) https://doi.org/10.1109/TE.2022.3144943
  * Gerke et al. [2022] Gerke, F., Müller, R., Bitzenbauer, P., Ubben, M., Weber, K.-A.: Requirements for future quantum workforce – a delphi study. Journal of Physics: Conference Series 2297(1), 012017 (2022) https://doi.org/10.1088/1742-6596/2297/1/012017
  * Greinert et al. [2023] Greinert, F., Müller, R., Bitzenbauer, P., Ubben, M.S., Weber, K.-A.: Future quantum workforce: Competences, requirements, and forecasts. Phys. Rev. Phys. Educ. Res. 19, 010137 (2023) https://doi.org/10.1103/PhysRevPhysEducRes.19.010137
  * [19] Combarro, E.F., Vallecorsa, S., Rodríguez-Muñiz, L.J., Aguilar-González, A., Ranilla, J.R., Di Meglio, A.: A report on teaching a series of online lectures on quantum computing from CERN. The Journal of Supercomputing 77, 14405–14435 https://doi.org/10.1007/s11227-021-03847-9
  * Maldonado-Romo and Yeh [2022] Maldonado-Romo, A., Yeh, L.: Quantum computing online workshops and hackathon for spanish speakers: A case study. In: 2022 IEEE International Conference on Quantum Computing and Engineering (QCE), pp. 709–717. IEEE Computer Society, Los Alamitos, CA, USA (2022). https://doi.org/10.1109/QCE53715.2022.00096
  * Aithal [2023] Aithal, P.S.: Advances and new research opportunities in quantum computing technology by integrating it with other icct underlying technologies. International Journal of Case Studies in Business, IT and Education (IJCSBE) 7(3), 314–358 (2023) https://doi.org/10.47992/IJCSBE.2581.6942.0304
  * Serth et al. [2022] Serth, S., Staubitz, T., Elten, M., Meinel, C.: Measuring the effects of course modularizations in online courses for life-long learners. Frontiers in Education 7 (2022) https://doi.org/10.3389/feduc.2022.1008545
  * Just [2020] Just, B.: Quantencomputing kompakt: Spukhafte Fernwirkung und Teleportation endlich verständlich. Springer, Berlin, Heidelberg (2020). https://doi.org/10.1007/978-3-662-61889-9
  * Just [2022] Just, B.: Quantum Computing Compact: Spooky Action at a Distance and Teleportation Easy to Understand. Springer, Berlin, Heidelberg (2022). https://doi.org/10.1007/978-3-662-65008-0
  * Seegerer et al. [2021] Seegerer, S., Michaeli, T., Romeike, R.: Quantum computing as a topic in computer science education. In: Proceedings of the 16th Workshop in Primary and Secondary Computing Education. WiPSCE ’21. Association for Computing Machinery, New York, NY, USA (2021). https://doi.org/10.1145/3481312.3481348
  * Mueller-Roemer et al. [2022] Mueller-Roemer, J.S., 28Smiles, Wagner, P.: QCVIS — Interactive Visualization of Quantum Algorithms. Availabe at https://github.com/fh-igd-iet/qcvis (2022)
  * Bley et al. [2024] Bley, J., Rexigel, E., Arias, A., Longen, N., Krupp, L., Kiefer-Emmanouilidis, M., Lukowicz, P., Donhauser, A., Küchemann, S., Kuhn, J., Widera, A.: Visualizing Entanglement in multi-Qubit Systems. Preprint at https://arxiv.org/abs/2305.07596v4 (2024)
  * Just [2023] Just, B.: The Algorithmic Principle of Quantum Phase Kickback (2023). Youtube. Availabe at https://www.youtube.com/watch?v=OzDJpeUhwvc
  * Qiskit contributors [2023] Qiskit contributors: Qiskit: An Open-source Framework for Quantum Computing (2023). https://doi.org/10.5281/zenodo.2573505
  * Plattner et al. [2010] Plattner, H., Meinel, C., Leifer, L.: Design Thinking: Understand - Improve - Apply. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13757-0
  * Bennett and Brassard [1984] Bennett, C., Brassard, G.: Withdrawn: Quantum cryptography: Public key distribution and coin tossing, vol. 560, pp. 175–179 (1984). https://doi.org/10.1016/j.tcs.2011.08.039
  * Clauser et al. [1969] Clauser, J.F., Horne, M.A., Shimony, A., Holt, R.A.: Proposed experiment to test local hidden-variable theories. Phys. Rev. Lett. 23, 880–884 (1969) https://doi.org/10.1103/PhysRevLett.23.880
  * Cleve et al. [2004] Cleve, R., Hoyer, P., Toner, B., Watrous, J.: Consequences and limits of nonlocal strategies. In: Proceedings. 19th IEEE Annual Conference on Computational Complexity, 2004., pp. 236–249 (2004). https://doi.org/10.1109/CCC.2004.1313847
  * Nielsen and Chuang [2011] Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge University Press, Cambridge (2011). https://doi.org/10.1017/CBO9780511976667
  * Shor [1997] Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing 26(5), 1484–1509 (1997) https://doi.org/10.1137/S0097539795293172
  * Harrow et al. [2009] Harrow, A.W., Hassidim, A., Lloyd, S.: Quantum algorithm for linear systems of equations. Phys. Rev. Lett. 103, 150502 (2009) https://doi.org/10.1103/PhysRevLett.103.150502
  * Preskill [2018] Preskill, J.: Quantum Computing in the NISQ era and beyond. Quantum 2, 79 (2018) https://doi.org/10.22331/q-2018-08-06-79
  * Jacquier et al. [2022] Jacquier, A., Kondratyev, O., Lipton, A., Prado, M.L.: Quantum Machine Learning and Optimisation in Finance: On the Road to Quantum Advantage. Packt Publishing Ltd., Birmingham, UK (2022). https://www.packtpub.com/product/quantum-machine-learning-and-optimisation-in-finance/9781801813570


Send correspondence to S. Condon<EMAIL_ADDRESS>
# SPHERExLabTools (SLT): A Python Data Acquisition System for SPHEREx
Characterization and Calibration

Sam Condon  California Institute of Technology, Pasadena, CA, 91125, USA
Marco Viero  California Institute of Technology, Pasadena, CA, 91125, USA
James Bock  California Institute of Technology, Pasadena, CA, 91125, USA  Jet
Propulsion Laboratory, California Institute of Technology, Pasadena, CA,
91109, USA  Howard Hui  California Institute of Technology, Pasadena, CA,
91125, USA  Phil Korngut  California Institute of Technology, Pasadena, CA,
91125, USA  Hiromasa Miyasaka  California Institute of Technology, Pasadena,
CA, 91125, USA  Ken Manatt  Jet Propulsion Laboratory, California Institute of
Technology, Pasadena, CA, 91109, USA  Chi Nguyen  California Institute of
Technology, Pasadena, CA, 91125, USA  Hien Nguyen  Jet Propulsion Laboratory,
California Institute of Technology, Pasadena, CA, 91109, USA  Steve Padin
California Institute of Technology, Pasadena, CA, 91125, USA

###### Abstract

Selected as the next NASA Medium Class Explorer mission, SPHEREx, the Spectro-
Photometer for the History of the Universe, Epoch of Reionization, and Ices
Explorer is planned for launch in early 2025. SPHEREx calibration data
products include detector spectral response, non-linearity, persistence, and
telescope focus error measurements. To produce these calibration products, we
have developed a dedicated data acquisition and instrument control system,
SPHERExLabTools (SLT). SLT implements driver-level software for control of all
testbed instrumentation, graphical interfaces for control of instruments and
automated measurements, real-time data visualization, processing, and data
archival tools for a variety of output file formats. This work outlines the
architecture of the SLT software as a framework for general purpose laboratory
data acquisition and instrument control. Initial SPHEREx calibration products
acquired while using SLT are also presented.

###### keywords:

SPHEREx, All-sky survey, ground-support-equipment, data-acquisition

##  1 INTRODUCTION

The SPHEREx mission will perform an all-sky spectrophotometric survey in the
near-infrared (0.75 $\mu$m. - 5.0 $\mu$m.) to address major scientific
questions consistent with all three major themes of NASA’s astrophysics
program. Specifically, SPHEREx will:

  1. 1.

Probe the origin and destiny of our Universe. By measuring galaxy redshifts
over a large cosmological volume, SPHEREx provides constraints on the physics
of inflation, the superluminal expansion of the Universe that took place
$10^{-32}$ s after the Big Bang.

  2. 2.

Explore whether planets around other stars could harbor life. SPHEREx provides
absorption spectra of early phase planetary systems in the Milky Way to
determine the abundance and composition of biogenic ices.

  3. 3.

Explore the origin and evolution of galaxies. SPHEREx will permit a precise
determination of the power spectrum of spatial fluctuations in the
extragalactic background light intensity through deep images formed near the
ecliptic poles.

SPHEREx instrument parameters are listed in table 1. Previous SPIE proceedings
[1] and [2] provide detailed information about the scientific rationale,
hardware configuration, and mission design of SPHEREx.

By mid-2022, SPHEREx is in its optical payload integration and testing phase
to deliver several laboratory calibration and instrument characterization
measurements. Two such measurements are discussed in this paper: absolute
spectral and focus calibration. To accurately determine photometric redshifts
and resolve ice absorption features in the spectra of planetary systems,
precise spectral bandpass profiles for all 25 million pixels in SPHEREx must
be determined through spectral calibration. To maximize the fraction of
background sky pixels and enable source masking to deeper flux levels for
extragalactic background light power spectrum measurements, the SPHEREx point-
spread-function (PSF) must be minimized through focus calibration. A system
capable of performing these characterization/calibration measurements must
meet the requirements listed in Table 2.

Table 1: SPHEREx Instrument Parameters Parameter | Value
---|---
Effective Aperture | 20 cm
Pixel Size | 6.2” x 6.2”
Field of View | 2 x (3.5°x 11.3°); dichroic
Resolving Power and Wavelength Coverage |  |  $\lambda=0.75-2.42\mu$m; $R=41$
---
$\lambda=2.42-3.82\mu$m; $R=35$
$\lambda=3.82-4.42\mu$m; $R=110$
$\lambda=4.42-5.00\mu$m; $R=130$
Arrays |  | 3x Teledyne Hawaii-2RG 2.5 $\mu$m.
---
3x Teledyne Hawaii-2RG 5.3 $\mu$m.
Cooling | All-Passive
2.5 $\mu$m. Array Temperature | $<80K$
5.3 $\mu$m. Array Temperature | $<55K$
Table 2: SPHEREx characterization/calibration system requirements. Requirement | Description
---|---
1) Instrument driver framework |  | A convenient abstraction away from low-level instrument
---
communication details.
2) Manual instrument control |  | Interfaces to control instruments in a
---
testbed to facilitate the setup of automated
measurements.
3) Measurement automation |  | A script based framework for specifying automated
---
measurements.
4) Real-time data visualization and processing |  | Live plots of multi-channel time-stream data and image
---
feeds. Basic real-time processing such as averaging
and histogram display.
5) Data archival tools |  | Mechanisms to archive data products along with
---
associated metadata in a variety of file formats.
6) Configurability |  | A method to reconfigure all aforementioned
---
components for a variety of measurements.

The development of a software system meeting the Table 2 requirements is a
problem that is not unique to SPHEREx. Modern experimental laboratories
everywhere are faced with the similar challenge of developing such a system.
Despite this, there are limited options when it comes to standard, well tested
data acquisition and instrument control packages providing these capabilities.
Familiar to many is NI’s LabView [3]. LabView has the advantage of being well
tested, widely adopted, and with the ample support expected from any large-
scale proprietary software system. However, integrating custom hardware with
LabView can be cumbersome and the graphical programming environment lacks the
flexibility that a true general purpose programming language provides. In the
open source landscape, the PyMeasure project [4] provides a Python based
measurement automation package. PyMeasure contains a large repository of
existing instrument drivers along with a convenient framework for adding new
instruments. Measurement automation tasks are easily achieved and measurement
control logic is specified through basic Python scripts. In addition,
PyMeasure has gathered a very active development community to support further
improvements to the package. However, _.csv_ is currently the only output file
format supported and the package does not have a convenient mechanism for
manual instrument control. PyHK [5] is an additional Python based open source
data acquisition package with adoption in astrophysics and astronomy
instrumentation laboratories such as the BICEP [6] and TIME [7]
collaborations. Initially developed at Caltech for control and monitoring of
cryogenic instruments, PyHK provides an excellent web-based user interface for
manually controlling instruments, as well as viewing and interacting with
housekeeping data stored over long periods of time. PyHK also contains a
robust configuration file based interface for specifying the instruments in
use and to customize a web interface for a given experiment. PyHK’s
limitations come from the fact that the instrument driver framework is not as
robust as PyMeasure’s and plain text is the only supported output file format.

Following the evaluation outlined above, it was determined that a custom data
acquisition and instrument control system would best suit the needs of SPHEREx
characterization/calibration. SPHERExLabTools, hereafter referred to as SLT,
is the resulting system. SLT meets all of the Table 2 requirements and
presents a framework for a general purpose laboratory data acquisition and
instrument control system. SLT adopts the same instrument driver framework and
method of specifying automated measurements as PyMeasure while providing a
configuration file based interface that is similar to PyHK. In addition, SLT
addresses the limitations of PyMeasure and PyHK by providing support for
multiple output file formats, while integrating both manual and automated
measurement control mechanisms.

The structure of the remainder of this paper is as follows. Section 2
describes the architecture and configuration mechanism of SLT, sections 3 and
4 describe the SPHEREx spectral and focus calibration measurements and
illustrate how SLT is configured for each measurement. Initial calibration
results obtained using SLT are also presented in these sections. Finally,
section 5 provides concluding remarks and discusses plans for further
development of the SLT system.

##  2 SLT Architecture

###  2.1 Implementation Language and Class Structure

SLT is implemented in pure Python. This decision was motivated by the recent
wide adoption of Python in many scientific communities and the existence of
the powerful Python data ecosystem including packages like NumPy [8], SciPy
[9], and Pandas [10]. The implementation of SLT in Python allows us to utilize
this ecosystem while working in an environment familiar to many scientists
involved in SPHEREx and beyond. In addition, Python’s object-oriented nature
facilitates the development of organized modular code for which each
requirement of Table 2 can be met through independent configurable modules
and/or classes. The SLT class based modular architecture is summarized in
Figure 1 while section 2.3 describes in more detail all of the classes
outlined in this figure.

Figure 1: The SLT modular architecture consists of 6 classes which interact in
the following manner: 1) Procedures contain scripts which define the logical
flow of a measurement; they interact directly with 2) Instruments and generate
data which they send to 3) Viewers for real time graphical display and/or 4)
Recorders to archive data. Recorders and Viewers sit idle until data is placed
on their associated queue, upon which they perform the appropriate archival or
display task. 5) Controllers provide graphical interfaces to interact directly
with Instruments or to start/stop Procedure execution. Since both Controllers
and Procedures have the ability to interact directly with Instruments, a
locking mechanism is placed on Instruments such that only one
controller/procedure thread of execution can access any given instrument
driver class at a single instant. Finally, the 6) Experiment class provides a
top-level wrapper to interpret user configuration files and create instances
of all of the previous classes. SLT is a multi-threaded application so many
instances of each of these components can execute simultaneously. The color-
scheme in this figure indicates the threading structure where each color
corresponds to a separate thread of execution.

###  2.2 Experiment Control Packages and Configurability

SLT focuses heavily on configurability to support the diversity of
measurements and instruments involved in SPHEREx testing. The manner in which
SLT is configured is through the specification of _Experiment Control
Packages_. Experiment control packages are Python packages that define the 5
configuration variables described in Table 3. In brief, these configuration
variables are read by the SLT Experiment class (6) of Figure 1) to command SLT
which instrument drivers and graphical interfaces to instantiate, what the
output data formats should be, and where to find user-defined measurement
automation scripts (i.e. Procedures, sect. 2.3.1). Table 3 describes the
purpose of each of these configuration variables, while Tables 4 through 8
specify each variable’s appropriate contents.

Table 3: SLT Experiment control package configuration variables. Each variable is a python list of configuration dictionaries (see tables 4 \- 8). The numbered elements of Figure 1 correspond to the variable numbers in this table. Variable | Description
---|---
1) PROCEDURES |  | List of procedure configuration dictionaries (Table 4) pointing SLT to the
---
user defined measurement automation scripts i.e. (Procedure classes).
2) INSTRUMENT_SUITE |  | List of hardware configuration dictionaries (Table 5) telling SLT
---
which instrument drivers should be instantiated.
3) VIEWERS |  | List of viewer configuration dictionaries (Table 6) defining data visualization
---
tasks.
4) RECORDERS |  | List of recorder configuration dictionaries (Table 7) to specify the output file
---
formats that data generated from procedures should be saved to.
5) CONTROLLERS |  | List of controller configuration dictionaries (Table 8) identifying the
---
instruments and procedures for which graphical control interfaces
should be generated.
Table 4: SLT procedure configuration dictionary format. The 1) PROCEDURE variable is a python list of dictionaries with these key/value pairs. Key | Value Description
---|---
instance_name |  | String to provide a name for the procedure instance.
---
type | String identifying the name of the procedure class to instantiate.
hw |  | String name of the instantiated instrument drivers that the procedure needs access to.
---
records | Dictionary to specify output data products and their associated viewer/recorder queues.
kwargs | Dictionary with procedure initialization arguments.
Table 5: SLT hardware configuration dictionary format. The 2) INSTRUMENT_SUITE variable is a python list of dictionaries with these key/value pairs. Key | Value Description
---|---
instance_name |  | String to provide a name for the instrument driver instance.
---
resource_name | String identifying the instrument communication port.
manufacturer |  | String name of the manufacturer of the instrument as labeled in
---
the SLT/PyMeasure instrument repository
instrument | String name of the instrument driver class.
params | Dictionary with instrument parameters to set upon initialization.
kwargs | Dictionary with arguments for the driver initialization method.
Table 6: SLT viewer configuration dictionary format. The 3) VIEWERS variable is a python list of dictionaries with these key/value pairs. Key | Value Description
---|---
instance_name |  | String name of the viewer instance.
---
type |  | String type of the viewer. Currently ”LineViewer” and ”ImageViewer” are supported
---
to display time stream and image data respectively.
kwargs | Dictionary with viewer initialization arguments.
Table 7: SLT recorder configuration dictionary format. The 4) RECORDERS variable is a python list of dictionaries with these key/value pairs. Key | Value Description
---|---
instance_name |  | String name of the recorder instance.
---
type | String type of the recorder to specify the output file format.
kwargs | Dictionary with recorder initialization arguments.
Table 8: SLT controller configuration dictionary format. The 5) CONTROLLERS variable is a python list of dictionaries with these key/value pairs. Key | Value Description
---|---
instance_name |  | String name of the controller instance.
---
type | String type of the controller. Either ”InstrumentController” or ”ProcedureController”
hw |  | String name of the hardware to be controlled if the type is ”InstrumentController.”
---
procedure |  | String name of the procedure to be controlled if the type is ”ProcedureController.”
---
kwargs | Dictionary with controller initialization arguments.

###  2.3 Class Descriptions and User Interface

####  2.3.1 Procedures

The central element of both the PyMeasure and SLT packages is the Procedure
class. As mentioned in Figure 1, Procedures are used to define the logical
flow of a measurement. Procedures contain the scripts which interact directly
with instruments, collect and process data, and send data to Viewers and
Recorders. The basic working principle of a procedure in PyMeasure and SLT is
the same with SLT modifying the manner in which procedure output data is
handled. Procedures in PyMeasure and SLT contain the following components
which are illustrated in the flowchart of Figure 2:

  1. 1.

Parameter Objects: Classes defining the configurable elements of a Procedure.
Parameter objects map directly to the graphical elements found in Procedure
Controllers (sect. 2.3.4) so that they can be set and modified via a graphical
interface.

  2. 2.

startup(): The initial method which executes first when a Procedure is
started. In general, startup() is used to perform the initial configuration of
instrumentation in a testbed before the real measurement begins.

  3. 3.

execute(): This method always contains the main body of the measurement
control code and executes after startup(). This is where data is collected,
processed, and sent out for display and archival.

  4. 4.

shutdown(): The final method executing after execute(). Here, all
instrumentation is placed in an idle state before the next measurement is run.

  5. 5.

emit(): This method is used to send data out for display and archival. In
PyMeasure, Python’s built-in logging package is used to write data records
sent out by emit() to csv log files. Since the logging package only supports
plain-text data, the output file formats supported by PyMeasure are inherently
limited. In SLT we modify this mechanism to support multiple output file
formats and to separate data visualization from data archival. As illustrated
in Figure 1, all Viewers and Recorders have associated queue objects. When
emit() is called in SLT, two arguments are provided: The first is a string
that identifies which queue objects data should be sent to and the second is
the data itself. Copies of the data are then generated and placed onto every
desired queue object. When the Viewer and/or Recorder associated with a given
queue object detects that new data is present, the data is retrieved from the
queue and the appropriate display/archival task is performed. This approach
has the advantage that python queue objects have no type preference so any
data type can be input to the queue. Accordingly, data of all shapes and sizes
can be supported so long as the appropriate Viewer/Recorder class to handle
the data has been implemented. In addition, queues in SLT are independent
between each instance of a Viewer or Recorder. This allows information to be
displayed in a Viewer but not necessarily saved out with a Recorder and
vice/versa. Or, multiple different Viewers and Recorders can be configured to
process the same output data. An argument against this approach is that each
time emit() is called, copies of the data object must be created for every
queue so for large data objects, CPU memory could become a limiting factor.
However, with modern CPU memory sizes this limitation effectively does not
exist for the vast majority of practical SLT applications (certainly all
applications in SPHEREx testing).

Figure 2: SLT Procedure Execution and Structure: Procedures in SLT and
PyMeasure operate with the same basic principle, but with different mechanisms
for how output data is handled. Shown here is a basic example procedure for
the collimator calibration measurement (sect. 4). In this procedure, the
startup() method moves the microscope into position and opens or closes the
shutter. In execute() images are recorded from the ccd camera and the emit()
method is used to send images out to the ”camera_stream” recorder and viewer
queues. A Procedure Controller is generated to allow measurement operators to
configure the microscope position, shutter state, and exposure time.

####  2.3.2 Instruments

SLT adopts the same instrument driver framework as PyMeasure. This allows
seamless integration of the extensive repository of existing PyMeasure drivers
into SLT. Additionally, users of SLT can develop drivers for instruments not
already supported by SLT or PyMeasure by following the detailed instructions
in the _Adding Instruments_ section of the PyMeasure documentation [4].

####  2.3.3 Viewers and Recorders

All viewers and recorders sit idle until data is placed on their associated
queues, upon which they retrieve the data object and perform their archival or
display task. To date, Viewer classes have been developed for multi-channel
timestream and 2-dimensional image data display. Recorder classes to support
data output to CSV, HDF5, and MAT file formats as well as Structured Query
Language (SQL) databases exist.

####  2.3.4 Controllers

SLT implements two main types of controllers: Instrument Controllers and
Procedure Controllers. Instrument Controllers couple directly to instrument
drivers and allow manual control of any instrument supported by SLT and
PyMeasure through graphical interfaces. Procedure Controllers are used to
execute individual procedures as well as several procedures in a sequence.
Users can set and modify the Parameter Objects for a given procedure and
create nested for loops where the parameters of the procedure are modified at
each step of the loop.

####  2.3.5 User Interface

Shown in Figure 3 is the SLT user interface generated with the example
Experiment Control Package described in section 4. Note that all graphical
elements of SLT are implemented using the PyQtGraph graphics and gui library
[11].

Figure 3: SLT interface: controllers are embedded in the left panel, viewers
in the center, while procedures and their data products are displayed in the
right panel. Log messages and errors occurring throughout a measurement are
displayed in the bottom panel. Drop-down menus in each panel allow users to
switch between the various controllers, viewers, and procedures.

##  3 Example: SLT for spherex spectral calibration

The SPHEREx spectral calibration measurement aims to deliver per-pixel
spectral bandpass response profiles for every pixel in the SPHEREx detectors.
This measurement is important as precise knowledge of the SPHEREx spectral
response is required to accurately measure galaxy redshifts and ice absorption
features in the Milky Way. We accomplish SPHEREx spectral calibration by
coupling a broadband light source to a monochromator whose output beam is
collimated and input to the SPHEREx optics. The monochromator contains
diffraction gratings whose diffraction pattern is reflected through a small
slit such that a monochromatic light source of a desired wavelength is
generated. The collimated, monochromatic light is then scanned across the
entire SPHEREx band in less than 1 nm wavelength steps. SPHEREx detector
exposures are recorded at each wavelength. Figure 4 provides a block diagram
of the measurement setup and Figure 5 shows the testbed for the spectral
calibration measurement of a prototype focal plane assembly model. Table 9
describes the SLT experiment control package configuration variables for the
measurement while bandpass results for the prototype calibration are shown for
a single pixel in Figure 6.

Figure 4: SPHEREx Spectral Calibration Measurement Schematic: Here, SLT drives the monochromator, a set of shutters including a cold shutter inside of the cryostat, and a neutral density filter attenuation wheel. SLT also communicates directly with the detector data acquisition system while logging the cryostat input optical power level and pressure/temperature housekeeping data. SLT uploads all metadata, housekeeping, and detector data to a central SQL server. Figure 5: Prototype focal plane array spectral calibration testbed Table 9: SLT experiment control package for spectral calibration Variable | Description
---|---
1) PROCEDURES |  |  PowerLogProc: Continuously logs the input optical power level.
---
SpecCalProc: Sets the monochromator wavelength, attenuation wheel
position, and communicates with the detector data acquisition system.
Calculates the average cryostat temperature and pressure. Sends all
instrument metadata, cryo housekeeping, and detector exposures to the
SpecCalSql recorder.
2) INSTRUMENT_SUITE |  | Contains hardware configuration dictionaries for the monochromator,
---
attenuation wheel, power monitor detector readout, cryostat temperature
and pressure readout, and the detector data acquisition system.
3) VIEWERS |  |  PowerView: Displays the time-stream input optical power level data
---
generated by the PowerLogProc procedure.
4) RECORDERS |  |  SpecCalSql: Writes data from SpecCalProc to a SQL database.
---
5) CONTROLLERS |  | Configuration dictionaries to generate manual instrument controllers for all
---
instruments in INSTRUMENT_SUITE and procedure controllers for all procedures
in PROCEDURES.
Figure 6: Spectral calibration bandpass results for a single pixel of the
prototype focal plane assembly. The spectral information of this sample pixel
is obtained by scanning the monochromator from 0.7 to 1.3 um at 2 nm
wavelength steps. This 10 hour measurement procedure is performed in a fully
automated manner by SLT, running the SpecCalProc procedure described in Table
9.

##  4 Example: SLT for spherex focus calibration

The SPHEREx focus calibration quantifies telescope focus error by determining
the axial displacement of the focal plane assembly hardware from the true
focal plane of the telescope. Focus calibration is important to verify that
the SPHEREx PSF is such that a sufficient fraction of background sky pixels
and source masking can be achieved to produce a spatial power spectrum
measurement of the extragalactic background light. We perform this calibration
through two measurements: collimator calibration and focus error. The
collimator calibration allows us to position a broadband pinhole light-source
relative to an off-axis-paraboloid (OAP) such that we generate a collimated
beam. We then steer the collimated beam into the SPHEREx optics and move the
pinhole through a set of positions so that the beam deviates from collimation.
We record SPHEREx exposures at each pinhole position and find the position at
which the SPHEREx PSF is minimized. The difference between the initial pinhole
position (at which the beam is collimated) and the final pinhole position (at
which the SPHEREx PSF is a minimum) determines SPHEREx focus error. We perform
the collimator calibration, i.e. positioning of a pinhole to generate a
collimated beam, through the following procedure:

  1. 1.

An LED is fiber coupled to a microscope mounted on a motorized stage.

  2. 2.

A flat is placed inside the cryo-chamber in front of the SPHEREx optics to
reflect incoming optical signal.

  3. 3.

The LED source propagates through the collimating optics whose output beam is
steered into the flat and reflected back into the collimating optics.

  4. 4.

The reflected beam is re-imaged onto the surface of a CCD camera in the
microscope and the spot size on the camera is calculated.

  5. 5.

The microscope is scanned through several positions at which a camera spot
size is calculated such that a microscope position vs. spot size curve is
generated.

  6. 6.

The minimum of a fit to the spot size vs. microscope position curve is taken
to be the ”best focus position” of the collimator. This is the position at
which the pinhole source for the focus error measurement should be placed to
generate a collimated beam.

Figure 7: Collimator calibration measurement schematic. Here, SLT drives the
motorized microscope position and reads out this position. SLT drives a
motorized relay to steer the beam into the cryo chamber, and implements a
module for CCD camera readout and basic real-time processing. Cryo
housekeeping data is logged and written to a SQL data server along with all
position information and CCD camera images. Collimator focus curves can be
generated on the fly to facilitate a rapid transition to the focus error
measurement.

The SLT experiment control package utilized for the collimator calibration
measurement is described in Table 10 and an example collimator calibration
focus curve generated by SLT is shown in Figure 8. The collimating optics /
microscope and motorized relay setup are pictured in Figures 9 and 10
respectively.

Table 10: SLT experiment control package for collimator calibration Variable | Description
---|---
1) PROCEDURES |  |  CamViewProc: Continuously records frames from the CCD to send out
---
to the CamView image viewer.
CollimatorFocusProc: Drives the microscope and relay motors. Reads positions
and CCD camera images. Records average cryo temp/pressure. Sends images to
CamView and images + position information to the CollimatorFocusRecorder.
2) INSTRUMENT_SUITE |  | Contains hardware configuration dictionaries for the CCD camera, the microscope
---
drive motor and microscope position readout, the motorized relay drive motors,
cryostat temperature and pressure readout, and the detector data acquisition
system.
3) VIEWERS |  |  CamView: View live camera images recorded from CamViewProc or
---
CollimatorFocusProc
4) RECORDERS |  |  CollimatorFocusRecorder: Write images + position information from
---
CollimatorFocusProc to an HDF5 file.
5) CONTROLLERS |  | Configuration dictionaries to generate manual instrument controllers for all
---
instruments in INSTRUMENT_SUITE and procedure controllers for all procedures
in PROCEDURES.
Figure 8: Collimator calibration focus curve: Black dots represent calculated
beam sizes, the blue dash is the quadratic fit to the beam size data, and the
red X is the minimum of the fit which is taken to be the ”best focus position”
of the collimator. Figure 9: Microscope used in the collimator calibration
measurement and off-axis paraboloid collimating mirror. Figure 10: Motorized
relay used to steer the beam into the SPHEREx optics to explore the whole
field-of-view during focus calibration.

##  5 conclusion

We have presented a high-level overview of the SPHERExLabTools (SLT) data
acquisition and instrument control package utilized in SPHEREx optics
integration and testing. SLT builds upon and adapts the existing open source
packages, PyMeasure [4] and PyHK [5] and presents a framework for a general
purpose laboratory data acquisition and instrument control package. The
effectiveness of SLT has been demonstrated through the delivery of early
SPHEREx calibration data products, including the focal plane prototype
spectral response 3 and collimator calibration 4 measurements. SLT development
is ongoing and the package continues to improve. An open source release along
with work to integrate key features of SLT into the PyMeasure project are
planned, with the long term vision of helping to establish an open-source
standard in laboratory data-acquisition and instrument control.

###### Acknowledgements.

This work was carried out at the Jet Propulsion Laboratory, California
Institute of Technology, under a contract with the National Aeronautics and
Space Administration (80NM0018D0004).

## References

  * [1] Korngut, P. M., Bock, J. J., Akeson, R., Ashby, M., Bleem, L., Boland, J., Bolton, D., Bradford, S., Braun, D., Bryan, S., Capak, P., Chang, T.-C., Coffey, A., Cooray, A., Crill, B., Doré, O., Eifler, T., Feng, C., Habib, S., Heitmann, K., Hemmati, S., Hirata, C., Jeong, W.-S., Kim, M., Kirkpatrick, D., Kowalkowski, T., Krause, E., Lisse, C., Mauskopf, P., Masters, D., McGuire, J., Melnick, G., Nguyen, H., Nayyeri, H., Oberg, K., dePutter, R., Purcell, W., Rocca, J., Runyan, M., Sandstrom, K., Smith, R., Song, Y.-S., Stickley, N., Stober, J., Susca, S., Teplitz, H., Tolls, V., Unwin, S., Werner, M., Windhorst, R., and Zemcov, M., “SPHEREx: an all-sky NIR spectral survey,” in [Space Telescopes and Instrumentation 2018: Optical, Infrared, and Millimeter Wave ], Lystrup, M., MacEwen, H. A., Fazio, G. G., Batalha, N., Siegler, N., and Tong, E. C., eds., 10698, 576 – 586, International Society for Optics and Photonics, SPIE (2018).
  * [2] Crill, B. P., Werner, M., Akeson, R., Ashby, M., Bleem, L., Bock, J. J., Bryan, S., Burnham, J., Byunh, J., Chang, T.-C., Chiang, Y.-K., Cook, W., Cooray, A., Davis, A., Doré, O., Dowell, C. D., Dubois-Felsmann, G., Eifler, T., Faisst, A., Habib, S., Heinrich, C., Heitmann, K., Heaton, G., Hirata, C., Hristov, V., Hui, H., Jeong, W.-S., Kang, J. H., Kecman, B., Kirkpatrick, J. D., Korngut, P. M., Krause, E., Lee, B., Lisse, C., Masters, D., Mauskopf, P., Melnick, G., Miyasaka, H., Nayyeri, H., Nguyen, H., Öberg, K., Padin, S., Paladini, R., Pourrahmani, M., Pyo, J., Smith, R., Song, Y.-S., Symons, T., Teplitz, H., Tolls, V., Unwin, S., Windhorst, R., Yang, Y., and Zemcov, M., “SPHEREx: NASA’s near-infrared spectrophotometric all-sky survey,” in [Space Telescopes and Instrumentation 2020: Optical, Infrared, and Millimeter Wave ], Lystrup, M., Perrin, M. D., Batalha, N., Siegler, N., and Tong, E. C., eds., 11443, 61 – 77, International Society for Optics and Photonics, SPIE (2020).
  * [3] Bitter, R., Mohiuddin, T., and Nawrocki, M., [LabVIEW: Advanced programming techniques ], Crc Press (2006).
  * [4] Developers, T. P., “Pymeasure scientific package.”
  * [5] Hunacek, J., “Pyhk v3.0.”
  * [6] Ade, P. A. R., Ahmed, Z., Amiri, M., Barkats, D., Thakur, R. B., Bischoff, C. A., Beck, D., Bock, J. J., Boenish, H., Bullock, E., Buza, V., Cheshire, J. R., I., Connors, J., Cornelison, J., Crumrine, M., Cukierman, A., Denison, E. V., Dierickx, M., Duband, L., Eiben, M., Fatigoni, S., Filippini, J. P., Fliescher, S., Goeckner-Wald, N., Goldfinger, D. C., Grayson, J., Grimes, P., Hall, G., Halal, G., Halpern, M., Hand, E., Harrison, S., Henderson, S., Hildebrandt, S. R., Hilton, G. C., Hubmayr, J., Hui, H., Irwin, K. D., Kang, J., Karkare, K. S., Karpel, E., Kefeli, S., Kernasovskiy, S. A., Kovac, J. M., Kuo, C. L., Lau, K., Leitch, E. M., Lennox, A., Megerian, K. G., Minutolo, L., Moncelsi, L., Nakato, Y., Namikawa, T., Nguyen, H. T., O’Brient, R., Ogburn, R. W., I., Palladino, S., Prouve, T., Pryke, C., Racine, B., Reintsema, C. D., Richter, S., Schillaci, A., Schwarz, R., Schmitt, B. L., Sheehy, C. D., Soliman, A., Germaine, T. S., Steinbach, B., Sudiwala, R. V., Teply, G. P., Thompson, K. L., Tolan, J. E., Tucker, C., Turner, A. D., Umiltà, C., Vergès, C., Vieregg, A. G., Wandui, A., Weber, A. C., Wiebe, D. V., Willmert, J., Wong, C. L., Wu, W. L. K., Yang, H., Yoon, K. W., Young, E., Yu, C., Zeng, L., Zhang, C., and Zhang, S., “BICEP/Keck XV: The BICEP3 Cosmic Microwave Background Polarimeter and the First Three-year Data Set,” 927, 77 (Mar. 2022).
  * [7] Crites, A. T., Bock, J. J., Bradford, C. M., Chang, T. C., Cooray, A. R., Duband, L., Gong, Y., Hailey-Dunsheath, S., Hunacek, J., Koch, P. M., Li, C. T., O’Brient, R. C., Prouve, T., Shirokoff, E., Silva, M. B., Staniszewski, Z., Uzgil, B., and Zemcov, M., “The TIME-Pilot intensity mapping experiment,” in [Millimeter, Submillimeter, and Far-Infrared Detectors and Instrumentation for Astronomy VII ], Holland, W. S. and Zmuidzinas, J., eds., Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series 9153, 91531W (Aug. 2014).
  * [8] Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., Gérard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C., and Oliphant, T. E., “Array programming with NumPy,” Nature 585, 357–362 (Sept. 2020).
  * [9] Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., Carey, C. J., Polat, İ., Feng, Y., Moore, E. W., VanderPlas, J., Laxalde, D., Perktold, J., Cimrman, R., Henriksen, I., Quintero, E. A., Harris, C. R., Archibald, A. M., Ribeiro, A. H., Pedregosa, F., van Mulbregt, P., and SciPy 1.0 Contributors, “SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python,” Nature Methods 17, 261–272 (2020).
  * [10] Wes McKinney, “Data Structures for Statistical Computing in Python,” in [Proceedings of the 9th Python in Science Conference ], Stéfan van der Walt and Jarrod Millman, eds., 56 – 61 (2010).
  * [11] Developers, T. P., “Pyqtgraph: Scientific graphics and gui library for python.”