2017-07-03 admin

Python Beginner Training Course

This course is not for novices in coding, we assume you know the non OO fundamentals of any coding language. A critical course in Python

Prerequisites and Further Training

You should not be a complete beginner for this course. If you cannot pass this test, you must do Intro To Programming first.

Also have a look at our Python Bootcamps

Intended Audience

Whether you are new to programming or a professional developer, this course is designed to bring you up to speed on the Python language in ways that more limited approaches cannot.

After this course you should be able to

Start programming in Python and tackle real world solutions in Python as taught on our Advanced Python course

Further Training

Consider doing our Advanced Python course

Course Material

We give you an original copy of the book: Learning Python (by Mark Lutz) as we use this mainly,
but we also give additional examples where it falls short.

Course Content

The contents could be adjusted slightly to best suit the group’s skill level and / or requirements.

DAY 1:

Getting Started

  • Why Do People Use Python?
  • Is Python a “Scripting Language”?
  • What’s the Downside?
  • Who Uses Python Today?
  • What Can I Do with Python?
  • How Is Python Developed and Supported?
  • What Are Python’s Technical Strengths?
  • How Does Python Stack Up to Language X?

How Python Runs Programs

  • Introducing the Python Interpreter
  • Program Execution
  • Execution Model Variations

How You Run Programs

  • The Interactive Prompt
  • System Command Lines and Files
  • Unix-Style Executable Scripts: #!
  • Clicking File Icons
  • Module Imports and Reloads
  • Using exec to Run Module Files
  • The IDLE User Interface
  • Other IDEs
  • Other Launch Options
  • Which Option Should I Use?

Types and Operations 

  • Why Use Built-in Types?
  • Python’s Core Data Types
  • Numbers
  • Strings
  • Lists
  • Dictionaries
  • Tuples
  • Files
  • Other Core Types

Numeric Types

  • Numeric Type Basics
  • Numbers in Action
  • Other Numeric Types
  • Numeric Extensions

The Dynamic Typing Interlude 

  • The Case of the Missing Declaration Statements
  • Shared References
  • Dynamic Typing Is Everywhere

String Fundamentals 

  • String Basics
  • String Literals
  • Strings in Action
  • String Methods
  • String Formatting Expressions
  • String Formatting Method Calls
  • General Type Categories

DAY 2:

Lists and Dictionaries 

  • Lists
  • Lists in Action
  • Dictionaries
  • Dictionaries in Action

Tuples, Files, and Everything Else 

  • Tuples
  • Files
  • Core Types Review and Summary
  • Built-in Type Gotchas

Statements and Syntax 

  • The Python Conceptual Hierarchy Revisited
  • Python’s Statements
  • A Tale of Two ifs
  • A Quick Example: Interactive Loops

Assignments, Expressions, and Prints 

  • Assignment Statements
  • Expression Statements
  • Print Operations

if Tests and Syntax Rules 

  • if Statements
  • Python Syntax Revisited
  • Truth Values and Boolean Tests
  • The if/else Ternary Expression

Exceptions

  • Why Use Exceptions?
  • Exceptions: The Short Story
  • The try/except/else Statement
  • The try/finally Statement
  • Unified try/except/finally
  • The raise Statement
  • The assert Statement
  • Context Managers

DAY 3:

While and for Loops 

  • Loops
  • continue, pass, and the Loop else
  • Loops
  • Loop Coding Techniques

Iterations and Comprehensions 

  • Iterations: A First Look
  • List Comprehensions: A First Detailed Look
  • Other Iteration Contexts
  • New Iterables in Python 3
  • Other Iteration Topics

The Documentation Interlude 

  • Python Documentation Sources
  • Common Coding Gotchas

DAY 4:

Functions

  • Why Use Functions?
  • Coding Functions
  • A First Example: Definitions and Calls
  • A Second Example: Intersecting Sequences

