
Python Training for Scientists and Engineers
Course Length:
Delivery Methods:
Course Topics
- 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 Jupyter notebooks for ad hoc calculations, plots, and what-if?.
Course Overview
This Python class teaches scientists and engineers to use Python for scientific and mathematical computing. Starting with the basics, it progresses to the most important Python modules for working with data, from arrays, to statistics, to plotting results.
This is a hands-on programming class. All concepts are reinforced with informal practice during the lecture followed by lab exercises.
Course Outline
- The Python Environment
- Starting Python
- Using the Interpreter
- Running a Python Script
- Python Scripts on Unix
- Python Scripts on Windows
- Python Editors and IDEs
- 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
- What's with the White Space?
- if and else
- Conditional Expressions
- Relational Operators
- Boolean Operators
- while Loops
- Alternate Ways to Exit a Loop
- Lists and Tuples
- About Sequences
- Lists
- Tuples
- Indexing and Slicing
- Iterating through a Sequence
- Functions for All Sequences
- Operators and Keywords for Sequences
- Nested Sequences
- List Comprehensions
- Generator Expressions
- Working with Files
- Text file I/O
- Opening a Text File
- Reading a Text File
- Writing to a Text File
- "Binary" (Raw, or Non-delimited) Data
- Dictionaries and Sets
- About Dictionaries
- When to Use Dictionaries
- Creating Dictionaries
- Iterating through a Dictionary
- About Sets
- Creating Sets
- Working with Sets
- Functions
- Defining a Function
- Function Parameters
- Variable Scope
- Returning Values
- Lambda Functions
- Exception Handling
- Syntax Errors
- Exceptions
- Handling Exceptions with Try
- Handling Multiple Exceptions
- Handling Generic Exceptions
- Ignoring Exceptions
- Using else
- Cleaning Up with finally
- Re-raising Exceptions
- Raising a New Exception
- OS Services
- The os Module
- Environment Variables
- Launching External Commands
- Paths, Directories, and Filenames
- Walking Directory Trees
- 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
- Program Development
- Comments
- pylint
- Customizing pylint
- Unit Testing
- The unittest Module
- Creating a Test Class
- Establishing Success or Failure
- Startup and Cleanup
- Running the Tests
- Debugging
- Benchmarking
- Profiling Applications
- Excel Spreadsheets
- openpyxl module
- Reading an Existing Spreadsheet
- Creating a Spreadsheet
- Modifying a Spreadsheet
- XML and JSON
- Creating XML Files
- Parsing XML
- Tags and XPath
- Reading and Wiritng JSON
- iPython and Jupyter
- About iPython and Jupyter
- iPython Basics
- Jupyter Basics
- NumPy
- Python's scientific Stack
- NumPy Overview
- Creating Arrays
- Creating Ranges
- Working with Arrays
- Shapes
- Slicing and Indexing
- Indexing with booleans
- Stacking
- Iterating
- Tricks with Arrays
- Matrices
- Data Types
- NumPy Functions
- SciPy
- About SciPy
- SciPy Packages
- SciPy Examples
- pandas
- About pandas
- Series
- DataFrames
- Reading and Writing Data
- Indexing and Slicing
- Merging and Joining Data Sets
- matplotlib
- Creating a plot
- Commonly Used Plots
- Customizing Styles
- Ad hoc data visualization
- Advanced Usage
- Saving Images
Class Materials
Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following would be useful for this Python class:
- While there are no programming prerequisites, programming experience is helpful. Students should be comfortable working with files and folders, and should not be afraid of the command line.
Request a Private Class
- Private Class for your Team
- Online or On-location
- Customizable
- Expert Instructors