Course Approval Form / For approval of new courses and deletions or modifications to an existing course.
registrar.gmu.edu/facultystaff/curriculum
Action Requested: / Course Level:
x / Create new course / Delete existing course / x / Undergraduate
Modify existing course (check all that apply) / Graduate
Title / Credits / Repeat Status / Grade Type
Prereq/coreq / Schedule Type / Restrictions
Other:
College/School: / COS / Department: / SPACS
Submitted by: / Kirk Borne / Ext: / 8402 / Email: /
Subject Code: / CDS / Number: / 230 / Effective Term: / Fall
(Do not list multiple codes or numbers. Each course proposal must have a separate form.) / x / Spring / Year / 2013
Summer
Title: / Current
Banner (30 characters max including spaces)
New / Modeling and Simulation I
Credits:
(check one) / x / Fixed / 3 / or / Repeat Status: (check one) / x / Not Repeatable (NR)
Variable / to / Repeatable within degree (RD) / Maximum credits allowed:
Repeatable within term (RT)
Grade Mode: (check one) / x / Regular (A, B, C, etc.) / Schedule Type Code(s):
(check all that apply) / x / Lecture (LEC) / Independent Study (IND)
Satisfactory/No Credit / Lab (LAB) / Seminar (SEM)
Special (A, B C, etc. +IP) / Recitation (RCT) / Studio (STU)
Internship (INT)
Prerequisite(s): / Corequisite(s): / Instructional Mode:
CDS 130 or permission of instructor; MATH 114 / x / 100% face-to-face
Hybrid: ≤ 50% electronically delivered
100% electronically delivered
Special Instructions: (list restrictions for major, college, or degree;hard-coding; etc.) / Are there equivalent course(s)?
Yes / No
If yes, please list

Catalog Copy for NEW Courses Only (Consult University Catalog for models)

Description (No more than 60 words, use verb phrases and present tense) / Notes (List additional information for the course)
Indicate number of contact hours: / Hours of Lecture or Seminar per week: / Hours of Lab or Studio:
When Offered: (check all that apply) / Fall / Summer / x / Spring

Approval Signatures

Department Approval / Date / College/School Approval / Date

If this course includes subject matter currently dealt with by any other units, the originating department must circulate this proposal for review by those units and obtain the necessary signatures prior to submission. Failure to do so will delay action on this proposal.

Unit Name / Unit Approval Name / Unit Approver’s Signature / Date

For Graduate Courses Only

Graduate Council Member / Provost Office / Graduate Council Approval Date

For Registrar Office’s Use Only: Banner______Catalog______revised 2/2/10

Course Proposal Submitted to the Curriculum Committee of the College of Science

1. COURSE NUMBER AND TITLE: CDS 230: Modeling and Simulation I

Course Prerequisites: CDS 130 or permission of instructor; MATH 114.

Catalog Description: Topics include fundamental computational modeling techniques that are used to simulate physical systems. Problem-solving contexts are emphasized throughout; solution methodologies and techniques are introduced and studied within these contexts. These methodologies are used subsequently as building blocks to construct computational simulations. Physical system models arising in biology, neuroscience, chemistry, physics, the social sciences and computational linguistics will be explored.

2. COURSE JUSTIFICATION:

Course Objectives: Designed to increase student’s algorithmic and computational thinking skills, while developing computational literacy and problem-solving skills. Modeling and simulation are presented as methodologies to achieve scientific insight, and not merely as tools for the production of numbers.

Course Necessity: Experience with the CDS BS degree program has demonstrated a need for a 200-level course that bridges the gap between the 100-level introductory courses and the upper-level math-intensive modeling and simulation courses. This course will provide that bridge by taking the student from the symbolic problem-solving skills of CDS 130 (in which MATLAB is used) to the numerical methods and physics-based upper-level courses. Also, the “sophomore gap” (i.e., the lack of a 200-level course in the CDS BS degree program) has led to some attrition in the number of CDS majors between freshman and junior years – we essentially lose those students because there has been no courses to keep them engaged with the program.

Course Relationship to Existing Programs: CDS is a unique program in which computational modeling, simulation, and data science techniques are taught as a means of conducting research within any discipline. The material is consequently multidisciplinary, encompassing a variety of disciplines. CDS 230 will be a sophomore-level introduction to computational and algorithmic modeling and simulation within numerous problem-solving contexts, with examples from the sciences, health care, and linguistics.

Course Relationship to Existing Courses: This course is the continuation of CDS 130 and is the prerequisite for CDS 411. These courses form the basic sequence of CDS courses for students concentrating in the Modeling and Simulation focus area of the CDS degree program.

3. APPROVAL HISTORY:

4. SCHEDULING AND PROPOSED INSTRUCTORS:

Semester of Initial Offering: Spring 2013

Proposed Instructors: Joseph Marr

5. TENTATIVE SYLLABUS: See attached.

TENTATIVE COURSE SYLLABUS

CDS 230: MODELING & SIMULATION I

CATALOG DESCRIPTION: Topics include fundamental computational modeling techniques that are used to simulate physical systems. Problem-solving contexts are emphasized throughout; solution methodologies and techniques are introduced and studied within these contexts. These methodologies are used subsequently as building blocks to construct computational simulations. Physical system models arising in biology, neuroscience, chemistry, physics, the social sciences and computational linguistics will be explored.

GOAL: This course expands upon the foundation provided by CDS 130. It teaches fundamental computational modeling techniques that are used to simulate physical systems. Problem-solving contexts are emphasized throughout; solution methodologies and techniques are introduced and studied within these contexts. These methodologies are used subsequently as building blocks to construct computational simulations. The focus throughout is on the continuing development of a student’s algorithmic thinking. Physical system models arising in biology, neuroscience, chemistry, physics, and economics will be explored. Scientific insight is emphasized, and not merely the production of numbers.