Scopes 

  • Python Scope Basics
  • The global Statement
  • Scopes and Nested Functions
  • The nonlocal Statement in 3
  • Why nonlocal? State Retention Options

Modules 

  • Why Use Modules?
  • Python Program Architecture
  • How Imports Work
  • Byte Code Files: __pycache__ in Python 3.2+
  • The Module Search Path
  • Module Creation
  • Module Usage
  • Module Namespaces
  • Reloading Modules

DAY 5:

Classes and OOP 

  • Why Use Classes?
  • Classes Generate Multiple Instance Objects
  • Classes Are Customized by Inheritance
  • Classes Can Intercept Python Operators
  • The World’s Simplest Python Class
  • The class Statement
  • Methods
  • Inheritance
  • Namespaces: The Conclusion
  • Documentation Strings Revisited
  • Classes Versus Modules
  • OOP and Inheritance: “Is-a” Relationships
  • OOP and Composition: “Has-a” Relationships
  • OOP and Delegation: “Wrapper” Proxy Objects
  • Class Attributes
  • Methods Are Objects: Bound or Unbound
  • Classes Are Objects: Generic Object Factories
  • Multiple Inheritance: “Mix-in” Classes
  • Other Design-Related Topics
  • 7 Steps to a Full Class-Based Application

Duration and pricing

Price Group B

Certificate

  1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
  2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
  3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R2950.

Bookings

You can download the course registration form on our home page or by clicking here

Brochure

You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.

Questions

Please email us

Schedule

On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

We are a member of the Python Software Foundation

PythonSoftwareFoundation

python coding courses
2017-02-13 admin

Pre-requisites

Intro to Coding or IT in Matric

Content

Modules covered
Summary
Beginner Python Python Language and OO Fundamentals
Advanced Python (Full-Stack) Building Various Apps with Python
SQL SQL Querying
Django Python Web development
JavaScript Front-End Must-Have
HTML5/CSS3 Publish to iOs and Android or Stay Pure

Duration:

Every module is presented in-classroom for 5 full days, with projects to be completed on campus and / or at home with video conferencing support over the internet over the following week. The total duration is 6 months. Weekly project progress meetings must be attended.

Full-time:

The above core modules are attended in the classroom on an average of one every 4 weeks. In between these modules practical assignments are worked on. Students do not have to be on campus when they work on practical assignments but will need to be internet connected to the lecturers via video conferencing if they are working from home.

Pricing

Full-time course

R53,970.00 excl VAT (pre-paid price). Price per module is a total of R61 000 excl VAT. Group discounts apply too.

Part-time studies

The same price applies for part-time

If you are working and cannot attend full-time, Tuesday and Thursday evenings are for part-time students.

Part-time students should also attend the Wednesday evening workshops.

Bootcamp Group discounts

Book more than one student on a 6 month bootcamp (normal price s R60 000). (Student has to attend class only 1 week per month – in between homework meetings are done via Google Hangouts ).

2 students – 20% discount
3 student – 35% discount
4+ students – 40% discount!!

Self-study / Distance Learning

The Python Bootcamp is also available in a distance learning format.

Brochure

To download a brochure of this page in pdf format, please click on the pdf icon at the top of this page.

Booking / Enquiries

Please click here

Any questions? Please click here

Schedule

Look at the calendar below or please enquire .

python coding courses
2016-10-25 admin

Python Advanced (Full-Stack Python )

Want to learn the different ways a Python App can be built? We start with an overview of the language, then develop a game using Python’s popular gaming libraries. Our second project is a Python GUI app to store and report on data. Our last app is a Web App, using Django.

Prerequisites / Further Training

Recommended sequence Summary
Introduction to Programming. Fundamentals of Computer Programming
Beginner Python Python Language and OO Fundamentals
Advanced Python (Full-Stack) Building Various Apps with Python
Django or Flask Python Web development in detail

Also have a look at our Python Bootcamp

Intended Audience

