<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2016.910032</article-id><article-id pub-id-type="publisher-id">JSEA-71141</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Java Computer Animation for Effective Learning of the Cholesky Algorithm with Transportation Engineering Applications
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ivan</surname><given-names>Makohon</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Duc</surname><given-names>T. Nguyen</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mecit</surname><given-names>Cetin</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib></contrib-group><aff id="aff3"><addr-line>Civil &amp;amp; Environmental Engineering (CEE) Department, Old Dominion University, Norfolk, VA, USA</addr-line></aff><aff id="aff1"><addr-line>Modeling, Simulation &amp;amp; Visualization Engineering (MSVE) Department, Old Dominion University, Norfolk, VA, USA</addr-line></aff><aff id="aff2"><addr-line>CEE and MSVE Department, Old Dominion University, Norfolk, VA, USA</addr-line></aff><pub-date pub-type="epub"><day>10</day><month>10</month><year>2016</year></pub-date><volume>09</volume><issue>10</issue><fpage>491</fpage><lpage>500</lpage><history><date date-type="received"><day>June</day>	<month>12,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>October</month>	<year>8,</year>	</date><date date-type="accepted"><day>October</day>	<month>11,</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In this paper, the well-known Cholesky Algorithm (for solving simultaneous linear equations, or SLE) is re-visited, with the ultimate goal of developing a simple, user-friendly, attractive, and useful Java Visualization and Animation Graphical User Inter-face (GUI) software as an additional teaching tool for students to learn the Cholesky factorization in a step-by-step fashion with computer voice and animation. A demo video of the Cholesky Decomposition (or factorization) animation and result can be viewed online from the website: http://www.lions.odu.edu/~imako001/cholesky/demo/index.html. The software tool developed from this work can be used for both students and their instructors not only to master this technical subject, but also to provide a dynamic/valuable tool for obtaining the solutions for homework assignments, class examinations, self-assessment studies, and other coursework related activities. Various transportation engineering applications of SLE are cited. Engineering educators who have adopted “flipped classroom instruction” can also utilize this Java Visualization and Animation software for students to “self-learning” these algorithms at their own time (and at their preferable locations), and use valuable class-meeting time for more challenging (real-life) problems’ discussions. Statistical data for comparisons of students’ performance with and without using the developed Java computer animation are also included.
 
