============================== CH410/510 Scientific Computing ============================== Overview ======== + The class will meet Monday and Wednesday at 9 am 1 hr, and then Friday at 9 am for 2 hr. + All classwork will be done remotely. `Details are here `_. + Details regarding grading and course policies are in the `syllabus `_. Getting help ============ `Python reference and links to helpful material `_ Office hours: ------------- Check slack :code:`#general` channel for zoom links to office hours. + Anneliese: 4 pm on Mondays + Luis: 5 pm on Mondays and 4 or 6 pm on Tuesdays + Michael: 2 pm on Wednesdays + Joseph: 2 pm on Thursdays + Mike: 1 pm on Fridays Getting set up: --------------- + To get your environment set up, please follow `these instructions `_. + To test your environment, please try to run this `jupyter notebook `_ (right-click to save onto your computer.) Schedule and course materials ============================= *Warning*: Future dates and material may be subject to (minor) change. In general, Mon and Wed will be instruction days where we cover new programming material. Fri will be an open "lab" where you will work on exercises in groups. .. table:: +-------+------------------------------------------------------------------------------------------------+ | Date | Topic | +=======+================================================================================================+ | 3/30 | Introduction. Configuring jupyter and python | | | | | | + **Postclass**: `Class 1: Introduction`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/1 | The jupyter notebook. Python as a calculator. | | | | | | + **Due**: `Configure Environment`_; Take the `Initial Survey`_ if you haven't. | | | + **Preclass**: `test notebook`_; `Inductive 02: Python as a calculator`_ | | | + **Postclass**: `Class 2: Python as a Calculator`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/3 | Conditionals and loops | | | | | | + **Preclass**: `Inductive 03: Conditionals`_; `Inductive 04: Loops`_ | | | + **Postclass**: `Class 3: Conditionals and Loops`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/6 | Lists | | | | | | + **Preclass**: `Inductive 05: Lists`_ | | | + **Postclass**: `Class 4: Lists`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/8 | Numpy arrays | | | | | | + **Preclass**: `Inductive 06: numpy arrays`_ | | | + **Postclass**: `Class 5: Numpy Arrays`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/10 | Tuples, dicts, and strings; functions | | | | | | + **Preclass**: `Inductive 07: Tuples; Dicts and Strings`_; `Inductive 08: Functions`_ | | | + **Postclass**: `Class 6: Tuples; Stings; Dicts and Functions`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/13 | Pandas data frames | | | | | | + **Due**: `Lab 00.0: Python Practice`_ | | | + **Preclass**: `Inductive 09: pandas DataFrames`_ | | | + **Postclass**: `Class 7: Pandas DataFrames`_; `Lab 00.0: Python Practice Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/15 | Graphing and matplotlib | | | | | | + **Preclass**: `Inductive 10: Graphing in matplotlib`_ | | | + **Postclass**: `Class 8: Matplotlib`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/17 | Lab: programming puzzles | | | | | | + **Preclass**: `Lab 00.1: Programming Puzzles`_ | | | + **Postclass**: `Class 9: Python Puzzles Lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/20 | Simulation | | | | | | + **Preclass**: `Chapter 1: Simulation`_ | | | + **Postclass**: `Class 10: Random numbers in python`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/22 | Simulation | | | | | | + **Due**: `Lab 00.1: Programming Puzzles`_ | | | + **Postclass**: `Class 11: Stats in python`_; `Lab 00.1: Programming Puzzles Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/24 | Lab: simulating an experiment. | | | | | | + **Preclass**: `Lab 01: Simulation`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/27 | Fitting models to data | | | | | | + **Preclass**: `Chapter 2: Regression`_ | | | + **Postclass**: `Class 13: Model Fitting I`_ | +-------+------------------------------------------------------------------------------------------------+ | 4/29 | Fitting models to data | | | | | | + **Due**: `Lab 01: Simulation`_ | | | + **Postclass**: `Class 14: Model Fitting II`_; `Lab 01: Simulations Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/1 | Lab: fitting models to data | | | | | | + **Preclass**: `Lab 02: Regression`_ | | | + **Postclass**: `Class 15: Model Fitting Lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/4 | Intro to machine learning | | | | | | + **Preclass**: `Chapter 4: Machine Learning Lite`_ | | | + **Postclass**: `Class 16: Intro to machine learning`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/6 | Classification with machine learning | | | | | | + **Due**: `Lab 02: Regression`_ | | | + **Postclass**: `Class 17: Introduction to PCA`_; `Lab 02: Regression Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/8 | Lab: classification using machine learning | | | | | | + **Due**: `Prospectus`_ | | | + **Preclass**: `Lab 04: Machine Learning`_ | | | + **Postclass**: `Class 18: PCA lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/11 | Molecular structures | | | | | | + **Preclass**: `Chapter 3: Dealing with Files`_ | | | + **Postclass**: `Class 19: Dealing with files in python`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/13 | Molecular structures | | | | | | + **Due**: `Lab 04: Machine Learning`_ | | | + **Postclass**: `Class 20: Practicum: parsing a pdb file`_; `Lab 04: Machine Learning Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/15 | Lab: calculating structural properties | | | | | | + **Preclass**: `Lab 03: Small files`_ | | | + **Postclass**: `Class 21: Processing pdb file lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/18 | Big(ish) data | | | | | | + **Preclass**: `Chapter 5: Big Files (HTS)`_ | | | + **Postclass**: `Class 22: Introduction to parsing big files`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/20 | Big(ish) data | | | | | | + **Due**: `Lab 03: Small files`_ | | | + **Postclass**: `Class 23: Parsing big files class 2`_; `Lab 03: Small files Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/22 | Lab: analyzing HTS data | | | | | | + **Preclass**: `Lab 05: Big Files (HTS)`_ | | | + **Postclass**: `Class 24: fastq file lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/25 | Memorial day, no class | | | | +-------+------------------------------------------------------------------------------------------------+ | 5/27 | Working with images | | | | | | + **Due**: `Lab 05: Big Files (HTS)`_ | | | + **Preclass**: `Chapter 6: Image Analysis`_ | | | + **Postclass**: `Class 25: Working with images I`_; `Lab 05: Big Files (HTS) Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 5/29 | Working with images, start lab | | | | | | + **Preclass**: `Lab 06: Image Processing`_ | | | + **Postclass**: `Class 26: Working with images II and start Lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 6/1 | Finish lab: analyzing microscopy images | | | | | | + **Preclass**: `Lab 06: Image Processing`_ | | | + **Postclass**: `Class 27: Finish images lab`_ | +-------+------------------------------------------------------------------------------------------------+ | 6/3 | Final project, in-class work | | | | +-------+------------------------------------------------------------------------------------------------+ | 6/5 | Final project, in-class work | | | | | | + **Due**: `Lab 06: Image Processing`_ | | | + **Postclass**: `Lab 06: Image Processing Key`_ | +-------+------------------------------------------------------------------------------------------------+ | 6/9 | Final project due | | | | | | + **Due**: `Final Project`_ | +-------+------------------------------------------------------------------------------------------------+ .. all links .. _`test notebook`: https://github.com/harmsm/pythonic-science/raw/master/test_notebook.ipynb .. _`Inductive 02: Python as a calculator`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/02_python-as-a-calculator.ipynb .. _`Inductive 03: Conditionals`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/03_conditionals.ipynb .. _`Inductive 04: Loops`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/04_loops.ipynb .. _`Inductive 05: Lists`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/05_lists.ipynb .. _`Inductive 06: numpy arrays`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/06_numpy-arrays.ipynb .. _`Inductive 07: Tuples; Dicts and Strings`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/07_tuples-and-dicts-and-strings.ipynb .. _`Inductive 08: Functions`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/08_functions.ipynb .. _`Inductive 09: pandas DataFrames`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/09_pandas.ipynb .. _`Inductive 10: Graphing in matplotlib`: https://github.com/harmsm/pythonic-science/raw/master/chapters/00_inductive-python/10_matplotlib.ipynb .. _`Lab 00.1: Programming Puzzles`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/00.1_programming-puzzles.zip .. _`Chapter 1: Simulation`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/01_simulation.zip .. _`Lab 01: Simulation`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/01_simulation.zip .. _`Chapter 2: Regression`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/02_regression.zip .. _`Lab 02: Regression`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/02_regression.zip .. _`Chapter 4: Machine Learning Lite`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/04_machine-learning.zip .. _`Lab 04: Machine Learning`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/04_machine-learning.zip .. _`Chapter 3: Dealing with Files`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/03_dealing-with-files.zip .. _`Lab 03: Small files`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/03_molecular-structure.zip .. _`Chapter 5: Big Files (HTS)`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/05_big-files.zip .. _`Lab 05: Big Files (HTS)`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/05_high-throughput-sequencing.zip .. _`Chapter 6: Image Analysis`: https://github.com/harmsm/pythonic-science/raw/master/zips/chapters/06_image-analysis.zip .. _`Lab 06: Image Processing`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/06_microscopy.zip .. _`Configure Environment`: https://python-for-scientists.readthedocs.io/en/latest/_pages/install_python.html .. _`Initial Survey`: https://forms.gle/XMfB2a9tpuuGeydY8 .. _`Lab 00.0: Python Practice`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/00.0_python-practice.zip .. _`Prospectus`: https://harmsm.github.io/scientific-computing/final-project.html .. _`Final Project`: https://harmsm.github.io/scientific-computing/final-project.html .. _`Class 1: Introduction`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/00/index.html .. _`Class 2: Python as a Calculator`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/01/index.html .. _`Class 3: Conditionals and Loops`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/02/index.html .. _`Class 4: Lists`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/03/index.html .. _`Class 5: Numpy Arrays`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/04/index.html .. _`Class 6: Tuples; Stings; Dicts and Functions`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/05/index.html .. _`Class 7: Pandas DataFrames`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/06/index.html .. _`Lab 00.0: Python Practice Key`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/06/00.0_python-practice_key.zip .. _`Class 8: Matplotlib`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/07/index.html .. _`Class 9: Python Puzzles Lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/08/index.html .. _`Class 10: Random numbers in python`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/09/index.html .. _`Class 11: Stats in python`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/10/index.html .. _`Lab 00.1: Programming Puzzles Key`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/08/00.1_programming-puzzles_key.zip .. _`Class 13: Model Fitting I`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/12/index.html .. _`Class 14: Model Fitting II`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/13/index.html .. _`Lab 01: Simulations Key`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/13/01_simulation.zip .. _`Class 15: Model Fitting Lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/14/index.html .. _`Class 16: Intro to machine learning`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/15/index.html .. _`Class 17: Introduction to PCA`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/16/index.html .. _`Lab 02: Regression Key`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/keys/02_regression.zip .. _`Class 18: PCA lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/17/index.html .. _`Class 19: Dealing with files in python`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/18/index.html .. _`Class 20: Practicum: parsing a pdb file`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/19/index.html .. _`Lab 04: Machine Learning Key`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/keys/04_machine-learning.zip .. _`Class 21: Processing pdb file lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/20/index.html .. _`Class 22: Introduction to parsing big files`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/21/index.html .. _`Class 23: Parsing big files class 2`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/22/index.html .. _`Lab 03: Small files Key`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/keys/03_molecular-structure.zip .. _`Class 24: fastq file lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/23/index.html .. _`Class 25: Working with images I`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/24/index.html .. _`Lab 05: Big Files (HTS) Key`: https://github.com/harmsm/pythonic-science/raw/master/zips/labs/keys/05_high-throughput-sequencing.zip .. _`Class 26: Working with images II and start Lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/25/index.html .. _`Class 27: Finish images lab`: https://harmsm.github.io/scientific-computing/non-sphinx/sessions/26/index.html .. _`Lab 06: Image Processing Key`: https://github.com/harmsm/pythonic-science/raw/master/labs/06_microscopy/06_counting-puncta_key.ipynb .. toctree:: syllabus remote final-project cheat-sheet :maxdepth: 2 :caption: Sections: Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`