The goal of this course is to bring you up to speed with Python as quickly as possible so you can build programs that work—games, data visualizations, and web applications—while developing a foundation in programming that will serve you well for the rest of your career. Python Advanced is is not a beginner’s course. You should have passed the Python Beginner level before attempting this course. In this course we look at the 3 most popular applications for Python apps – Games, Data (GUI-based) and Web-based.

After this course you should be able to

  • In the first part of this course you’ll learn basic programming concepts you need to know to write Python programs.
    You’ll learn about different kinds of data and the ways you can store data in lists and dictionaries within your programs.
  • You’ll learn to build collections of data and work through those collections in efficient ways.
    You’ll learn to use while and if loops to test for certain conditions so you can run specific sections of code while those conditions are true and run other sections when they’re not—a technique that greatly helps to automate processes.
    You’ll learn to accept input from users to make your programs interactive and to keep your programs running as long as the user is active.
    You’ll explore how to write functions to make parts of your program reusable, so you only have to write blocks of code that perform certain actions once, which you can then use as many times as you like.
  • You’ll then extend this concept to more complicated behavior with classes, making fairly simple programs respond to a variety of situations.
  • You’ll learn to write programs that handle common errors gracefully. After working through each of these basic concepts, you’ll write a few short programs that solve some well-defined problems.
  • Finally, you’ll take your first step toward intermediate programming by learning how to write tests for your code so you can develop your programs further without worrying about introducing bugs.
  • In the first project you’ll create a Space Invaders–style shooting game called Alien Invasion, which consists of levels of increasing difficulty.
    After you’ve completed this project, you should be well on your way to being able to develop your own 2D games.
    The second project introduces you to data visualization. Data scientists aim to make sense of the vast amount of information available to them through a variety of visualization techniques.
  • You’ll work with data sets that you generate through code, data sets downloaded from online sources, and data sets your programs download automatically.
    After you’ve completed this project, you’ll be able to write programs that sift through large data sets and make visual representations of that stored information.
    In the third project you’ll build a small web application that allows you to keep a journal of ideas and concepts you’ve learned about a specific topic. You’ll be able to keep separate logs for different topics and allow others to create an account and start their own journals.
  • You’ll also learn how to deploy your project on Heroku so anyone can access it online from anywhere.

Course Material

Supplied

Course Contents

Day 1

  • Python 2 vs Python 3
  • Python on different Operating Systems
  • Running Python from a Terminal
  • Python Variables and Simple Data Types
  • Lists
  • Working with Lists
  • if Statements
  • Dictionaries

Day 2

  • User Input and while Loops
  • Functions
  • Classes, Inheritance, Importing Classes
  • Python Standard Library
  • Files and Exceptions,
  • Testing Your Code
Day 3
Project 1: Game Alien Invasion
  • Planning phase
  • Installation Pygame and more Packages
  • Building a game
  • Detecting mouse events and hiding the cursor.
  • Help button to display instructions on how to play.
  • Modify the speed of the game as it progresses
  • Building a Spaceship That Fires Bullets
  • Watching out for Aliens!
  • Display information in textual and non-textual ways.
  • Implement a progressive scoring system
Day 4
Project 2: Data Visualization
  • Generating Data
  • Installing Matplotlib
  • Plotting a 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
  • Installing Pygal
  • Collecting Data
  • Analysing Data
  • Creating Graphs
  • 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
  • Mapping Global Data Sets: JSON Format
  • Downloading Lots of Data
  • Extracting Relevant Data
  • Converting Strings into Numerical Values
  • Building a Data Map
  • Plotting Numerical Data on a Map
  • Plotting a Complete Data Map
  • Grouping Categories within Categories
  • Styling Maps in Pygal
  • Lightening the Color Theme
  • 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 .
  • Use APIs to write self-contained programs that automatically gather the data they need and use that data to create a visualization.
  • Use GitHub API to explore the most-starred Python projects on GitHub
  • Explore the Hacker News API
    Use the requests package to automatically issue API calls to GitHub and process the results of that call.
  • Use Pygal settings to further customize the appearance of our generated charts.