</p></abstract><kwd-group><kwd>Cholesky Algorithm</kwd><kwd> Shortest Path</kwd><kwd> Linear Programming</kwd><kwd> Traffic Flows</kwd><kwd> Decomposition/Factorization</kwd><kwd> Java Visualization/Animation</kwd><kwd> Statistical Data</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The Cholesky Decomposition (Factorization) Algorithm was presented by Andre Louis Cholesky in an unknown and unpublished 8-page manuscript on December 2, 1910 entitled: On the numerical solutions of systems of linear equations. The method was unknown outside the French circle of topographers until another French officer published a paper explaining the method in 1924. It wasn’t until 1950 when the Cholesky Decomposition Method was widely known after John Todd’s lectures, several colleagues and students of him undertook the study of the Cholesky method. Today, the Cholesky Decomposition Method is widely known [<xref ref-type="bibr" rid="scirp.71141-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.71141-ref2">2</xref>] and is used to solve systems of Symmetric Positive Definite (SPD) simultaneous linear equations (SLE).</p><p>Engineering and science applications of SLE have been extensively documented in the literatures [<xref ref-type="bibr" rid="scirp.71141-ref3">3</xref>] - [<xref ref-type="bibr" rid="scirp.71141-ref6">6</xref>] . Cholesky method for solving SLE has been installed in all major commercialized Finite Element Analysis (FEA) software for the analysis and optimal design of Civil/Structural, Mechanical, Aerospace, Electrical engineering systems. Cholesky algorithm has also been considered as a major building block in the revised (matrix) SIMPLEX algorithm for solving Linear Programming (LP) problems [<xref ref-type="bibr" rid="scirp.71141-ref3">3</xref>] . The well- known shortest path (SP) problems [<xref ref-type="bibr" rid="scirp.71141-ref7">7</xref>] in transportation engineering communities can also be formulated/solved as a LP problem, although more efficient algorithms such as the Dijkstra, Label Correction, A*, Shortest Distance Decomposition Algorithms (SDDA) [<xref ref-type="bibr" rid="scirp.71141-ref8">8</xref>] have often be employed to solve such SP problems.</p><p>Least square regression models, and SLE has been discussed in Himes-Donnell’s published work in “Speed Prediction Models for Multilane Highways: Simultaneous Equations Approach” [<xref ref-type="bibr" rid="scirp.71141-ref9">9</xref>] . Adu and his colleagues have considered “Applications of SLE to Traffic Flow for a Network of Four One-Way Streets in Kumasi, Ghana” [<xref ref-type="bibr" rid="scirp.71141-ref10">10</xref>] . SLE has also been applied in Li’s research work in [<xref ref-type="bibr" rid="scirp.71141-ref11">11</xref>] . Intelligent transportation system (ITS) has often collected real-time (big) data from various sources. Thus, data compression, data recovery techniques (where SLE plays a central role) are critically important for ITS applications [<xref ref-type="bibr" rid="scirp.71141-ref12">12</xref>] .</p><p>The best way to understand the Cholesky method is to see it working in practice by performing and solving small examples by hand and working through the algebra [<xref ref-type="bibr" rid="scirp.71141-ref13">13</xref>] . Various teaching philosophies have been proposed, tested and documented by the educational research communities, such as video lectures (YouTube), “flipped” class lectures (where students are encouraged to read the lecture materials at their own time at homes, and problem solving and/or questions/answers sessions are conducted in the usual classroom environments), US Science Technology Engineering Mathematics (STEM) summer camps, game-based-learning (GBL) [<xref ref-type="bibr" rid="scirp.71141-ref14">14</xref>] - [<xref ref-type="bibr" rid="scirp.71141-ref16">16</xref>] , virtual laboratories [<xref ref-type="bibr" rid="scirp.71141-ref17">17</xref>] and concept inventory [<xref ref-type="bibr" rid="scirp.71141-ref18">18</xref>] .</p><p>With the steady decline in US STEM interests and enrollments, the National Science Foundation (NSF) and the White House have developed national strategies and provided the significant budget to STEM education research [<xref ref-type="bibr" rid="scirp.71141-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.71141-ref16">16</xref>] in the past years, with the ultimate goals to improve both the quality and number of highly trained US educators, student workforce in STEM topics, in today highly competitive global markets. With the explosions of internet’s capability and availability, it is even more critical to effectively train this future USA-STEM work-force and/or to develop effective STEM related teaching tools to reach a maximum possible number of “distance learners/au- diences”.</p><p>The final product from this work provides experimental results that show that this developed software/tool helps both the students and their instructor to not only master this technical subject, but also provide a valuable tool for obtaining the solutions for homework assignments, class examinations, self-assessment tools, etc. The developed “educational version” of a Java Visualization and Animation software tool provides several desirable features, such as:</p><p> A detailed, precise and clear step-by-step algorithm will be displayed in text and human voice during the animation of the algorithm.</p><p> Options to hear animated voice in 2 major languages (English and Spanish).</p><p> Options to input/output terminal container yard layouts (CVS file), or manually edit the layouts using an editor, or “randomly generating” layouts.</p><p> Output of the “final” results can be exported to text, so that the users/learners can check/verify their “hand-calculated” results, which is an important part of the learning process.</p><p>In this paper, a simple Cholesky decomposition example is thoroughly explained along with the derived formulas. The focuses are then shifted toward a Java Visualization and Animation software tool that provides step-by-step instructions for learning/teaching the Cholesky decomposition method. This Java Visualization and Animation software tool was used in an Old Dominion University (ODU) 300-Level Civil and Environmental Engineering (CEE) Computation course (CEE 305) in the Fall’ 2014 semester. Lecture materials on how to solve system of SPD SLEs along with the Java- based software was handed out, and briefly discussed to the students as a self-study take-home assignment. Students were given an in-class exam on the Cholesky method. The goal was to determine if the Java-based (self-learning) software would improve or worsen the student’s exam performance compared to the traditional face-to-face instructor’s classroom lecture. The experiment results from this case-study are captured and explained in details in Section 4.</p></sec><sec id="s2"><title>2. Summary of Cholesky’s Decomposition Method</title><p>Solving large (and sparse) system of simultaneous linear equations (SLE) has been (and continue to be) a major challenging problem for many real-world engineering/science applications [<xref ref-type="bibr" rid="scirp.71141-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.71141-ref6">6</xref>] . In matrix notation, the SLE can be represented as:</p><disp-formula id="scirp.71141-formula137"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x2.png"  xlink:type="simple"/></disp-formula><p>where</p><p>[A] = known coefficient matrix, with dimension N &#180; N</p><p>{b} = known right-hand-side (RHS) N &#180; 1 vector</p><p>{x} = unknown N &#180; 1 vector.</p><p>Symmetrical Positive Definite (SPD) SLE</p><p>For many practical SLE, the coefficient matrix [A] (see Equation (1)) is SPD. In this case, efficient 3-step Cholesky algorithms [<xref ref-type="bibr" rid="scirp.71141-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.71141-ref2">2</xref>] can be used.</p><p>Step 1: Matrix Factorization Phase</p><p>In this step, the coefficient matrix [A] can be decomposed into</p><disp-formula id="scirp.71141-formula138"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x3.png"  xlink:type="simple"/></disp-formula><p>where [U] is a N &#180; N upper triangular matrix.</p><p>The following simple example will illustrate how to find the matrix [U].</p><p>Various terms of the factorized matrix [U] can be computed/derived as following (see Equation (2)):</p><disp-formula id="scirp.71141-formula139"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x4.png"  xlink:type="simple"/></disp-formula><p>Multiplying 2 matrices on the right-hand-side (RHS) of Equation (3), then equating each upper-triangular RHS terms to the corresponding ones on the upper-triangular left-hand-side (LHS), one gets the following 6 equations for the 6 unknowns in the factorized matrix<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x5.png" xlink:type="simple"/></inline-formula>.</p><disp-formula id="scirp.71141-formula140"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x6.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71141-formula141"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x7.png"  xlink:type="simple"/></disp-formula><p>In general, for a N &#180; N matrix, the diagonal and off-diagonal terms of the factorized matrix <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x8.png" xlink:type="simple"/></inline-formula> can be computed from the following formulas:</p><disp-formula id="scirp.71141-formula142"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x9.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71141-formula143"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x10.png"  xlink:type="simple"/></disp-formula><p>As a quick example, one computes:</p><disp-formula id="scirp.71141-formula144"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x11.png"  xlink:type="simple"/></disp-formula><p>Thus, for computing<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x12.png" xlink:type="simple"/></inline-formula>, one only needs to use the (already factorized) data in columns # i(=5), and # j(=7) of [U], respectively.</p><p>Step 2: Forward Solution phase</p><p>Substituting Equation (2) into Equation (1), one gets:</p><disp-formula id="scirp.71141-formula145"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x13.png"  xlink:type="simple"/></disp-formula><p>Let’s define:</p><disp-formula id="scirp.71141-formula146"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x14.png"  xlink:type="simple"/></disp-formula><p>Then, Equation (9) becomes:</p><disp-formula id="scirp.71141-formula147"><label>(11)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x15.png"  xlink:type="simple"/></disp-formula><p>Since <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x16.png" xlink:type="simple"/></inline-formula> is a lower triangular matrix, Equation (11) can be efficiently solved for the intermediate unknown vector<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x17.png" xlink:type="simple"/></inline-formula>, according to the order<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x18.png" xlink:type="simple"/></inline-formula>, hence the name “forward solution”.</p><p>As a quick example, one has:</p><disp-formula id="scirp.71141-formula148"><label>(12)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x19.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71141-formula149"><label>(13)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x20.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71141-formula150"><label>(14)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x21.png"  xlink:type="simple"/></disp-formula><p>Similarly</p><disp-formula id="scirp.71141-formula151"><label>(15)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x22.png"  xlink:type="simple"/></disp-formula><p>In general, one has</p><disp-formula id="scirp.71141-formula152"><label>(16)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x23.png"  xlink:type="simple"/></disp-formula><p>Step 3: Backward Solution phase</p><p>Since <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x24.png" xlink:type="simple"/></inline-formula> is an upper triangular matrix, Equation (10) can be efficiently solved for the original unknown vector<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x25.png" xlink:type="simple"/></inline-formula>, according to the order<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x26.png" xlink:type="simple"/></inline-formula>, hence the name “backward solution”.</p><p>As a quick example, one has:</p><disp-formula id="scirp.71141-formula153"><label>(17)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x27.png"  xlink:type="simple"/></disp-formula><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x28.png" xlink:type="simple"/></inline-formula>, hence <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x29.png" xlink:type="simple"/></inline-formula> (18)</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x30.png" xlink:type="simple"/></inline-formula>, hence <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-9302312x31.png" xlink:type="simple"/></inline-formula> (19)</p><p>Similarly:</p><disp-formula id="scirp.71141-formula154"><label>(20)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x32.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.71141-formula155"><label>(21)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x33.png"  xlink:type="simple"/></disp-formula><p>In general, one has:</p><disp-formula id="scirp.71141-formula156"><label>(22)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-9302312x34.png"  xlink:type="simple"/></disp-formula><p>Note: Amongst the above 3-step Cholesky algorithms, factorization phase in step 1 consumes about 95% of the total SLE solution time.</p></sec><sec id="s3"><title>3. Java Computer Animated Software Tool for Teaching the Cholesky Algorithm</title><p>The developed software is written in Java [<xref ref-type="bibr" rid="scirp.71141-ref19">19</xref>] - [<xref ref-type="bibr" rid="scirp.71141-ref21">21</xref>] and is meant to create 2D animations and provide voice step-by-step explanations for the Cholesky Algorithm. The software is developed from scratch using several open-source software. The software uses various third-party libraries, such as Java Swing library for the animations, the text-to-speech library (Google API Translate) for voice, and the matrix library (Efficient Java Matrix) for data storage.</p><p>Applying open-source libraries to this software allowed lots of Graphical User Interface (GUI) functionality and features to be developed. The software GUI is developed with JFC/Swing which is included within the Java Development Kit (JDK). The Main GUI consists of seven main components as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Cholesky decomposition educational application</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-9302312x35.png"/></fig><p>1) Menu Buttons (Preferences and Help): Provides basic options, such as an option to open/save Container Layouts, an option to provide terse, verbose, or no voice step-by-step instructions, an option to change the voice language to English, Spanish, and Chinese, and an option to display a user manual.</p><p>2) Matrix Input Control Buttons: Input control buttons are provided from the main window to open, save or edit the left-hand-side (LHS) Matrix [A] and right-hand- side (RHS) Vector {b} data.</p><p>3) Tutorial Lesson Control Buttons: Lesson control buttons are provided from the main window to play, pause, or stop a lesson (an algorithm). The buttons are enabled when the LHS Matrix [A] and RHS Vector {b} is given. Additional buttons (the step-by-step and information button) are provided. The step-by-step button launches a GUI that provides step-by-step instructions taking place during the play session. These step-by-step instructions can be saved to an output text file. The information buttons provide a user guide for the Main GUI.</p><p>4) Algorithm Step: Textbox view of the current algorithm step during play session.</p><p>5) Tutorial Information: Textbox view of instructions, equations, or steps (scrollable) is being done within the algorithm. The equations are dynamically provided based on the input data given.</p><p>6) Animation View: Animation view of the matrices and vectors being updated during the play session.</p><p>7) Status View: Provides a status view which displays meaningful status: ready, play, or paused.</p></sec><sec id="s4"><title>4. Experimental Results</title><p>Civil and Environmental Engineering (CEE) Computation course (CEE 305) has been offered in every Fall semester. In the Fall-2013 semester, the Cholesky method was explained in the traditional (face-to-face) class-room instruction format. However, in the Fall-2014 semester, lecture materials on how to solve system of SPD SLEs along with the Java-based software was handed out to the students (with minimum instructor’s lecture time) as a “self-study” take-home assignment. In both semesters (Fall’ 2013, and Fall’ 2014) students were given an in-class exam on the Cholesky method.</p><p>The goal was to determine if the Java-based software would improve or worsen the students’ exam performance as compared to the traditional (face-to-face) instructor’s classroom lecture. The resulting data was collected by the same professor that taught the same course using the normal (face-to-face) class-room instruction and using this new Java software tool. The results are explained below. <xref ref-type="fig" rid="fig2">Figure 2</xref> shows the Student Percentage (Exam) Scores for the Fall 2013 semester using the conventional (face-to- face) class-room lectures. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the Student Percentage (Exam) Scores for the Fall 2014 semester using the Java Visualization and Animation software tool for teaching the Cholesky Algorithm. <xref ref-type="fig" rid="fig3">Figure 3</xref> clearly shows that a majority of students scored within the 76.67% or above; whereas, in <xref ref-type="fig" rid="fig2">Figure 2</xref>, student scores were scattered with more students on/below the 53.33% mark than in Fall 2014.</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Student percentage scores (Fall 2013)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-9302312x36.png"/></fig><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Student percentage scores (Fall 2014)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-9302312x37.png"/></fig><p>Using the Java Visualization and Animation software tool for instructions and animation in learning the Cholesky Method for solving SLE, and with the user’s input problems’ data capability for practicing exercises, the student’s average performance/exam scores have improved from 70.58% to 81.53% (as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref>, respectively).</p></sec><sec id="s5"><title>5. Conclusions</title><p>In this paper, the Cholesky Method is once again revisited to show a new and different approach for teaching/learning the Cholesky decomposition algorithm, for solving the Simultaneous Linear Equations (SLE). Various transportation engineering applications of SLE have also been highlighted. The developed Java computer animated software has shown that it can be used as an additional/effective tool for teaching and learning the Cholesky method. The students’ average scores from in-class exams in the Fall’2013 (traditional face-to-face class lecture instruction mode, without using the developed JAVA animated teaching tool), and in the Fall’2014 (students’ self-learning mode [with minimum instructor’s lecture time], using the developed JAVA animated teaching tool) were 70.58% and 81.53%, respectively. Thus, an improvement of more than 10% has been observed! The software tool is developed in Java language and integrated with open-source libraries. It provides a means to be platform independent and can be run on several operation systems. It provides desirable teaching/learning features for the Cholesky algorithm, such as:</p><p> Software tool with a user friendly GUI.</p><p> 2D Graphical visualization and animation for displaying data update.</p><p> 2D Graphical visualization to edit input data.</p><p> Ability to allow the user/learner to open/save the data for later use.</p><p> Ability to allow the user/learner to output/save the step-by-step results.</p><p> Provide a clearly and attractive computer animated voice that provides step-by-step instructions of the algorithms.</p><p> Animated voice can be configurable to translate text-to-speech into another language, such as English, Spanish and Chinese.</p><p> Provide the final and intermediate results of the Cholesky solution process.</p><p>A demo video of the Cholesky Decomposition Method’s animation and result can be viewed online from any web browser using the website provided in Reference [<xref ref-type="bibr" rid="scirp.71141-ref1">1</xref>] .</p></sec><sec id="s6"><title>Acknowledgements</title><p>Portions of this work have been supported by the NSF award (Proposal # 0836916; DUE-CCLI Phase 1: Exploratory).</p></sec><sec id="s7"><title>Cite this paper</title><p>Makohon, I., Nguyen, D.T. and Cetin, M. (2016) Java Computer Animation for Effective Learning of the Cholesky Algorithm with Transportation Engineering Applications. Journal of So- ftware Engineering and Applications, 9, 491-500. http://dx.doi.org/10.4236/jsea.2016.910032</p></sec></body><back><ref-list><title>References</title><ref id="scirp.71141-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Cluster (Parallel) Computing for Large-Scale Engineering &amp; Science Applications.  
http://www.lions.odu.edu/~skadi002/001-075.pdf 
http://www.lions.odu.edu/~imako001/</mixed-citation></ref><ref id="scirp.71141-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Brezinski, C. (2007) The Life and Work of Andre Cholesky.</mixed-citation></ref><ref id="scirp.71141-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T., Shen, Y., Mohammed, A.A. and Kadiam, S. (2010) Tossing Coin Game and Linear Programming Big M Simplex Algorithms. Global Conference on Learning and Technology, Penang (Island), 17-20 May 2010. http://www.learntechlib.org/noaccess/34365</mixed-citation></ref><ref id="scirp.71141-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T., Kaw, A.K., Pendyala, R. and Lee-Thomas, G. (2011) Collaborative Research: Development of New Prototype Tools, and Adaptation and Implementation of Current Resources for a Course in Numerical Methods. NSF Funded Educational Grant (Proposal # 0836916; DUE-CCLI Phase 1: Exploratory); (Funding Period: 1 January 2009-30 July 2011).</mixed-citation></ref><ref id="scirp.71141-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T. (2006) Finite Element Methods: Parallel-Sparse Statics and Eigen-Solutions. Springer Publishers. http://www.springer.com/us/book/9780387293301</mixed-citation></ref><ref id="scirp.71141-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T. (2002) Parallel-Vector Equation Solvers for Finite Element Engineering Applications. Kluwer Academic/Plenum Publishers.  
http://www.oracle.com/technetwork/java/javase/downloads/index.html</mixed-citation></ref><ref id="scirp.71141-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Makohon, I., Nguyen, D.T., Sosonkina, M., Shen, Y. and Ng, M. (2016) JAVA Based Visualization and Animation for Teaching the Dijkstra Shortest Path Algorithm in Transportation Networks. International Journal of Software Engineering &amp; Applications (IJSEA), 7, 11-25.</mixed-citation></ref><ref id="scirp.71141-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Johnson, P., Nguyen, D.T. and Ng, M. (2014) An Efficient Shortest Distance Decomposition Algorithm for Large-Scale Transportation Network Problems. TRB 2014 Annual Meeting, Washington DC, January 2014. https://trid.trb.org/view.aspx?id=1288547</mixed-citation></ref><ref id="scirp.71141-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Himes, S.C. and Donnell, E.T. (2010) Speed Prediction Models for Multilane Highways: Simultaneous Equations Approach. Journal of Transportation Engineering, 136, 855-862.  
http://dx.doi.org/10.1061/(ASCE)TE.1943-5436.0000149</mixed-citation></ref><ref id="scirp.71141-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Adu, I.K., et al. (2014) Applications of SLE to Traffic Flow for a Network of Four One-Way Streets in Kumasi, Ghana. International Journal of Contemporary Mathematical Sciences, 9, 653-660. http://dx.doi.org/10.12988/ijcms.2014.410109</mixed-citation></ref><ref id="scirp.71141-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Li, Q., et al. (2007) A Flow Volume Data Compression Approach for Traffic Network Based on Principal Component Analysis. Intelligent Transportation Systems Conference, 125-130. 
http://ieeexplore.ieee.org/document/4357668/?reload=true&amp;arnumber=4357668</mixed-citation></ref><ref id="scirp.71141-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Asif, M.T., et al. (2013) Data Compression Techniques for Urban Traffic Data. IEEE Symposium on Computational Intelligence in Vehicles and Transportation Systems (CIVTS), 16-19 April 2013, 44-49. http://dx.doi.org/10.1109/civts.2013.6612288</mixed-citation></ref><ref id="scirp.71141-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Claxton, K. and Briggs, A. (2006) Decision Modelling for Health Economic Evaluation.</mixed-citation></ref><ref id="scirp.71141-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T., Mohammed, A.A., Kadiam, S. and Shen, Y. (2010) Internet Chess-Like Game and Simultaneous Linear Equations. Global Conference on Learning and Technology, Penang (Island), 17-20 May 2010. http://www.learntechlib.org/noaccess/34365</mixed-citation></ref><ref id="scirp.71141-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">National Science Foundation (NSF), National Science Board (NSB) (2007) A National Action Plan for Addressing the Critical Needs of the US Science, Technology, Engineering, and Mathematics (STEM) Education System.</mixed-citation></ref><ref id="scirp.71141-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Executive Office of the President of the United States (2013) Federal Science, Technology, Engineering, and Mathematics (STEM) Education 5-Year Strategic Plan. A Report from the Committee on STEM Education, National Science and Technology Council (May 2013).</mixed-citation></ref><ref id="scirp.71141-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.T. (2009) Implementation Grant: Simulation and Visualization Enhanced Engineering Education. National Science Foundation (NSF), Funding Period: September 2005-September 2009.</mixed-citation></ref><ref id="scirp.71141-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Kaw, A., et al. (2016) Improving and Assessing Student Learning in an Inverted STEM Classroom Setting. NSF (Division of Undergraduate Education) Awarded Grant # 1322586 (September 2013-September 2016).</mixed-citation></ref><ref id="scirp.71141-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Efficient Java Matrix Library.  
http://code.google.com/p/efficient-java-matrix-library/wiki/EjmlManual</mixed-citation></ref><ref id="scirp.71141-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Google Translate Java. http://code.google.com/p/google-api-translate-java/</mixed-citation></ref><ref id="scirp.71141-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Java Standard Edition.  
http://www.oracle.com/technetwork/java/javase/downloads/index.html</mixed-citation></ref></ref-list></back></article>