Length: 5 Days
Print Friendly, PDF & Email
Advanced Python Programming

Python Programming language is a high-level and interpreted programming language which was created by Guido Van Rossum in 1989 and first released in 1991. Since then it has steadily gained a following and now is known as a great general purpose language capable of creating anything from desktop software to web applications and frameworks.

Python is now nearly 30 years old and it’s the most widely used programming language in the world despite being slow. Much of this has to do with its simple “maintainable” nature.

It’s not an exaggeration to say that Python plays a small part in all of our lives. It’s one of those invisible forces with a presence in our mobile devices, web searches and gaming (and beyond).

Python is used by Wikipedia, Google, Yahoo, CERN and NASA, among many other organizations. YouTube, Instagram and Quora are among the countless sites that use Python. Much of Dropbox’s code is Python, Python has been used extensively by digital special effects house ILM (whose work spans across all of the Star Wars and Marvel films) and it’s a favorite of electronics titan Philips.

It’s often used as a “scripting language” for web applications. This means that it can automate a specific series of tasks, making it more efficient. Python (and languages like it) is often used in software applications, pages within a web browser, the shells of operating systems and some games.

The language is used in scientific and mathematical computing, and even in AI projects. It’s been successfully embedded in numerous software products, including visual effects compositor Nuke, 3D modelers and animation packages.

Python aesthetics include:

  • Clean visual layout
  • Interpreted nature
  • Fit for many platforms
  • Ideal for scripting and rapid application
  • Highly readable language
  • Less syntactic exceptions
  • Elegant and dynamic typing
  • Superior string manipulation

While slower than other languages, it’s also more productive. The Python features like one-liners and dynamic type system allow developers to write fewer lines of code for tasks that require more lines of code in other languages.

This makes Python a very easy-to-learn programming language even for beginners and newbies. For instance, Python programs are slower than Java, but they also take less time to develop as Python codes are three to five times shorter than Java codes.

Python also possesses the endearing qualities of simple programming syntax, code readability and English-like commands that make coding in Python easier and efficient.

Advanced Python Programming Course by Tonex
Advanced Python Programming is a 5-Day advanced Applied Python coding course designed for programmers, data scientists and engineers.

Advanced Python Programming course introduces participants to applied python programming including Monte Carlo Simulation and machine learning. The 5-day program is focused more on applied techniques and methods to advanced technology domains including simulation and testing, machine learning, autonomous cars and UAVs, defense and military application.

Prerequisite: Intermediate to Advanced Programming Skills

Learning Objectives

At the completion of this course, students should be able to:

  • Get Python up and running
  • Create and run advanced Python programs
  • Write elegant, reusable, and efficient code
  • Understand when to use the functional or the object oriented programming approach
  • Create reliable software by using unit tests
  • Parse XML and JSON feeds
  • Work with advanced Python libraries and use cases
  • Apply Python to Monte Carlo Simulation and machine learning
  • Simulate software design and programming for autonomous cars and UAV
  • Work with open-source Anaconda Distribution to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X using Python/R data science packages
  • Manage libraries, dependencies, and environments with Conda
  • Develop and train machine learning and deep learning models with scikit-learn, TensorFlow, and Theano
  • Analyze data with scalability and performance with Dask, NumPy, pandas, and Numba
  • Visualize results with Matplotlib, Bokeh, Datashader, and Holoviews

Labs and Hands-on Activities

  1. Monte Carlo Simulation with Python
  2. Python machine learning application development
  3. Program Python autonomous cars and UAV applications
  4. Work with open-source Anaconda Distribution to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X using Python/R data science packages
  5.  scikit-learn, TensorFlow, and Theano to develop and train machine learning and deep learning models with
  6. Working with Dask, NumPy, pandas, and Numba
  7. Matplotlib, Bokeh, Datashader, and Holoviews visualization

Course Topics

Python 101

  • Python Setup
  • Python Object and Data Structure Basics
  • Python Comparison Operators
  • Python Statements
  • Methods and Functions
  • Installing Python
  • Setting up the Python interpreter
  • Creating a virtual environment
  • Python console
  • Running Python scripts
  • Python interactive shell
  • Python as a service
  • Advanced coding guidelines

