java coding
2017-09-17 admin

Prerequisites  / 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.

Recommended sequence Summary
Beginner Java Java Language and OO Fundamentals
Advanced Java (Full-Stack) Building Apps with Java
Java Servlets Beginner Java Web development

Also have a look at our Java Bootcamp

Alignment

OCA: Oracle Certified Associate Java SE 8 Programmer Exam 1Z0-808

Intended Audience

  • Intended for people who has some knowledge of programming and wanting to learn Java and OO
  • NB: This is NOT an Introduction to Programming course.

After this course you should be able to

  • Have a good understanding of programming and the building blocks of an OO programming language, with an emphasis on JAVA.
  • Prepare for Oracle OCA Exam 1Z0-803
  • Proceed to the Advanced Java Training Course

Course Material

Course Material Provided

Course Contents
Day 1
Introducing Java Technology

  • Breaking the Surface
  • The way Java works
  • Code Structure in Java
  • Anatomy of a class
  • The main() method
  • Netbeans IDE and Debugging

Loop and decision constructs

  • Looping
  • Conditional branching
  • A trip to Objectville
  • Inheritance,Overriding
  • Class variables and methods
  • Making your first object,Using main

Day 2

Primitives

  • Know your Variables
  • Declaring a variable
  • Primitive types
  • Java keywords

Objects

  • Reference variables
  • Object declaration and assignment
  • Objects on the garbage collectible heap
  • Arrays
  • How Objects Behave
  • Methods use object state
  • Method arguments and return types
  • Pass-by-value

Encapsulation

  •  Getters and Setters
  •  Encapsulation
  • Using references in an array

Day 3

Arrays and Arraylists

  • Extra Strength Methods
  • Building a one-dim Arraylist game
  • Preparing to code
  • Coding
  • Random numbers<
  • Using user-input
  • For loops
  • Casting primitives
  • String conversion
  • Using the Java Library
  • Two Dimensional Arraylist Structures
  • Enhancing the game
  • Coding the game
  • Boolean expressions
  • Using the Java library (API)
  • Using packages
  • Using the HTML API docs and

Day 4