PREREQUISITES: CDS 130 or permission of instructor; MATH 114.

(SIMILAR COURSE: PHYS 251)

PRIMARY CLASS TEXT: Instructor-provided notes

SECONDARY REFERENCE TEXTS:

1. Numerical Methods for Engineers and Scientists: An Introduction with Applications Using Matlab (2007, 1st ed.; Gilat); and

2. Applied Numerical Methods with MATLAB for Engineers and Scientists (2006, 2nd Ed; Chapra)

SEMESTER TOPIC OUTLINE:

·  MATLAB: REFRESHER AND NEW SYNTAX INTRODUCTION

SEQUENCE

Assignment statements

Array and vector creation and element assignment

Vectorizing MATLAB statements

SELECTION

IF/END, IF/ELSE/END, IF/ELSEIF/.../ELSEIF/ELSE/END

SWITCH-CASE

REPETITION

FOR loops

Double nested FOR loops: matrix multiplication

Triple nested FOR loops

WHILE loops

Breaking out of loops when a test condition is met: BREAK and CONTINUE

ERROR HANDLING

THROW/CATCH error handling

Throw/catch to redirect program flow

Input data validation using WHILE loops

·  THE GOAL OF COMPUTATIONAL MODELING: SCIENTIFIC INSIGHT

GRAPHICS AND VISUALIZATION

MATLAB plotting -- single and multiple

fprintf and sprintf

constructing animations using movie2avi

specialized 2D and 3D plots

PUBLICATION TOOLS

Making web pages with MATLAB 's publish utility

Writing documents using MATLAB 's publish utility

·  FUNDAMENTAL TOOLS: THE COMPUTATIONAL SCIENTIST'S TOOLKIT

APPLIED PROBLEM CONTEXTS: Spring and mass models of polymeric fluids, chemical equilibria, and economic input/output models.

These physical systems give rise to interesting structures for which well-known, established solution methods exist. Many of these structures produce systems of linear equations. We’ll explore solution techniques, and answer the question, “When is the computed solution good enough?” Modeling simulations sometimes produce lots of output, and we’ll learn how to present that output visually, so that maximum insight is derived from a simulation.

APPLIED PROBLEM CONTEXTS: Physical property estimates and determination of parameters from lab data.

In this module we’ll explore data fitting with models. An example would be fitting the variation of a substance’s heat capacity with temperature. We’ll also understand what it means to say that a model “fits the data”. Using computational tools we can create representations of experimental data that permit additional, useful calculations and manipulations. Errors arising from these processes are also explored.

4. DETERMINISTIC MODELS: SIMULATING INVARIANT SYSTEM BEHAVIOR

APPLIED PROBLEM CONTEXTS: Steady state temperature distribution; thermochemical equilibrium

CONTENT: Students are introduced to the meaning of discretization: What it means to convert derivatives into discrete representations. These representations can be manipulated in different ways to produce models of various physical systems.

The ideas behind discretizing derivatives, how to represent these discretizations in Matlab code, and how these discretizations can be used to solve problems will be discussed. Specific MATLAB techniques will enable students to implement computational models in concise computer code. Errors arising from the discretization process will also be discussed.

5. NON-DETERMINISTIC MODELS: SIMULATING VARIABLE SYSTEM BEHAVIOR

APPLIED PROBLEM CONTEXTS: Annual harvest output from a wheatfield; SIR model of disease propagation; long term equilibrium in a competitive market.

CONTENT: In this module students will learn about the central role played by randomness in modeling and simulation of physical systems: the majority of systems are not deterministic! There is an element of randomness present. Students will also be exposed to the concept of conditional probability.

6. COMPUTATIONAL EFFICIENCY

CONTENT: The last module focuses on computational efficiency ideas, and on recognizing and measuring the differences between a computationally efficient algorithm and a computationally inefficient algorithm. Students will be introduced to examples of each type, and will explore simple ways to increase computational efficiency.

SEMESTER WORKPRODUCTS:

All students will complete weekly assignments. There will be two computational projects throughout the semester. There will be no midterm exam, only a comprehensive final exam. Ample opportunities for extra credit will appear along the way. Course grading is as follows:

Homework: 30%

Computational project 1: 20%

Computational project 2: 20%

Final Exam: 30%

CDS-230 GRADING

A+ > 100% and top class score

A  90.0

B+ 88.0 - 89.99

B 80.0 - 87.99

C+ 78.0 - 79.99

C 70.0 - 77.99

D 60.0 - 69.99

F  59.99

INSTRUCTOR COMMENTS:

This is not a MATLAB programming class: significant time WILL NOT be spent teaching students how to program in MATLAB. Instead, significant time WILL be spent teaching students how to USE the MATLAB knowledge they already possess, to construct computational models of real world systems. The goal is to gain scientific INSIGHT from those systems -- insight that's otherwise unavailable through detailed experimentation or theoretical development.

Students enrolling in CDS 230 are therefore expected to have a level of MATLAB fluency that's typically gained from a course such as CDS 130. If you doubt your MATLAB background, you're strongly advised to consult/meet with the instructor prior to enrolling in this course.

There will be weekly homework. This homework will be computational in nature, meaning, homework will require students to write MATLAB programs. Students will also complete two computational projects during the semester. These will require students to write larger, more complex MATLAB programs, and to communicate their computational results using visualization techniques.

The final exam will probably feature a significant computational component. More details will be announced near the end of the semester.