Day 5
Project 3: Web Applications
  • Getting Started with Django
  • Writing a Spec
  • Creating a Virtual Environment
  • Installing virtualenv
  • Activating the Virtual Environment
  • Installing Django
  • Creating a Project in Django
  • Creating the Database
  • Viewing the Project
  • Defining Models
  • Activating Models
  • The Django Admin Site
  • Defining the Entry Model
  • Migrating the Entry Model
  • Registering Entry with the Admin Site
  • The Django Shell
  • Mapping a URL
  • Writing a View
  • Writing a Template
  • Template Inheritance
  • The Topics Page
  • Individual Topic Pages
  • Allowing Users to Enter Data
  • Adding New Topics
  • Adding New Entries
  • Editing Entries
  • Setting Up User Accounts
  • The users App
  • The Login Page
  • Logging Out
  • The Registration Page
  • Blog Accounts
  • Allowing Users to Own Their Data
  • Restricting Access with @login_required
  • Connecting Data to Certain Users
  • Restricting Topics Access to Appropriate Users
  • Protecting a User’s Topics
  • Protecting the edit_entry Page
  • Associating New Topics with the Current User
  • The django-bootstrap3 App
  • Using Bootstrap to Style Learning Log
  • Modifying base.html
  • Styling the Home Page Using a Jumbotron
  • Styling the Login Page
  • Styling the new_topic Page
  • Styling the Topics Page
  • Styling the Entries on the Topic Page
  • Other Forms
  • Stylish Blog
  • Deploying Learning Log
  • Making a Heroku Account
  • Installing the Heroku Toolbelt
  • Installing Required Packages
  • Creating a Packages List with a requirements.txt File
  • Specifying the Python Runtime
  • Modifying settings.py for Heroku
  • Making a Procfile to Start Processes
  • Modifying wsgi.py for Heroku
  • Making a Directory for Static Files
  • Using the gunicorn Server Locally
  • Using Git to Track the Project’s Files
  • Pushing to Heroku
  • Setting Up the Database on Heroku
  • Refining the Heroku Deployment
  • Securing the Live Project
  • Committing and Pushing Changes
  • Creating Custom Error Pages
  • Ongoing Development
  • The SECRET_KEY Setting
  • Deleting a Project on Heroku
  • Competency project

Duration and pricing

  • Full-time over 5 days (R9995 excl VAT)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R10995 excl Vat)
  • Part-time over 8 Saturdays, 3 hour sessions (R10995 excl Vat)
  • Distance-learning over up to 3 months (R9995 excl Vat)

Certificate

1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
2. You have the option to get the competency / academic certificate if you :
hand in a project (pre-approved) covering most of the topics in the book.

Schedule

On the calendar on this page below.
If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our ‘Contact Us’ page.

Bookings

You can download the course registration form on our home page or by clicking here

Brochure

You may download a pdf copy of this page by clicking here.

Questions

Please email us

We are a member of the Python Software Foundation

PythonSoftwareFoundation

2016-08-15 admin

Python Advanced (Full-Stack Python )

 

Want to learn the different ways a Python App can be built? We start with an overview of the language, then develop a game using Python’s popular gaming libraries. Our second project is a Python GUI app to store and report on data. Our last app is a Web App, using Django.

 

Prerequisites

This is not a beginner course – you should be at the level of Python Beginner, unless you have some programming experience -tThen you should still at some stage do our Python Beginner course.

Intended Audience

The goal of this course is to bring you up to speed with Python as quickly as possible so you can build programs that work—games, data visualizations, and web applications—while developing a foundation in programming that will serve you well for the rest of your career. Python Advanced is written for people of any age who have never programmed in Python before but is not completely freshers to programming – it is not a complete beginner’s course . If you want to learn the basics of programming, you should do our Intro to Programming first . In this course we look at the 3 most popular ways to evelop Python apps – Games, GUI-based and Web-based.

 

