# CDIO-CT collaborative strategy for solving complex STEM problems in system
modeling and simulation: an illustration of solving the period of mathematical
pendulum

Hong-Yan Zhang, Yu Zhou, Yu-Tao Li, Fu-Yun Li and Yong-Hui Jiang
School of Information Science and Technology, Hainan Normal University, Haikou
571158, China Corresponding author, e-mail<EMAIL_ADDRESS>
(Dec. 2, 2023)

###### Abstract

The problem-project-oriented STEM education plays a significant role in
training students’ ability of innovation. Although the conceive-design-
implement-operate (CDIO) approach and the computational thinking (CT) are hot
topics in recent decade, there are still two deficiencies: the CDIO approach
and CT are discussed separately and a general framework of coping with complex
STEM problems in system modeling and simulation is missing. In this paper, a
collaborative strategy based on the CDIO and CT is proposed for solving
complex STEM problems in system modeling and simulation with a general
framework, in which the CDIO is about “how to do”, CT is about “how to think”,
and the project means “what to do”. As an illustration, the problem of solving
the period of mathematical pendulum (MP) is discussed in detail. The most
challenging task involved in the problem is to compute the complete elliptic
integral of the first kind (CEI-1). In the philosophy of STEM education, all
problems have more than one solutions. For computing the CEI-1, four methods
are discussed with a top-down strategy, which includes the infinite series
method, arithmetic-geometric mean (AGM) method, Gauss-Chebyshev method and
Gauss-Legendre method. The algorithms involved can be utilized for R & D
projects of interest and be reused according to the requirements encountered.
The general framework for solving complex STEM problem in system modeling and
simulation is worth recommending to the college students and instructors.
Keywords:STEM; Modeling and simulation; Problem-project-oriented learning
(PPOL); Conceive-design-implement-operate (CDIO); Computational thinking (CT);
Complete elliptic integral of the first kind (CEI-1); Mathematical pendulum
(MP)

###### Contents

  1. 1 Introduction
  2. 2 Methods
    1. 2.1 Identifying the Problem of Interest
      1. 2.1.1 Problem — Solving the Period of MP
      2. 2.1.2 Exploring Period Formula via System Modeling
      3. 2.1.3 Identifying the STEM Problems
    2. 2.2 Solving Problem with CDIO Approach
      1. 2.2.1 Conceiving
      2. 2.2.2 Designing
      3. 2.2.3 Implementation
      4. 2.2.4 Operation
    3. 2.3 Integration of CT and CDIO Approach
      1. 2.3.1 Problem-solving and Decomposition
      2. 2.3.2 Abstraction and Modeling
      3. 2.3.3 Logical and Algorithmic Thinking
      4. 2.3.4 Anticipating and Dealing with Bugs
      5. 2.3.5 Verification, Validation and Testing
    4. 2.4 Problem-Project-Oriented Learning for Solving the Period of MP
      1. 2.4.1 Framework for Solving the Period of MP
      2. 2.4.2 Potential Difficulties for Students
    5. 2.5 Data Collection and Analysis
      1. 2.5.1 Data Collection
      2. 2.5.2 Data Analysis
  3. 3 Results
    1. 3.1 Global View of Computing CEI-1 with CDIO-CT Collaborative Strategy
    2. 3.2 General Framework for Solving Complex STEM Problem in Modeling and Simulation
  4. 4 Discussion
    1. 4.1 Beyond the Computation of CEI-1
    2. 4.2 Limitation
  5. 5 Conclusions

##  1 Introduction

STEM education refers to the integration of Science, Technology, Engineering
and Mathematics into the teaching and learning process, which stimulates
massive innovation activities in the worldwide. STEM emphasizes that students
should collaboratively observe, operate, experience and explore in the study
process, and finally learn to create, so as to systematically improve their
learning ability and problem-solving ability [1, 2, 3]. The philosophy of STEM
education is that each problem has more than one way to the feasible
solutions.

There are two dimensions for the teaching method of STEM education: one is the
problem which concerns “what to do”, another is the project which concerns
“how to do”. In other words, the STEM education is problem-project-oriented.
The teaching strategy of the problem-project-oriented STEM education is the
project-driven teaching (PDT)[4, 5, 6]. The PDT is also named with problem-
based learning (PBL1) [7, 8, 9, 10] and project-based learning (PBL2) [11, 12,
13, 14]. Here the ”learning” emphasizes the perspective of the students and
the ”teaching” emphasizes the perspective of instructors/teachers.

It is a pity that a unified terminology is missing for the teaching method of
STEM education. In medical education, the problem-based learning is popular.
In engineering education, the project-based learning and project-driven
teaching are also popular. In K12 education, the project-driven teaching is
accepted. It seems that the problem-project-oriented learning (PPOL) might be
a common name for them. Figure 1 demonstrates the structure of problem-
project-oriented STEM education emphasizing both dimensions of the teaching
method. The feature of tackling one problem with multiple solutions results in
a natural way of dividing the students into teams for different projects and
shows the multidisciplinary properties of STEM education clearly.

Figure 1: Problem-Project-Oriented STEM education

As the indication of E for engineering in STEM, the STEM education is closely
related with the engineering education whose purpose is to train students’
ability of solving complex engineering and technology problems with the well-
known CDIO approach [15]. The CDIO stands for conceiving, designing,
implementation and operation. It takes the life cycle from product R & D to
product operation as the carrier to enable students to learn engineering in an
active, practical and organic way. CDIO training outline divides the abilities
of engineering graduates into four levels [15, 16]: basic engineering
knowledge, personal ability, interpersonal team ability and engineering system
ability. The outline requires a comprehensive training method to enable
students to achieve the predetermined goals at these four levels.

The STEM education is also closely connected with thinking methods. In 2006,
Jeannette M. Wing [17] proposed the concept of computational thinking (CT). It
has been approved as a fundamental ability which is parallel to the reading,
writing and arithmetic abilities in the traditional education concept in
recent twenty years. The CT consists of five essential parts [17, 18, 19, 20,
21]: problem-solving and decomposition, abstraction and modeling, logical and
algorithmic thinking, anticipating and debugging (handling errors), and
verification-validation-testing (VVT). The CT integrates three kinds of
thinking methods into a novel method, which includes

  * •

the general mathematical thinking method used for problem solving,

  * •

the general engineering thinking method for the design and evaluation of huge
and complex systems in the real world, and

  * •

the general scientific thinking method for understanding complexity,
intelligence, psychology and human behavior.

Although the STEM education, the CDIO approach and the CT are hot topics and
there are quite a number of contributions dealing with them in recent decade,
there are still some deficiencies:

  * •

The CDIO approach and CT are discussed separately, thus their relation and
interactions are ignored. For example, Sanford and Naidu [22] considered the
relation of mathematical modeling and CT; Qian and Choi [23] studied the
process of developing abstraction in CT; Tan et al. [24] discussed the
balancing disciplinary knowledge and practical reasoning in problem solving;
Nadelson et al. [25] exhibited the STEM spectrum in K12 education.
Juškevičienė et al. [26] presented the design process of the strategy for CT
abilities development in basic school. However, the relation and interaction
of the CDIO approach and CT are not considered in these studies.

  * •

There is a lack of general framework of coping with complex STEM problem in
system modeling and simulation. Mertens [27] proposed an earlier method for
modeling and simulation, which includes organizing information and
crystallizing the thinking, identifying new research and teaching areas and
techniques, and testing research and hypotheses. Mertens also presented nine
guidelines for the teachers or researchers to develop and utilize these
models. Although Mertens’ study provided valuable information for how to solve
complex STEM problems, it is not systematically developed in the past 40
years. Magana and Coutinho [28] proposed a framework for identifying different
audiences of computing and related CT practices at the intersection of
computer science and engineering. Magana and Jong [29] not only proposed
approaches for modeling-and-simulation-centric course design, teaching
practices and pedagogy for modeling and simulation implementation, but also
presented the evidence of learning with and about modeling and simulation
practices. In these studies, the CT is deeply developed and the framework is
touched, but the role of CDIO approach is missing. Mora et al [30] and
Zourmpakis et al [31] pointed out that a clear and formal design process is
important and an appropriate framework is necessary for the success of PDT.
However, this study is not extended to solve complex STEM problems.

Actually, there are some interleaved questions to be considered deeply:

  * •

what is the relationship between STEM problem about “what to do”, CDIO
approach about “how to do” and CT about “how to think” in STEM education?

  * •

how can we merge the core ideas of STEM education, CDIO approach and CT into a
new practical strategy to train college students via solving complex STEM
problems?

  * •

how can we understand and demonstrate the interaction of CDIO approach and CT?

  * •

how can we illustrate the STEM philosophy of tackling one problem with
multiple ways to the solution?

  * •

how can we train teams of students in order to work on multiple projects for
solving the same problem in different ways?

In order to answer these questions, we propose a strategy for the problem-
project-oriented STEM education by combining the CDIO approach and CT
effectively. In order to state the strategy concretely but not abstractly, we
take the problem of solving the period of mathematical pendulum (MP) as an
example for an illustration. As a metaphor, Figure 2 demonstrates the road map
and essential ideas of our work intuitively. An effective way for training
special forces via killing enemies to conquer objective position is the
approach for training the students by solving the complex problem.
Figuratively speaking, the general’s leading of the soldiers to conquer the
objective position is similar to the instructor’s guiding of the students to
solve the objective problem, and the enemies in the battle are just like the
sub-problems to be decomposed and solved during working on the project.

Figure 2: Metaphor of CDIO-CT collaborative strategy for problem-project-
oriented STEM education

In this paper, our main contributions lie in the following perspectives:

  * •

An effective framework for solving complex STEM problem with the CDIO-CT
collaborative strategy is proposed with the illustration of a concrete problem
— solving the period of MP. The effective framework is shown in the block
diagram Figure 3, and it can be generalized to the general framework for
solving complex STEM problems.

  * •

The interaction of CDIO approach and CT is explored and explained with the
help of concrete tasks in the project.

  * •

The philosophy of STEM education is demonstrated according to the dimensions
of breath and depth:

    * –

three ways for system modeling, viz. semi-quantitative method, simple
quantitative method and complex quantitative method are introduced
respectively and comparatively so as to cope with the complexity of complex
STEM problem and examine the performance of feasible solutions;

    * –

four methods for computing the Complete elliptic integral of the first kind
(CEI-1) are discussed with the CDIO-CT collaborative strategy.

