Skip to content

Latest commit

 

History

History
124 lines (89 loc) · 7.62 KB

scheduleSpring2018.md

File metadata and controls

124 lines (89 loc) · 7.62 KB

BICF Python 1 - Nanocourse

This nanocourse will introduce Python for scientific computing.
Python is an open-source, fun, easy to learn, and powerful programming language. With deep community support and wide ranging deployment across many domains, Python is a worthy tool for projects large and small that any computational scientist should keep on hand.

Topics for this two day (all-day) course will include:

  • Basic install, setup, and IDEs
  • Basic Syntax
  • Conditional statements, loops, functions
  • Modules, classes, scripting, debugging
  • Numerical arrays/matrices (numpy/scipy)
  • Data structures (pandas)
  • Plotting data (matplotlib, seaborn, bokeh)

The course will be interactive, with lectures followed by hands-on learning and exercises. No previous programming experience is necessary. Familiarity with basic programming/scripting concepts is helpful. Students will also have the opportunity to share their own technical challenges and explore as a class how python can help.

Contacts

Preparation for Class

Environment

Install conda environment specified in environment.yml by downloading the file and running the following in Terminal (macOS and Linux) or an Anaconda Prompt (Windows):

# Install the environment
conda env create --file environment.yml

Activate the new environment (assumes conda version of at least 4.4):

  • Windows: activate bicf-python1
  • macOS and Linux: source activate bicf-python1

The environment should successfully install on both Linux, macOS and Windows.

Test the new environment by downloading the python script check_versions.py and running:

# Test the environment
python check_versions.py
Output of script if everything works should be:

[  INFO] Hello - we're checking if your system is ready for the Python 1 Nanocourse
[  INFO] Python verion OK!
[  INFO] Checking for numpy 1.14.0
[  INFO] Checking for scipy 1.0.0
[  INFO] Checking for pandas 0.22.0
[  INFO] Checking for matplotlib 2.1.2
[  INFO] Checking for seaborn 0.8.1
[  INFO] Checking for bokeh 0.12.13
[  INFO] Checking for spyder 3.2.6

Woo! - Ready to go, see you at the nanocourse :-)

Deactivate the environment using:

  • Windows: deactivate bicf-python1
  • macOS and Linux: source deactivate bicf-python1

Schedule

Day 1 | February 27th, 2018
Room NB2.100A

Time Topic Instructor
9:00 - 10:00 a.m. Intro, IDEs, Setup Andrew Jamieson
10:00 - 11:00 a.m. Basic Syntax Daniel Moser
11:00 a.m. - 12:00 p.m. Practical Exercises
1:00 - 2:00 p.m. Control Statments, Loops, Functions Daniel Moser
2:00 - 3:00 p.m. Practical Exercises
3:00 - 3:30 p.m. Modules, Classes, Environments Benjamin Wakeland
3:30 - 4:00 p.m. Scripting, Debugging
4:00 - 5:00 p.m. Practical Exercises

Day 2 | February 28th, 2018
Room NB2.100A

Time Topic Instructor
9:00 - 10:00 a.m. Numpy + Scipy Viren Amin
10:00 - 11:00 a.m. Practical Exercises
11:00 a.m. - 12:00 p.m. Data Structures + Pandas
Slides and Workshop
Venkat Malladi
1:00 - 2:00 p.m. Data Structures + Pandas (cont.)
Slides and Workshop
Venkat Malladi
2:00 - 2:30 p.m. Plotting Data: Matplotlib, Notebook Wei Guo
2:30 - 3:00 p.m. Plotting Data: Bokeh, Seaborn
3:00 - 4:00 p.m. Practical Exercises
4:00 - 5:00 p.m. Python Therapy: Student Cases All Instructors

TAs: Guillaume Jimenez, Gervaise Henry, Behrouz Saghafi Khadem

Python Therapy for Students

Opportunity to apply what you've learned to your own research! Students are encouraged to present a specific technical challenge encountered in their work and how they might solve this problem with python. We will review these cases as a class and discuss.

Additional Resources