After this course you should be able to

  • In the first part of this course you’ll learn basic programming concepts you need to know to write Python programs.
    You’ll learn about different kinds of data and the ways you can store data in lists and dictionaries within your programs.
  • You’ll learn to build collections of data and work through those collections in efficient ways.
    You’ll learn to use while and if loops to test for certain conditions so you can run specific sections of code while those conditions are true and run other sections when they’re not—a technique that greatly helps to automate processes.
    You’ll learn to accept input from users to make your programs interactive and to keep your programs running as long as the user is active.
    You’ll explore how to write functions to make parts of your program reusable, so you only have to write blocks of code that perform certain actions once, which you can then use as many times as you like.
  • You’ll then extend this concept to more complicated behavior with classes, making fairly simple programs respond to a variety of situations.
  • You’ll learn to write programs that handle common errors gracefully. After working through each of these basic concepts, you’ll write a few short programs that solve some well-defined problems.
  • Finally, you’ll take your first step toward intermediate programming by learning how to write tests for your code so you can develop your programs further without worrying about introducing bugs.
  • In the first project you’ll create a Space Invaders–style shooting game called Alien Invasion, which consists of levels of increasing difficulty.
    After you’ve completed this project, you should be well on your way to being able to develop your own 2D games.
    The second project introduces you to data visualization. Data scientists aim to make sense of the vast amount of information available to them through a variety of visualization techniques.
  • You’ll work with data sets that you generate through code, data sets downloaded from online sources, and data sets your programs download automatically.
    After you’ve completed this project, you’ll be able to write programs that sift through large data sets and make visual representations of that stored information.
    In the third project you’ll build a small web application that allows you to keep a journal of ideas and concepts you’ve learned about a specific topic. You’ll be able to keep separate logs for different topics and allow others to create an account and start their own journals.
  • You’ll also learn how to deploy your project on Heroku so anyone can access it online from anywhere.

Course Material

Supplied

Course Contents

 

Day 1

  • Python Variables and Simple Data Types
  • Lists
  • Working with Lists
  • if Statements
  • Dictionaries
  • Day 2
  • User Input and while Loops
  • Functions
  • Classes
  • Files and Exceptions,
  • Testing Your Code
Day 3
Project 1: Game Alien Invasion 
  • Building a game
    Detecting mouse events and hiding the cursor.
    Help button to display instructions on how to play.
    Modify the speed of the game as it progresses
  • Building a Spaceship That Fires Bullets
  • Watching out for Aliens!
  • Display information in textual and non-textual ways.
  • Implement a progressive scoring system
Day 4
Project 2: Data Visualization 
  • Generating Data
  • Downloading Data
  • Use APIs to write self-contained programs that automatically gather the data they need and use that data to create a visualization.
  • Use GitHub API to explore the most-starred Python projects on GitHub
  • Explore the Hacker News API
    Use the requests package to automatically issue API calls to GitHub and process the results of that call.
  • Use Pygal settings to further customize the appearance of our generated charts.
Day 5
Project 3: Web Applications 
  • Getting Started with Django
  • User Accounts
  • Give your projects a simple but professional appearance using the Bootstrap library and the django-bootstrap3 app.
    Bootstrap’s templates, Static top navbar template to create a simple look and feel.
  • Use a jumbotron to make your home page’s message stand out
    Style all the pages in your site consistently.
  • Create a Heroku account
    Tools to use to help manage the deployment process.
  • Use Git to commit the working project to a repository and push the repository to Heroku’s servers.
  • Securing your app on the live server.
  • Competency project overview

Duration and pricing

  • Full-time over 5 days (R9995 excl VAT)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R10995 excl Vat)
  • Part-time over 8 Saturdays, 3 hour sessions (R10995 excl Vat)
  • Distance-learning over up to 3 months (R7995 excl Vat)

Certificate

1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
2. You have the option to get the competency / academic certificate if you :
hand in a project (pre-approved) covering most of the topics in the book.

