Introduction to Computational Science
Angela B. Shiflet and George W. Shiflet

Suggested Pathways with Notes and Assignments through the Material in the Second Edition

Based on experience using versions of the material in Introduction to Computational Science since 2002, this webpage contains some suggestions on how to manage a course and cover the material using the text. A course could include any one or a combination of the following modeling and simulation techniques in any order: system dynamics modeling, empirical modeling, cellular automaton simulations, agent-based modeling, and modeling with matrices. For a two-semester course, virtually all the modules can be covered in greater detail. For a computational biology course, applications in biology can be emphasized. Moreover, one could choose to start a course in any of a variety of places—with an overview of the modeling process (Chapter 1) and system dynamics modeling (Chapters 2-4), Chapter 8 on "Data-Driven Models," Chapter 9 on "Monte Carlo Simulations," Chapter 12 on "Agent-Based Modeling," or Chapter 13 on "Matrix Models."

Suggestions on Course Management

Quizzes: We can improve student engagement if there are daily short (5 minute) quizzes with questions taken directly from the Quick Review Questions. The website contains sample quizzes with answers.

Computers in Class: Students learn by doing. Therefore, it is very beneficial for students to work on models or parts of models in class. If it is not possible to conduct the class in a computer lab, the instructor could request that students bring their computers to class. One computer per two students is usually adequate and effective. It is particularly helpful to have the class in a computing environment for the first tutorial of a tool for a new modeling technique. Work not completed during the closed lab time, can be finished outside of class.

Teamwork: The ability to work well with an interdisciplinary team is essential for a computational scientist, and project assignments provide good opportunities for teamwork. Having students complete confidential partner evaluations at midterm and the end of the semester can provide valuable insight to the instructor. For example, you might ask, "Please type an evaluation paragraph for each partner related to contributions to projects, understanding of the material, percent contribution to project(s), responsibility in attending meetings, cooperation, other comments."

Substantial Projects: While a module might develop one model for an application area, the projects section suggests many other refinements, approaches, and applications. Chapters 7 and 14 provide modules of additional, substantial projects from a variety of scientific areas that are appropriate for teams of students. These modules indicate prerequisite text material, and earlier modules forward reference appropriate projects from Chapters 7 and 14.

Reports: From writing reports on their models, students increase their understanding of the material and the models (Module 1.2, "The Modeling Process," section "Report on the Model"). Moreover, if students submit a report, in addition to their model, it is easier for the instructor to assess the project. If time permits, students also gain further communication skills by making oral presentations.

Presentations: It is instructive for a project's team to present its model to the class. A presentation also provides the opportunity to share the team’s accomplishment and allows other students the chance to critique the model and make suggestions. We have found it effective to have each team compose and print for the class five good questions that could be answered after hearing the presentation. The team could be graded on the quality of the questions. To help to assure attention during the presentation, the rest of the class could be required to write answers to one or several of the questions for homework or a test.

Suggestions on Material Coverage

The following one-semester syllabus provides a week-by-week suggested pathway through the material with possible assignments.

Week 1

Module 1.1, "Overview of Computational Science"

Module 1.2, "The Modeling Process"

Module 2.1, "System Dynamics Tool: Tutorial 1," in computer lab or with computers in class the second class day. Hand in the tutorial by the end of the week.

Module 2.2, "Unconstrained Growth and Decay" - Exercises 1, 3, 6, 8 with a system dynamics tool

Module 2.2, Project 1, except for Exercise 4 b, to be developed with a partner and to be handed in towards the end of next week. The flow tool can be a biflow so that the object can heat or cool.

Week 2

Module 2.3, "Constrained Growth"

Module 2.4, "System Dynamics Tool: Tutorial 2," to do outside of class with partner. Hand in early next week.

Module 2.5, "Drug Dosage" (optional module) - Exercises 4 (a, b, c), 5

Week 3

Module 2.5, "Drug Dosage" (optional module) - Project 5 (not graded)

Early next week, hand in and perhaps present with a partner one of the following projects:

Module 4.1, "Competition," and Module 4.2, "Predator-Prey Models," can be discussed on the same day - Module 4.1, Exercise 1; Module 4.2, Project 3 (b, c); differential equation for Exercise 2