Polymorphism. Method Overloading

  • Better Living in Objectville
  • Understanding inheritance
  • Designing an inheritance tree
  • Avoiding duplicate code
  • Overriding methods
  • IS-A and HAS-A · What do you inherit from your superclass?
  • What does inheritance really buy you?
  • Polymorphism
  • Rules for overriding
  • Method overloading

    Advanced OO Concepts

    • Serious Polymorphism
    • Some classes should not be instantiated
    • Abstract classes
    • Abstract methods
    • Polymorphism in action
    • Class Object
    • Taking objects out of an arraylist
    • Compiler checks the reference type
    • Get in touch with your inner object
    • Polymorphic references
    • Casting an object reference (moving lower in the inheritance tree)
    • Deadly Diamond of Death
    • Using interfaces (the best solution

    Day 5

    Garbage Collection

    • Life and Death of an Object
    • The stack and the heap
    • Methods on the stack
    • Where local variables live
    • Where instance variables live
    • The miracle of object creation

    Constructors

    • Constructors, Initializing state of a new Object
    • Overloaded constructors
    • Superclass constructors
    • Invoking overloaded constructors using this()
    • Life of an object, Garbage collection

    Handling Errors

    • Handling Errors
    • Handling Exceptions

    Duration and pricing

    In 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 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.

    mean stack
    2017-09-13 admin

    Our MEAN Stack (Mongo, Express, Angular, Node) training course teaches you how to develop web applications using the MEAN stack. A powerful platform that uses only one language, top to bottom: JavaScript.

    Prerequisite

    DAY 1 – INTRODUCTION

    • Introducing full-stack development
    • Designing a MEAN stack architecture

    DAY 2 – BUILDING A NODE WEB APPLICATION

    • Creating and setting up a MEAN project
    • Building a static site with Node and Express
    • Building a data model with MongoDB and Mongoose
    • Writing a REST API: Exposing the MongoDB database to the application
    • Consuming a REST API: Using an API from inside Express

    DAY 3 – ADDING A DYNAMIC FRONT END WITH ANGULAR

    • Adding Angular components to an Express application
    • Building a single-page application with Angular:
    • Foundations
    • The next level

    DAY 4 – MANAGING AUTHENTICATION AND USER SESSIONS

    • Authenticating users
    • Managing sessions
    • Securing APIs

    DAY 5 – YOUR OWN PROJECT

    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 for Vat-registered companies

    Certificate

    • Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    • You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    • 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.

    angular training course
    2017-09-03 admin

    Our Angular Training Course is intended for front-end developers who are familiar with Javascript and want to master Angular to move a gear up. Angular is the leading framework for building dynamic JavaScript applications that take advantage of the capabilities of modern browsers and devices.

    Prerequisites

    JavaScript

    Further training

    Node.JS

    MEAN Stack

    Ionic

    Intended Audience

    Front end developers who found that JavaScript is inadequate to develop a rich, fully-fledged front-end. Our Angular Training Course starts with the MVC pattern and the many benefits that can be gained from separating your logic and presentation code. We then start from the nuts-and-bolts and building up to the most advanced and sophisticated features Angular, going in-depth to

    Course material:

    DAY 1

    Getting Started

    • Plunker
    • Intro to TypeScript .
    • Writing our first app.
    • String Interpolation
    • Looping
    • Property & Event Binding
    • Domain Model
    • Nesting Components & Inputs .
    • User Interaction & Outputs

    ES6 JavaScript & TypeScript Overview

    DAY 2

    Angular CLI

    Components

    • Architecting with Components
    • Templates, Styles & View Encapsulation
    • Content Projection
    • Lifecycle Hooks
    • ViewChildren & ContentChildren

    Built-in Directives

    • NgIf & NgSwitch.
    • NgStyle & NgClass .
    • NgNonBindable
    • Structural Directives.

    DAY 3

    Custom Directives

    • HostListener & HostBinding
    • Inputs & Configuration

    Reactive Programming with RxJS

    • Streams & Reactive Programming
    • Observables & RxJS .
    • RxJS & Angular

    Pipes

    • Built-in Pipes
    • Async Pipe .
    • Custom Pipes

    DAY 4

    Forms

    • Model Driven Forms
    • Model Driven Form Validation
    • Submitting & Resetting
    • Reactive Model Form
    • Template Driven Forms

    Dependency Injection & Providers.

    • Injectors
    • Provider
    • Tokens
    • Configuring Dependency Injection in Angular
    • NgModule.providers vs Component.providers vs Component.viewProviders

    DAY 5

    HTTP

    • Core HTTP API
    • HTTP Example with Promises .
    • HTTP Example with Observables . . . .
    • JSONP Example with Observables.

    Routing

    • Route Configuration . .
    • Navigation.
    • Parameterised Routes
    • Nested Routes .
    • Router Guards
    • Routing Strategies

    Unit Testing Overview

    Duration and pricing

    In Pricing Group A

    Certificate

    • Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    • You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    • 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.

    2017-08-21 admin

    This Intro to Programming Course will teach you the fundamentals of coding. These topics that are common to all coding languages today: Variables, program flow, data structures, modularisation, functions and how to build basic solutions using these fundamentals. Although we are using JavaScript in this course, the emphasis is not on language, rather on generic coding fundamentals applicable to all coding languages today. Using JavaScript is a bonus because it is the most widely used coding language in the world and used by all other coding environments.

    Prerequisites

    None. No Matric required, neither any previous training in computer programming for our Intro to Programming course. If you can pass this Entry Test, you may skip this course before doing any Beginner course like Beginner Java, Beginner C#, Beginner PHP , Beginner Python  Beginner C++ and more or any of the Bootcamps.

    Intended Audience:

    Anybody who has not programmed before and wants to get into programming the right way

    Further Training

    All Coding Bootcamps and Beginner Courses

    Course Material

    Provided

    Course Info

    Fundamentals

    • The way JavaScript works
    • How you’re going to write JavaScript
    • How to get JavaScript into your page
    • Statements
    • Variables and values
    • Loops
    • Conditionals
    • When you need to make LOTS of decisions
    • Communication with your user
    • A closer look at console.log

    Design, QA

    • Coding a Serious JavaScript Application
    • Let’s build a game
    • First, a high-level design
    • Working through the Pseudocode
    • Setting up the loop, getting some input
    • Doing a little Quality Assurance
    • Generating a random number
    • Getting functional

    Functions

    • JavaScript is pass-by-value.
    • Weird Functions
    • Functions can return things too
    • Tracing through a function with a return statement
    • Global and local variables
    • Scope of local and global variables
    • Don’t forget to declare your locals!

    Data Structures

    • Arrays
    • How to represent multiple values in JavaScript
    • How arrays work
    • How to access an array item
    • Updating a value in the array.
    • How to iterate over an array
    • A better way to iterate over an array
    • Loop with the post-increment operator
    • Creating an array from scratch (and adding to it)

    Objects

    • Object Orientation
    • How properties work
    • How does a variable hold an object?
    • Comparing primitives and objects
    • Pre-qualification
    • Passing objects to functions
    • Add behavior to your objects
    • When method does not know about a property
    • How does behavior alter state

    DOM

    • Getting to know the DOM
    • How JavaScript really interacts with your HTML page
    • Getting an element with getElementById
    • What, exactly are we getting from the DOM?
    • Finding the inner HTML
    • What happens when you change the DOM
    • Don’t even think about running the code until the page is fully loaded!
    • Callbacks
    • Setting an attribute with setAttribute (you can GET attributes too)
    • So what else is a DOM good for?

    Types

    • Serious types
    • How to use null
    • Dealing with NaN
    • Understanding the equality operator (otherwise known as ==)
    • How equality converts its operands
    • Type conversions
    • How to determine if two objects are equal
    • Truthy and Falsey

    Strings

    • How a string can look like a primitive and an object
    • String methods (and properties)
    • Building an example app from scratch
    • How to design the game
    • The View
    • The Model
    • Implementing the model object
    • Setting up methods
    • The Controller
    • Passing the input to the controller

    Events

    • Handling events
    • What are events?
    • What’s an event handler?
    • How to create your first event handler
    • Getting your head around events… by creating a game
    • Implementing the game
    • Assign an event handler to an image’s onclick property
    • How to reuse the same handler
    • How the event object work
    • The event object and target
    • Events and queues
    • How setTimeout works

    Projects, Exercises, Quizzes and Assesments

    Duration and pricing

    Pricing Group C

    Certificate

    Read about our certificates

    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.

    java training course
    2017-08-14 admin

    Prerequisites  / Further Training

    Also have a look at our Java Bootcamp

    Alignment

    Oracle OCP Certification aligned to Oracle OCP Java Exam

    After this course you should be able to

    • Have a good understanding of programming and the building blocks of an OO programming language, with an emphasis on JAVA.
    • Build small apps in Java, making use of I/O, Networking, GUI
    • Prepare for Oracle OCA and OCP exams

    Course Material

    Course Material Provided

    Course Contents

    Day 1:

    Static Classes

    • Static Methods,
    • Static Variables
    • Math Class
    • Math Methods
    • Static Imports

    Wrapper classes

    • Autoboxing
    • Number formatting

    Day 2

    Exception Handling

    • What if you need to call risky code?
    • Checked Exceptions
    • Flow control in try/catch blocks
    • Exceptions are polymorphic
    • When you don’t want to handle an exception…
    • Ducking (by declaring) only delays the inevitable

    Nested Classes

    • Getting GUI: A Very Graphic Story
    • Getting a user event
    • Listeners, Sources, and Events
    • An inner class instance must be tied to an outer class instance
    • How to make an instance of an inner class

    Day 3:

    I/O Fundamentals

    • Saving Object state
    • Implement Serializable
    • Transient variables

    Highlights of the Calendar API

    • Getting an object that extends Calendar
    • Working with Calendar objects

    Date / Time API

    • Moving backward and forward in time

    Day 4:

    Networking

    • Connecting, Sending, and Receiving
    • Network Sockets
    • Writing a simple server
    • Writing a Chat Client

     Threads & Concurrency

    • Thread class
    • Runnable interface
    • The Thread Scheduler
    • Putting a thread to sleep
    • Atomic methods
    • Using an object’s lock
    • Synchronization

    Day 5:

    Collections and Generics

    • Collections
    • Sorting an ArrayList with Collections.sort()
    • Generics and type-safety
    • Comparable interface
    • A Custom Comparator
    • Collection API : lists, sets, maps
    • HashSet
    • HashMap
    • Polymorphism wildcards

    Packaging

    • Command-line Java
    • Classpath
    • Jars

    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 for Vat-registered companies

    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.

    mobile-web-development
    2017-07-31 admin

    Professional Mobile Web Development using mainly HTML5, CSS3 and JavaScript. Learn how to build lean and fast performing web mobile apps like native apps

    Prerequisites

    Before attempting Mobile Web Development Programming on its own, you should have previous web design and development experience and knowledge of  HTML, CSS and basic Javascript.

    Contents:

    Day 1:

    Responsive Web Design

    • Get on the mobile bandwagon
    • The recipe for Responsive Web Design
    • An example of a responsively designed site
    • CSS media queries
    • Analyze the current CSS
    • Steps to creating the mobile-specific CS

    Responsible Responsiveness

    • Mobile-first Responsive Web Design
    • Can I get a proxy to set up my proxy?
    • What to do when things aren’t blazing fast
    • Find the drags on page speed
    • It looks mobile friendly, but it isn’t
    • What is progressive enhancement?
    • Mobile-first media queries
    • Add the map back using JavaScript
    • Move iframe attributes to CSS equivalents
    • Breakpoints to the rescue

    Day 2:

    A Separate Mobile Website

    • Creature Comforts has agents in the field
    • Getting to know user agents
    • Straight talk: Most major sites have a separate mobile website
    • When what you really want to do is (re-)direct
    • Make a mobile mockup
    • Not all phones are smartphones…not by a sight
    • Let’s keep it basic: Meet XHTML-MP
    • Access keys in action
    • Mobile-savvy CSS

    What devices should we support?

    • How do you know where to draw the line?
    • Step away from the keyboard for a second
    • Things you don’t support vs. those you can’t support
    • Ask questions about your project
    • Ingredients for your magic mobile potion
    • Draw from your cupboard of tools and data

    Day 3:

    Device Databases and Classes

    • A panic button for freaked-out students
    • The button is for mobile phones only
    • WURFL and its capabilities
    • WURFL: Clever API code
    • Steps for building our explore page
    • Use WURFL to help differentiate content
    • Make the page a bit smarter with WURFL
    • The panic button: For phones only
    • Expanding a lucrative part of AcedIt!’s business
    • Get acquainted with the matching function
    • Make something actually happen with device classes
    • We need a bigger safety net

    Build a Mobile Web App Using a Framework

    • HTML5 is a specific thing…
    • How “traditional” websites typically behave
    • A Games Unlimited mobile HTML5 web app
    • The master plan for phase 1 of the Game
    • Why use mobile web app frameworks?
    • Our choice for the Game: jQuery Mobile
    • Build a basic page with jQuery Mobile
    • Link to multiple pages with jQuery Mobile
    • Make the Game feel more applike: to-dos
    • Time to make that tartan-building form
    • Build an HTML5 form
    • Give jQuery Mobile hints about the fields

    Day 4:

    Mobile Web Apps in the Real World

    • Mobile apps in the real world
    • Make a better form
    • A widget to manage the list of colors and sizes
    • The two sides of generate.php
    • Offline is important
    • A basic recipe to create a cache manifest
    • Dev tools to the rescue
    • How to ask W3C-compliant browsers where they are
    • Let’s integrate geolocation

    Build Hybrid Mobile Apps

    • How do hybrid apps work?
    • Bridge the web-native gap with PhoneGap
    • Get acquainted with PhoneGap Build
    • Keep track of discovered tartans
    • Anatomy of the Tartan Hunt project
    • What makes localStorage so special?
    • Use a function to show which tartans are found
    • Rope in PhoneGap to take pictures
    • Now we’re ready for the mediaCapture API

    Day 5:

    How to Be Future Friendly

    • Time to dispel our collective illusions of control
    • A future-friendly manifesto
    • There are no silver bullets
    • App today, web page tomorrow
    • Remove PhoneGap references

    Project

    • Develop a mobile app from start to finish

    Duration and pricing

    Pricing Group A

    Certificate

        1. Upon completion of this course we will issue you with attendance certificate to certify your attendance.
        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

    angular training course
    2017-07-19 admin

    Our Angular Training Course is intended for front-end developers who are familiar with Javascript and want to master Angular to move a gear up. Angular is the leading framework for building dynamic JavaScript applications that take advantage of the capabilities of modern browsers and devices.

    Prerequisites

    JavaScript

    Further training

    Node.JS

    MEAN Stack

    Ionic

    Intended Audience

    Front end developers who found that JavaScript is inadequate to develop a rich, fully-fledged front-end. Our Angular Training Course starts with the MVC pattern and the many benefits that can be gained from separating your logic and presentation code. We then start from the nuts-and-bolts and building up to the most advanced and sophisticated features Angular, going in-depth to give you the knowledge you need.

    Course Material

    Provided in electronic format – we do have an extension monitor for you in our training room.

    Course Info

    DAY 1

    HTML, JavaScript Review

    • HTML Elements
    • HTML Attributes
    • Attributes without values
    • Attributes with Literal values
    • HTML Element Content
    • Document Structure
    • Bootstrap Classes (Contextual, Margin, Padding, Element Sizes)
    • Styling Bootstrap Tables
    • Bootstrap Forms
    • Bootstrap Grids (Responsive, Simplified)
    • Example Project Preparation
    • Script Element
    • Functions
    • Variables and Types
    • JavaScript Operators
    • Arrays
    • Objects (Literals, Methods)
    • Defining Classes
    • Getters and Setters
    • Class Inheritance
    • Modules
    • Importing Specific Types
    • Renaming Imports
    • Importing All of the Types in a Module
    • Type Annotations
    • Properties and Variables
    • Specifying Multiple Types or any Type
    • Using Tuples
    • Indexable Tuples
    • Access Modifiers

    Building A Real App

    • Folder Structure
    • NPM Packages
    • Restful Web Service
    • Index.html
    • Root Component
    • Root Module
    • Bootstrap File
    • Data Model
    • Starting The Store
    • Adding Store Features

    Orders and Checkout

    • Creating The Shopping Cart
    • Adding URL Routing
    • Processing Orders
    • Using RestFul Web Service

    Admin

    • Module
    • Routing System
    • Navigating Admin URL
    • Implementing Authentication
    • Structuring the Admin Feature
    • Implementing the Product Editor

    DAY 2

    Data Bindings

    • Data Bindings (One-way, Property, Attribute, Classes, Styles)
    • Built-in Directives (ngIf, ngSwitch, ngFor, ngTemplateOutlet)
    • One-way Data Binding Restrictions

    Events and Forms

    • Event Binding
    • Two-way Data Bindings (ngModel Directive)
    • Form Data Validation
    • Entire Form Validation
    • Summary Validation Messages
    • Disabling the Submit Button
    • Model-Based Forms
    • Form Model Classes
    • Using the Model for Validation
    • Generating the Elements from the Model
    • Custom Form Validators

    Attribute Directives

    • A Simple Attribute Directive
    • Applying a Custom Directive
    • Accessing Application Data in a Directive
    • Reading Host Element Attributes
    • Using a Single Host Element Attribute
    • Creating Data-Bound Input Properties
    • Responding To Input Property Changes
    • Binding To a Custom Event
    • Creating Host Element Bindings
    • Creating a Two-Way Binding on the Host Element
    • Exporting a Directive for Use in a Template Variable

    Structural Directives

    • A Simple Attribute Directive
    • Applying a Custom Directive
    • Accessing Application Data in a Directive
    • Reading Host Element Attributes
    • Using a Single Host Element Attribute
    • Creating Data-Bound Input Properties
    • Responding To Input Property Changes
    • Binding To a Custom Event
    • Creating Host Element Bindings
    • Creating a Two-Way Binding on the Host Element
    • Exporting a Directive for Use in a Template Variable

    DAY 3

    Components

    • Structuring an Application With Components
    • Creating New Components
    • Defining External Templates
    • Using Data Bindings in Component Templates
    • Using Input Properties to Coordinate Between Components
    • Using Directives in a Child Component Template
    • Using Output Properties To Coordinate Between Components
    • Projecting Host Element Content
    • Completing the Component Restructure

    Pipes

    • Installing The Internationalization PolyFill
    • Registering a Custom Pipe
    • Applying A Custom Pipe
    • Combining Pipes
    • Creating Impure Pipes
    • Formatting Numbers
    • Formatting Currency Values
    • Formatting Percentages
    • Formatting Dates
    • Changing String Case
    • Serializing Data as JSON
    • Slicing Data Arrays

    Services

    • The Object Distribution Problem
    • Distributing Objects as Services Using Dependency Injection
    • Preparing The Service
    • Preparing Dependent Components
    • Registering the Service
    • Reviewing the Dependency Injection Changes
    • Declaring a Dependency in a Pipe and in Directives
    • Isolating Components Using Services and Dependency Injection
    • Preparing and Registering The Service
    • Preparing The Dependent Component
    • Updating the Root Component
    • Updating The Child Components

    Service Providers

    • Using The Class Provider
    • Using Opaque Tokens
    • Understanding the useClass property
    • Resolving a Dependency with Multiple Objects
    • Using the Value Provider
    • Using the Factory Provider
    • Using The Existing Service Provider
    • The Limitations of Single Service Objects
    • Creating Local Providers In a Directive
    • Creating a Local Provider for All Children of an Object
    • Creating a Local Provider for View Children
    • Restricting the Provider Search
    • Skipping Self-Defined Providers

    Modules

    • The Imports Property of the Root Module
    • The Declarations Property of the Root Module
    • The Providers Property of the Root Module
    • The Bootstrap Property of the Root Module
    • The Model Module Definition
    • Other Classes In The Application
    • Updating The Root Module
    • Creating a Utility Feature Module
    • Creating a Feature Module With Components

    DAY 4

    Project

    • Configuring Packages
    • Model Module
    • Core Module
    • Messages Module
    • The Angular Bootstrap
    • The Reactive Extensions Module
    • The HTML Document

    Reactive Extensions

    • Understanding Observables
    • Understanding Observers
    • Understanding Subjects
    • Using The Asynch Pipe
    • Scaling Up Application Feature Modules
    • Filtering Events
    • Transforming Events
    • Using Different Event ObJects
    • Receiving Only Distinct Events
    • Using a Custom Equality Checker
    • Taking and Skipping Events

    Making Asynchronous HTTP Requests

    • Understanding RESTful Web Services
    • Replacing the Static Data Source Service
    • Setting Up the HTTP Request
    • Processing the Response
    • Configuring the Data Source
    • Using The Rest Data Source
    • Saving and Deleting Data
    • Consolidating HTTP Requests
    • Making Cross-Origin Requests
    • Using JSONP Requests
    • Configuring Request Headers
    • Handling Errors
    • Generating User-Ready Messages
    • Handling the Errors

    Routing and Navigation – Starting

    • Disabling The State Change Event Display
    • Creating A Routing Configuration
    • Creating the Routing Component
    • Updating The Route Module
    • Adding Navigation Links
    • Understanding The Effect Of Routing
    • Handling Route Changes in Components
    • Using Multiple Route Parameters
    • Using Optional Route Parameters
    • Navigating in Code
    • Receiving Navigation Events
    • Removing The Event Bindings and Supporting Code

    DAY 5

    Routing and Navigation – Expanding

    • Adding Components to the Project
    • Using Wildcards in Routes
    • Using Redirections in Routes
    • Responding to Ongoing Routing Changes
    • Styling Links for Active Routes
    • Creating the Child Route Outlet
    • Accessing Parameters from Child Routes

    Routing and Navigation – Guarding

    • Guarding Routes
    • Delaying a Resolver Service
    • Creating, Registering and Applying a Resolver Service
    • Displaying Placeholder Content
    • Using a Resolver to Prevent URL Entry Problems
    • Preventing Navigation With Guards
    • Preventing Route Activation
    • Consolidating Child Route Guards
    • Preventing Route Deactivation
    • Loading Feature Modules Dynamically
    • Creating a Route to Dynamically Load a Module
    • Using a Dynamically Loaded Module
    • Guarding Dynamic Modules with a Loading Guard
    • Targeting Named Outlets
    • Creating Additional Outlet Elements
    • Navigating when Using Multiple Outlets

    Animation

    • Adding the Animations Polyfill
    • Disabling The HTTP Delay
    • Simplifying the Table and Routing Configuration
    • Defining Style Groups
    • Defining Element States
    • Defining State Transitions
    • Defining The Trigger
    • Applying The Animation
    • Testing The Animation Effect
    • Understanding The Built-in Animation States
    • Understanding Element Transitions
    • Creating Transitions for Built-in States
    • Animating Element Addition and Removal
    • Controlling Transition Animations (Timing Function, Initial Delay, Additional Styles, Parallel Animations)
    • Animation Style Groups
    • Defining Common Styles
    • Using Element transformations, CSS Framework Styles, Animation Trigger Events

    Unit Testing

    • Configuring Karma, TypeScript
    • Creating a Simple Unit Test
    • Starting the Tools
    • Working with Jasmine
    • Testing an Angular Component
    • Configuring the TestBed for Dependencies
    • Testing Data Bindings
    • Testing a Component with an External Template
    • Testing Component Events
    • Testing Output Properties
    • Testing Input Properties
    • Testing with Asynchronous Operations
    • Testing an Angular Directive

    ———————

    Duration and pricing

    In Pricing Group A

    Certificate

    • Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
    • You may sit for our competency assessment test and on passing you will obtain our competency certificate.
    • 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.

    django rest api training course
    2017-07-16 admin

    Intended Audience

    This Django Training Course is for Python programmers who want to learn the best and most-widely used framework for developing Python-based Web applications.

    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

    After this course you should be able to

    Quickly start a new Django project and establish a strong foundation for a growing site

    • Define how your data is organized and create a SQLite database to manage it
    • Quickly produce HTML with Django templates
    • Create dynamic webpages with Django’s URL patterns and views, including function views, class-based views, and generic views
    • Enable efficient, reliable data input with Django Forms and custom form validations
    • Understand the Model-View-Controller (MVC) architecture, compare it to Model-Template-Views, and gain a holistic understanding of Django’s structure
    • Write as little code as possible, simplify code reuse, and mitigate software decay by adhering to the Don’t Repeat Yourself paradigm.
    • Dive into Django source code to troubleshoot problems
    • Extend site functionality with Django’s contributed library
    • Protect your site with user authentication and permissions
    • Avoid security pitfalls such as SQL Injection, XSS, and CSRF
    • Optimize site performance
    • Develop complete Python-based Web applications from start to finish in Django.

    Course Material

    Supplied

    Course Contents

    Day 1

    • Starting a New Django Project
    • Building a Basic WebPage in Django
    • Programming Django Models and Creating a SQLite Database
    • Rapidly Producing HTML with Django Templates
    • Webpages with Controllers, Views and URL Configurations
    • Use Models, Templates, Views and URL Configurations to Create Links between Web Pages

    Day 2

    • User Input with Forms
    • Displaying Forms in Templates
    • Controlling forms in Views
    • Migrations
    • The Contact Us Webpage
    • The Big Picture : Django’s Core

    Day 3

    • Django’s Contributed Libraries
    • Pagination for Navigation
    • Django Flatpages
    • Static Content with Django
    • Generic class-based views
    • Advanced Generic class-based view usage

    Day 4

    • Basic Authentication
    • Integrating Permissions
    • Authentication extension
    • Customised Authentication
    • Admin Library
    • Custom Managers and Querysets

    Day 5

    • Handling Behavior with Signals
    • Performance Improvement of the website
    • Building Custom Template Tags
    • Adding RSS and Atom Feeds and a sitemap
    • Deploy
    • Starting a new Project Correctly

    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 calender 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

    android training course
    2017-07-10 admin

    This Android Training Course will help you build your first working application quick-quick. You’ll learn hands-on how to structure your app, design interfaces, create a database, make your app work on various smartphones and tablets, and if you want to pass the international exam AND-401, in Android, the syllabus is covered.

    Prerequisites

    Before attempting Android Programming on its own, you should have completed at least Beginner Java, if not Advanced Java or be very familiar with OO and advanced topics in Java or a similar OO language .

    Alignment

    AND-401 Android Certification. The exam is excluded, but we cover and support you in full if you want to sit for the international exam.

    Course Contents

    DAY 1

    Welcome to Android

    • The Android platform dissected
    • Your development environment
    • Install Java
    • Build a basic app
    • Activities and layouts from 50,000 feet
    • Building a basic app (continued)
    • Building a basic app (continued)
    • You’ve just created your first Android app
    • Android Studio creates a complete folder structure for you
    • Useful files in your project
    • Edit code with the Android Studio editors
    • Run the app in the Android emulator
    • Creating an Android Virtual Device
    • Run the app in the emulator
    • You can watch progress in the console
    • What just happened?
    • Refining the app
    • What’s in the layout?
    • activity_main.xml has two elements
    • The layout file contains a reference to a string, not the string itself
    • Let’s look in the strings.xml file

    Interactive Apps

    • You’re going to build a Beer Adviser app
    • Create the project
    • We’ve created a default activity and layout
    • Adding components with the design editor
    • activity_find_beer.xml has a new button
    • Changes to the XML…
    • …are reflected in the design editor
    • Use string resources rather than hardcoding the text
    • Change the layout to use the string resources
    • Add values to the spinner
    • Get the spinner to reference a string-array
    • We need to make the button do something
    • Make the button call a method
    • What activity code looks like
    • Add an onClickFindBeer() method to the activity
    • onClickFindBeer() needs to do something
    • Once you have a View, you can access its methods
    • Update the activity code
    • The first version of the activity
    • Building the custom Java class
    • Enhance the activity to call the custom Java class so that we can get REAL advice
    • Activity code version 2
    • What happens when you run the code

    Multiple Activities and Intents

    • Apps can contain more than one activity
    • Here’s the app structure
    • Create the project
    • Create the second activity and layout
    • Welcome to the Android manifest file
    • Use an intent to start the second activity
    • What happens when you run the app
    • Pass text to a second activity
    • Update the text view properties
    • putExtra() puts extra information in an intent
    • Update the CreateMessageActivity code
    • Get ReceiveMessageActivity to use the information in the intent
    • What happens when the user clicks the Send Message button
    • How Android apps work
    • What happens when the code runs
    • How Android uses the intent filter
    • You need to run your app on a REAL device
    • Change the code to create a chooser

    DAY 2

    The Activity LifeCycle

    • How do activities really work?
    • The Stopwatch app
    • The stopwatch layout code
    • Add code for the buttons
    • The runTimer() method
    • Handlers allow you to schedule code
    • The full runTimer() code
    • The full StopwatchActivity code
    • Rotating the screen changes the device configuration
    • From birth to death: the states of an activity
    • The activity lifecycle: from create to destroy
    • How do we deal with configuration changes?
    • What happens when you run the app
    • There’s more to an activity’s life than create and destroy
    • The activity lifecycle: the visible lifetime
    • The updated StopwathActivity code
    • What happens when you run the app
    • But what if an app is only partially visible?
    • The activity lifecycle: the foreground lifetime
    • Stop the stopwatch if the activity’s paused
    • The complete activity code
    • Your handy guide to the lifecycle methods

    The User Interface

    • Three key layouts: relative, linear, and grid
    • Positioning views relative to the parent layout
    • Positioning views relative to other views
    • Attributes for positioning views relative to other views
    • RelativeLayout: a summary
    • LinearLayout displays views in a single row or column
    • Let’s change up a basic linear layout
    • Adding weight to one view
    • Adding weight to multiple views
    • Using the android:gravity attribute: a list of values
    • More values you can use with the android:layout
    • gravity attribute
    • The full linear layout code
    • LinearLayout: a summary
    • GridLayout displays views in a grid
    • Adding views to the grid layout
    • Let’s create a new grid layout
    • Row 0: add views to specific rows and columns
    • Row 1: make a view span multiple columns
    • Row 2: make a view span multiple columns
    • The full code for the grid layout
    • GridLayout: a summary
    • Layouts and GUI components have a lot in common
    • Playing with views

    List Views and Adapters

    • Every app starts with ideas
    • Categorize your ideas: top-level, category, and detail/edit activities
    • Navigating through the activities
    • Use ListViews to navigate to data
    • We’re going to build the Starbuzz app
    • The drink detail activity
    • The Starbuzz app structure
    • The top-level layout contains an image and a list
    • The full top-level layout code
    • Get ListViews to respond to clicks with a Listener
    • The full TopLevelActivity code
    • How to create a list activity
    • Connect list views to arrays with an array adapter
    • Add the array adapter to DrinkCategoryActivity
    • What happens when you run the code
    • How we handled clicks in TopLevelActivity
    • The full DrinkCategoryActivity code
    • A detail activity displays data for a single record
    • Update the views with the data
    • The DrinkActivity code

    DAY 3

    Fragments

    • The Workout app structure
    • The Workout class
    • How to add a fragment to your project
    • What fragment code looks like
    • Activity states revisited
    • The fragment lifecycle
    • Your fragment inherits the lifecycle methods
    • How to create a list fragment
    • The updated WorkoutListFragment code
    • Wiring up the list to the detail
    • Using fragment transaction
    • The updated MainActivity code
    • The WorkoutDetailFragment code
    • The phone and tablet app structures
    • The different folder options
    • The MainActivity phone layout
    • The full DetailActivity code
    • The revised MainActivity code

    Nested Fragments

    • Creating nested fragments
    • The StopwatchFragment code
    • The StopwatchFragment layout
    • getFragmentManager() creates transactions at the activity lavel
    • Nested fragments need nested transactions
    • The full WorkoutDetailFragment code
    • Why does the app crash if you press a button?
    • the StopwatchFragment layout code
    • Make the fragment implement OnClickListener
    • Attach the OnClickListener to the buttons
    • The StopwatchFragment code
    • The WorkoutDetailFragment code

    DAY 4

    Action Bars

    • Great apps have a clear structure
    • Different types of navigation
    • Let’s start with the action bar
    • The Android support libraries
    • Your project may include support libraries
    • We’ll get the app to use up to date themes
    • Apply a theme in AndroidManifest.xml
    • Define styles in style resource files
    • Set the default theme in styles.xml
    • What happens when you run the app
    • Adding action items to the action bar
    • The menu resource file
    • The menu showAsAction attribute
    • Add a new action item
    • Create OrderActivity
    • Start OrderActivity with the Create Order action item
    • The full MainActivity.java code
    • Sharing content on the action bar
    • Specify the content with an intent
    • The full MainActivity.java code
    • Enabling Up navigation
    • Setting an activity’s parent
    • Adding the Up button

    Navigation Drawers

    • The Pizza app revisited
    • Navigation drawers deconstructed
    • The Pizza app structure
    • Create TopFragment
    • Create PizzaFragment
    • Create PastaFragment
    • Create StoresFragment
    • Add the DrawerLayout
    • The full code for activity_main.xml
    • Initialize the drawer’s list
    • Changing the action bar title
    • Closing the navigation drawer
    • The updated MainActivity.java code
    • Using an ActionBarDrawerToggle
    • Modifying action bar items at runtime
    • The updated MainActivity.java code
    • Enable the drawer to open and close
    • Syncing the ActionBarDrawerToggle state
    • The updated MainActivity.java code
    • Dealing with configuration changes
    • Reacting to changes on the back stack
    • Adding tags to fragments

    SQLite Databases

    • Back to Starbuzz
    • Android uses SQLite databases to persist data
    • Android comes with SQLite classes
    • The current Starbuzz app structure
    • The SQLite helper manages your database
    • The SQLite helper
    • Create the SQLite helper
    • Inside a SQLite database
    • You create tables using Structured Query Language (SQL)
    • Insert data using the insert() method
    • Update records with the update() method
    • Multiple conditions
    • The StarbuzzDatabaseHelper code
    • What the SQLite helper code does
    • What if you need to change the database?
    • SQLite databases have a version number
    • Upgrading the database: an overview
    • How the SQLite helper makes decisions
    • Upgrade your database with onUpgrade()
    • Downgrade your database with onDowngrade()
    • Let’s upgrade the database
    • Upgrading an existing database
    • Renaming tables
    • The full SQLite helper code
    • The SQLite helper code (continued)
    • What happens when the code runs

    DAY 5

    Cursors and Asynch Tasks

    • The current DrinkActivity code
    • Specifying table and columns
    • Applying multiple conditions to your query
    • Using SQL functions in queries
    • Navigating cursors
    • The DrinkActivity code
    • Add favorites to DrinkActivity
    • The DrinkActivity code
    • The new top-level activity code
    • The revised TopLevelActivity.java code
    • The onPreExecute() method
    • The doInBackgound() method
    • The onProgressUpdate() method
    • The onPostExecute() method
    • The AsyncTask class
    • The DrinkActivity.java code

    Services

    • The started service app
    • The IntentService from 50,000 feet
    • How to log messages
    • The full DelayedMessageService code
    • The full DelayedMessageService.java code
    • How you use the notification service
    • Getting your notification to start an activity
    • Send the notification using the notification service
    • The full code for DelayedMessageService.java
    • The steps needed to create the OdometerService
    • Define the Binder
    • The Service class has four key methods
    • Add the LocationListener to the service
    • Registering the LocationListener
    • The full OdometerService.java code
    • Update AndroidManifest.xml
    • Update MainActivity’s layout
    • Create a ServiceConnection
    • Bind to the service when the activity starts
    • Display the distance traveled
    • The full MainActivity.java code

    Material Design

    • Welcome to Material Design
    • The Pizza app structure
    • Create the CardView
    • The full card_captioned_image.xml code
    • Create the basic adapter
    • Define the adapter’s ViewHolder
    • Create the ViewHolders
    • Each card view displays an image and a caption
    • Add the data to the card views
    • The full code for CaptionedImagesAdapter.java
    • Create the recycler view
    • Add the RecyclerView to the layout
    • The PizzaMaterialFragment.java code
    • A RecyclerView uses a layout manager to arrange its views
    • Specifying the layout manager
    • The full PizzaMaterialFragment.java code
    • Get MainActivity to use the new PizzaMaterialFragment
    • What happens when the code runs
    • Create PizzaDetailActivity
    • What PizzaDetailActivity.java needs to do
    • The code for PizzaDetailActivity.java
    • Getting a RecyclerView to respond to clicks
    • Add the interface to the adapter
    • Implement the listener in PizzaMaterialFragment.java
    • Bring the content forward
    • The full code for fragment_top.xml
    • The full code for TopFragment.java

    Duration and pricing

    Price Group A

    Certificate

    1. Upon completion of this course we will issue you with attendance certificate to certify your attendance.
    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.

    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