Schedule

On the calendar on this page below.
If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our ‘Contact Us’ page.

Bookings

You can download the course registration form on our home page or by clicking here

Brochure

You may download a pdf copy of this page by clicking here.

Questions

Please email us

We are a member of the Python Software Foundation

PythonSoftwareFoundation

2016-05-05 admin

Python Beginner
Prerequisites

You should already be at the Introduction to Programming.
If in doubt, you must be able to pass this test in a programming language of your choice, before attempting this course.

Intended Audience

Whether you are new to programming or a professional developer, this book is designed to bring you up to
speed on the Python language in ways that more limited approaches cannot.

After this course you should be able to

Start programming in Python and tackle real world solutions in Python as taught on our Advanced Python course

Further Training

Consider doing our Advanced Python course

Course Material

We give you an original copy of the book: Learning Python (by Mark Lutz) as we use this mainly,
but we also give additional examples where it falls short.

Course Content

The contents could be adjusted slightly to best suit the group’s skill level and / or requirements.

DAY 1:

Getting Started

  • Why Do People Use Python?
  • Is Python a “Scripting Language”?
  • What’s the Downside?
  • Who Uses Python Today?
  • What Can I Do with Python?
  • How Is Python Developed and Supported?
  • What Are Python’s Technical Strengths?
  • How Does Python Stack Up to Language X?

How Python Runs Programs

  • Introducing the Python Interpreter
  • Program Execution
  • Execution Model Variations

How You Run Programs

  • The Interactive Prompt
  • System Command Lines and Files
  • Unix-Style Executable Scripts: #!
  • Clicking File Icons
  • Module Imports and Reloads
  • Using exec to Run Module Files
  • The IDLE User Interface
  • Other IDEs
  • Other Launch Options
  • Which Option Should I Use?

Types and Operations 

  • Why Use Built-in Types?
  • Python’s Core Data Types
  • Numbers
  • Strings
  • Lists
  • Dictionaries
  • Tuples
  • Files
  • Other Core Types

Numeric Types

  • Numeric Type Basics
  • Numbers in Action
  • Other Numeric Types
  • Numeric Extensions

The Dynamic Typing Interlude 

  • The Case of the Missing Declaration Statements
  • Shared References
  • Dynamic Typing Is Everywhere

String Fundamentals 

  • String Basics
  • String Literals
  • Strings in Action
  • String Methods
  • String Formatting Expressions
  • String Formatting Method Calls
  • General Type Categories

DAY 2:

Lists and Dictionaries 

  • Lists
  • Lists in Action
  • Dictionaries
  • Dictionaries in Action

Tuples, Files, and Everything Else 

  • Tuples
  • Files
  • Core Types Review and Summary
  • Built-in Type Gotchas

Statements and Syntax 

  • The Python Conceptual Hierarchy Revisited
  • Python’s Statements
  • A Tale of Two ifs
  • A Quick Example: Interactive Loops

Assignments, Expressions, and Prints 

  • Assignment Statements
  • Expression Statements
  • Print Operations

if Tests and Syntax Rules 

  • if Statements
  • Python Syntax Revisited
  • Truth Values and Boolean Tests
  • The if/else Ternary Expression
  • Exceptions

    • Why Use Exceptions?
    • Exceptions: The Short Story
    • The try/except/else Statement
    • The try/finally Statement
    • Unified try/except/finally
    • The raise Statement
    • The assert Statement
    • with/as Context Managers

DAY 3:

While and for Loops 

  • while Loops
  • break, continue, pass, and the Loop else
  • for Loops
  • Loop Coding Techniques

Iterations and Comprehensions 

  • Iterations: A First Look
  • List Comprehensions: A First Detailed Look
  • Other Iteration Contexts
  • New Iterables in Python 3.X
  • Other Iteration Topics

The Documentation Interlude 

  • Python Documentation Sources
  • Common Coding Gotchas

DAY 4:

