Python for Scientists and Engineers

 

 

 

Python for Scientists and Engineers Training Class Summary

This five day training course teaches scientists and engineers the Python, NumPy, SciPy, SymPy, and other skills they need to work with data, manipulating arrays, performing statistical calculations, and plotting results. This is a hands-on programming class. All concepts are reinforced by informal practice followed by lab exercises.

Audience: Scientists, mathematicians, statisticians and engineers.

Prerequisites: While there are no programming prerequisites, programming experience is helpful. Students should be comfortable working with files and folders, and be familiar with the command line in Linux, Windows, or MacOS.

Class Length: 5 days

Python for Scientists and Engineers Training Class Objectives
  • Create and run basic programs
  • Design and code modules and classes
  • Implement and run unit tests
  • Use benchmarks and profiling to speed up programs
  • Process XML and JSON
  • Manipulate arrays with NumPy
  • Get a grasp of the diversity of subpackages that make up SciPy
  • Use iPython notebooks for ad hoc calculations, plots and what-if?
  • Manipulate images with PIL
  • Solve equations with SymPy
Python for Scientists and Engineers Training Class Detailed Outline
  1. The Python Environment
    • About Python
    • Starting Python
    • Using the Interpreter
    • Running a Python script
    • Python scripts on Unix/Windows
    • Using the Spyder editor
  2. Getting Started
    • Using Variables
    • Built-in Functions
    • Strings
    • Numbers
    • Converting among Types
    • Writing to the Screen
    • String Formatting
    • Command Line Parameters
  3. Flow Control
    • About flow control
    • White Space
    • Conditional expressions (if,else)
    • Relational and Boolean operators
    • While loops
    • Alternate loop exits
    • Chapter Section
    • Chapter Section
    • Chapter Section
  4. Sequences
    • About sequences
    • Lists and tuples
    • Indexing and slicing
    • Iterating through a sequence
    • Sequence functions, keywords, and operators
    • List comprehensions
    • Generator Expressions
  5. Working with Files
    • File overview
    • Opening a text file
    • Reading a text file
    • Writing to a text file
    • Raw (binary) data
  6. Dictionaries and Sets
    • Creating Dictionaries
    • Iterating through a dictionary
    • Creating Sets
    • Working with sets
  7. Functions
    • Defining Functions
    • Parameters
    • Variable Scope
    • Returning Values
    • Lambda Functions
  8. Errors and Exception Handling
    • Syntax errors
    • Exceptions
    • Using try/catch/else/finally
    • Handling multiple exceptions
    • Ignoring Exceptions
  9. OS Services
    • The os module
    • Environment Variables
    • Launching external commands
    • Walking directory trees
    • Paths, directories, and filenames
    • Working with file systems
    • Dates and Times
  10. Modules and Packages
    • Initialization Code
    • Namespaces
    • Executing modules as scripts
    • Documentation
    • Packages and name resolution
    • Naming Conventions
    • Using Imports
  11. Classes
    • Defining Classes
    • Constructors
    • Instance Methods and Data
    • Attributes
    • Inheritance
    • Multiple Inheritance
  12. Programmer Tools
    • Analyzing programs with pylint
    • Creating and running unit tests
    • Debugging Applications
    • Benchmarking Code
    • Profiling Applications
  13. XML and JSON
    • Using ElementTree
    • Creating a new XML document
    • Parsing XML
    • Finding by tags and XPath
    • Parsing JSON into Python
    • Parsing Python into JSON
  14. iPython
    • iPython Basics
    • Terminal and GUI Shells
    • Creating and using notebooks
  15. NumPy
    • NumPy basics
    • Creating arrays
    • Indexing and slicing
    • Large number sets
    • Transforming data
    • Advanced tricks
  16. pandas
    • Pandas Overview
    • Dataframes
    • Reading and writing data
    • Data alignment and reshaping
    • Fancy indexing and slicing
    • Merging and joining data sets
  17. SciPy
    • What can SciPy do?
    • Most useful functions
    • Curve Fitting
    • Modeling
    • Data Visualization
    • Statistics
  18. matplotlib
    • Creating a basic plot
    • Commonly used plots
    • Ad hoc data visualization
    • Advanced Usage
    • Exporting Images
  19. The Python Imaging Library (PIL)
    • PIL Overview
    • Core Image Library
    • Image Processing
    • Displaying Images
  20. SymPy
    • Basic Arithmetic
    • Simplificaiton and Expansion
    • Functions
    • Polynomials
    • Solving Equations
    • Geometry