Python Syntax and Semantics

  • Expressions in Python
  • Python core programming tools
  • Use variables to store, retrieve and calculate information with Python
  • Collect, clean, and analyze data
  • Conditional Statements
  • Using Functions and Loops
  • Building Functions
  • Using Functions

Python Modules and Packages

  • Errors and Exceptions Handling
  • Python Decorators
  • Python Generators
  • Advanced Python Objects and Data Structures

Data Types in Python

  • Object Oriented Programming
  • Numbers
  • Immutable sequences
  • Mutable sequences
  • Set types
  • Mapping types – dictionaries
  • The collections module
  • Final considerations

Iterating and Making Decisions

  • Conditional programming
  • Looping
  • Putting this all together
  • A quick peek at the itertools module

Functions, the Building Blocks of Code

  • Why use functions?
  • Scopes and name resolution
  • Return values
  • A few useful tips
  • Recursive functions
  • Anonymous functions
  • Function attributes
  • Built-in functions

Time and Memory

  • map, zip, and filter
  • Comprehensions
  • Generators
  • Performance basics
  • Name localization
  • Generation behavior in built-ins

Advanced Python Concepts

  • OOP, Decorators, and Iterators
  • Decorators
  • Object-oriented programming
  • Custom iterator

Testing, Profiling, and Dealing with Exceptions

  • Testing your application
  • Test-driven development
  • Exceptions
  • Profiling Python
  • When to profile?

The Edges – GUIs and Scripts

  • First approach – scripting
  • Second approach – a GUI application

Python Debugging and Troubleshooting

  • Variable Scope
  • Debugging Principles and Techniques
  • Intermediate Variables
  • Debugging techniques
  • Debugging with print
  • Debugging with a custom function
  • Inspecting the traceback
  • Using the Python debugger
  • Inspecting log files
  • Other techniques
  • Troubleshooting guidelines

Intermediate Python

  • File I/O
  • User Input
  • Code Abstraction
  • Code Abstraction
  • List Comprehensions
  • Modules and Libraries

Data Science, Machine Learning and Monte Carlo Simulation in Python

  • Python for Data Science
  • Pandas
  • Data Visualization
  • Plotting with Pandas
  • Building Advanced Python Applications
  • Numerical Variables
  • Reassigning Variables
  • String Variables
  • Introduction to Control Flow
  • Logical Comparison
  • Boolean Conditionals
  • Lists
  • List Operations
  • For Loops
  • While Loops
  • Functions
  • Function Arguments

Building a Python Model

  • Monte Carlo Simulations with Python
  • Probability Distributions
  • Uniform Distributions
  • Bernoulli distribution
  • Normal distribution
  • Gamma distribution

Advanced Python (Optional Labs and Case Studies)

  • Building a Python C Extension Module
  • CPython
  • Django Migrations
  • Functional Programming in Python
  • Unicode & Character Encodings in Python
  • Async IO in Python
  • Concurrency With the asyncio Module
  • Speed Up Your Python Program with Concurrency
  • Text Classification with Python and Keras
  • Git Tips for Python
  • Python Socket Programming
  • Python Itertools
  • Pure Python
  • NumPy
  • TensorFlow
  • Python Metaclasses and Metaprogramming
  • Python Speech Recognition
  • Python Global Interpreter Lock (GIL)
  • Shallow vs Deep Copies in Python
  • User Authentication With Angular 4 and Flask
  • Test Driven Development of a Django RESTful API
  • Token-Based Authentication With Flask
  • Automating Django Deployments with Fabric and Ansible
  • Social Authentication in Django
  • Asynchronous Tasks With Django and Celery
  • Deploying a Django App to AWS Elastic Beanstalk
  • Caching External API Requests
  • Deploying Django on Dokku
  • Automatically Scale Heroku Dynos

 

Advanced Python Programming

Request More Information

  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.