TTPS4874 - Applied Python for Data Science

Geared for scientists and engineers with potentially light practical programming background or experience, Applied Python for Data Scientists is a hands-on Python course that provides a ramp-up to using Python for scientific and mathematical computing. Students will explore basic Python scripting skills and concepts, and then move to the most important Python modules for working with data, from arrays to statistics, to plotting results.

Student Testimonials

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »


While there are no specific programming prerequisites, students should be comfortable working with files and folders and should not be afraid of the command line and basic scripting.

Detailed Class Syllabus

Session 1 — The Python Environment

About Python
Starting Python
Using the interpreter
Running a Python script
Python scripts on Unix/Windows
Using the Spyder editor

Session 2 — Getting Started

Using variables
Built-in functions
Converting among types
Writing to the screen
String formatting
Command-line parameters

Session 3 — Flow Control

About flow control
White space
Conditional expressions (if,else)
Relational and Boolean operators
While loops
Alternate loop exits

Session 4 — Sequences

About sequences
Lists and tuples
Indexing and slicing
Iterating through a sequence
Sequence functions, keywords, and operators
List comprehensions
Generator expressions
Nested sequences

Session 5 — Working with files

File overview
Opening a text file
Reading a text file
Writing to a text file
Raw (binary) data

Session 6 — Dictionaries and Sets

Creating dictionaries
Iterating through a dictionary
Creating sets
Working with sets

Session 7 — Functions

Defining functions
Variable scope
Returning values
Lambda functions

Session 8 — Errors and Exception Handling

Syntax errors
Using try/catch/else/finally
Handling multiple exceptions
Ignoring exceptions

Session 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

Session 10 – Pythonic idioms

Small Pythonisms
Lambda functions
Packing and unpacking sequences
List Comprehensions
Generator Expressions

Session 11 – Modules and packages

Initialization code
Executing modules as scripts
Packages and name resolution
Naming conventions
Using imports

Session 12 — Classes

Defining classes
Instance methods and data
Multiple inheritances

Session 13 – Developer tools

Analyzing programs with pylint
Creating and running unit tests
Debugging applications
Benchmarking code
Profiling applications

Session 14 – 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

Session 15 – iPython

iiPython basics
Terminal and GUI shells
Creating and using notebooks
Saving and loading notebooks
Ad hoc data visualization
iiPython basics
Terminal and GUI shells
Creating and using notebooks
Saving and loading notebooks
Ad hoc data visualization

Session 16 – numpy

numpy basics
Creating arrays
Indexing and slicing
Large number sets
Transforming data
Advanced tricks

Session 17 – scipy

What can scipy do?
Most useful functions
Curve fitting
Data visualization

Session 18 – A tour of scipy sub-packages

Physical and Mathematical Constants
Integral and differential solvers
Interpolation and smoothing
Input and Output
Linear Algebra
Image Processing
Distance Regression
Signal Processing
Sparse Matrices
Spatial data and algorithms
Statistical distributions and functions
C/C++ Integration

Session 19 – pandas

pandas overview
Reading and writing data
Data alignment and reshaping
Fancy indexing and slicing
Merging and joining data sets

Session 20 – matplotlib

Creating a basic plot
Commonly used plots
Ad hoc data visualization
Advanced usage
Exporting images

Session 21 — The Python Imaging Library (PIL)

PIL overview
Core image library
Image processing
Displaying images