Programming Private

Python Training for Scientists and Engineers (PYT401)

5 days

Learn Python for scientific and engineering work: core syntax, functions, files, OOP, testing, and data tools like NumPy, SciPy, pandas, matplotlib, and Jupyter

Register or Request Training

  • Private class for your team
  • Live expert instructor
  • Online or on‑location
  • Customizable agenda
  • Proposal responses same day as request

Course Overview

This course builds practical Python skills for scientific and engineering workflows, from core language fundamentals through common tools used for data processing and analysis.

You will learn to write and run scripts; use flow control, sequences, dictionaries, and functions; work with files and operating system services; and structure code with modules, packages, and classes. The course also introduces development practices such as linting, unit testing, debugging, benchmarking, and profiling.

To support real-world data tasks, you will work with spreadsheets, XML, and JSON, and explore interactive computing with iPython and Jupyter. The scientific Python stack is covered with NumPy, SciPy, pandas, and matplotlib for efficient computation, data wrangling, and visualization.

Course Benefits

  • Create and run Python scripts using the interpreter and command line.
  • Use core language features: variables, strings, numbers, flow control, sequences, dictionaries, sets, and functions.
  • Read and write files, including working with raw/binary data.
  • Handle errors using Python exception-handling constructs.
  • Organize code with modules, packages, and object-oriented classes.
  • Apply developer tooling such as pylint, unittest, debugging, benchmarking, and profiling.
  • Work with common data formats including Excel spreadsheets, XML, and JSON.
  • Use iPython and Jupyter for interactive exploration and what-if analysis.
  • Manipulate arrays with NumPy and understand key SciPy capabilities.
  • Use pandas to structure, read/write, merge, and analyze tabular data.
  • Create and customize visualizations with matplotlib.

Delivery Methods

Private Class
Delivered for your team at your site or online.

Course Outline

  1. The Python Environment
    1. Starting Python
    2. Using the Interpreter
    3. Running a Python Script
    4. Python Scripts on Unix
    5. Python Scripts on Windows
    6. Python Editors and IDEs
  2. Getting Started
    1. Using Variables
    2. Built-in Functions
    3. Strings
    4. Numbers
    5. Converting among Types
    6. Writing to the Screen
    7. String Formatting
    8. Command Line Parameters
  3. Flow Control
    1. About Flow Control
    2. What's with the White Space?
    3. if and else
    4. Conditional Expressions
    5. Relational Operators
    6. Boolean Operators
    7. while Loops
    8. Alternate Ways to Exit a Loop
  4. Lists and Tuples
    1. About Sequences
    2. Lists
    3. Tuples
    4. Indexing and Slicing
    5. Iterating through a Sequence
    6. Functions for All Sequences
    7. Operators and Keywords for Sequences
    8. Nested Sequences
    9. List Comprehensions
    10. Generator Expressions
  5. Working with Files
    1. Text file I/O
    2. Opening a Text File
    3. Reading a Text File
    4. Writing to a Text File
    5. "Binary" (Raw, or Non-delimited) Data
  6. Dictionaries and Sets
    1. About Dictionaries
    2. When to Use Dictionaries
    3. Creating Dictionaries
    4. Iterating through a Dictionary
    5. About Sets
    6. Creating Sets
    7. Working with Sets
  7. Functions
    1. Defining a Function
    2. Function Parameters
    3. Variable Scope
    4. Returning Values
    5. Lambda Functions
  8. Exception Handling
    1. Syntax Errors
    2. Exceptions
    3. Handling Exceptions with Try
    4. Handling Multiple Exceptions
    5. Handling Generic Exceptions
    6. Ignoring Exceptions
    7. Using else
    8. Cleaning Up with finally
    9. Re-raising Exceptions
    10. Raising a New Exception
  9. OS Services
    1. The os Module
    2. Environment Variables
    3. Launching External Commands
    4. Paths, Directories, and Filenames
    5. Walking Directory Trees
    6. Dates and Times
  10. Modules and Packages
    1. Initialization code
    2. Namespaces
    3. Executing modules as scripts
    4. Documentation
    5. Packages and name resolution
    6. Naming conventions
    7. Using imports
  11. Classes
    1. Defining Classes
    2. Constructors
    3. Instance methods and data
    4. Attributes
    5. Inheritance
    6. Multiple Inheritance
  12. Programmer Tools
    1. Program Development
    2. Comments
    3. pylint
    4. Customizing pylint
    5. Unit Testing
    6. The unittest Module
    7. Creating a Test Class
    8. Establishing Success or Failure
    9. Startup and Cleanup
    10. Running the Tests
    11. Debugging
    12. Benchmarking
    13. Profiling Applications
  13. Excel Spreadsheets
    1. openpyxl module
    2. Reading an Existing Spreadsheet
    3. Creating a Spreadsheet
    4. Modifying a Spreadsheet
  14. XML and JSON
    1. Creating XML Files
    2. Parsing XML
    3. Tags and XPath
    4. Reading and Writing JSON
  15. iPython and Jupyter
    1. About iPython and Jupyter
    2. iPython Basics
    3. Jupyter Basics
  16. NumPy
    1. Python's scientific Stack
    2. NumPy Overview
    3. Creating Arrays
    4. Creating Ranges
    5. Working with Arrays
    6. Shapes
    7. Slicing and Indexing
    8. Indexing with booleans
    9. Stacking
    10. Iterating
    11. Tricks with Arrays
    12. Matrices
    13. Data Types
    14. NumPy Functions
  17. SciPy
    1. About SciPy
    2. SciPy Packages
    3. SciPy Examples
  18. pandas
    1. About pandas
    2. Series
    3. DataFrames
    4. Reading and Writing Data
    5. Indexing and Slicing
    6. Merging and Joining Data Sets
  19. matplotlib
    1. Creating a plot
    2. Commonly Used Plots
    3. Customizing Styles
    4. Ad hoc data visualization
    5. Advanced Usage
    6. Saving Images

Class Materials

Each student receives a comprehensive set of materials, including course notes and all class examples.

Class Prerequisites

Experience in the following would be useful for this Python class:

  • Programming experience is helpful.
  • Comfort working with files and folders and using the command line is recommended.

Have questions about this course?

We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.

}