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
-
- The Python Environment
- About Python
- Starting Python
- Using the Interpreter
- Running a Python script
- Python scripts on Unix/Windows
- Using the Spyder editor
- Getting Started
- Using Variables
- Built-in Functions
- Strings
- Numbers
- Converting among Types
- Writing to the Screen
- String Formatting
- Command Line Parameters
- 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
- Sequences
- About sequences
- Lists and tuples
- Indexing and slicing
- Iterating through a sequence
- Sequence functions, keywords, and operators
- List comprehensions
- Generator Expressions
- Working with Files
- File overview
- Opening a text file
- Reading a text file
- Writing to a text file
- Raw (binary) data
- Dictionaries and Sets
- Creating Dictionaries
- Iterating through a dictionary
- Creating Sets
- Working with sets
- Functions
- Defining Functions
- Parameters
- Variable Scope
- Returning Values
- Lambda Functions
- Errors and Exception Handling
- Syntax errors
- Exceptions
- Using try/catch/else/finally
- Handling multiple exceptions
- Ignoring Exceptions
- OS Services
- The os module
- Environment Variables
- Launching external commands
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
- Dates and Times
- Modules and Packages
- Initialization Code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and name resolution
- Naming Conventions
- Using Imports
- Classes
- Defining Classes
- Constructors
- Instance Methods and Data
- Attributes
- Inheritance
- Multiple Inheritance
- Programmer Tools
- Analyzing programs with pylint
- Creating and running unit tests
- Debugging Applications
- Benchmarking Code
- Profiling Applications
- 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
- iPython
- iPython Basics
- Terminal and GUI Shells
- Creating and using notebooks
- NumPy
- NumPy basics
- Creating arrays
- Indexing and slicing
- Large number sets
- Transforming data
- Advanced tricks
- pandas
- Pandas Overview
- Dataframes
- Reading and writing data
- Data alignment and reshaping
- Fancy indexing and slicing
- Merging and joining data sets
- SciPy
- What can SciPy do?
- Most useful functions
- Curve Fitting
- Modeling
- Data Visualization
- Statistics
- matplotlib
- Creating a basic plot
- Commonly used plots
- Ad hoc data visualization
- Advanced Usage
- Exporting Images
- The Python Imaging Library (PIL)
- PIL Overview
- Core Image Library
- Image Processing
- Displaying Images
- SymPy
- Basic Arithmetic
- Simplificaiton and Expansion
- Functions
- Polynomials
- Solving Equations
- Geometry
- The Python Environment



