Python Programming Training Course | Code College


Python Programming Training Course

Learn the fundamentals of Python, OO, and how to apply it to build apps, and games.



Duration

  • 5 Days Full-time

What do I need?

  • Online : A laptop, and a stable internet connection. The recommended minimum speed is around 10 Mbps.
  • Onsite : A laptop, please notify us if you are not bringing your own laptop. Please see the calendar below for the schedule

Certification

  • Attendance : If you have attended 80% of the sessions and completed all the class work, you qualify for the Attendance Certificate. (Course Price : R14 500)
  • Competency : Only offered as part of a Coding Bootcamp
  • You may apply for credits in NQF level 5 but these are ordered seperataly as it incurs additional customising

Alignment

  • International Best Practises

Delivery

  • Onsite (Woodmead Classroom)
  • Online (Discord Webinar)

Pre-requisites

Our Introduction to Programming Training Course, is required for entry into this course

Who will benefit

  • Beginners who want to learn Python and / or want to proceed into probably Data Science or Web development with Django.

What you will learn

  • Know the Fundamentals of the Python language fundamentals from variables, to Functions, Data Structures, Object-Orientation
  • Use data structures, control flow to build various useful small apps
  • Consume a REST API with Python
  • Publish a REST API in Python
  • Pass an internationally recognised Python Language Quiz
  • Use Testing in Python
  • Use Matplotlib to generate datasets and create visualisations
  • Use Plotly to plot visualisations
  • Process CSV and JSON files

Content



Day 1

Setting Up

  • Setting Up Your Programming Environment
  • Python on Different Operating Systems
  • Troubleshooting Installation Issues
  • Running Python Programs from a Terminal

Variables and Data Types

  • What Really Happens When You Run hello_world.py
  • Variables
  • Strings
  • Numbers
  • Comments

Lists

  • What Is a List?
  • Changing, Adding, and Removing Elements
  • Organizing a List
  • Avoiding Index Errors When Working with Lists
  • Looping Through an Entire List
  • Avoiding Indentation Errors
  • Making Numerical Lists
  • Working with Part of a List
  • Slicing a List
  • Looping Through a Slice
  • Copying a List
  • Tuples
  • Defining a Tuple
  • Looping Through All Values in a Tuple
  • Writing over a Tuple
  • Styling Your Code
  • The Style Guide
  • Indentation
  • Line Length
  • Blank Lines
  • Other Style Guidelines

Day 2

if Statements

  • A Simple Example
  • if Statements
  • Using if Statements with Lists
  • Styling Your if Statements

Dictionaries

  • A Simple Dictionary
  • Working with Dictionaries
  • Looping Through a Dictionary
  • Nesting

7. User Input and while Loops

  • How the input() Function Works
    • Writing Clear Prompts
    • Using int() to Accept Numerical Input
    • The Modulo Operator
    • Accepting Input in Python 2.7
  • Introducing while Loops
    • The while Loop in Action
    • Letting the User Choose When to Quit
    • Using a Flag
    • Using break to Exit a Loop
    • Using continue in a Loop
    • Avoiding Infinite Loops
  • Using a while Loop with Lists and Dictionaries
    • Moving Items from One List to Another
    • Removing All Instances of Specific Values from a List
    • Filling a Dictionary with User Input

Day 3

Functions

  • Defining a Function
    • Passing Information to a Function
    • Arguments and Parameters
  • Passing Arguments
    • Positional Arguments
    • Keyword Arguments
    • Default Values
    • Equivalent Function Calls
    • Avoiding Argument Errors
  • Return Values
    • Returning a Simple Value
    • Making an Argument Optional
    • Returning a Dictionary
    • Using a Function with a while Loop
  • Passing a List
    • Modifying a List in a Function
    • Preventing a Function from Modifying a List
    • Passing an Arbitrary Number of Arguments
      • Mixing Positional and Arbitrary Arguments
      • Using Arbitrary Keyword Arguments
    • Storing Your Functions in Modules
      • Importing an Entire Module
      • Importing Specific Functions
      • Using as to Give a Function an Alias
      • Using as to Give a Module an Alias
      • Importing All Functions in a Module
    • Styling Functions

    Classes

    • Creating and Using a Class
      • Creating the Dog Class
      • Making an Instance from a Class
    • Working with Classes and Instances
      • The Car Class
      • Setting a Default Value for an Attribute
      • Modifying Attribute Values
    • Inheritance
      • The __init__() Method for a Child Class
      • Inheritance in Python 2.7
      • Defining Attributes and Methods for the Child Class
      • Overriding Methods from the Parent Class
      • Instances as Attributes
      • Modeling Real-World Objects
    • Importing Classes
      • Importing a Single Class
      • Storing Multiple Classes in a Modul
      • Importing Multiple Classes from a Module
      • Importing an Entire Module
      • Importing All Classes from a Module
      • Importing a Module into a Module
      • Finding Your Own Workflow
    • The Python Standard Library
    • Styling Classes

