Course Code: bsppythanit
Duration: 35 hours
Overview:

IT Team

Week1

Introduction to Python Language and IDEs

Week2

Programming with Python

Week3

Working with OS & Data

Week4

Data Wrangling I

Week5

Data Wrangling II

Week6

Data Visualization

Week7

Automating tasks with Python

Week8

Advanced programming

Week9

Object oriented programming

Week10

Good programming practice

Course Outline:

IT Team

  1. Introduction to Python Language and IDEs

    1. Virtual Environments – Conda

    2. IPython

    3. JupyterLab – IPython IDE

    4. Markdown for Reproducible research

  2. Programming with Python

    1. Data Types

    2. Data Structures

    3. Conditional Execution and Flow Control

    4. Loops

    5. Functions

  3. Working with OS & Data

    1. Connecting with SQL Database

    2. From SQL to pandas DataFrame

    3. Writing to disk

    4. Tstables, PyTables

  4. Data Wrangling I

    1. Ndarray data representation

    2. Vectorization and broadcasting

    3. Indexing, Filtering, mapping functions, sortingm reindexing

    4. Aggregations grouping, pivot tables

    5. Basic statistics, unique values

    6. Hierarchical indexes

  5. Data Wrangling II

    1. Data Cleansing

    2. Imputation

    3. Merge, Join

    4. Long wide format

    5. Groupby

    6. Sampling

  6. Data Visualization

    1. Basics plots with matplotlib

    2. Formatting plots

    3. 2D plots

    4. Statistical plots

    5. Interactive plots

  7. Automating tasks with Python

    1. Webscraping

    2. Storage and scheduling

    3. Manipulating strings – regular expressions

    4. Organising files

    5. Working with Excel, PDF and Word documents

    6. Sending emails and text messages

  8. Advanced programming

    1. Exceptions and Errors handling

    2. Objects serialization

    3. Modules and Packages

    4. Decorators

    5. Testing frameworks

    6. Debugging

  9. Object oriented programming

    1. Classes

    2. Inheritance

    3. Methods

    4. Attributes

    5. Polymorhism

  10. Good programming practice

    1. Performance programming in Python – loops, algorithms, simulations

    2. Creating good scripts and using __main__

    3. Generators, Iterators

    4. Itertools – efficient loops

    5. Collections – enhanced objects