About This Course

This 3-day intensive Python training class provides practical, hands-on experience and foundational working knowledge of Python for data analysis, science, engineering, and other technical applications. Whether you are new to Python or a long-time enthusiast, you’ll benefit from this focused series of topics and best practices taught by experts who create Python software for notable companies in finance, oil and gas, scientific research, aerospace, biotechnology, marketing analysis and more.

Course Overview

The Python Foundations Core Class will get you up to speed quickly on how to optimize your use of the Python standard language and key Python packages for data exploration, modeling, and analysis. You’ll leave with:

  • Hands-on experience setting up a fully functioning integrated analysis environment and popular Python tools for scientific and numeric computing
  • An understanding of how to use the Python standard library to write programs, access various tools, and document and automate analytic processes
  • Orientation to some of the most powerful and popular Python libraries for modeling and analysis, including Pandas (data preparation, analysis, and modeling; time series analysis), NumPy (fast numerical computing), and matplotlib (data visualization)

Contact Us

Questions or need help registering? Call us at 512.536.1057 or fill out the form:

Course Instructors

Enthought instructors have doctorates in scientific fields such as physics, engineering, computer science, and mathematics, and all have extensive experience through research and consulting in applying Python to solve complex problems across a range of industries, allowing them to bring their real world experience to the classroom every day. Enthought instructors possess professional, first-hand experience with the tools and technologies covered in our courses.


Course Syllabus & Topics

What You’ll Learn

The class will give you the initial building blocks to effectively use Python in your daily work, while setting the foundation for additional skill building in areas of specific interest.

Course Prerequisites

Experience with Python is helpful (but not required). However, programming experience in some language (such as R, MATLAB, SAS, Mathematica, Java, C, C++, VB, or FORTRAN) is expected. In particular, participants need to be comfortable with general programming concepts like variables, loops, and functions.

I. Python Infrastructure and Development Tools

We kick off the class by exploring the functionality of the IPython Shell, an enhanced interactive science-centric console. Next we review the Jupyter Notebook, a cell-based environment that renders scripts, plots, and rich media in a web-like interface, making it ideal for sharing and publishing analysis with peers. You’ll leave with a mastery of these tools that will accelerate your productivity and facilitate collaboration.

1. Building a Solid Infrastructure to Go From Exploratory Analysis to Reproducible Workflows

A. Introduction and Setting Up Your Integrated Analysis Environment

  • Canopy: Integrated Analysis Environment
  • IPython Shell
  • Custom environment settings
  • Jupyter (IPython) Notebooks
  • Script editor
  • Packages: NumPy, Pandas, matplotlib, etc.

II. Python Language Essentials

Next we move into an introduction to Python’s core language features that form part of your universal toolkit for tasks ranging from initial data exploration to extensible application development. We’ll introduce Python’s built-in data structures, including how and where each might be used and what trade-offs are present, and we’ll cover Python’s looping and control flow constructs. Along the way we’ll provide insight into Python’s design choices that will help you understand why Python works the way it does.

1. Using Python to Control and Document Your Workflow

Python Essentials

  • Data types and objects
  • Loading packages, namespaces
  • Reading and writing data
  • Simple plotting
  • Control flow
  • Debugging
  • Code profiling

III. Python's Scientific and Analytic Toolkits

There are a number of “must-have” packages for scientific computing and data analysis with Python. We’ll review three of these in this class that will give you the underpinnings you need to be able to expand your knowledge into additional packages that fit your area of specialization. If you are coming from a background in MATLAB®* or R, you’ll find these libraries essential.

Chief among these packages is NumPy, a tool for rapidly manipulating and processing large data sets. Whether you are a scientist writing short scripts to analyze and plot your analytical results or an analyst writing large-scale quantitative finance applications for Wall Street, NumPy should be part of your toolbox. We give you a jump start with the basics in the classroom, then provide you additional curated lectures to extend your understanding.

Once you’ve crunched your data, you’ll want to visualize it, which is where matplotlib comes in. Matplotlib is a versatile 2D plotting library that allows you to generate plots, histograms, power spectra, bar charts, error charts, scatter plots, and more with just a few lines of code.

Finally, we do a deep dive into the Python Data Analysis Library (Pandas), a powerful package for working with multi-dimensional datasets. Pandas’ powerful data aggregation and reorganization capabilities, including support for labeling data along each dimension, missing values, and time series manipulations, have made Python an indispensable tool for data exploration and analysis.

