8351  Reviews star_rate star_rate star_rate star_rate star_half

Python Programming for Scientists

Skills Gained 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...

Read More
Duration 5 days
Course Code PYTH-120
Available Formats Classroom

Overview

Skills Gained

  • 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.

Course Details

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)

Outline

  • 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

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Instructor was great, course was mostly very good except for too much focus on pricing

the interface was super easy to use and the instructions to get ready for the course was also very simple and easy to understand.

Provided good amount of material and a great instructor to teach the material.

Some Labs are very good but some steps it ask to update but its already updated, but overall its very good training.

Course was great and the instructor had an answer for anything that was asked during the course.