CSE6730, Spring 2023 Syllabus

Course: Modeling and Simulation, 3 Credit Hours
Time/location: Tues and Thurs, 2:00-3:15PM, Clough UG Learning Commons 152
Date range: January 10 - May 5, 2023

  • Instructor: Spencer Bryngelson
    • Email: shb@gatech.edu
    • Office hours: Virtual, Tuesday and Thursday, 4-5PM
    • See Canvas for link.
  • Teaching Assistants:
    • Prajwal Bhaskar Bharadwaj
      • Email: pbharadwaj33@gatech.edu
    • Hanyu Lu
      • Email: hlu332@gatech.edu
    • Aparna Sivanandam
      • Email: asivanandam3@gatech.edu
    • Qianru Yu
      • Email: qyu87@gatech.edu
  • Include “CSE6730” in subject line of all email correspondence! Though please see “Contact” below before sending any emails.

Course website

Canvas! And piazza.

Contact

Email is the worst method of contacting the teaching team. Instead, please use piazza, which you can also reach through the course Canvas site.

Course description

In the opening of his book, The nature of mathematical modeling, Neil Gershenfeld poses the following questions:

How would you understand:
* How the sound of a violin works? Synthesize the sound of a violin? 
* Why traffic jams occur on a highway? Relieve traffic jams on a highway?
* Why it's raining today? Predict whether it will rain tomorrow?
* How people move through a supermarket checkout faster?
* The speed of misinformation in a social network? Mitigate that spread?
* How a fish moves through water? Optimize the body of a fish so it swims faster?

This class is a survey of elementary techniques that aim to help us pose and answer these kinds of questions. The framework involves building an abstract model of a system and then simulating that model on a computer. Together, the techniques form foundations of computer-based modeling and simulation (M&S).

Pre-requisites

Formulating models is challenging, in large part because it is arguably more art than science. That means you need to have many methods at your disposal and will need to deploy them in creative (and perhaps surprising) ways. But to know many methods means you will need a diverse set of tools, including (but not limited to!) calculus, linear algebra, probability, statistics, and programming. Please have a look at [B+14] Ch. 2 for mathematical material you should be familiar with.

Regarding programming, we assume you are comfortable developing software in a high-level programming language. Acceptable languages for use in the course are C, C++, Java, Python, Julia, MATLAB, or the like. Ideally you will have taken the equivalent of at least two computing courses that involve programming. While no specific programming language is required in this course, all students will be required to develop software in some high-level language. If you have not programmed in a high-level programming language, we recommend you take a programming course before taking this class.

Useful texts

Almost all texts are available for free via the GT Library and marked as such. Otherwise, they are available elsewhere for free or will be provided to you. I will let you know what to read and when as we proceed through the course and update the course schedule accordingly.

  • [B+14] H.-J. Bungartz et al. (2014). Modeling and simulation: an application-oriented approach. Springer. (Online text via GT Library)
  • [BA13] L. G. Birta and G. Arbez (2013). Modelling and simulation: exploring dynamic system behaviour. Springer. (Online text via GT Library)
  • [BK19] S. L. Brunton and N. J. Kutz (2019). Data-driven science and engineering, Cambridge University Press. (Online text via GT Library)
  • [F00] R. Fujimoto. Parallel and distributed systems simulation. (Chapters will be made available via Canvas site as needed.)
  • [G20] N. Gershenfeld (2020-DRAFT). The nature of mathematical modeling. (Draft PDF chapters available online at link)
  • [H15] N. Higham, ed. (2015). The Princeton companion to applied mathematics. (Limited access online via GT Library)
  • [K98] D. Knuth (1998). The art of computing programming, volume 2: semi numerical algorithms, O’Reilly. (Online text via GT Library)
  • [N10] M. E. J. Newman (2010): Networks: An introduction. Oxford University Press.
  • [O09] D. P. O’Leary (2009). Scientific computing with case studies. SIAM. (Online text via GT Library)
  • [Sa15] H. Sayama (2015). Introduction to the modeling and analysis of complex systems. Open SUNY Textbooks.
  • [St15] S. Strogatz (2015). Nonlinear dynamics and chaos. Taylor & Francis. (Online text via GT Library)
  • [SB09] J. A. Sokolowski and C. M. Banks, eds. (2009). Principles of modeling and simulation: a multidisciplinary approach. John Wiley & Sons, Inc. (Limited access online via GT Library)

Classes and recordings

You are not required to attend any classes, though historically students who come to class do better. So, I encourage you to come (and, please, interupt me, ask questions!). All classes will be presented from my iPad to the projector, recorded, and disseminated on Canvas. Live Zoom links for each lecture will also be posted, though I cannot monitor Zoom chat for questions during class.

Material and scheduling

Schedule

The course material will (tentatively) be presented in this order:

  • Introduction to Modeling and Simulation (M&S)
  • Infection, three ways
  • Analytical methods for low-dimensional dynamical systems
  • Numerical techniques for ordinary and partial differential equations
  • Cellular automata and stochastic systems
  • Discrete event systems
  • Input modeling, output analysis
  • Steady-state outputs, pseudorandom number generation
  • V&V (verification and validation)
  • Parallel and distributed simulation
  • Models from data

Project

The project is a team-based activity on a topic of your choosing. The goal is for you to try your own hand at modeling and simulating a system of personal interest to you! You will pick your own teams, which should have 2-4 students each. We will show you some sample projects. The final deliverable will consist of a project report, a short project video, and the code you’ve written.

Some important GT-wide dates

From here:

  • Mon January 9: First day of classes
  • Fri Jan 13: last day of registration (4pm)
  • Mon Jan 16: Official Institute Holiday (MLK Jr.)
  • Fri Jan 27: Verification of Participation (4pm, faculty only)
  • Wed March 15: Withdraw Deadline (4pm)
  • March 20-24: Spring Break (No classes, assignments, or assessments)
  • April 24-25: Final Instructional Days (no tests or quizzes)
  • April 27-May 4: Final Exams

Grading

Breakdown

  • 50% Homework/Quizzes
    • We will drop your lowest quiz score. These quizzes will be online, multiple choice, and timed. You will have at least three days to start and complete each quiz.
  • 50% Final project (semester-long)

Letters

Your final grade will be assigned as a letter grade according to the following scale.

  • A: 90-100%
  • B: 80-89%
  • C: 70-79%
  • D: 60-69%
  • F: 0-59%

Extra credit

There are no extra credit opportunities in this course, with the exception of a 1% grade-boost if 75% of the class fills the CIOS evaluation.

Course expectations and guidelines

Late assignments

Late exams and homeworks are subject to a 10% penalty per day late.

Student use of mobile devices in the classroom

No policy here, but do not disrupt or distract other students.

Academic integrity

Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. For information on Georgia Tech’s Academic Honor Code, please visit http://www.catalog.gatech.edu/policies/honor-code/ or http://www.catalog.gatech.edu/rules/18/. Any student suspected of cheating or plagiarizing on an exam,or assignment will be reported to the Office of Student Integrity, who will investigate the incident and identify the appropriate penalty for violations.

Collaboration policy and rules

  • Quizzes are intended to be individual assignments. They will generally be open-book and open-internet, so you don’t need to memorize everything. However, you should not directly collaborate with others. Such examples include asking for help or posting questions on or copying solutions from sites like StackOverflow.

  • Projects will involve team efforts and are expected to entail close collaboration within each team. However, each student within the team must have a clearly identifiable contribution, and each student is required to develop software for the simulation model. Individuals or teams may discuss the project with other teams; however, no software may be disseminated between teams except when explicit permission is granted by the instructor.

  • In addition, you will need to use the Web or other sources for information as you work on your projects. You must cite these sources in your reports. For your code, you can use libraries but are expected to develop a substantial amount of code in constructing your simulator. The course staff can provide some guidance here on what will or won’t be allowed. The spirit of this requirement is that you build a simulator yourself, rather than using existing simulation software simply to do some experiments.

Accommodations for students with disabilities

If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at (404) 894-2563 or http://disabilityservices.gatech.edu/, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter. Please also e-mail me as soon as possible in order to set up a time to discuss your learning needs.

Acknowledgements

I acknowledge the help of Professor Rich Vuduc, who has re-imagined and recreated this course several times over the years. We are using some Spencer-altered slides from Prof. Vuduc where appropriate. I also acknowledge Professor Richard Fujimoto for creating this course, which has been a core CSE course since the School’s inception. We continue to Prof. Fujimoto’s texts and materials where appropriate.