Python Programming for Scientists

110 Ratings

Course Number: PYTH-120

Duration: 5 days (32.5 hours)

Format: Live, hands-on

Python Training Overview

Accelebrate's Python Programming for Scientists training course teaches scientists, mathematicians, statisticians, and engineers to use Python for scientific and mathematical computing. Attendees learn the basics as well as the most important Python modules for working with data, from arrays, to statistics, to plotting results. The material is geared towards scientists and engineers.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some Programming courses are available as live, online classes for individuals.

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 Jupyter notebooks for ad hoc calculations, plots, and what-if?

Prerequisites

While there are no programming prerequisites, programming experience is helpful. Students should have a strong mathematical background and should be comfortable working with files and folders, and be familiar with the command line in Linux, Windows, or Mac OS.

Outline

Expand All | Collapse All

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
  • Builtin 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
Sequences
  • About sequences
  • Lists and tuples
  • Indexing and slicing
  • Iterating through a sequence
  • Sequence functions, keywords, and operators
  • List comprehensions
  • Generator expressions
  • Nested sequences
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
Excel Spreadsheets
  • The openpyxl module
  • Reading an existing spreadsheet
  • Creating a spreadsheet from scratch
  • Modifying an existing spreadsheet
Serializing Data
  • Creating XML Files
  • Parsing XML
  • Finding by tags and XPath
  • Reading JSON files
  • Writing JSON
iPython and Jupyter
  • About iPython and Jupyter
  • iPython basics
  • Magic commands
  • About Jupyter
  • Documentation cells
NumPy
  • NumPy basics
  • Creating arrays
  • Indexing and slicing
  • Large number sets
  • Transforming data
  • Advanced tricks
Pandas
  • Pandas overview
  • Series and Dataframes
  • Reading and writing data
  • Advanced indexing and slicing
  • Merging and joining data sets
SciPy
  • What is SciPy
  • What you do with SciPy?
  • Tour of SciPy packages
  • Simple SciPy examples
Matplotlib
  • Creating a basic plot
  • Commonly used plots
  • Customizing styles
  • Ad hoc data visualization
  • Advanced usage
  • Saving images
Conclusion

Training Materials:

In addition to the 400+ page course manual, students will receive quick references for Python and iPython.

Software Requirements:

  • Any Windows, Linux, or macOS operating system
  • Python language
  • Additional Python libraries including NumPy, SciPy, matplotlib, PIL, Jupyter, SymPy (we recommend Anaconda, a cross-platform Python bundle that already includes the necessary modules)
  • An IDE with Python support (PyCharm Community Edition is an excellent free option, but there are several other good ones)


I walked in with an idea of what Python was and left with the knowledge of how to make it work for me.

 Legend H. - Michelin Americas Research Corp, Greenville, SC

Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan