https://github.com/jkglasbrenner/cds411-course-materials
Course materials for CDS 411: Modeling and Simulation II, offered at George Mason University
https://github.com/jkglasbrenner/cds411-course-materials
cds-411 cellular-automata course-materials data-science george-mason-university jupyter jupyter-notebook model-selection modeling python random-walk scikit-learn simulation stochastic-simulation system-dynamics
Last synced: 5 months ago
JSON representation
Course materials for CDS 411: Modeling and Simulation II, offered at George Mason University
- Host: GitHub
- URL: https://github.com/jkglasbrenner/cds411-course-materials
- Owner: jkglasbrenner
- License: cc-by-sa-4.0
- Created: 2019-05-20T13:14:25.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-20T14:13:03.000Z (about 7 years ago)
- Last Synced: 2024-01-29T07:34:07.580Z (over 2 years ago)
- Topics: cds-411, cellular-automata, course-materials, data-science, george-mason-university, jupyter, jupyter-notebook, model-selection, modeling, python, random-walk, scikit-learn, simulation, stochastic-simulation, system-dynamics
- Language: Jupyter Notebook
- Size: 9.64 MB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
CDS 411 course materials
================
[](https://mybinder.org/v2/gh/jkglasbrenner/cds411-course-materials/master)
- [Topic schedule](#topic-schedule)
- [Readings](#readings)
- [Homeworks](#homeworks)
- [Final project](#final-project)
- [Resources and links](#resources-and-links)
- [Datacamp cheat
sheets](#datacamp-cheat-sheets)
- [Software](#software)
- [License](#license)
## Topic schedule
| Class | Topic |
| ----: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | [Course toolbox](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class01/class01_slides.pdf) |
| 2 | [Python fundamentals I](class_notes/class04/python_fundamentals.py) |
| 3 | [Python fundamentals II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class03/class03_slides.pdf) |
| 4 | [Python for scientific computing I](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class04/class04_slides.pdf) |
| 5 | [Python for scientific computing II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class05/class05_notebook.ipynb)
[*Demo file:* `scientific_computing_with_numpy.py`](class_notes/class05/scientific_computing_with_numpy.py) |
| 6 | [Python for scientific computing III](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class06/class06_notebook.ipynb) |
| 7 | [System dynamics models: Growth and decay](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class07/class07_notebook.ipynb) |
| 8 | [System dynamics models: Growth and decay II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class08/class08_notebook.ipynb)
[*Source file:* `bacteria.py`](class_notes/class08/bacteria.py) |
| 9 | [System dynamics models: Drug dosage I](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class09/class09_notebook.ipynb)
[*Source file:* `aspirin.py`](class_notes/class09/aspirin.py) |
| 10 | [System dynamics models: Drug dosage II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class10/class10_notebook.ipynb)
[*Source file:* `dilantin.py`](class_notes/class10/dilantin.py) |
| 11 | [System dynamics models: Damped oscillator and bungee jumping I](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class11/class11_notebook.ipynb) |
| 12 | [System dynamics models: Damped oscillator and bungee jumping II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class12/class12_notebook.ipynb)
[*Demo notebook:* Interactive undamped oscillator notebook](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class12/interactive_undamped_oscillator.ipynb)
[*Source file:* `undamped_oscillator.py`](class_notes/class12/undamped_oscillator.py) |
| 13 | [System dynamics models: Damped oscillator and bungee jumping III and shark competition model](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class13/class13_notebook.ipynb)
[*Source file:* `oscillator.py`](class_notes/class13/oscillator.py)
[*Source file:* `bungee.py`](class_notes/class13/bungee.py)
[*Source file:* `sharks.py`](class_notes/class13/sharks.py) |
| 14 | [Data-driven modeling I](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class14/class14_notebook.ipynb) |
| 15 | [Data-driven modeling II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class15/class15_notebook.ipynb) |
| 16 | [Data-driven modeling III](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class16/class16_notebook.ipynb)
[*Source file:* `bootstrap.py`](class_notes/class16/bootstrap.py) |
| 17 | [Data-driven modeling IV](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class17/class17_notebook.ipynb) |
| 18 | [Monte Carlo simulations I](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class18/class18_notebook.ipynb)
[*Practice notebook:* Module 9.1: Quick Review Questions](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class18/module_9-1_practice_questions.ipynb) |
| 19 | [Monte Carlo simulations II](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class19/class19_notebook.ipynb)
[*Source file:* `mc_integration.py`](class_notes/class19/mc_integration.py) |
| 20 | [Monte Carlo simulations III](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/class20/class20_notebook.ipynb) |
| 21 | [Cellular automata I: Heat diffusion](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/heat_diffusion/heat_diffusion_notebook.ipynb) |
| 22 | [Cellular automata II: Forest fire](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/forest_fire/forest_fire_notebook.ipynb)
[*Source file:* `forest_fire.py`](class_notes/forest_fire/forest_fire.py) |
| 23 | [Cellular automata III: Ants](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/ants/ants_notebook.ipynb) |
| 24 | [Course wrap-up](https://nbviewer.jupyter.org/github/jkglasbrenner/cds411-course-materials/blob/master/class_notes/wrapup/wrapup_notebook.ipynb) |
## Readings
| Week | Book | Assignment |
| ---: | :---------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 |  | Read all of chapters 1.1 and 1.2 |
| 2 | [](https://automatetheboringstuff.com/) | **Supplement**
Chapters 1 through 8 cover the material in the **Python fundamentals** classes in more depth and with a focus on helping beginners. |
| 2 | [](http://greenteapress.com/thinkpython/html/index.html) | **Supplement**
Chapters 2, 3, 5, 7, 8, 10, 11, 12, and 14 cover the material in the **Python fundamentals** classes. This book is a reference manual for Python, and covers things at a more advanced level. |
| 3 | [An introduction to Numpy and Scipy by M. Scott Shell](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) | Read from the beginning up until the end of the Statistics section on page 19 |
| 4 |  | Read all of chapters 2.2 and 2.3 |
| 5 |  | Read all of chapter 2.5 |
| 6 |  | Read all of chapter 3.2 |
| 9 |  | Read all of chapters 8.2 and 8.3 |
| 10 |  | Read all of chapter 9.2 |
| 11 |  | Read all of chapters 9.3 and 9.5 |
| 12 |  | Read all of chapter 10.2 |
| 13 |  | Read all of chapter 10.3 |
## Homeworks
| \# | Description |
| -: | :------------------------------------------------------------------------------------------------- |
| 1 | [**Python fundamentals** and **Python for scientific computing** exercises](homework/homework1.md) |
| 2 | [System dynamics: growth and decay models](homework/homework2.md) |
| 3 | [System dynamics: oscillatory motion models](homework/homework3.md) |
| 4 | [Data-driven modeling](homework/homework4.md) |
| 5 | [Monte Carlo simulations: integration and random number generation](homework/homework5.md) |
| 6 | [Monte Carlo simulations: random walk](homework/homework6.md) |
| 7 | [Cellular automata simulations](homework/homework7.md) |
## Final project
**Instructions:** [project/final\_project.md](project/final_project.md)
## Resources and links
### Datacamp cheat sheets
[Datacamp](https://datacamp.com) has put together a series of [*Python
for Data Science* cheat
sheets](https://www.datacamp.com/community/data-science-cheatsheets)
that you can use as a quick reference during the class. The most
relevant ones have been downloaded to this repository and are linked
below:
| Cheat sheet | Description |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------- |
| [](cheatsheets/datacamp-numpy-basics.pdf) | Basics of the Jupyter Notebook |
| [](cheatsheets/datacamp-matplotlib-data-visualization.pdf) | NumPy Basics |
| [](cheatsheets/datacamp-scipy-linear-algebra.pdf) | SciPy - Linear Algebra |
| [](cheatsheets/datacamp-jupyter-notebook-basics.pdf) | Data visualization with Matplotlib |
| [](cheatsheets/datacamp-seaborn-data-visualization.pdf) | Data visualization with Seaborn |
| [](cheatsheets/datacamp-importing-data.pdf) | Importing Data |
| [](cheatsheets/datacamp-pandas-data-wranglings.pdf) | Data transformation and reshaping with Pandas |
| [](cheatsheets/datacamp-scikit-learn.pdf) | Machine learning with Scikit-Learn |
### Software
The following software is not required for participating in the course,
but may be useful in your
workflow.
Software
OS
Description
[GitKraken
](https://www.gitkraken.com/git-client)
Windows
macOS
Linux
A graphical interface for using git. Cross-platform, works with GitHub,
and free to use for educational purposes. Cheatsheets available:
[GitHub Desktop
](https://desktop.github.com)
Windows
macOS
A graphical interface for interacting with GitHub, built by GitHub. User
documentation from GitHub is
available:
[Visual Studio Code
](https://code.visualstudio.com/)
Windows
macOS
Linux
A cross-platform and open-source integrated development environment
(IDE) for programming. Uses a plugin system called Extensions to add
support for different languages and for interfacing with git and GitHub.
At a minimum, you should install the [official extension for
Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python).
There are also [introductory tutorial videos
available](https://code.visualstudio.com/docs/getstarted/introvideos).
[PyCharm
](https://jetbrains.com/pycharm)
Windows
macOS
Linux
A cross-platform integrated development environment (IDE) designed
specifically for programming in Python. Comes with many useful features
enabled. Has a plugin ecosystem, but unlike Visual Studio Code they can
be treated as optional. There are [introductory tutorial videos
available](https://www.jetbrains.com/pycharm/documentation/pycharm-videos.html).
As a current student, you get a free professional license for the editor
if you [fill out and submit this
form](https://www.jetbrains.com/shop/eform/students).
## License
[](http://creativecommons.org/licenses/by-sa/4.0/)
Unless otherwise noted, the course materials in this repository are
licensed under a [Creative Commons Attribution-ShareAlike 4.0
International License](http://creativecommons.org/licenses/by-sa/4.0/).