Functions

  • Why Use Functions?
  • Coding Functions
  • A First Example: Definitions and Calls
  • A Second Example: Intersecting Sequences

Scopes 

  • Python Scope Basics
  • The global Statement
  • Scopes and Nested Functions
  • The nonlocal Statement in 3.X
  • Why nonlocal? State Retention Options

Modules 

  • Why Use Modules?
  • Python Program Architecture
  • How Imports Work
  • Byte Code Files: __pycache__ in Python 3.2+
  • The Module Search Path
  • Module Creation
  • Module Usage
  • Module Namespaces
  • Reloading Modules

DAY 5:

Classes and OOP 

  • Why Use Classes?
  • Classes Generate Multiple Instance Objects
  • Classes Are Customized by Inheritance
  • Classes Can Intercept Python Operators
  • The World’s Simplest Python Class
  • The class Statement
  • Methods
  • Inheritance
  • Namespaces: The Conclusion
  • Documentation Strings Revisited
  • Classes Versus Modules
  • OOP and Inheritance: “Is-a” Relationships
  • OOP and Composition: “Has-a” Relationships
  • OOP and Delegation: “Wrapper” Proxy Objects
  • Pseudoprivate Class Attributes
  • Methods Are Objects: Bound or Unbound
  • Classes Are Objects: Generic Object Factories
  • Multiple Inheritance: “Mix-in” Classes
  • Other Design-Related Topics
  • 7 Steps to a Full Class-Based Application
  • Duration and pricing
    • Full-time over 5 days (R9995)
    • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995)
    • Part-time over 8 Saturdays, 3 hour sessions (R11995)
    • Please note : For part-time courses we do not have a fixed schedule and you will be placed on a waiting list until we get a group of 4+ together. Please book with no dates on the bookings form. This will automatically put you on the waiting list. We will confirm with you as soon as we have a part-time group together.
    • Distance-learning over up to 3 months (R9995)
    • International exams are not included in the course price.
    • Prices exclude Vat

    Certificate

    1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R950.

    Bookings

    You can download the course registration form on our home page or by clicking here

    Brochure

    You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.

    Questions

    Please email us

    Schedule

    On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

2016-04-14 admin

Python Beginner
Prerequisites

You should already be at the Introduction to Programming.
If in doubt, you must be able to pass this test in a programming language of your choice, before attempting this course.

Intended Audience

Whether you are new to programming or a professional developer, this book is designed to bring you up to
speed on the Python language in ways that more limited approaches cannot.

After this course you should be able to

Start programming in Python and tackle real world solutions in Python as taught on our Advanced Python course

Further Training

Consider doing our Advanced Python course

Course Material

We give you an original copy of the book: Learning Python (by Mark Lutz) as we use this mainly,
but we also give additional examples where it falls short.

Course Content

The contents could be adjusted slightly to best suit the group’s skill level and / or requirements.

DAY 1:

Getting Started

  • Why Do People Use Python?
  • Is Python a “Scripting Language”?
  • What’s the Downside?
  • Who Uses Python Today?
  • What Can I Do with Python?
  • How Is Python Developed and Supported?
  • What Are Python’s Technical Strengths?
  • How Does Python Stack Up to Language X?

How Python Runs Programs

  • Introducing the Python Interpreter
  • Program Execution
  • Execution Model Variations

How You Run Programs

  • The Interactive Prompt
  • System Command Lines and Files
  • Unix-Style Executable Scripts: #!
  • Clicking File Icons
  • Module Imports and Reloads
  • Using exec to Run Module Files
  • The IDLE User Interface
  • Other IDEs
  • Other Launch Options
  • Which Option Should I Use?

Types and Operations 

  • Why Use Built-in Types?
  • Python’s Core Data Types
  • Numbers
  • Strings
  • Lists
  • Dictionaries
  • Tuples
  • Files
  • Other Core Types

Numeric Types

  • Numeric Type Basics
  • Numbers in Action
  • Other Numeric Types
  • Numeric Extensions

