Python Bootcamp

Introduction

Curriculum

Basics of the Unix Terminal
  • Simple Commands
  • Aliases
  • Environment Variables
  • PATH and PYTHONPATH
Python as a Programming Language
  • Compiled versus Interpreted Code
  • Static versus Dynamic Typing
  • Weak versus Strong Typing
  • Objects and the Python Data Model
 
 

Fundamentals

Curriculum

The Basics of Python and Syntax Review
  • Built-in types: int, float, list, tuple, dict
  • The list versus the NumPy array
  • Conditionals: if, elif, and else
  • Loops: for and while
  • Functions: def
  • Simple file I/O with and without NumPy
  • Catching exceptions: try, except, and finally
  • Built-in iteration tools: any, all, zip, map, and filter
 
 

Packages

Curriculum

Documentation in Python
  • reStructuredText
  • Standard format and contents
Anaconda
  • NumPy, SciPy, and Matplotlib
  • Example plotting script line-by-line with documentation
Multi-File Python Programs
  • Importing code in the same directory
  • The __init__.py file
  • The usefulness of your PYTHONPATH
 
 

Object-Oriented Programming 1

Curriculum

Object-Oriented Programming
  • Properties and setter function
  • Class methods and static methods
  • Syntactic sugar
  • Emulating numeric types
 
 

Object-Oriented Programming 2

Curriculum

Object-Oriented Programming
  • Inheritance
  • Composition
 
 

Basic Software Engineering

Curriculum

Object-Oriented Programming
  • Multiple Inheritance
Basic Principles of Software Engineering
  • DRY: Don't Repeat Yourself
  • No ifs, ands, or buts
  • Version control