patrickwalls / ubc-scientific-software-seminar

The UBC Scientific Software Seminar is inspired by Software Carpentry and its goal is to help students, graduates, fellows and faculty at UBC develop software skills for science.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UBC Scientific Software Seminar

The UBC Scientific Software Seminar is inspired by Software Carpentry and its goal is to help students, graduates, fellows and faculty at UBC develop software skills for science.

Summer 2016: Collaborative Scientific Computing in Python

OUTLINE

  • What are the learning goals?
    • To develop software skills for managing data files and collaborative software projects with the Bash shell and Git/GitHub
    • To learn Python programming for scientific computing
    • To learn mathematics and statistics applied to data science and machine learning
    • To meet and collaborate with other students and faculty interested in scientific computing
  • What software tools are we going to use?
  • What scientific topics will we study?
    • Calculus, linear algebra, probability and statistics
    • Data wrangling, analysis and visualization
    • Basic machine learning
  • Where do we start? What are the prerequisites?
    • Basic calculus, linear algebra, probability and statistics
    • Basic programming experience in any language (in particular, familiarity with logic, loops and functions)
    • No prior experience with the command line is required
    • No prior experience with Git/GitHub is required
  • Who is the target audience?
    • Everyone is invited!
    • If the outline above is at your level, perfect! Get ready to write a lot of code!
    • If the outline above seems too intimidating, come anyway! You'll learn things just by being exposed to new tools and ideas, and meeting new people!
    • If you have experience with all the topics outlined above, come anyway! You'll become more of an expert by participating as a helper/instructor!

SCHEDULE

Summer 2016 will consist of six 2-hour seminars held weekly from mid-July until the end of August:

  • Week 1 - Wednesday July 20 - 10am-12pm - IBLC 261 [Notes]
    • JupyterHub
    • Jupyter Notebooks
    • Git/GitHub
  • Week 2 - Wednesday July 27 - 10am-12pm - IBLC 261 [Notes]
    • Git/GitHub: clone, push and pull, and collaborate
    • Bash commands for navigating the Linux file system
    • Python datatypes: int, float, str, list, bool
  • Week 3 - Wednesday August 3 - 10am-12pm - IBLC 261 [Notes]
    • Bash commands and scripts
    • Python: logic, loops and functions
    • A quick intro to NumPy and matplotlib
  • Week 4 - Wednesday August 10 - 10am-12pm - IBLC 261 [Notes]
    • A tour of the SciPy stack: NumPy, SciPy, matplotlib and pandas
  • Week 5 - Wednesday August 17 - 10am-12pm - IBLC 185 [Notes]
  • Week 6 - Wednesday August 24 - 10am-12pm - LSK 201 [Notes]
    • A basic machine learning example:
      • Digits dataset
      • Our own k-nearest neighbors classifier
      • Evaluating the classifier
      • Implementing sklearn.neighbors.KNeighborsClassifier

About

The UBC Scientific Software Seminar is inspired by Software Carpentry and its goal is to help students, graduates, fellows and faculty at UBC develop software skills for science.


Languages

Language:Jupyter Notebook 99.9%Language:Shell 0.1%