Figure 3: Practice of CDIO-CT collaborative strategy for STEM education by
solving the period of MP

The rest contents of this paper are organized as follows: Section 2 deals with
the methods, which includes four parts: identifying the problem, solving the
objective problem with CDIO approach, integration of CT and CDIO approach and
PPOL for solving the period of MP; Section 3 copes with the results; Section 4
gives the discussion for the details of techniques and limitation of the
general framework; Section 5 is the summary for this paper.

For the convenience of reading, we list the abbreviations appeared in this
paper in Table 1.

Table 1: Nomenclatures

Abbreviation | Interpretation
---|---
STEM | science-technology-engineering-mathematics
CDIO | conceive-design-implement-operate
CT | computational thinking
PDT | project-driven teaching
PBL | problem-based learning (PBL1), project-based learning (PBL2)
PPOL | problem-project-oriented learning
MP | mathematical pendulum, also named by simple pendulum
CEI-1 |  $K(k)$, complete elliptic integral of the first kind
VVT | verification-validation-testing
AGM | arithmetic-geometric mean
IS-CEI-1 | infinite series method for computing CEI-1
AGM-CEI-1 | AGM method for computing CEI-1
GC-CEI-1 | Gauss-Chebyshev method for computing CEI-1
GL-CEI-1 | Gauss-Legendre method for computing CEI-1
ROP | ratio of period

##  2 Methods

###  2.1 Identifying the Problem of Interest

####  2.1.1 Problem — Solving the Period of MP

Mathematical pendulum , also named simple pendulum, is a classic example in
physics [32, 33, 34] for both college students and senior middle school
students.

The mathematics of pendulums are in general quite complicated. Simplified
assumptions can be made, which in the case of a MP allow the equations of
motion to be solved analytically or numerically for periodic oscillations. A
mathematical/simple pendulum is an ideal model of a real pendulum subject to
the following assumptions:

  * •

the bob is a point mass whose shape is ignored;

  * •

the bob is fixed on a massless rod or cord, which is inextensible and always
remains tight.

  * •

the motion occurs only in two dimensions, i.e. the trajectory of the bob is an
arc in a vertical plane, which is a closed manifold;

  * •

the motion does not lose energy to friction or air resistance, thus the total
energy, i.e., the sum of potential energy and kinematic energy is constant.

Figure 4 illustrates the idealization of the MP in which $\ell$ is the length
of rod, $m$ is the mass of the bob, $g$ is the acceleration of gravitation,
and $x$ is the angular displacement. Theoretically, the amplitude of angular
displacement $A$ measured in radius can be any positive value in the interval
$(0,\frac{\pi}{2}]$. If $A=\pi/2$, then the trajectory of the MP will be half
a circle instead of a small segment of arc.

Figure 4: Mathematical pendulum

The mathematical model of the MP is described by the following motion equation

$\frac{\operatorname{d}^{2}{x}}{\operatorname{d}{t}^{2}}+\Omega^{2}\sin
x=0,\quad-A\leq x\leq A$ (1)

where

$\Omega=\sqrt{\frac{g}{\ell}}$ (2)

is the parameter of angular frequency. The problem discussed in this paper is:

######  STEM Problem 1.

Given the angular amplitude $A\in(0,\frac{\pi}{2})$, calculate the period of
the MP effectively.

We give some supplementary interpretations here:

  * a)

For any maximum angular displacement $A$, we can find general and essential
result for the relation of the period of MP with the parameters $A$, $\ell$,
$m$ and $g$ illustrated in Figure 4.

  * b)

The maximum angular displacement $A$ may be small such that $\sin x\sim x$ for
any $x\in[-A,A]$, thus (1) can be approximated by a linear ODE

$\frac{\operatorname{d}^{2}{x}}{\operatorname{d}{t}^{2}}+\Omega^{2}x=0,\quad-A\leq
x\leq A.$ (3)

  * c)

The maximum angular displacement $A$ may be large such that we can not use (3)
and we have to cope with the nonlinear ODE (1).

####  2.1.2 Exploring Period Formula via System Modeling

There are three fundamental schemes for finding the period of MP, which
demonstrates different ways for solving the period.

#### A. Semi-Quantitative Method via Dimension Analysis

We can find the semi-quantitative result of period with the dimension analysis
[35, 36]. Actually, let the dimensions for the length, mass and time are
$[\texttt{L}],[\texttt{M}]$ and $[\texttt{T}]$ respectively, then the
dimension for the gravitation acceleration $g$ will be
$[g]=[\texttt{L}][\texttt{T}]^{-2}$. Assume the dimension of period be

$[T]=[m]^{\alpha}[g]^{\beta}[\ell]^{\gamma},$ (4)

then according to the definition of dimension of physics quantities, we have

$[\texttt{T}]=[\texttt{M}]^{\alpha}\cdot[\texttt{L}]^{\beta}[\texttt{T}]^{-2\beta}\cdot[\texttt{L}]^{\gamma}=[\texttt{M}]^{\alpha}[\texttt{L}]^{\beta+\gamma}[\texttt{T}]^{-2\beta}.$
(5)

The equilibrium of dimensions shows that

