Course Code: introadvpythbesp
Duration: 35 hours
Prerequisites:

None

Course Outline:

Python Programming

Getting started with Python

  • Overview of Python

  • Installing Python

  • Getting ready to develop

Python Language Fundamentals

  • Overview of core Python syntax rules

  • Simple data types and variables

  • Object essentials

  • Flow control

Working with Functions

  • The benefit of functions

  • Writing and calling functions

  • Passing parameters

Exception Handling

  • Overview of exceptions in Python

  • Handling exceptions

  • Raising exceptions

  • Design issues

Collections

  • Overview of collections in Python

  • Lists

  • Tuples

  • Sets

  • Dictionaries

Strings and Regular Expressions

  • Overview of strings in Python

  • Basic string manipulation

  • Introduction to regular expressions

Classes and Iterators

  • Defining classes

  • Instance variables

  • Iterators

  • Creating and initializing objects

File Handling

  • Overview of file handling in Python

  • Reading and writing text files

  • Binary files

  • Streaming and serializing

XML Processing

  • XML essentials

  • Parsing XML documents

  • Searching for XML content

  • Generating XML data

Web Services

  • Overview of Web services

  • Implementing Web services using Python

  • Caching

  • Compression

  • Handling redirects

Recap Essential Python Features

  • Language Fundamentals

  • Functions

  • Data Structures

  • Defining and Using Packages

  • Additional Techniques

Object-Oriented Programming

  • Essential concepts

  • Defining and using a class

  • Class-wide members

Additional Object-Oriented Techniques

  • A closer look at attributes

  • Implementing special methods

  • Inheritance

XML Processing

  • XML essentials

  • Reading XML data in Python

  • Locating content using Xpath

  • Updating XML data in Python

  • Using the LXML library

Functional Programming

  • Functional programming in Python

  • Higher order functions

  • Additional Techniques

Web Processing

  • Python web servers

  • Python rest services

  • Python web sockets

Decorators

  • Getting started with decorators

  • Additional decorator techniques

  • Parameterized decorators

Asynchronous Processing in Python

  • Getting started with asynchrony in Python

  • Creating tasks to run in different threads

  • Additional task techniques

Getting Started with Python Data Science and NumPy

  • Introduction to Python data science

  • NumPy arrays

  • Manipulating array elements

  • Manipulating array shape

NumPy Techniques

  • NumPy universal functions

  • Aggregations

  • Broadcasting

  • Manipulating arrays using Boolean Logic

  • Additional techniques

Getting Started with Pandas

  • Introduction to Pandas

  • Creating a series

  • Using a series

  • Creating a DataFrame

  • Using a DataFrame

Pandas Techniques

  • Universal functions

  • Merging and joining datasets

  • A closer look at joins

Working with Time Series Data

  • Introduction to time series data

  • Indexing and plotting time series data

  • Testing data for stationarity

  • Making data stationary

  • Forecasting time series data

  • Scaling back the ARIMA results

Introduction to Machine Learning

  • Machine learning concepts

  • Classification

  • Clustering

Getting Started with Scikit-Learn

  • Scikit_Learn essentials

  • A closer look at datasets

Understanding the Scikit-Learn API

  • Introduction

  • Scikit-Learn API essentials

  • Performing linear regression

Going Further with Scikit-Learn

  • Introduction

  • Understanding Naive Bayes classification

  • Naive Bayes example using Scikit-Learn

Case Study

  • Worked example of a real-world data science problem