Week 4

Perhaps have presentations as assigned in Week 3

Module 4.3, "Spread of SARS," only discussion of SIR model in class - Exercises 1 and 11, Project 3 (b except last sentence, c except last sentence)

In class, have students in pairs develop a model for spread of a disease that has an insect host, such as West Nile Virus, Lyme Disease, Chagas Disease, Bubonic Plague, or typhus and to work on the model at least two hours outside of class

(The Computational Toolbox Tutorials 1 and 2 can be delayed until the second half of the course before consideration of Chapter 8.)

Module 5.2, "Errors" – Exercises 1-13 odd, 16, 17, 21, 24, 27, 29 (Module 5.2 can be covered at any time after Module 2.2, "Unconstrained Growth and Decay.")

Hand in early next week for a grade – 2.2 Exercises 6, 18, 25, 28, 30

Week 5

Early next week, hand in and perhaps present with a new partner one of the following project sets:

Module 6.2, "Euler's Method," and Module 6.3, "Runge-Kutta 2 Method" can be introduced in one class with time in subsequent classes to go over homework - Exercises 1, 3. (Modules 6.2-6.4 on simulation methods can be covered at any time after Module 2.2, "Unconstrained Growth and Decay.")

Hand in early next week: Modules 6.2 and 6.3 - Exercise 5

Briefly mention Module 5.4, "Runge-Kutta 4 Method," particularly big-O. In class, can illustrate relative error to execute a system dynamics model of unconstrained growth using the three methods with dt being 1, 0.5, 0.25, and 0.125 units

Week 6

Perhaps, presentations as assigned in Week 5

Module 5.1, "Computational Toolbox—Tools of the Trade: Tutorial 1," and Module 6.1, "Computational Toolbox—Tools of the Trade: Tutorial 2," preferably in computer lab or with computers in class during one or two classes. Hand in both tutorials by the end of the week.

Week 7

Test

Week 8

Assign Module 8.1, "Computational Toolbox—Tools of the Trade: Tutorial 3," to be completed outside of class and submitted midweek

Module 8.3, "Empirical Models," – Projects 2, 3, and 6, not graded. Due at the first of next week, Projects 4 and 9 or fits of relative-error data to y = cx^n for Euler.txt, RungeKutta2.txt, and RungeKutta4.txt. Data are available under "Files to Download." Alternatively, students can generate data by executing a system dynamics model of unconstrained growth using the three methods, where delta-t is 1, 0.5, 0.25, 0.125 units.

Review assignment on Computational Tool Tutorials 1-3, available under "Files to Download," due at end of week

Week 9

Modules 9.1 and 9.5, "Computational Toolbox—Tools of the Trade" Tutorials 4 and 5, due this week. Omit 3D point plotting.

Module 9.2, "Simulations" briefly discussed.

Module 9.5, "Random Walk" – Preferably have students do a random-walk simulation in class. Have student implement and hand in Enhanced Exercise 2, EnhancedExercise_9_5_2.docx, available under "Files to Download"

Week 10

Hand in early next week one of the following:

Start Module 10.2, "Diffusion: Overcoming Differences"

Week 11

Assign Module 10.1, "Computational Toolbox—Tools of the Trade: Tutorials 6," due midweek

Module 10.3, "Spreading of Fire" - Exercises 1-6. Module 10.2, Project 3 or 8; Module 10.3, Project 9

Week 12

Hand in early next week one of the following projects:

Week 13

Project work and perhaps presentations

Perhaps begin last material (see Week 14): Option 1 on high-performance computing or Option 2 on agent-based modeling.

Week 14

Option 1: High-performance computing:
Chapter 12, "High-Performance Computing" can be covered at any time.

Module 12.1, "Concurrent Processing" - Exercises 2, 3, 5

Module 12.2, "Parallel Algorithms" up to the section on "Sequential Algorithm for N-Body Problem" - Exercises 1, 5, 6, 7, 9, 10

Option 2: Agent-based modeling:
Have students work through and submit the first two agent-based tutorials. Have students explore two existing models and write a paragraph each.

Week 15

Test on material since the last test