$\left\\{\begin{split}\alpha&=0\\\ \beta+\gamma&=0\\\ -2\beta&=1\\\
\end{split}\right.\Longleftrightarrow\begin{bmatrix}1&0&0\\\ 0&1&1\\\
0&-2&0\end{bmatrix}\begin{bmatrix}\alpha\\\ \beta\\\
\gamma\end{bmatrix}=\begin{bmatrix}0\\\ 0\\\ 1\end{bmatrix}.$ (6)

Consequently, $\alpha=0,\beta=-1/2,\gamma=1/2$, which implies that

$T=\lambda\sqrt{\frac{\ell}{g}}\propto\sqrt{\frac{\ell}{g}},$ (7)

where the unknown constant coefficient $\lambda$ can be determined empirically
with observation data collected in practical experiments of MP.

We remark that the generalization of dimension analysis is the type checking
in the sense of CT [17]. Without doubt, for the same type of physics quantity,
they must have the same unit and dimension.

#### B. Simple Quantitative Method based on Linear Approximation

If the amplitude $A$ for the angular displacement is sufficiently small, say
$A<\pi/36~{}\mathrm{rad}$ (or $A$ is less than $5^{\circ}$ equivalently), then
the linear ODE (3) implies the famous formulae of period

${T}_{\mathrm{linear}}=\frac{2\pi}{\Omega}=2\pi\sqrt{\frac{\ell}{g}}.$ (8)

In this linear approximation, we find that

${\lambda}_{\mathrm{linear}}=2\pi$ (9)

in the sense of small amplitude of angular displacement.

#### C. Complex Quantitative Method via General Nonlinear Model

Figure 5: Identifying the essential STEM problem of solving the period of
Mathematical Pendulum

Solving the period of MP with an arbitrary angular amplitude is a typical
complex problem which integrates the four components of STEM. Figure 5
outlines the procedures to derive the formula of period in a step-by-step way.
For the angular displacement $x\in[-A,A]$, let

$k=\sin\frac{A}{2},\quad\sin u=\dfrac{\sin\dfrac{x}{2}}{\sin\dfrac{A}{2}},$
(10)

with the help of the conservative law of energy and some mathematical
techniques, we can find the following general formula of the MP

$T=4K(k)\cdot\sqrt{\frac{\ell}{g}},\quad
k\in\left[0,\frac{\sqrt{2}}{2}\right]$ (11)

where

$K(k)=\int^{\pi/2}_{0}\frac{\operatorname{d}u}{\sqrt{1-k^{2}\sin^{2}u}},\quad
k\in[0,1]$ (12)

is the CEI-1 [37, 38]. A comparison of (7), (8) and (11) implies that

${\lambda}_{\mathrm{nonlinear}}=4K(k),\quad{\lambda}_{\mathrm{linear}}=4K(0)=2\pi.$
(13)

Table 2: Expression of period $\displaystyle T=\lambda\sqrt{\frac{\ell}{g}}$ Method |  Coefficient $\lambda$
---|---
Dimension analysis method |  $\lambda$ is an unknown constant
Simple quantitative method | ${\lambda}_{\mathrm{linear}}=2\pi=4K(0)$
Complex quantitative method | ${\lambda}_{\mathrm{nonlinear}}=4K(k)$

Table 2 shows the expressions of the period for different analysis methods. It
is clear that the more reasonable the model is, the more accurate the
expression of period is. Obviously, we can find that: the dimension analysis
method gives the general relation of $T$, $\ell$, $m$ and $g$ but leaves the
coefficient $\lambda$ unspecified; the complex quantitative method returns the
finest result; the simple quantitative method returns a relatively coarse
result which connects the general and finest results.

####  2.1.3 Identifying the STEM Problems

Solving the period of MP with an arbitrary angular amplitude is a typical
complex problem which integrates the four components of STEM. Once the CEI-1
is obtained, the ultimate problem left will be the computation of $K(k)$,
which is a combination of mathematics and engineering. Here, the exact meaning
of engineering refers to computer programming and software engineering. In
other words, for the general nonlinear model of the motion equation of MP, the
most challenging task in determining the period of MP is equivalent to
computing the value of the special function $K(k)$.

In this paper, we will discuss four methods to calculate the special function
$K(k)$ as shown in Figure 6.

Figure 6: Four methods for computing CEI-1

###  2.2 Solving Problem with CDIO Approach

####  2.2.1 Conceiving

It is difficult for us to calculate the value of CEI-1 directly since there is
no available simple formulae for this kind of integral with extra parameter
$k$. The purpose of conceiving is to explore the way to express the CEI-1 with
reasonable approximation or equivalent form which can be computed conveniently
with computer program such that the precision is good enough and the
computational complexity is acceptable. Fortunately, we can find three
fundamental kinds of methods to do so:

  * •

Expanding the CEI-1 into an infinite series which converges rapidly;

  * •

Computing the CEI-1 with the arithmetic-geometric mean (AGM) method which
converges rapidly and iterates simply;

  * •

Converting the CEI-1 into a finite sum with $2n-1$ order algebraic precision
by taking the $n$-th order orthogonal polynomials via Gauss numerical
integration method.

The original Gauss numerical method can be expressed by

$I(f)=\int^{b}_{a}\rho(x)f(x)\operatorname{d}x=\sum^{n}_{i=1}w_{i}f(x_{i})+\mathcal{E}_{n}(f)$
(14)

where $n$ is a positive integer, $\left\\{x_{i}:1\leq i\leq n\right\\}$ are
the $n$ roots of an orthogonal polynomial, say $Y_{n}(x)$,
$\left\\{w_{i}:1\leq i\leq n\right\\}$ are the weights specified by the roots
of $Y_{n}(x)$, and $\mathcal{E}_{n}(f)$ is the error of optimal approximation
which will be omitted according to the requirement of precision in practice.
However, the integral $K(k)$ is more complicated since it is defined by an
integral with extra parameter $k$. With the help of the concepts of abstract
function defined by an integral and developed in functional analysis, we can
use the following form

$\begin{split}K(k)&=\int^{b}_{a}f(x,k)\operatorname{d}\mu=\int^{b}_{a}f(x,k)\rho(x)\operatorname{d}x\\\
&=\sum^{n}_{i=1}w_{i}f(x_{i},k)+\mathcal{E}_{n}(f)\end{split}$ (15)

where $\rho(x)$ is the non-negative weight function and the measure $\mu$ is
specified by $\operatorname{d}\mu=\rho(x)\operatorname{d}x$. There are two
feasible methods for computing $K(k)$ in the sense of Gauss numeric
integration:

  * •

Gauss-Chebyshev method, where $\displaystyle\rho(x)=\frac{1}{\sqrt{1-x^{2}}}$
and $b=-a=1$;

  * •

Gauss-Legendre method, where $\rho(x)=1,b=\pi/2$ and $a=0$.

As shown in Figure 6, there are four key formula for computing the ECI-1
$K(k)$ as follows:

  * •

Infinite series method: the $K(k)$ can be computed with the following infinite
series

$K(k)=\frac{\pi}{2}\cdot\sum^{\infty}_{m=0}\left[\frac{(2m-1)!!}{(2m)!!}\right]^{2}k^{2m}$
(16)

  * •

AGM method: the relation of $K(k)$ and AGM can be expressed by

$K(k)=\frac{\pi/2}{\operatorname{AGM}(1,\sqrt{1-k^{2}})}$ (17)

  * •

Gauss-Chebyshev method: the $K(k)$ is a special case of the the abstract
function defined by

${F}_{\mathrm{C}}(k)=\int^{a}_{-a}\frac{f(x,k)}{\sqrt{a^{2}-x^{2}}}\operatorname{d}x=\int^{1}_{-1}\frac{f(at,k)}{\sqrt{1-t^{2}}}\operatorname{d}t$
(18)

which can be computed by the extended Gauss-Chebyshev formulae of numerical
integration. Actually, we can deduce that [39]

$K(k)=\langle{\mathbf{w}}^{\mathrm{gc}}|{\mathbf{v}}^{\mathrm{gc}}_{{f}_{\mathrm{gc}}}\rangle+{\mathcal{E}}^{\mathrm{gc}}_{n}$
(19)

where ${\mathcal{E}}^{\mathrm{gc}}_{n}$ is the negligible approximation error
of numerical integration and

$\left\\{\begin{split}&{\mathbf{x}}^{\mathrm{gc}}={[{x}^{\mathrm{gc}}_{1},\cdots,{x}^{\mathrm{gc}}_{n}]}^{\textsf{T}},\\\
&{\mathbf{w}}^{\mathrm{gc}}={[{w}^{\mathrm{gc}}_{1},\cdots,{w}^{\mathrm{gc}}_{n}]}^{\textsf{T}},\\\
&{\mathbf{v}}^{\mathrm{gc}}_{{f}_{\mathrm{gc}}}={[{f}_{\mathrm{gc}}({x}^{\mathrm{gc}}_{1},k),\cdots,{f}_{\mathrm{gc}}({x}^{\mathrm{gc}}_{n},k)]}^{\textsf{T}}\end{split}\right.$
(20)

in which $({x}^{\mathrm{gc}}_{i},{w}^{\mathrm{gc}}_{i})$ are the root-weight
pairs such that

${x}^{\mathrm{gc}}_{i}=\cos\frac{(2i-1)\pi}{2n},\quad{w}^{\mathrm{gc}}_{i}=\frac{\pi}{n},\quad
1\leq i\leq n$ (21)

and

$f(t,k)={f}_{\mathrm{gc}}(t,k)=\frac{1/2}{\sqrt{1-k^{2}t^{2}}}.$ (22)

  * •

Gauss-Legendre method: the $K(k)$ is a special case of the the abstract
function defined by

$\begin{split}{F}_{\mathrm{L}}(k)&=\int^{b}_{a}f(x,k)\operatorname{d}x\\\
&=\frac{b-a}{2}\int^{1}_{-1}f\left(\frac{b+a}{2}+\frac{b-a}{2}t\right)\operatorname{d}t\end{split}$
(23)

which can be computed by the extended Gauss-Legendre formulae of numerical
integration. Let

$a=0,b=\pi/2$

and

$f(u,k)={f}_{\mathrm{gl}}(u,k)=\frac{1}{\sqrt{1-k^{2}\sin^{2}u}},$ (24)

we can deduce that [39]

$\begin{split}K(k)&=\frac{\pi}{4}\sum^{n}_{i=1}{w}^{\mathrm{gl}}_{i}{f}_{\mathrm{gl}}\left(\frac{\pi}{4}(1+{x}^{\mathrm{gl}}_{i}),k\right)+{\mathcal{E}}^{\mathrm{gl}}_{n}\\\
&=\langle{\mathbf{w}}^{\mathrm{gl}}|{\mathbf{v}}^{\mathrm{gl}}_{{f}_{\mathrm{gl}}}\rangle+{\mathcal{E}}^{\mathrm{gl}}_{n}\end{split}$
(25)

where

${\mathbf{x}}^{\mathrm{gl}}={\left[{x}^{\mathrm{gl}}_{1},\cdots,{x}^{\mathrm{gl}}_{n}\right]}^{\textsf{T}},{\mathbf{w}}^{\mathrm{gl}}={\left[{w}^{\mathrm{gl}}_{1},\cdots,{w}^{\mathrm{gl}}_{n}\right]}^{\textsf{T}}$
(26)

are the root and weight vectors such that

$\left\\{\begin{split}&P_{n}({x}^{\mathrm{gl}}_{i})=0,\quad 1\leq i\leq n\\\
&{w}^{\mathrm{gl}}_{i}=\frac{2}{n}\cdot\frac{1}{P_{n-1}({x}^{\mathrm{gl}}_{i})P^{\prime}_{n}({x}^{\mathrm{gl}}_{i})}\end{split}\right.$
(27)

for the $n$-th order Legenedre polynomial $P_{n}(x)$ and its derivative
$P^{\prime}_{n}(x)$. Moreover, ${\mathcal{E}}^{\mathrm{gl}}_{n}$ is the
negligible approximation error of numerical integral and

${\mathbf{v}}^{\mathrm{gl}}_{{f}_{\mathrm{gl}}}=\frac{\pi}{4}{\left[{f}_{\mathrm{gl}}({u}^{\mathrm{gl}}_{i},k),\cdots,{f}_{\mathrm{gl}}({u}^{\mathrm{gl}}_{n},k)\right]}^{\textsf{T}}$
(28)

in which

${u}^{\mathrm{gl}}_{i}=\frac{\pi(1+{x}^{\mathrm{gl}}_{i})}{4},\quad 1\leq
i\leq n$ (29)

for sufficiently large $n$ when the approximation
${\mathcal{E}}^{\mathrm{gl}}_{n}$ is given.

####  2.2.2 Designing

In the sense of CDIO educational approach, the objective of design is to
propose feasible procedures according to the conceiving process for solving
computation oriented problems concerned. In this paper, the purpose of design
is to present algorithms for computing CEI-1 efficiently, robustly and
precisely based on the four quantitative methods discussed above. In the
conceiving process, we first identify a general problem, then specify some
parameters so as to establish its connection with CEI-1. Similarly, in the
design process we first design an algorithm for solving the general problem,
then specify some parameters to get specific algorithm for computing CEI-1.
For more details about the design of numerical algorithms for the CEI-1,
please see the reference [39].

####  2.2.3 Implementation

In the sense of CDIO educational approach, the implementation process follows
the design process directly. For the software-oriented tasks, the key issue of
implementation is to present the feasible code for the algorithms with some
specific computer programming language. Without loss of generality for the
implementation process, we choose the C programming language [40] to implement
our design for computing the CEI-1 $K(k)$. In other words, we discuss how to
write the C codes “technologically” for computing the CEI-1 with four
different methods and corresponding algorithms. For this purpose, we rely on a
fundamental principle — separation of interface and implementation details —
to simplify the implementation process, reuse the code for other problems and
upgrade system in the future.

The principle of separating interface and implementation details, also named
by information hiding, is frequently encountered in solving complex
engineering and technology problems. There are some typical reasons for
adopting this separation rule:

  * •

it is not necessary for the users to known the details of the implementation;

  * •

the implementation is encapsulated to hide information about the details so as
to

    * –

simplify the system structure by integrating the implementation into a basic
module as an element for complex system,

    * –

provide simple user interface for system connection,

    * –

replace the module with different implementation while keeping the same
interface when updating/maintaining the system and

    * –

reduce the safety risk by prohibiting the access to details of implementation;

  * •

the implementation is closely connected with the intellectual property rights
which limits the access authority.

The interfaces of algorithms consist of the declarations of various procedures
involved in concrete computation tasks. These declarations can be organized as
different header files and the corresponding details of implementation will be
organized as different source files. According to the sub-problems decomposed
in the CDIO process, the objective of solving CEI-1 can be conquered by
finishing eight sub-problems and the corresponding modules of software. Table
3 illustrates the modules, interface files and implementation files involved
in computing CEI-1 with four different methods. Our design and implementation
of the software are based on the C programming language. The code for the
implementation can be downloaded from the following GitHub site

https://github.com/GrAbsRD/CEI-1/tree/main

The details of implementation of calculating CEI-1 consist of a series of
source files, please see the file names *.c in Table 3. We remark that the
file main.c is used to generate a table of the values of CEI-1 for different
$k$ computed with different methods, which can be compared with its
counterpart appearing in the handbook about CEI-1.

Table 3: Modules, interfaces and dependencies for computing CEI-1 No. |  Modules for CEI-1 Solver |  Interface File |  Dependencies
---|---|---|---
① |  Abstract Data Type |  DataType.h |
② |  Usual Mathematics |  UsualMath.h |  ①
③ |  Orthogonal Polynomial |  OrthoPolynomial.h |  ①②
④ |  Fixed Point |  FixedPoint.h |  ①
⑤ |  Infinite Series Solver |  InfiniteSeries.h |  ①
⑥ |  AGM Solver |  AGM.h |  ①②
⑦ |  Gauss-Chebyshev Integral Solver |  IntegralSolverGC.h |  ①②
⑧ |  Gauss-Legendre Integral Solver |  IntegralSolverGL.h |  ①$\sim$④
⑨ |  Complete Elliptic Integral Solver |  CEI.h |  ①$\sim$⑧
✓ |  Verification-Validation-Testing |  main.c |  ①$\sim$⑨

####  2.2.4 Operation

The results of numerical analysis of CEI-1 can be used for different scenarios
such as

  * 1)

Application deployment in the experiment of measuring the period:

  * 2)

Applications of the methods and algorithms developed: The methods developed
for solving the period can be used for many problems. There are lots of
byproducts for quantitative analysis such as infinite series algorithm, AGM
algorithm, Gauss-Chebyshev and Gauss-Legendre algorithm. The technique of
solving fixed-point is of significance for STEM problems.

  * 3)