The Dynamic Typing Interlude 

  • The Case of the Missing Declaration Statements
  • Shared References
  • Dynamic Typing Is Everywhere

String Fundamentals 

  • String Basics
  • String Literals
  • Strings in Action
  • String Methods
  • String Formatting Expressions
  • String Formatting Method Calls
  • General Type Categories

DAY 2:

Lists and Dictionaries 

  • Lists
  • Lists in Action
  • Dictionaries
  • Dictionaries in Action

Tuples, Files, and Everything Else 

  • Tuples
  • Files
  • Core Types Review and Summary
  • Built-in Type Gotchas

Statements and Syntax 

  • The Python Conceptual Hierarchy Revisited
  • Python’s Statements
  • A Tale of Two ifs
  • A Quick Example: Interactive Loops

Assignments, Expressions, and Prints 

  • Assignment Statements
  • Expression Statements
  • Print Operations

if Tests and Syntax Rules 

  • if Statements
  • Python Syntax Revisited
  • Truth Values and Boolean Tests
  • The if/else Ternary Expression
  • Exceptions

    • Why Use Exceptions?
    • Exceptions: The Short Story
    • The try/except/else Statement
    • The try/finally Statement
    • Unified try/except/finally
    • The raise Statement
    • The assert Statement
    • with/as Context Managers

DAY 3:

While and for Loops 

  • while Loops
  • break, continue, pass, and the Loop else
  • for Loops
  • Loop Coding Techniques

Iterations and Comprehensions 

  • Iterations: A First Look
  • List Comprehensions: A First Detailed Look
  • Other Iteration Contexts
  • New Iterables in Python 3.X
  • Other Iteration Topics

The Documentation Interlude 

  • Python Documentation Sources
  • Common Coding Gotchas

DAY 4:

Functions

  • Why Use Functions?
  • Coding Functions
  • A First Example: Definitions and Calls
  • A Second Example: Intersecting Sequences

Scopes 

  • Python Scope Basics
  • The global Statement
  • Scopes and Nested Functions
  • The nonlocal Statement in 3.X
  • Why nonlocal? State Retention Options

Modules 

  • Why Use Modules?
  • Python Program Architecture
  • How Imports Work
  • Byte Code Files: __pycache__ in Python 3.2+
  • The Module Search Path
  • Module Creation
  • Module Usage
  • Module Namespaces
  • Reloading Modules

DAY 5:

Classes and OOP 

  • Why Use Classes?
  • Classes Generate Multiple Instance Objects
  • Classes Are Customized by Inheritance
  • Classes Can Intercept Python Operators
  • The World’s Simplest Python Class
  • The class Statement
  • Methods
  • Inheritance
  • Namespaces: The Conclusion
  • Documentation Strings Revisited
  • Classes Versus Modules
  • OOP and Inheritance: “Is-a” Relationships
  • OOP and Composition: “Has-a” Relationships
  • OOP and Delegation: “Wrapper” Proxy Objects
  • Pseudoprivate Class Attributes
  • Methods Are Objects: Bound or Unbound
  • Classes Are Objects: Generic Object Factories
  • Multiple Inheritance: “Mix-in” Classes
  • Other Design-Related Topics
  • 7 Steps to a Full Class-Based Application
  • Duration and pricing
    • Full-time over 5 days (R9995)
    • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995)
    • Part-time over 8 Saturdays, 3 hour sessions (R11995)
    • Please note : For part-time courses we do not have a fixed schedule and you will be placed on a waiting list until we get a group of 4+ together. Please book with no dates on the bookings form. This will automatically put you on the waiting list. We will confirm with you as soon as we have a part-time group together.
    • Distance-learning over up to 3 months (R9995)
    • International exams are not included in the course price.
    • Prices exclude Vat

    Certificate

    1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R950.

    Bookings

    You can download the course registration form on our home page or by clicking here

    Brochure

    You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.

    Questions

    Please email us

    Schedule

    On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.