Difference between revisions of "Physics 212, 2020: Computational Modeling For Scientists And Engineers"

From Ilya Nemenman: Theoretical Biophysics @ Emory
Jump to: navigation, search
(Logistics)
(Module 1: Learning Python and solving algebraic equations)
(12 intermediate revisions by the same user not shown)
Line 35: Line 35:
  
 
All of the notebooks we will use in the class are available from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. Currently the following notebooks are available:
 
All of the notebooks we will use in the class are available from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. Currently the following notebooks are available:
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%201.%20Introduction.ipynb Chapter 1], Introduction to Computational Modeling
+
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%201.%20Introduction.ipynb Chapter 1], Introduction to Computational Modeling; this is finalized, and is unlikely to change a lot
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%201.ipynb Module 1, Progress Report 1] notebook, which covers the Introduction, and Chapters 1 and 2 of the ''Student Guide''
+
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%202.%20Learning%20Python%20and%20solving%20algebraic%20equations.ipynb Chapter 2], Learning Python and solving algebraic equations; this notebook is still being edited.
 +
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%201.ipynb Module 1, Progress Report 1] notebook, which covers the Introduction, and Chapters 1 and 2 of the ''Student Guide''; this notebook is now finalized. You will need to (re)-submit this notebook on Jan 27th.
 +
* [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%202.ipynb Module 1, Progress Report 2] notebook, which covers Module 1 (Algebraic equations), and Chapters 3 and 4 of the ''Student Guide''; only beginning of the Module and Chapter 3 are now in the notebook; more to be added.
  
 
===Introduction===
 
===Introduction===
Download or view the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%201.%20Introduction.ipynb Chapter 1] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository].   
+
Download or view the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%201.%20Introduction.ipynb Chapter 1] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository].  ''Make sure to keep re-downloading the notebook, as I will change it in the course of the class.
 
;Labs 1, Jan 16-17
 
;Labs 1, Jan 16-17
 
: Instal Anaconda.  
 
: Instal Anaconda.  
: Do all exercises in the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%201.ipynb Module 1, Progress Report 1] notebook from  the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. This includes Your Turn questions from class, and exercises from Chapter 1 and Chapter 2 of the ''Student Guide''.
+
: Do all exercises in the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%201.ipynb Module 1, Progress Report 1] notebook from  the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. This includes Your Turn questions from class, and exercises from Chapter 1 and Chapter 2 of the ''Student Guide''. Finalized version of this notebook would need to be submitted on Jan 27.
;Reading:  Chapters 1 and 2  and Appendix B of the Python Student Guide.
+
:;Reading:  Chapters 1 and 2  and Appendix B of the Python Student Guide.
  