Exploring the evolution of $T=\lambda\sqrt{\ell/g}$ from the unknown constant
in dimension analysis to the constant $2\pi$ in linear approximation and
$4K(k)=2\pi(1+k^{2}/4+9k^{4}/64+\cdots)$ in the nonlinear equation of the
motion. The variation of the period with the angular amplitude means that it
is not a good idea to use MP as a timer since the angular amplitude is
difficult to be controlled precisely.

###  2.3 Integration of CT and CDIO Approach

####  2.3.1 Problem-solving and Decomposition

The fundamental method for solving complex engineering and technology problems
is decomposing the problem into solvable sub-problems. Alternatively, a large
complex problem is divided into smaller, simpler sub-problems. The motivation
behind it is that solving a series of simple problems is easier than trying to
tackle a big complex one. Decomposition is a basic technique to control
complexity of the system concerned. In the sense of system theory, it means
that we should take the following strategy: firstly, we decompose a system
into a series of subsystems and define the interfaces logically and clearly;
secondly, we build, test and validate each subsystem separately; thirdly, we
integrate the subsystems into the final system; finally, we optimize the final
system and take it into practice.

For each solving method for computing the CEI-1, there is a feasible problem-
decomposition solution to the computation task.

  * •

Table 4 illustrates the sub-problems of the infinite series solver for the
CEI-1. The key issues lie in binding the general infinite series and the
concrete infinite series for the CEI-1 and calculating the coefficients
$c_{m}$ efficiently and robustly.

Table 4: Problem-decomposition of IS-CEI-1 solver No. |  Subproblems of the Infinite Series Solver for the CEI-1
---|---
0 |  Pattern analysis — binding the general infinite series $\displaystyle{\sum^{\infty}_{m=0}c_{m}x^{m}}$ and the CEI-1.
1 |  Binding the parameter $x$ by assigning $x\leftarrow k^{2}$.
2 |  Set the constant $\pi/2$ with a library function.
3 |  Compute the infinite series $S(x)=\sum\limits^{\infty}_{m=0}c_{m}x^{m}$ iteratively with a loop.
|  3.1 Compute the General Term $T_{m}(x)=c_{m}x^{m}$.
|  3.2 Convergence Analysis:
$\left|T_{m}(x)\right|\overset{?}{\leq}\varepsilon$.
  * •

Table 5 lists the sub-problems of the AGM solver for the CEI-1. The key
problems include the connection of AGM algorithm and the CEI-1 proposed by
King in [41] and the fixed-point algorithm for computing the value of
$\mathrm{AGM}(a,b)$.

Table 5: Problem-decomposition of AGM-CEI-1 solver No. |  Sub-problems of the AGM Solver for the CEI-1
---|---
0 |  Pattern analysis — binding the AGM function $\operatorname{AGM}(a,b)$ and the CEI-1.
1 |  Binding the parameters $a,b$ by assigning $a\leftarrow 1$ and $b\leftarrow\sqrt{1-k^{2}}$.
2 |  Set the constant $\pi/2$ with a library function.
3 |  Compute the $\mathrm{AGM}(a,b,\varepsilon)$ with a fixed-point algorithm.
|  3.1 Set the initial value
$\mathbb{R}^{{2}\times{1}}\ni\mathbf{x}_{0}\leftarrow(a,b)$.
|  3.2 Specifying the 2-dim updating function ${\mathcal{A}}_{\mathrm{agm}}$.
|  3.3 Specifying the Euclidean distance function
$\operatorname{\mathrm{dist}}:\mathbb{R}^{{2}\times{1}}\times\mathbb{R}^{{2}\times{1}}\to\mathbb{R}^{+}$
for convergence decision.
|  3.4 Compute the fixed-point $\mathbf{x}$ iteratively via
$\mathbf{x}_{i+1}={\mathcal{A}}_{\mathrm{agm}}(\mathbf{x}_{i})$ with a fixed-
point algorithm.
  * •

Table 6 demonstrates the sub-problems of the Gauss-Chebyshev solver for the
CEI-1. The essential difficulty lies in the conversion of $K(k)$ in (12) to
the standard form of Gauss-Chebyshev numerical integration by changing the
angle variable $u\in[0,\pi/2]$ to the parameter $t=\sin u\in[-1,1]$.

Table 6: Problem-decomposition of GC-CEI-1 solver No. |  Sub-problems of the Gauss-Chebyshev solver for the CEI-1
---|---
0 |  Pattern analysis — binding the general integral $\displaystyle{\int^{a}_{-a}\frac{f(t,k)}{\sqrt{a^{2}-t^{2}}}\operatorname{d}t}$ and the CEI-1.
1 |  Specifying the integral kernel ${f}_{\mathrm{gc}}(t,k)$.
2 |  Specifying the parameters number $n$ of nodes for Gauss numerical integral and the positive parameter $a$ for the symmetric interval $[-a,a]$.
3 |  Compute the integral $\displaystyle{\int^{a}_{-a}\frac{{f}_{\mathrm{gc}}(t,k)}{\sqrt{a^{2}-t^{2}}}\operatorname{d}t}$ by Gauss numerical integration method through inner product.
4 |  Compute the real $n$-dim inner product $\langle{\mathbf{w}}^{\mathrm{gc}}|{\mathbf{v}}^{\mathrm{gc}}_{f}\rangle:\mathbb{R}^{{n}\times{1}}\times\mathbb{R}^{{n}\times{1}}\to\mathbb{R}$.
|  4.1 Set the weight vector ${\mathbf{w}}^{\mathrm{gc}}$.
|  4.2 Set the function value vector ${\mathbf{v}}^{\mathrm{gc}}_{f}$ with the
function ${f}_{\mathrm{gc}}$ and roots ${\mathbf{x}}^{\mathrm{gc}}$ of the
$n$-th order Chebyshev polynomial.
  * •

Table 7 gives the sub-problems of the Gauss-Legendre solver for the CEI-1.
There are three challenges: establishing the connection of $K(k)$ and the
Gauss-Legendre numerical integration, generating Legendre polynomial
$P_{n}(x)$ and its derivative $P^{\prime}_{n}(x)$ efficiently, calculating the
$n$ roots of $P_{n}(x)=0$ by Newton’s method automatically.

Table 7: Problem-decomposition of GL-CEI-1 solver No. |  Sub-problems of the Gauss-Legendre solver for the CEI-1
---|---
0 |  Pattern analysis — binding the general integral $\displaystyle{\int^{b}_{a}f(t,k)\operatorname{d}t}$ and the CEI-1.
1 |  Specifying the integral kernel ${f}_{\mathrm{gl}}(t,k)$.
2 |  Specifying the parameters number $n$ of nodes for Gauss numerical integral and the parameters for the interval $[a,b]$.
3 |  Compute the integral $\displaystyle{\int^{b}_{a}f(t,k)\operatorname{d}t}$ by Gauss numerical integration through inner product.
4 |  Compute the $n$ roots of $P_{n}(x)=0$.
|  4.1 Compute the Legendre polynomials $P_{n}(x)$ iteratively.
|  4.2 Compute the derivative of Legendre polynomials, i.e., the
$P^{\prime}_{n}(x)$.
|  4.3 Compute the roots of nonlinear equation $f(x,\alpha)=0$ with Newton’s
method via the iterative formulae
$x_{i+1}={\mathcal{A}}_{\mathrm{Newton}}(x_{i},f,\alpha)=x_{i}-\frac{f(x_{i},\alpha)}{f^{\prime}(x_{i},\alpha)}$.
|  4.4 Specifying the initial values for computing the roots of $P_{n}(x)=0$.
|  4.5 Compute the roots of $P_{n}(x)=0$ by combining sub-problems 4.1 $\sim$
4.4.
5 |  Compute the real $n$-dim inner product $\langle{\mathbf{w}}^{\mathrm{gl}}|{\mathbf{v}}^{\mathrm{gl}}_{f}\rangle:\mathbb{R}^{{n}\times{1}}\times\mathbb{R}^{{n}\times{1}}\to\mathbb{R}$
|  5.1 Compute the weight vector ${\mathbf{w}}^{\mathrm{gl}}$ with the roots
of $P_{n}(x)=0$ and the derivative of $P^{\prime}_{n}(x)$.
|  5.2 Set the function value vector ${\mathbf{v}}^{\mathrm{gl}}_{f}$ with the
function ${f}_{\mathrm{gl}}$ and roots of the $P_{n}(x)=0$.

####  2.3.2 Abstraction and Modeling

Abstraction is a way of expressing an idea in a specific context while at the
same time suppressing details irrelevant in that context. In other words,
abstraction is a process that extracting the common features and ignoring
details from concrete entities. Abstraction connects a concrete problem and
its generalized version, which share some common patterns. The conceiving,
designing, implementation and operation of the solution to the very general
problem plays an active and essential role in problem-solving.

Modeling is a reasonable approximation of the reality, which focuses on the
main factors and eliding minor issues. Usually, abstraction and modeling is
closely related. When modeling, reasonable approximation should be considered
carefully, which controls the measure of errors and the level of precision of
the solution. For computing the CEI-1, there are different methods and
parameters for specifying the errors of approximation.

For determining the period of MP, there are several abstraction and modeling
processes with different levels. We summarize them as follows:

  * •

Physical abstraction and mathematical modeling. Table 8 shows the physical
abstraction forms and corresponding mathematical modeling encountered in this
paper. In this table, physical abstraction emphasizes the nature of physics
while the mathematical model emphasizes the quantitative description, which
reflects the relation of physics and mathematics.

    * –