Day 4

Files and Exceptions

  • Reading from a File
  • Reading an Entire File
  • File Paths
  • Reading Line by Line
  • Making a List of Lines from a File
  • Working with a Files Contents
  • Large Files: One Million Digits
  • Is Your Birthday Contained in Pi?

Writing to a File

  • Writing to an Empty File
  • Writing Multiple Lines
  • Appending to a File

Exceptions

  • Handling the ZeroDivisionError Exception
  • Using try-except Blocks
  • Using Exceptions to Prevent Crashes
  • The else Block
  • Handling the FileNotFoundError Exception
  • Analyzing Text
  • Working with Multiple Files
  • Failing Silently
  • Deciding Which Errors to Report

Storing Data

  • Using json.dump() and .load()
  • Saving and Reading User-Generated Data
  • Refactoring

Testing Your Code

  • Testing a Function
    • Unit Tests and Test Cases
    • A Passing Test
    • A Failing Test
    • Responding to a Failed Test
    • Adding New Tests
  • Testing a Class
    • A Variety of Assert Methods
    • A Class to Test
    • Testing the AnonymousSurvey Class
    • The setUp() Method

Day 5 (Visualisation)

Generating Data

  • Installing matplotlib
    • On Linux
    • On OS X
    • On Windows
    • Testing matplotlib
    • The matplotlib Gallery
  • Plotting a Simple Line Graph
    • Changing the Label Type and Graph Thickness
    • Correcting the Plot
    • Plotting and Styling Individual Points with scatter()
    • Plotting a Series of Points with scatter()
    • Calculating Data Automatically
    • Removing Outlines from Data Points
    • Defining Custom Colors
    • Using a Colormap
    • Saving Your Plots Automatically
  • Random Walks
    • Creating the RandomWalk() Class
    • Choosing Directions
    • Plotting the Random Walk
    • Generating Multiple Random Walks
    • Styling the Walk
    • Coloring the Points
    • Plotting the Starting and Ending Points
    • Cleaning Up the Axes
    • Adding Plot Points
    • Altering the Size to Fill the Screen
  • Rolling Dice with Pygal
    • Installing Pygal
    • The Pygal Gallery
    • Creating the Die Class
    • Rolling the Die
    • Analyzing the Results
    • Making a Histogram
    • Rolling Two Dice
    • Rolling Dice of Different Sizes


Downloading Data

  • The CSV File Format
    • Parsing the CSV File Headers
    • Printing the Headers and Their Positions
    • Extracting and Reading Data
    • Plotting Data in a Temperature Chart
    • The datetime Module
    • Plotting Dates
    • Plotting a Longer Timeframe
    • Plotting a Second Data Series
    • Shading an Area in the Chart
    • Error-Checking
  • Mapping Global Data Sets: JSON Format
    • Downloading World Population Data
    • Extracting Relevant Data
    • Converting Strings into Numerical Values
    • Obtaining Two-Digit Country Codes
    • Building a World Map
    • Plotting Numerical Data on a World Map
    • Plotting a Complete Population Map
    • Grouping Countries by Population
    • Styling World Maps in Pygal
    • Lightening the Color Theme


3.Working with APIs

  • Using a Web API
    • Git and GitHub
    • Requesting Data Using an API Call
    • Installing Requests
    • Processing an API Response
    • Working with the Response Dictionary
    • Summarizing the Top Repositories
    • Monitoring API Rate Limits
  • Visualizing Repositories Using Pygal
    • Refining Pygal Charts
    • Adding Custom Tooltips
    • Plotting the Data
    • Adding Clickable Links to Our Graph
  • The Hacker News API

Calendar