===Module 1===
+
===Module 1: Learning Python and solving algebraic equations===
*[[Physics 212, 2019: Lecture 3|Lecture 3]], First steps in Python.  
+
Download or view the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Chapter%202.%20Learning%20Python%20and%20solving%20algebraic%20equations.ipynb Chapter 2] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository].  ''Make sure to keep re-downloading the notebook, as I will change it in the course of the class.
;Labs 2, Jan 23-24: TBA
+
;Labs 2, Jan 23-24
;Reading:  Chapter 3 of the Python Student Guide.  
+
: Do all exercises in the updated version of the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%201.ipynb Module 1, Progress Report 1] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. Submit or re-submit this updated and complete notebook on Jan 27.
;Additional reading:
+
: Do all exercises in the  [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%202.ipynb Module 1, Progress Report 2] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository].  This includes Your Turn questions from class to date, and exercises from Chapter 3 of the ''Student Guide''. Do not submit this notebook on Jan 27th, and updated version will be due Feb 3.
:[http://apps.nrbook.com/c/index.html Numerical Recipes] book, Chapter 9, talks about finding roots of nonlinear functions, including the Newton-Raphson method and, in Section 9.6, the multidimensional version of it. Those interested, should read the ''general considerations'' in Section 9.0, and then whichever additional sections you find interesting.
+
:;Reading:  Chapters 3 of the Python Student Guide.
 +
;Labs 3, Jan 30-31
 +
: Do all exercises in the  [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook/blob/master/Module%201%2C%20Progress%20Report%202.ipynb Module 1, Progress Report 2] notebook from the [https://github.com/EmoryUniversityTheoreticalBiophysics/ComputationalModelingTextbook Lecture Textbook repository]. This includes Your Turn questions from class to date, and exercises from Chapter 3 and Chapter 4 of the ''Student Guide''. The finalized version of this Progress Report notebook will be available on Jan 30.
 +
:;Reading: Chapter 4 and Appendix E of the Python Student Guide.
  
 
===Module 2===
 
===Module 2===

Revision as of 10:27, 29 January 2020

Emory Logo

Back to the main Teaching page.

Back to Physics 212, 2020: Computational Modeling.

News

  • Welcome to the class!

About the class

Computation is one of the pillars of modern science, in addition to experiment and theory. In this course, various computational modeling methods will be introduced to study specific examples derived from physical, biological, chemical, and social systems. We will study how one makes a model, implements it in computer code, and learns from it. We will focus on modeling deterministic dynamics, dynamics with randomness, on comparison of mathematical models to data, and, at the end, on high performance computing. Students will learn Python programming language and will work on computational modeling projects in groups.

There are three goals that I have for students in the class:

  1. To learn to translate a descriptive formulation of a scientific problem into a mathematical / computational model.
  2. To learn how to solve such models using computers, and specifically using the Python programming language. This includes learning how to verify that the solution you produced is a correct solution.
  3. To learn basic algorithms used in computational science.

In addition, a minor goal of the class is to improve the students' ability to communicate their process of thinking and their results to others. To this extent, the class will require writing project reports, which will be graded on their clarity and completeness.

Logistics

  • Class Hours: M, W 10:00-11:15; MSC N 304
  • Labs: Thu or Fri 2:30-5:30; MSC N303
  • Office Hours
Professor: Ilya Nemenman -- Monday and Thursday 12:00-1:00 (subject to change), and by appointment, MSC N240 or N117A if too many people.
TA: Qihan Liu (Thursday lab), Office hour Monday 1:00-2:00
TA: Emma Dawson (Friday lab), Office hour Wednesday 2:30-3:30, N302
This tutorial is not a complete textbook. I will post additional lecture notes online as needed, or will direct you to additional chapters in other textbooks.
See also Computational Modeling and Visualization of Physical Systems with Python by J Wang and Computational Physics by Giordano and Nakanishi.
The bible of scientific computing is Numerical Recipies by Press et al.
  • At the end of each class where we do coding, please submit your work using a Coding Snippet assignment submission on Canvas.

Lecture Notes and Detailed Schedule

  • Class schedule is available in the syllabus.
  • Below I will post Python notebooks for this class. I will strive to post changes to these notebooks before classes, but no promises.
  • The Notebooks will also have project assignments for you to work on.

All of the notebooks we will use in the class are available from the Lecture Textbook repository. Currently the following notebooks are available:

  • Chapter 1, Introduction to Computational Modeling; this is finalized, and is unlikely to change a lot
  • Chapter 2, Learning Python and solving algebraic equations; this notebook is still being edited.
  • Module 1, Progress Report 1 notebook, which covers the Introduction, and Chapters 1 and 2 of the Student Guide; this notebook is now finalized. You will need to (re)-submit this notebook on Jan 27th.
  • Module 1, Progress Report 2 notebook, which covers Module 1 (Algebraic equations), and Chapters 3 and 4 of the Student Guide; only beginning of the Module and Chapter 3 are now in the notebook; more to be added.

Introduction

Download or view the Chapter 1 notebook from the Lecture Textbook repository. Make sure to keep re-downloading the notebook, as I will change it in the course of the class.

Labs 1, Jan 16-17
Instal Anaconda.
Do all exercises in the Module 1, Progress Report 1 notebook from the Lecture Textbook repository. This includes Your Turn questions from class, and exercises from Chapter 1 and Chapter 2 of the Student Guide. Finalized version of this notebook would need to be submitted on Jan 27.
Reading
Chapters 1 and 2 and Appendix B of the Python Student Guide.

Module 1: Learning Python and solving algebraic equations

Download or view the Chapter 2 notebook from the Lecture Textbook repository. Make sure to keep re-downloading the notebook, as I will change it in the course of the class.

Labs 2, Jan 23-24
Do all exercises in the updated version of the Module 1, Progress Report 1 notebook from the Lecture Textbook repository. Submit or re-submit this updated and complete notebook on Jan 27.
Do all exercises in the Module 1, Progress Report 2 notebook from the Lecture Textbook repository. This includes Your Turn questions from class to date, and exercises from Chapter 3 of the Student Guide. Do not submit this notebook on Jan 27th, and updated version will be due Feb 3.
Reading
Chapters 3 of the Python Student Guide.
Labs 3, Jan 30-31
Do all exercises in the Module 1, Progress Report 2 notebook from the Lecture Textbook repository. This includes Your Turn questions from class to date, and exercises from Chapter 3 and Chapter 4 of the Student Guide. The finalized version of this Progress Report notebook will be available on Jan 30.
Reading
Chapter 4 and Appendix E of the Python Student Guide.

Module 2

Module 3

Module 4

Module 5