The semi-quantitative method based on the $\Pi$ theorem of dimension analysis
is a special approach which catches the essential relation of physics
quantities and ignoring some constants.

    * –

The quantitative method based on the linear approximation in the sense of
harmonic oscillator leads to a simple mathematical model which can be
understood by college students and even students in senior middle school with
the help of Newton’s second law of motion and Hooke’s law about equivalent
system of spring-mass.

    * –

The quantitative method based on the conservation law of energy is instructive
for students with physics intuition and sufficient knowledge of calculus.

    * –

In exploring the formulae of period for MP, the fundamental abstraction-
modeling are the particle model and rigid body model with an ideal rotation,
which include the following assumptions: ignoring the shape and size of the
small ball in the pendulum system; ignoring the variation of the radius of the
pendulum system (thus the trajectory is an arc of a circle); ignoring the air
resistance; ignoring the motion out of the vertical plane, or equivalently
ignoring the Coriolis effect.

Table 8: Physical Abstraction and Mathematical Modeling ($x$ is the angular
displacement)

Type | Physical Abstraction | Mathematical Modeling
---|---|---
Semi-quantitative ($\Pi$ theorem) | Dimension analysis |  $[T]=[m]^{\alpha}[g]^{\beta}[\ell]^{\gamma}$ $\Longrightarrow[\texttt{T}]=[\texttt{M}]^{\alpha}[\texttt{L}]^{\beta}[\texttt{T}]^{-2\beta}[\texttt{L}]^{\gamma}$
Quantitative (linear model) | Harmonic oscillator |  $\displaystyle E=m\ell^{2}\dot{x}^{2}+\frac{1}{2}mg\ell x^{2}$ $\displaystyle\Longrightarrow\ddot{x}+\frac{g}{\ell}x=0$
Quantitative (nonlinear model) | Conservation of energy | $E=m\ell^{2}\dot{x}^{2}+mg\ell(1-\cos x)$
Particle |  Motion of particle |  $\displaystyle{v=\ell\dot{x},f=m\dot{v}}$ $\Longrightarrow m\ell\ddot{x}=-mg\sin x$
Rigid body |  Rotation of rigid body |  $I=m\ell^{2},\omega=\dot{x},M=I\dot{\omega}$ $\Longrightarrow m\ell^{2}\ddot{x}=-mg\ell\sin x$

  * •

For the simple linear model of the MP, the fundamental assumption is the small
amplitude $\theta$ such that $\sin\theta\approx\theta$. In this case, the
approximation $K(k)\approx K(0)=\pi/2$ is taken. An alternative approximation
is also possible by taking $(1+x)^{\alpha}\approx 1+\alpha x$ for
$\alpha\in\mathbb{R}$ and small $x$, which implies that
$\frac{1}{\sqrt{1-k^{2}\sin^{2}u}}=(1-k^{2}\sin^{2}u)^{-1/2}\approx
1+\frac{1}{2}k^{2}\sin^{2}u$. Therefore,

$\begin{split}K(k)&=\int^{\pi/2}_{0}\frac{\operatorname{d}u}{\sqrt{1-k^{2}\sin^{2}u}}\\\
&\approx\int^{\pi/2}_{0}\left[1+\frac{1}{2}k^{2}\sin^{2}u\right]\operatorname{d}u\\\
&=\frac{\pi}{2}\left(1+\frac{1}{4}k^{2}\right)\end{split}$ (30)

Obviously, this is the second order approximation of $K(k)$ when it is
compared with (16).

  * •

For the CEI-1 obtained, the abstraction-modeling involved in four different
solvers are summarized in Table 9.

Table 9: Mathematical Abstraction and Modeling for Computing CEI-1

Solver |  Abstraction (Problem generalization) |  Modeling (Reasonable approximation)
---|---|---
IS-CEI-1 | $\displaystyle{K(k)\to S(x)=\sum^{\infty}_{m=0}c_{m}x^{m}}$ | $S(x)\approx S_{m}(x),\left|S_{m+1}(x)-S_{m}(x)\right|<\varepsilon$
AGM-CEI-1 | $\displaystyle{K(k)\to\operatorname{AGM}(a,b)}\to\mathbf{x}={\mathcal{A}}_{\mathrm{agm}}(\mathbf{x})$ | $\mathbf{x}\approx\mathbf{x}_{i+1}={\mathcal{A}}_{\mathrm{agm}}(\mathbf{x}_{i}),\quad\left\lVert\mathbf{x}_{i+1}-\mathbf{x}_{i}\right\rVert<\varepsilon$
GC-CEI-1 | $\displaystyle{K(k)\to\int^{a}_{-a}\frac{f(x,k)}{\sqrt{a^{2}-t^{2}}}\operatorname{d}x}$ | $\displaystyle{\int^{a}_{-a}\frac{f(x,k)}{\sqrt{a^{2}-x^{2}}}\operatorname{d}x=\int^{1}_{-1}\frac{f(at,k)}{\sqrt{1-t^{2}}}\operatorname{d}t\approx\sum_{i=0}^{n-1}{w}^{\mathrm{gc}}_{i}f(a{x}^{\mathrm{gc}}_{i},k)}$
| $\displaystyle{\sum_{i=0}^{n-1}w_{i}f(ax_{i},k)\to\langle\mathbf{w}|\mathbf{v}_{f}(k,a)\rangle}$ | $\left|{\mathcal{E}}^{\mathrm{gc}}_{n}(f,a,k)\right|<\varepsilon$
GL-CEI-1 | $\displaystyle{K(k)\to\int^{b}_{a}f(x,k)\operatorname{d}x}$ | $\displaystyle{\int^{b}_{a}f(x,k)\operatorname{d}x=\frac{b-a}{2}\int^{1}_{-1}f\left(u(t),k\right)\operatorname{d}t\approx\frac{b-a}{2}\sum_{i=0}^{n-1}{w}^{\mathrm{gl}}_{i}f({u}^{\mathrm{gl}}_{i},k)}$
| $\displaystyle{\sum_{i=0}^{n-1}w_{i}f(x_{i},k,a,b)\to\langle\mathbf{w}|\mathbf{v}_{f}(k,a,b)\rangle}$ | $u(t)=\cfrac{b+a+t(b-a)}{2},\quad\left|{\mathcal{E}}^{\mathrm{gl}}_{n}(f,a,b,k)\right|<\varepsilon$
| $P_{n}(x)=0\to f(x,\alpha)=0$ | $\displaystyle{x_{i+1}={\mathcal{A}}_{\mathrm{Newton}}(x_{i},f,\alpha),\quad\left|x_{i+1}-x_{i}\right|<\varepsilon}$
| $(P_{n+1},P_{n},P_{n-1})\to(Y_{n+1},Y_{n},Y_{n-1})$ |
| $(P^{\prime}_{n+1},P^{\prime}_{n},P^{\prime}_{n-1})\to(Y^{\prime}_{n+1},Y^{\prime}_{n},Y^{\prime}_{n-1})$ |

It should be remarked that abstraction helps us to solve more general problems
which have more applications and generic solutions instead of the specific
problems encountered.

####  2.3.3 Logical and Algorithmic Thinking

Both logic and algorithms are essential to STEM, CDIO and CT. They appear in
step of solving practical problems, particularly in the C-D-I steps in the
interaction of CDIO and CT, see Figure 11. Although humans have innate and
intuitive understanding of logic and algorithms, the two core concepts are
mathematical in nature. Both logic and algorithm are precise and systematic,
which means that intuition is not enough to capture their features and many
mistakes may happen in a wide variety of situations or under various
conditions.

There are two fundamental types of logic reasoning: inductive and deductive
reasoning. In order to instruct computers to make logical decisions, the
Boolean logic are widely used in designing algorithms and computer programs.
For the numerical computation problem of solving CEI-1 with algorithms, the
stopping condition is based on Boolean logic and the rules of controlling
computational errors. Mathematically, the Cauchy’s criterion, i.e.,
$\left|S_{m+1}(x)-S_{m}(x)\right|<\varepsilon$,
$\left\lVert\mathbf{x}_{i+1}-\mathbf{x}_{i}\right\rVert<\varepsilon$ or
$\left|x_{i+1}-x_{i}\right|<\varepsilon$ is used for computing the infinite
series and the fixed-points of interest.

Algorithmic thinking follows abstraction and modeling directly. Once the
concrete problem has been generalized and the modeling process has been
determined, the algorithmic thinking will be activated for making a sequence
of clearly defined steps to solve the generic problem. Roughly speaking, each
subproblem decomposed will correspond to an algorithm, which is capable of
solving a class of problems and can be reused many times.

####  2.3.4 Anticipating and Dealing with Bugs

The word bug is used to represent a fault in a solution that can cause
erroneous behavior in computer science and engineering. Bugs can be captured
and eliminated at any stage in the development or research process, but the
earlier you find and fix them the better profits you get. Without doubt, it is
much easier to change something when it exists in the conceiving and/or
designing process rather than after the implementation process. Getting rid of
bugs is a good practice in solving all kinds of problem, especially complex
problems.

For computing the CEI-1, there exist some typical potential bugs behind the
whole project. Table 10 lists the potential bugs and corresponding strategies
in solving the CEI-1.

Table 10: Anticipating and Coping with Bugs/Errors

Subproblem | Possible Bug | Strategy
---|---|---
$\displaystyle{\frac{(2m-1)!!}{(2m)!!}}$ |  $n!!$ overflows | Replacing $\displaystyle{\frac{(2m-1)!!}{(2m)!!}}$ by $\displaystyle{\prod^{m}_{i=1}\left[1-\frac{0.5}{i}\right]}$
$\displaystyle{\frac{\left|S_{m}(x)-S_{m-1}(x)\right|}{\left|S_{m}(x)\right|}}\overset{?}{<}\varepsilon$ | $S_{m}(x)=0$ |  $\displaystyle{\frac{\left|S_{m}(x)-S_{m-1}(x)\right|}{\left|S_{m}(x)\right|+\delta}}\overset{?}{<}\varepsilon$ for $\delta=10^{-10}$
$\displaystyle{x_{i+1}=x_{i}-\frac{f(x_{i},\alpha)}{f^{\prime}(x_{i},\alpha)}}$ | $f^{\prime}(x_{i},\alpha)=0$ | Checking the slope $f^{\prime}(x_{i},\alpha)$ when computing $x_{i+1}$ with $x_{i},f(x_{i},\alpha)$ and $f^{\prime}(x_{i},\alpha)$