1. Numerical Analysis, Data Exploration, and Data Visualization with NumPy Arrays and Matplotlib

NumPy Essentials

  • The NumPy array
  • Indexing and slicing arrays
  • Array operations and manipulations
  • 2D plotting with matplotlib

2. Data Wrangling, Exploration, and Analysis with Pandas

A. Pandas

  • 1D and 2D data structures: Series and DataFrame
  • Pandas I/O
  • Data visualization
  • Data manipulation (alignment, aggregation, and summarization)
  • Statistical analysis with Pandas
  • Date and time series analysis with Pandas

Open Class Schedule

Onsite corporate classes are also available. Discounts are available for 3 or more attendees and academics currently at a degree-granting institution. Contact us to learn more.

WhereWhenPriceReserve a Seat
Washington, D.C.November 13-15, 2017$1700Contact us with the form to the right to register
Albuquerque, NMNovember 13-15, 2017SOLD OUTContact us with the form to the right to be added to the wait list
Los Alamos, NMDecember 4-6, 2017$1700
New York City, NYDecember 4-6, 2017$1700Contact us with the form to the right to register
Austin, TXDecember 11-13, 2017$1700
Albuquerque, NMJanuary 29-31, 2018$1700
Los Alamos, NMFebruary 5-7, 2018$1700
London, UKFebruary 19-21, 2018£1400Contact us with the form to the right
Cambridge, UKMarch 19-21, 2018£1400Contact us with the form to the right
Albuquerque, NMMarch 26-28, 2018$1700
Los Alamos, NMApril 2-4, 2018$1700
San Diego, CAApril 9-11, 2018$1700Contact us with the form to the right
Washington, DCApril 23-25, 2018$1700Contact us with the form to the right
San Jose, CAMay 14-16, 2018$1700Contact us with the form to the right
Los Alamos, NMJune 4-6, 2018$1700Contact us with the form to the right
Albuquerque, NMJune 18-20, 2018$1700Contact us with the form to the right
Albuquerque, NMJuly 23-25, 2018$1700Contact us with the form to the right

Contact Us

Questions or need help registering? Call us 512.536.1057 or fill out the form:


  • Is a class completion certificate provided?
    • Yes, a class completion certificate is provided for the Python Foundations class.

Have a question that isn’t answered here? Contact us or call 512.536.1057.


I really liked the comprehensive and thorough, albeit speedy, presentation of Python. It gave me a good idea regarding the packages provided as well as the understanding of how to navigate through them. I may not need everything at this point, but in future if I ever do, I know where to go (...)

National Research Laboratory

The instructor's deep knowledge of Python and his willingness and ability to clearly explain how and most importantly why things work the way they do, most of the time very impressively augmented through quick off the cuff coding examples, were quite extraordinary. Time well spent, thoroughly (...)

This is an excellent introductory course. It covers many aspects of Python, both basic functions and tips/tricks. The instructor is very knowledgeable and friendly, full of funs. I recommend this course to anyone who want to join the world of Python and who want to be pythonic for more (...)

Reservoir Modeling Scientist

After this course I would like to convert any of my code in python!

Aerspace Engineer, JPL Affiliate

Dr. Diller is a great teacher! The way he presents is very clear to understand, and the pace he teaches at is a perfect balance; It suits both those who know a lot about programing and those who know less. I am impressed by his knowledge, and inspired by his excitement on the subject's (...)

Scientific Application Software Engineer, NASA Jet Propulsion Laboratory

It gave a very comprehensive overview of Python. I saw all the tools and features I would likely use and even more. I understood the power of the language and all the libraries that have been created for it.

The format -- going back and forth between lecture, finger exercises, and longer exercises -- was extremely helpful to get foundational understanding. It was a great way to actually walk away knowing how to use various libraries, as well as actually do it without cut/paste.

This is an excellent course for a beginning Python programmer, and Dr. Grant is an outstanding teacher, very familiar with the material and responsive to the class... Without a doubt it was the best programming class I've ever taken.

Senior Software Developer, Financial Services, KCG

Tim is a great teacher!! This is a great class to learn Python if you already have some basic understanding of programming.

Systems Engineer

Great start to learning python, gives you a good first intro so you are confident to explore on your own later.

Trader, Finance, KCG Holdings

Tim is an excellent instructor. I was very impressed with his ability to code 'on-the-fly' as he gave us illuminating examples.

Jet Propulsion Laboratory

Dr. Niederhut makes learning this material---Python, NumPy, SciPy, Pandas---- in a condensed period of time easy!