####  2.3.5 Verification, Validation and Testing

For the solution obtained to the given problem, there is a necessary stage
that verifies, validates and tests the very solution. This stage is known as
verification-validation-testing (VVT) or simply verification and validation (V
& V). Evaluating the solution is a fundamental step in the sense of
computational thinking as well as system engineering.

For the sub-problems decomposed in solving the period of MP and algorithms
developed in this paper, we can construct some simple but useful test cases to
verify the solution to the computational tasks involved.

As an application of VVT, the testing and evaluating programs is widely
applied in software developing or computer programming. It is a standard
engineering method that is introduced in computational thinking. Usually,
programs consists of modules. The modules designed should be tested carefully
in order to verify their functions and performances. We can test the functions
of the procedures by binding appropriate parameters and comparing the output
with the results for verification in the table.

It should be noted that commercial software can be used in VVT process to test
and evaluate our own programs. However, we should keep an eye on the
commercial software and do not depend on them blindly. Actually, for the
verification of our algorithms for computing CIE-1 $K(k)$, we find that the
numerical solutions to the $K(k)$ for
$k\in\left\\{0.00,0.10,0.20,0.30,0.40,0.50\right\\}$ by EllipticK in
Mathematica [42] and ellipticK in MATLAB are not acceptable [39].

Table 11: A comparison of numerical solvers for $K(k)$

Parameter $k$ |  CEI-1 Solvers Kseries/Kagm Kintgc/Kintgl |  MATLAB function ellipticK |  Mathematica function EllipticK
---|---|---|---
$0.00$ | 1.5707963 | 1.5708 | 1.57080
$0.10$ | 1.5747456 | 1.6124 | 1.61244
$0.20$ | 1.5868678 | 1.6596 | 1.65962
$0.30$ | 1.6080486 | 1.7139 | 1.71389
$0.40$ | 1.6399999 | 1.7775 | 1.77752
$0.50$ | 1.6857504 | 1.8541 | 1.85407

(a) Output of EllipticK in Mathematica

(b) Output of ellipticK in MATLAB

Figure 7: Unacceptable solutions via commercial software Mathematica and
MATLAB

It should be emphasized that it is unwise to repudiate the commercial
software. What we should do is to show the significance of VVT for the
students and guide them to follow the right way to exploring the solution to
the problem. In such a reliable way, we can help the students to avoid
possible losses in the future.

###  2.4 Problem-Project-Oriented Learning for Solving the Period of MP

The problem of solving the period of MP can be used to train college or
graduate students with the PDT method via team cooperation. It is feasible to
organize a team or group with $3\sim 4$ students to work on a project for
solving the period of MP with one specific method such as infinite series
method, AGM method, Gauss-Chebyshev method or Gauss-Legendre method. It is
also possible for the team to solve the problem with all of the four methods
discussed above and explore the advantages and disadvantages behind them.

####  2.4.1 Framework for Solving the Period of MP

The framework shown in Figure 3 is useful for the instructor, he/she can
figure out the key issues for the students clearly. For the teacher, his/her
attention could be put on the following perspectives:

  * •

Explaining the objective clearly. Firstly, it is necessary to explain the
background of MP and the task of finding the period given an arbitrary initial
angle amplitude. Secondly, it is important to explain the CDIO based on how to
do and CT via how to think. Thirdly, it is the key issue that a combination of
CDIO and CT is essential for solving complex STEM problem.

  * •

Converting the problem step by step with multi-disciplines according to Figure
5. The conversion demonstrates the four elements ( viz. S, T, E, and M) in
STEM and decomposition of problem in the sense of CT.

  * •

Helping students in conceiving the solution to the period of MP. It is
necessary to instruct the students to exploring the formulae of period from
simple to complex. The three fundamental modeling methods — dimension
analysis, linear approximation and general nonlinear model — should be
interpreted briefly and clearly.

  * •

Explaining the definition of CEI-1 and the four numerical schemes shown in
Figure 6 for computing the $K(k)$ with sufficient details.

  * •

Giving supplementary interpretation of generating orthogonal polynomials
$Y_{n}(x)$ and their derivatives $Y^{\prime}_{n}(x)$ such that

$\left\\{\begin{split}Y_{n}(x)&=(A_{n}x+B_{n})Y_{n-1}(x)-C_{n}Y_{n-2}(x),n\geq
2\\\ Y_{0}(x)&=c_{0}\\\ Y_{1}(x)&=c_{1}x+c_{2}\end{split}\right.$ (31)

via iterative method and solving the roots of Legendre polynomials $P_{n}(x)$
with Newton-Raphson method.

  * •

Interpret and emphasize the interaction of CDIO and CT in the process of PPOL.

####  2.4.2 Potential Difficulties for Students

For the purpose of exploring the solution to solving the period of MP, there
are two potential difficulties for students.

Figure 8: Solving the root vector ${\mathbf{x}}^{\mathrm{gl}}$ for the
Legendre polynomial $P_{n}(x)$ such that $P_{n}({x}^{\mathrm{gl}}_{i})=0$.

The first difficulty may arise in finding the root-weight pairs for $P_{n}(x)$
for arbitrary $n\in\mathbb{N}$. Figure 8 demonstrates the system of solving
the root vector of $P_{n}(x)$. Usually in the books about special mathematical
functions [43, 44, 36], the different kinds of orthogonal polynomials, such as
the Legendre polynomials $P_{n}(x)$, Chebyshev polynomials $T_{n}(x)$ of the
first or second kind, Laguerre polynomials $L_{n}(x)$ and Hermite polynomials
$H_{n}(x)$, are treated separately, which hides the general iterative formulae
(31). Once the $i$-th root ${x}^{\mathrm{gl}}_{i}$ is obtained, the
corresponding weight ${w}^{\mathrm{gl}}_{i}$ can be determined by (27).

The second difficulty may lie in establishing the global view of solving the
numerical solution to the CEI-1 with the CDIO-CT strategy. Although there are
four optional methods, there are gaps between the problem description and
computer programming when designing algorithms and coding. Figure 9
illustrates the important factors for solving complex computation problems via
CDIO-CT strategy: problem description, problem decomposition, methodology
adopted and computer programming. For solving the numerical solution to the
CEI-1 $K(k)$, the problem decompositions of the four numerical schemes are
listed clearly, which can be used for constructing subsystems in designing
numerical algorithms. For more details, please see Zhang et al [39].

Figure 9: A global view of computing the CEI-1 with the CDIO-CT collaborative
strategy

###  2.5 Data Collection and Analysis

It is necessary to collect and analyze the data about the students’ work on
the project of solving complex STEM problem in order to check the training
effect and obtain feedback for further improvement.

####  2.5.1 Data Collection

The data collection stage includes the following terms involved in the cycle
of the project:

  * •

Data in conceiving. It is necessary for the students to outline the possible
ways of solving the STEM problem of interest according to the literature and
the hints from the instructor. For solving the period of MP, the semi-
quantitative method, the simple quantitative method and complex quantitative
method should be discussed and the expression of period $T$ should be
recorded. The steps for deriving the formula $T=\lambda\sqrt{\ell/g}$ should
be recorded by the students with draft block diagram. The Table 2 and Figure 5
can be used for checking the team work for the instructor.

  * •

Data in the description of essential problem. The philosophy of STEM education
implies there are various equivalent descriptions for the problem. Each
description corresponds to a feasible solution. The team should state the
description clearly, record it with formulae, diagrams or sentences and submit
the description to the instructor. Figure 6 is helpful for the instructor to
check the students’ description of CEI-1.

  * •

Data in problem decomposition. The specified essential problem can be
decomposed into sub-problems according to its structure of the problem with
the computational thinking. Students should record the structure of the
essential problem and state the sub-problems clearly. The second column of
Figure 9, Table 4, Table 5, Table 6 and Table 7 are helpful for the instructor
to check the decomposition schemes in different teams.

  * •

Data in designing. The modules for solving the sub-problems can be designed
separately once the framework and interfaces are defined clearly. Students
should submit the outlines of the modules, interfaces as well as the solving
methods to the instructor. For computing the CEI-1, Figure 10 is helpful for
checking the interfaces of the modules for solving the essential problem with
four equivalent forms and sub-problems. For more details about the algorithms,
please see Zhang et al [39].

  * •

Data in implementation. The data for implementation includes the details about
hardware, software and so on. For computing the CEI-1, the program code for
the algorithms is essential. It should be noted that the algorithms can be
implemented with various programming languages. The version controlling can be
done with the Git conveniently.

  * •

Data in summary for the project. The project report could be written with
LaTeX or Word by the team members. The project report is important for the
evaluation of the project.

[Kseries [InfinteSeriesSolver [CoefFun[CalcCoefCm]] [IsNegligible] ] ]

(a) Infinite series method

[Kagm [AGM [FixedPointSolver [Update[AgmUpdate]] [Dist[DistEuclid]] ] [$a$]
[$b$] [$\varepsilon$] ] ]

(b) AGM method

[Kintgc [IntegralSolverGC [f[KerGC]] [InnerProduct
[${\mathbf{w}}^{\mathrm{gc}}$ [CalcWeightsGC] ]
[${\mathbf{v}}^{\mathrm{gc}}_{f}$ [CalcVectorVfGC
[${\mathbf{x}}^{\mathrm{gc}}$ [CalcRootsChebyshev] ] [f] [$n$] [$k$] [$a$] ] ]
[$n$] ] ] ]

(c) Gauss-Chebyshev method

[Kintgl [IntegralSolverGL [f[KerGL]] [InnerProduct
[${\mathbf{w}}^{\mathrm{gl}}$[CalcWeightsGL]]
[${\mathbf{v}}^{\mathrm{gl}}_{f}$ [CalcVectorVfGL
[${\mathbf{x}}^{\mathrm{gl}}$ [CalcRootsLegendre] ] [f] [$n$] [$k$] [$a$]
[$b$] ] ] [$n$] ] ] ]

(d) Gauss-Legendre method

Figure 10: Modules for computing CEI-1: Kseries, Kagm, Kintgc and Kintgl

####  2.5.2 Data Analysis

The data collected in the management of project are usually not structured and
there is no unified way for data analysis. It is necessary for the instructor
to extract abstract information so as to compare the learning effects and
provide feedback for students. A fundamental rule for validating the data
collected is the step of VVT in the implementation.

##  3 Results

###  3.1 Global View of Computing CEI-1 with CDIO-CT Collaborative Strategy

In this paper, we take the problem of solving the period of MP and conceiving
the solution with STEM analysis, system modeling and simulation. Our analysis
shows that solving the numerical solution to the CEI-1, viz. $K(k)$, is the
key issue of exploring the period of MP in the sense of general nonlinear
model. Computing the CEI-1 is a typical complex STEM problem, which involves
science (physics), technology (computer science and software design),
engineering (software engineering and system engineering), and mathematics
(calculus, numeric analysis, linear algebra, and functional analysis)
respectively.

Our methodology is a combination of CDIO approach and CT, which interprets the
research paradigm of triplet of theory-experiment-computation through a well-
designed interdisciplinary project of solving the period of MP. Figure 11
illustrates the interaction of CDIO approach and CT. It is obvious that the
four stages of CDIO process are interwoven with the five factors of CT.

Figure 11: Interaction of CDIO stages and CT

The methodology adopted and tools required for exploring the period of MP are
connected with ach other. Figure 9 shows a global view of computing the CEI-1.
In the level of STEM education, solving complex computation problem via CDIO-
CT strategy includes four parts: problem description, problem decomposition,
methodology adoption and computer programming. In the level of tools for
solving the numerical solution to the CEI-1 $K(k)$, the problem description
outlines the principle for computing $K(k)$, the problem decomposition leads
to sub-problems or subsystems, the methodology implies elements of strategy,
and the computer programming is implemented via programming language. The
routine of training students’ ability of solving complex STEM problems can be
summarized as follows:

  * •

describing the problem concerned clearly;

  * •

decomposing the problem into sub-problems properly;

  * •

adopting the CDIO-CT collaborative strategy to explore the solutions to the
sub-problems and merge them into the objective solution; and

  * •

exploring the relations of solutions and tools required.

For solving the period $T=\lambda\sqrt{\ell/g}$ of MP, there are three
fundamental ways in the sense of physics science:

  * •

the semi-quantitative method via dimension analysis shows that $\lambda$ is a
unknown constant to be measured with an experiment;

  * •

the linear approximation method with the assumption of small oscillation
implies that ${\lambda}_{\mathrm{linear}}=4K(0)=2\pi$;

  * •

the nonlinear method states that ${\lambda}_{\mathrm{nonlinear}}=4K(k)$.

There are four feasible methods for computing the CEI-1 $K(k)$:

  * •

infinite series method,

  * •

AGM method,

  * •

Gauss-Chebyshev method, and

  * •

Gauss-Legendre method.

The sub-problems decomposed are summarized as follows by recognizing patterns
and using abstraction:

  * •

representation and computation of the infinite power series,

  * •

sum of the finite partial terms,

  * •

Cauchy’s criteria of convergence,

  * •

the iterative process in AGM,

  * •

the Gauss numeric integral,

  * •

the generation of orthogonal polynomials $Y_{n}(x)$ and their derivatives
$Y^{\prime}_{n}(x)$ by iterative method and specifying specific initial
values,

  * •

solving the roots of nonlinear equation with Newton’s method,

  * •

the computation of the weights appearing in the Gauss Numeric integration, and
finally

  * •

the calculation of inner product of two $n$-dim vectors.

These sub-problems are direct generalization of the specific sub-tasks of
computing the value $K(k)$. The solutions to these sub-problems have wide
applications in various disciplines depending on the practitioners’
professional backgrounds.

Our CDIO-CT collaborative strategy demonstrates the four stages of CDIO
approach, five factors of CT and their interactions clearly:

  * •

On the one hand, the conceiving stage relies on the perspective of STEM, which
reduces the solving of period into computing the CEI-1 and four equivalent
solutions to the computational task. In the designing stage, we construct a
series of algorithms for the general sub-problems and primitive problem. For
the implementation stage, we presents the C code by separating the interfaces
and implementation details. Meanwhile, all of the algorithms developed are
verified by creating optional test cases. The operation is briefly mentioned
by combining theory and experiment.

  * •

On the other hand, the factors of CT are discussed one by one with the
achievements in the CDIO process. Almost all of the general rules of CT can be
extracted from the process of CDIO. We should emphasize that the abstract and
modeling are vital to building a system, which includes problem abstraction,
system abstraction, data abstraction and algorithm abstraction. As stimulated
by the unacceptable results of computing the CEI-1 by MATLAB and Mathematica,
we can teach students a fundamental fact: we should keep an eye on commercial
software and the process of VVT is necessary, otherwise we may obtain a
troublesome solution.

The solution to the period of MP is obtained via computer programming, which
depends on programming language and techniques closely. There are some common
features to be considered carefully for the implementation of computing CEI-1
with some programming language such as C and Python. By working on exploring
the period of MP, the students will benefit from the following prospects:

  * •

deepening the understanding of CDIO approach, CT and their interaction;

  * •

building a vivid example of solving complex STEM problem by combining physics,
mathematics, computer science, software engineering and system engineering;

  * •

obtaining profound experiences about computer programming, such as modules,
names & environments, type systems, control-flow constructions, procedure &
functions, and complexity control mechanism;

  * •

improving team collaboration capabilities which includes project division,
joint writing, discussion, using tools such as LaTeX and Git, skills of
presentation, and so on.

###  3.2 General Framework for Solving Complex STEM Problem in Modeling and
Simulation

Although the framework shown in Figure 3 is designed for the project of
solving the period of MP, it can be extended to general complex STEM problems
and projects in system modeling and simulation. In Figure 12, there is more
than one way for the STEM problem and multiple methods for the ways concerned.
The ways proposed in conceiving are based on different principles with
different complexity and levels of effectiveness. For the way with best
approximation of modeling the problem of interest and best effectiveness of
solving the problem, its essence is usually the most complex. By comparison,
we can find that: the dimension analysis, linear approximation and nonlinear
modeling in solving the period of MP have been replaced by the ways with
different complexity; the infinite series method, the AGM method, Gauss-
Chebyshev method and Gauss-Legendre method in the specific framework have been
generalized to the different methods in the general framework.

Figure 12: General framework for solving complex STEM problems in modeling and
simulation

##  4 Discussion

###  4.1 Beyond the Computation of CEI-1

Although there are three kinds of complete elliptic integral, only the first
kind of complete elliptic integral $K(k)$ is discussed in this paper. The
ideas of computing $K(k)$ with four methods can also be applied to computing
of the second and third kinds of complete elliptic integral [44].

The dimension analysis is widely used in fluid mechanics and aerodynamics. Its
generalization is the type checking in computer science and software
engineering. In dimension analysis, the essence of the $\Pi$ theorem for
balancing the dimension can be described by linear algebra, which leads to
simple linear algebraic system with unique solution.

The system and modules shown in Figure 8 for solving the roots of Legendre
polynomial $P_{n}(x)$ can be modified and reused for various applications.
With different setting of $c_{0},c_{1},c_{2},A_{n},B_{n},C_{n}$ in (31) and
initial value $x_{0}[i]$ for the $i$-th root, we can obtain other orthogonal
polynomials and their derivatives as well as roots.

The code released on GitHub for computing CEI-1 $K(k)$ is written in the C
programming language. The algorithms proposed in this paper can be implemented
with other high level computer programming languages such as Python, MATLAB,
Octave, C++, Java, Julia and so on. For the beginners of learning computer
programming, they will be more sensitive on the grammars of computer
programming language than the general principles. In consequence, it will be
better if some teacher assistants are available for the students.

For example, it should be noted that the significant digits should be
considered when working on the project of exploring the period of MP. In the
sense of system modeling and simulation, the value of $K(k)$ can be computed
with high precision, say $\epsilon=10^{-9}$, and the effects of the precision
of $g$ and $\ell$ can be ignored. However, if the project for solving the
period of MP is taken as a STEM project and practical measurement of $g$ and
$\ell$ are performed, then we have to deal with the significant digits for the
values of ${g}_{\mathrm{meas}}$, ${\ell}_{\mathrm{meas}}$ and
${T}_{\mathrm{meas}}$ where the subscript “meas” means the result of
measurement. In this sense, the period will be

${T}_{\mathrm{simu}}=4K(k)\sqrt{\frac{{g}_{\mathrm{meas}}}{{\ell}_{\mathrm{meas}}}}$
(32)

which implies that it is pointless if we calculate $K(k)$ with a high
precision. In other words, if there are 2 effective digits for $g$ and $\ell$,
then we should set the precision $\epsilon=10^{-2}$ when computing $K(k)$ with
infinite series method and AGM method, and the parameter $n\in\mathbb{N}$ in
Gauss-Chebyshev method and Gauss-Legendre method could be set with a smaller
number. In consequence, only two significant digits in Table 11 are worth
considering in the sense of science.

As an improvement of MP, C. Huygens proposed the concept of symmetric
isochronous pendulum. Recently, J. M. Randazzo et al. proposed the asymmetric
isochronous pendulum for the first time [45, 46]. The discussion of
isochronous pendulum is an extension of this work on MP and the computation of
the period will be a new evolution, which could be a new project for the
students.

###  4.2 Limitation

As illustrated in the metaphor shown in Figure 2, the idea of the CDIO-CT
collaborative strategy for problem-project-oriented STEM education is
universal. However, the general framework shown in Figure 12 is limited for
solving the complex STEM problem in system modeling and simulation. For those
out of the scope, the framework should be modified according to the constrains
encountered. For the STEM problems arising in K12, the general framework can
be simplified according to the practical problems encountered.

##  5 Conclusions

A general framework for solving complex STEM problems with the CDIO-CT
collaborative strategy is proposed by demonstrating the interdisciplinary
project of solving the period of MP. In the sense of global perspective, the
CDIO approach is about “how to do”, the CT is about “how to think” and the
problem to be solved is about “what to do. Our analysis shows that the CDIO
stages and the elements of CT are interwoven closely. Although the teaching
method for the STEM education is with three different names, viz. problem-
based learning, project-based learning and project-driven teaching, it is
integrated in the general framework naturally.

The philosophy of STEM education is that each problem has more than one way to
the feasible solutions. The project about solving the period of MP provides a
good example for practicing this philosophy. The concepts and tools arising in
developing the software for calculating CEI-1 are valuable for teaching
computer programming. The methodology embedded in the project of exploring the
expression and solution to the period of MP is enlightening, which is worth
recommending to students and instructors in colleges and universities.

## Data Availability Statement

The C code for the implementation can be downloaded from the following GitHub
site

https://github.com/GrAbsRD/CEI-1/tree/main

## Acknowledgment

The first author’s thanks go to Prof. Qi Zhang and Prof. Yan Han for the
training and discussion of the CDIO approach in Civil Aviation University of
China. The authors’ thanks go to Prof. Li-Hua Wu and Dr. Mi Wang for their
suggestions for the manuscript of this paper. The authors’ thanks also go to
Juan M. Randazzo for his comment on the history and concepts of
symmetric/asymmetric isochronous pendulum.

This work was supported by the Hainan Provincial Education and Teaching Reform
Project of Colleges and Universities under grant number Hnjg2019-46, and in
part by the Hainan Provincial Natural Science Foundation of China under grant
number 720RC616.

## References

  * [1] Straker KC, Kelman EG. Six Steps to College Success: Learning Strategies for STEM Students.  Cypress: Karista Press .  2014\.
  * [2] Johnson CC, Peters-Burton EE, Moore TJ. , eds.STEM Road Map 2.0: A Framework for Integrated STEM Education in the Innovation Age.  London: Routledge.  2nd ed. 2021.
  * [3] Hafez MM, Tavernetti WE. Introduction To Computer Simulations For Integrated Stem College Education.  Singapore: World Scientific Publishing Company .  2019\.
  * [4] Katz LG, Chard SC. Engaging Children’s Minds: The Project Approach.  Westpont, Connecticut: Greenwood Publishing Group.  1st ed. 1989.
  * [5] Li C, Hou Y, Yang J. Research on Project-Driven Teaching Method of Technology of Mechanical Manufacture Based on Ability Training. International Journal of Information and Education Technology, Vol. 7, No. 6, June 2017 2017; 7(6): 474-478.  http://www.ijiet.org/vol7/915-JR215.pdf.
  * [6] Peng X, Dai J, Smarandache F. Research on the assessment of project-driven immersion teaching in extreme programming with neutrosophic linguistic information. International Journal of Machine Learning and Cybernetics 2023; 14(3): 873–888.  https://doi.org/10.1007/s13042-022-01669-6.
  * [7] Albanese MA, Mitchell S. Problem-based learning: A review of literature on its outcomes and implementation issues. Academic Medicine 1993; 68(1): 52-81.
  * [8] Savery JR, Duffy TM. Problem Based Learning: An Instructional Model and Its Constructivist Framework. Educational Technology 1995; 35: 31-38.
  * [9] Wood EJ. Problem based learning. Jpma the Journal of the Pakistan Medical Association 2008; 336(2): 971-971.
  * [10] Sabapathy T, Soh PJ, Jusoh M. A Three-Year Improvement Assessment of Project-Based Learning for an Antennas and Propagation Course. IEEE Antennas and Propagation Magazine 2020; 62(6): 76-84.
  * [11] Turnbull M. Multidimensional Project-Based Second Language Teaching: Observations of Four Grade 9 Core French Teachers. Canadian Modern Language Review/La Revue Canadienne Des Langues Vivantes 1999; 56(1): 7-30.  https://doi.org/10.3138/cmlr.56.1.7.
  * [12] Thomas JW. A Review of Research on Project-Based Learning. online; 2000.  https://api.semanticscholar.org/CorpusID:9414703, available on: http://www.bobpearlman.org/BestPractices/PBL_Research.pdf.
  * [13] Li YX, Lai HM, Lai HM, Chen CP. A Scientometric Review of the Current Status and Emerging Trends in Project-Based Learning. International Journal of Information and Education Technology 2017; 7(8): 581-584.  doi: 10.18178/ijiet.2017.7.8.935
  * [14] Saad A, Zainudin S. A review of Project-Based Learning (PBL) and Computational Thinking (CT) in teaching and learning. Learning and Motivation 2022; 78(12): 1/101802–12/101802.
  * [15] Crawley EF, Malmqvist J, Östlund S, Brodeur DR, Edström K. Rethinking Engineering Education: The CDIO Approach.  New York: Springer.  2nd ed. 2014.
  * [16] Malmqvist J, Lundqvist U, Anders Rosén KE, et al. The CDIO Syllabus v3.0: An Updated Statement of Goals for Engineering Education. Online; 2022.  http://wvvw.cdio.org/files/CDIO2022_Malmqvist%20et%20al%20Syllabus%203_post_review_v6.pdf.
  * [17] Wing JM. Computational Thinking. Communications of the ACM 2006; 49(3): 33-35.
  * [18] Voskoglou MG, Buckley S. Problem Solving and Computational Thinking in a Learning Environment. Online; 2012.  arXiv:1212.0750 [cs.AI], https://doi.org/10.48550/arXiv.1212.0750.
  * [19] Shute VJ, Sun C, Asbell-Clarke J. Demystifying computational thinking. Educational Research Review 2017; 22(11): 142—158.  https://doi.org/10.1016/j.edurev.2017.09.003.
  * [20] Beecher K. Computational Thinking: A Beginner’s Guide to Problem-Solving and Programming.  Farnham: O’Reilly .  2017\.
  * [21] Edelman A, Sanders DP, Sanderson G, Schloss J, Drake H. introduction-to-computational-thinking. Online; 2020.  MIT open course: https://ocw.mit.edu/courses/18-s191-introduction-to-computational-thinking-fall-2020/.
  * [22] Sanford JF, Naidu JT. Mathematical Modeling And Computational Thinking. Contemporary Issues in Education Research (CIER) 2017; 10(2): 159-168.
  * [23] Qian Y, Choi I. Tracing the essence: ways to develop abstraction in computational thinking. Educational technology research and development 2023; 71: 1055–1078.  https://doi.org/10.1007/s11423-022-10182-0.
  * [24] Tan AL, Ong YS, Ng YS, Tan JHJ. STEM Problem Solving: Inquiry, Concepts, and Reasoning. Science & Education 2023; 32(1): 381–397.  https://link.springer.com/article/10.1007/s11191-021-00310-2#citeas.
  * [25] Nadelson LS, Seifert AL. Integrated STEM defined: Contexts, challenges, and the future. The Journal of Educational Research 2017; 110(3): 221-223.  https://doi.org/10.1080/00220671.2017.1289775.
  * [26] Juškevičienė A, Stupurienė G, Jevsikova T. Computational thinking development through physical computing activities in STEAM education. Computer Applications in Engineering Education 2020; 29(1): 175-190.  https://doi.org/10.1002/cae.22365.
  * [27] Mertens DR. Principles of Modeling and Simulation in Teaching and Research1. Journal of Dairy Science 1977; 60(7): 1176-1186.  doi: https://doi.org/10.3168/jds.S0022-0302(77)84005-8
  * [28] Magana AJ, Coutinho GS. Modeling and simulation practices for a computational thinking-enabled engineering workforce. Computer Applications in Engineering Education 2016; 25(1): 62-78.  https://doi.org/10.1002/cae.21779.
  * [29] Magana AJ, Jong dT. Modeling and simulation practices in engineering education. Computer Applications in Engineering Education 2018; 26(4): 731-738.  https://doi.org/10.1002/cae.21980.
  * [30] Mora A, Riera D, Gonzalez C, Arnedo-Moreno J. A Literature Review of Gamification Design Frameworks. In: IEEE; 2015: 1-8.  https://ieeexplore.ieee.org/document/7295760/authors#authors.
  * [31] Zourmpakis AI, Kalogiannakis M, Papadakis S. A Review of the Literature for Designing and Developing a Framework for Adaptive Gamification in Physics Educationch. 5: 1/5—26/5; Melville, New York: AIP Publishing .  2023\.
  * [32] Kittel C, Knight WD, Ruderman MA, Helmholz AC, Moyer BJ. Berkeley Physics Course — Mechanics. 1.  New York: McGraw-Hill Book Company .  1973\.
  * [33] Feynman RP, Sands M, Leighton RB. The Feynman Lectures on Physics: Mainly Mechanics, Radiation, and Heat. 1.  Boston: Addison-Wesley.  2 ed. 2005.
  * [34] Halliday D, Resnick R, Walker J. Fundamentals of Physics.  Hoboken, New Jursy: Wiley.  10th ed. 2018.
  * [35] Polya G, Conway JH. How to Solve It: A New Aspect of Mathematical Method.  New York: Doubleday Anchor Books .  1957\.
  * [36] Chernoutsan AI, Egorov AV, Manzhirov AV, et al. A Concise Handbook of Mathematics, Physics, and Engineering Sciences.  Boca Roton: CRC Press .  2011\.
  * [37] Gradshteyn IS, Ryzhik IM. Table of Integrals, Series, and Products.  London: Academic Press (Elsevier Inc).  eighth ed. 2015.  Translated from Russian by Scripta Technica, Inc.
  * [38] Abramowitz M, Stegun I. Handbook of Mathematical Functions: with Formulas, Graphs, and Mathematical Tables.  New York: Dover Publications.  2nd ed. 1965.  chapter 17.
  * [39] Zhang HY, Zhou Y, Li YT, Li FY, Jiang YH. Correct and Alternative Numerical Algorithms for the Complete Elliptic Integral of the First Kind in MATLAB and Mathematica. Available online; 2022.  arXiv:2212.05694 [math.NA], https://doi.org/10.48550/arXiv.2212.05694.
  * [40] Kernighan BW, Ritchie DM. The C Programming Language.  New Jersey: Prentice Hall.  2nd ed. 1988.
  * [41] King LV. On the Direct Numerical Calculation of Elliptic functions and Integrals.  Cambridge: Cambridge University Press .  1924\.
  * [42] Wolfram . Elliptic Integrals. Available online; 2022.  https://reference.wolfram.com/language/guide/EllipticIntegrals.html?msclkid=e032a877b65f11ecb61b6b9974ee8bfe.
  * [43] Courant R, Hilbert D. Methods of Mathematical Physics. 1.  New York: Wiley-VCH.  2nd ed. 1989.
  * [44] Zhang SJ, Jin JM. Computation of Special Functions.  New York: Wiley-Interscience .  1996\.  the Chinese version was published in 2011 by the Nanjing University Press in China.
  * [45] Randazzo J, Ibáñez S, Rosselló J. An asymmetric isochronous pendulum. American Journal of Physics 2018; 86: 518-525.  doi: 10.1119/1.5036627
  * [46] Río-Cidoncha D, Rojas Sola JI, González-Cabanes . Computer-Aided Design and Kinematic Simulation of Huygens’s Pendulum Clock. Applied Sciences 2020; 10: 538.  doi: 10.3390/app10020538