0% found this document useful (0 votes)
4 views

Sp Curr Python Programmer 460

The document outlines the curriculum for a Python Programmer Skills Programme, designated with a curriculum code of 900221-000-00, comprising a total of 60 credits. It includes both knowledge and application components with specific modules detailing the skills and tasks required for proficiency in Python programming. Entry requirements include a Grade 11 education with Maths Literacy and English, and the programme is aimed at preparing learners for various software development-related occupations.

Uploaded by

Miles
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Sp Curr Python Programmer 460

The document outlines the curriculum for a Python Programmer Skills Programme, designated with a curriculum code of 900221-000-00, comprising a total of 60 credits. It includes both knowledge and application components with specific modules detailing the skills and tasks required for proficiency in Python programming. Entry requirements include a Grade 11 education with Maths Literacy and English, and the programme is aimed at preparing learners for various software development-related occupations.

Uploaded by

Miles
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 49

Skills Programme Curriculum Document

Curriculum Code Curriculum Title

900221-000-00-00 Python Programmer

SP Curr Python Programmer Skills Programme 4 60 Page 1 of 49


Table of content

SECTION 1: SKILLS PROGRAMME CURRICULUM SUMMARY ...................................................................3


1. Skills Programme Information .....................................................................................................................3
2. Curriculum Information ................................................................................................................................3
SECTION 2: SKILLS PROGRAMME PROFILE ................................................................................................6
1. Skills Programme Purpose .........................................................................................................................6
2. Skills Programme Tasks .............................................................................................................................6
3. Skills Programme Task Details ...................................................................................................................6
SECTION 3: SKILLS PROGRAMME COMPONENT SPECIFICATIONS ..........................................................7
SECTION 3A: KNOWLEDGE/THEORY MODULE SPECIFICATIONS .........................................................7
1. 900221-000-00-KM-01, Introduction to Python Programming, NQF Level 4, Credits 2 .........................8
2. 900221-000-00-KM-02, Python Data Types and Structures, NQF Level 4, Credits 6 ......................... 13
3. 900221-000-00-KM-03, Principles of Programming with Python, NQF Level 4, Credits 4 .................. 18
4. 900221-000-00-KM-04, Intermediate Programming Principles in Python, NQF Level 4, Credits 6 ..... 21
5. 900221-000-00-KM-05, REST API and GUI in Python, NQF Level 4, Credits 2 ................................. 24
SECTION 3B: APPLICATION MODULE SPECIFICATIONS ...................................................................... 26
Practical Skills Modules: ........................................................................................................................... 27
1. 900221-000-00-PM-01, Programming Basics for Beginners, NQF Level 4, Credits 3 ........................ 27
2. 900221-000-00-PM-02, Use Built-in Python Data Types, NQF Level 4, Credits 8 .............................. 31
3. 900221-000-00-PM-03, Program with Python, NQF Level 4, Credits 6 ............................................... 36
4. 900221-000-00-PM-04, Intermediate Programming with Python, NQF Level 4, Credits 8 .................. 40
5. 900221-000-00-PM-05, Getting Started with REST API and GUI, NQF Level 4, Credits 4................. 44
6. 900221-000-00-PM-06, Use Cases with Python, NQF Level 4, Credits 11 ......................................... 46

SP Curr Python Programmer Skills Programme 4 60 Page 2 of 49


SECTION 1: SKILLS PROGRAMME CURRICULUM SUMMARY

1. Skills Programme Information

1.1 Skills Addressed by this Curriculum

Python Programmer, NQF Level 4, Credits 60

1.2 Skills Programme Entry Requirements

Grade 11 with Maths Lit and English

Access to equipment, internet connectivity and how to work remotely

1.3 Associated Occupations

Software Developer

1.4 Registered Related Qualifications

• Artificial Intelligence Software Developer


• Cloud Administrator
• Cybersecurity Analyst
• Data Science Practitioner
• Internet-of-Things Developer
• Robotic Processing Automation (RPA) Developer
• Quality Test Automator
• Software Developer

2. Curriculum Information

2.1 Curriculum Structure

This Skills Programme consist of two components namely Knowledge/Theory component and Application
component. The following are compulsory modules in each of the two components:

2.1.1. Knowledge/Theory Component:

The following Modules are compulsory:

• 900221-000-00-KM-01, Introduction to Python Programming, NQF Level 4, Credits 2

• 900221-000-00-KM-02, Python Data Types and Structures, NQF Level 4, Credits 6

• 900221-000-00-KM-03, Principles of Programming with Python, NQF Level 4, Credits 4

• 900221-000-00-KM-04, Intermediate Programming Principles in Python, NQF Level 4, Credits 6

• 900221-000-00-KM-05, REST API and GUI in Python, NQF Level 4, Credits 2

Total number of credits for Knowledge Component: 20

2.1.2. Application Component:

The following Modules are compulsory:

SP Curr Python Programmer Skills Programme 4 60 Page 3 of 49


• 900221-000-00-PM-01, Programming Basics for Beginners, NQF Level 4, Credits 3

• 900221-000-00-PM-02, Use Built-in Python Data Types, NQF Level 4, Credits 8

• 900221-000-00-PM-03, Program with Python, NQF Level 4, Credits 6

• 900221-000-00-PM-04, Intermediate Programming with Python, NQF Level 4, Credits 8

• 900221-000-00-PM-05, Getting Started with REST API and GUI, NQF Level 4, Credits 4

• 900221-000-00-PM-06, Use Cases with Python, NQF Level 4, Credits 11

Total number of credits for Application Component: 40

2.2 Skills Development Provider Accreditation Requirements

Knowledge Modules

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

Application Modules

Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

SP Curr Python Programmer Skills Programme 4 60 Page 4 of 49


• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

SP Curr Python Programmer Skills Programme 4 60 Page 5 of 49


SECTION 2: SKILLS PROGRAMME PROFILE

1. Skills Programme Purpose

Implement solutions to solve real-life problems in an efficient manner applying a knowledge and
understanding of the principles of programming with Python and applicable tools

2. Skills Programme Tasks

• Create well-written and readable Python programs, using a disciplined coding style, including
comments and indentation standards (NQF Level 4)

• Work collaboratively in a team and execute version control (NQF Level 4)

3. Skills Programme Task Details

3.1. Create well-written and readable Python programs, using a disciplined coding style, including
comments and indentation standards (NQF Level 4)

Unique Product or Service:

• Fully functional solutions according to the brief

Occupational Responsibilities:

• Create fully functional solutions using Python programming language

3.2. Work collaboratively in a team and execute version control (NQF Level 4)

Unique Product or Service:

• Collaborative teamwork
• Version control

Occupational Responsibilities:

• Use GitHub functionalities


• Execute version control

SP Curr Python Programmer Skills Programme 4 60 Page 6 of 49


SECTION 3: SKILLS PROGRAMME COMPONENT SPECIFICATIONS

SECTION 3A: KNOWLEDGE/THEORY MODULE SPECIFICATIONS

The following modules are compulsory:

• 900221-000-00-KM-01, Introduction to Python Programming, NQF Level 4, Credits 2

• 900221-000-00-KM-02, Python Data Types and Structures, NQF Level 4, Credits 6

• 900221-000-00-KM-03, Principles of Programming with Python, NQF Level 4, Credits 4

• 900221-000-00-KM-04, Intermediate Programming Principles in Python, NQF Level 4, Credits 6

• 900221-000-00-KM-05, REST API and GUI in Python, NQF Level 4, Credits 2

SP Curr Python Programmer Skills Programme 4 60 Page 7 of 49


1. 900221-000-00-KM-01, Introduction to Python Programming, NQF Level 4, Credits 2

1.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the fundamentals of
Python Programming language

The learning will enable learners to demonstrate an understanding of:

• KM-01-KT01 : Computers 10%


• KM-01-KT02 : Introduction to Python programming 10%
• KM-01-KT03 : Introduction to suitable IDE (Integrated Development Environment) 5%
• KM-01-KT04 : GIT 10%
• KM-01-KT05 : Problem solving in programming 10%
• KM-01-KT06 : Life cycle for developing a solution 15%
• KM-01-KT07 : Python core concepts 10%
• KM-01-KT08 : Python syntax 15%
• KM-01-KT09 : Python variables 15%
1.2 Guidelines for Topics

1.2.1. KM-01-KT01 : Computers 10%


Topic elements to be covered include:

• KT0101 Uses and capabilities


• KT0102 Hardware components
• KT0103 Processers + operating systems = platform
• KT0104 8-bit computing: Text, numerical and symbols
• KT0105 Internet connectivity and range of functionalities: e.g. cloud storage, search engines,
etc.
• KT0106 Tools for working remotely
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of the respective computer elements are stated
(Weight 10%)

1.2.2. KM-01-KT02 : Introduction to Python programming 10%


Topic elements to be covered include:

• KT0201 Definition of Python


• KT0202 Python history and evolvement
• KT0203 Python uses
• KT0204 Python platform
• KT0205 Python features
• KT0206 Pycharm IDE
• KT0207 Python online editor
• KT0208 Built-in functions
Internal Assessment Criteria and Weight

• IAC0201 Definitions, functions and features of each topic element are stated

(Weight 10%)

SP Curr Python Programmer Skills Programme 4 60 Page 8 of 49


1.2.3. KM-01-KT03 : Introduction to suitable IDE (Integrated Development 5%
Environment)
Topic elements to be covered include:

• KT0301 Definition (What is an IDE?)


• KT0302 Purpose of an IDE
• KT0303 Useful features of IDE
• KT0304 Strengths and weakness of the IDE
• KT0305 Refactoring
• KT0306 Debugging
Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions and features of each topic element are stated

(Weight 5%)

1.2.4. KM-01-KT04 : GIT 10%


Topic elements to be covered include:

• KT0401 Overview of Git

• KT0402 Version control


• KT0403 Collaboration
• KT0404 Repositories
• KT0405 Branch
• KT0406 Changes
• KT0407 Pull requests
• KT0408 Source code control
Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions and features of each aspect are stated

(Weight 10%)

1.2.5. KM-01-KT05 : Problem solving in programming 10%


Topic elements to be covered include:

• KT0501 How to Think Like a Developer: Become a Problem Solver


• KT0502 Break task down into components
• KT0503 Identify similar tasks that may help
• KT0504 Identify appropriate knowledge and skills
• KT0505 Identify assumptions
• KT0506 Select appropriate strategy
• KT0507 Consider alternative approaches
• KT0508 Look for a pattern or connection
• KT0509 Generate examples

SP Curr Python Programmer Skills Programme 4 60 Page 9 of 49


Internal Assessment Criteria and Weight

• IAC0501 Problem solving as a complex and reiterative process is explained

(Weight 10%)

1.2.6. KM-01-KT06 : Life cycle for developing a solution 15%


Topic elements to be covered include:

• KT0601 Definition and purpose


• KT0602 Principles of programming life cycle
• KT0603 Stages in the life cycle
• Strategy: goal, objectives, target audience, competition and platform
• Design: Requirements, planning, creation and design
• Maintenance and testing
• Development:
• Testing: performance, security, usability
• Release and ongoing support
• KT0604 Function and content of each stage in the life cycle
Internal Assessment Criteria and Weight

• IAC0601 Definitions, functions and stages of the programming life cycle are described

(Weight 15%)

1.2.7. KM-01-KT07 : Python core concepts 10%


Topic elements to be covered include:

• KT0701 Concept, definition and functions


• KT0702 Keywords: They are used to define the syntax and structure of the Python language,
case sensitive
• KT0703 Identifiers: Rule for writing identifiers
• KT0704 Statements, indentation and comments
• KT0705 Execution modes
• KT0706 Printing in Python
Internal Assessment Criteria and Weight

• IAC0701 Definitions, functions and features of Python core concepts are understood and
explained

(Weight 10%)

1.2.8. KM-01-KT08 : Python syntax 15%


Topic elements to be covered include:

• KT0801 Logical lines


• KT0802 Physical lines
• KT0803 Sequence of characters

SP Curr Python Programmer Skills Programme 4 60 Page 10 of 49


• KT0804 Newline
• KT0805 End-of-line sequence
• KT0806 Comments
• KT0807 Joining two lines
• KT0808 Multiple statements on a single line
• KT0809 Indentation
• KT0810 Python coding style
• KT0811 Reverse words
• KT0812 Parser
Internal Assessment Criteria and Weight

• IAC0801 Definitions, functions and features of Python syntax are understood and explained

(Weight 15%)

1.2.9. KM-01-KT09 : Python variables 15%


Topic elements to be covered include:

• KT0901 Concept, definition and functions


• KT0902 Variables
• KT0903 Constant
• KT0904 Rules and naming conventions for variables and constants.
• KT0905 Literals
• KT0906 Data types: numbers, list, tuple, strings, set, dictionary, etc.
• KT0907 Conversion between different data types
• KT0908 Type conversion and type casting: converting the value of one data type (integer,
string, float, etc.) to another data type
• KT0909 Local and global variables
• KT0910 Python methods
Internal Assessment Criteria and Weight

• IAC0901 Definitions, functions and features of Python variables are understood and explained

(Weight 15%)

1.3 Provider Programme Accreditation Criteria

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

SP Curr Python Programmer Skills Programme 4 60 Page 11 of 49


o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

1.4 Exemptions

• RPL based

SP Curr Python Programmer Skills Programme 4 60 Page 12 of 49


2. 900221-000-00-KM-02, Python Data Types and Structures, NQF Level 4, Credits 6

2.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the functionalities of
Python data type and structures and when/how to use them

The learning will enable learners to demonstrate an understanding of:

• KM-02-KT01 : Python strings 15%


• KM-02-KT02 : Numbers in Python 10%
• KM-02-KT03 : Float in Python 10%
• KM-02-KT04 : Double data types in Python 5%
• KM-02-KT05 : Boolean in Python 10%
• KM-02-KT06 : Python List 15%
• KM-02-KT07 : Python tuple 10%
• KM-02-KT08 : Dictionary in Python 10%
• KM-02-KT09 : Python sets 5%
• KM-02-KT10 : Arrays in Python 10%
2.2 Guidelines for Topics

2.2.1. KM-02-KT01 : Python strings 15%


Topic elements to be covered include:

• KT0101 Concept, definition and functions


• KT0102 Syntax and characteristics
• KT0103 String operators
• KT0104 Replace, Join, Split, Reverse, Uppercase and Lowercase
• KT0105 Python String strip() Function
• KT0106 Python String count() Method
• KT0107 Python String format() Function
• KT0108 Python String length len() Method
• KT0109 Python String find() Method
• KT0110 Use of Backslash in Strings
• KT0111 Convert Integer into String
• KT0112 Python string length
• KT0113 Escape sequences
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Python strings are understood and explained

(Weight 15%)

2.2.2. KM-02-KT02 : Numbers in Python 10%


Topic elements to be covered include:

• KT0201 Concept, definition and functions


• KT0202 Syntax and characteristics
• KT0203 Use of numbers in Python
• KT0204 Three numeric types in Python: integers, floating-point numbers and complex
numbers

SP Curr Python Programmer Skills Programme 4 60 Page 13 of 49


• KT0205 Numeric and decimal datatypes in Python
• KT0206 Type conversion
• KT0207 Arithmetic operations in python
Internal Assessment Criteria and Weight

• IAC0201 Definitions, functions and features of numbers in Python are understood and explained

(Weight 10%)

2.2.3. KM-02-KT03 : Float in Python 10%


Topic elements to be covered include:

• KT0301 Concept, definition and functions


• KT0302 Syntax and characteristics
• KT0303 Decimal values
• KT0304 Use of float in Python
• KT0305 Python float() method
• KT0306 Floating-point numbers
Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions and features of Python float are understood and explained

(Weight 10%)

2.2.4. KM-02-KT04 : Double data types in Python 5%


Topic elements to be covered include:

• KT0401 Concept, definition and functions


• KT0402 Syntax and characteristics

• KT0403 Use of double data types in Python


Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions and features of Python double data types are understood and
explained

(Weight 5%)

2.2.5. KM-02-KT05 : Boolean in Python 10%


Topic elements to be covered include:

• KT0501 Concept, definition and functions


• KT0502 Syntax and characteristics
• KT0503 Use of strings in Python
• KT0504 Two values: denoted true and false
• KT0505 Problem solving and optimising code
• KT0506 Uppercase

SP Curr Python Programmer Skills Programme 4 60 Page 14 of 49


Internal Assessment Criteria and Weight

• IAC0501 Definitions, functions and features of Python Boolean are understood and explained

(Weight 10%)

2.2.6. KM-02-KT06 : Python List 15%


Topic elements to be covered include:

• KT0601 Concept, definition and functions


• KT0602 Syntax
• KT0603 Use of Range Function in Python
• KT0604 List in Python
• KT0605 Mixed List in Python
• KT0606 List Length Method
• KT0607 List Remove and Del Method
• KT0608 Python Append Method
• KT0609 Python Sort Method
• KT0610 Python List count() method
• KT0611 Python List index() method
• KT0612 List Comprehension and Reverse
• KT0613 Nested lists
Internal Assessment Criteria and Weight

• IAC0601 Definitions, functions and features of Python list are understood and explained

(Weight 15%)

2.2.7. KM-02-KT07 : Python tuple 10%


Topic elements to be covered include:

• KT0701 Concept, definition and functions


• KT0702 Syntax
• KT0703 Tuple assignment
• KT0704 Pack, Unpack, Compare, Slicing, Delete, Keys in dictionaries
• KT0705 Built-in functions with tuples
• KT0706 Advantages of tuples over lists
Internal Assessment Criteria and Weight

• IAC0701 Definitions, functions and features of Python tuple are understood and explained

(Weight 10%)

2.2.8. KM-02-KT08 : Dictionary in Python 10%


Topic elements to be covered include:

• KT0801 Concept, definition and functions


• KT0802 Syntax

SP Curr Python Programmer Skills Programme 4 60 Page 15 of 49


• KT0803 Properties of dictionary keys
• KT0804 Python dictionary(Dict)
• KT0805 Inbuilt methods
• KT0806 Length of Dictionary
• KT0807 Dictionary Clear Method
• KT0808 Update, Cmp, Len, Sort, Copy, Items, str
• KT0809 Merging dictionaries
Internal Assessment Criteria and Weight

• IAC0801 Definitions, functions and features of Python dictionaries are understood and explained

(Weight 10%)

2.2.9. KM-02-KT09 : Python sets 5%


Topic elements to be covered include:

• KT0901 Concept, definition and functions


• KT0902 Syntax
• KT0903 Parameters
• KT0904 Methods
• KT0905 Operations performed on sets in Python
Internal Assessment Criteria and Weight

• IAC0901 Definitions, functions and features of Python sets are understood and explained

(Weight 5%)

2.2.10. KM-02-KT10 : Arrays in Python 10%


Topic elements to be covered include:

• KT1001 Concept, definition and functions


• KT1002 Syntax to create an array
• KT1003 Python module
• KT1004 Methods
• KT1005 Array representation
• KT1006 Array operations
Internal Assessment Criteria and Weight

• IAC1001 Definitions, functions and features of Python arrays are understood and explained

(Weight 10%)

2.3 Provider Programme Accreditation Criteria

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

SP Curr Python Programmer Skills Programme 4 60 Page 16 of 49


• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

2.4 Exemptions

• RPL based

SP Curr Python Programmer Skills Programme 4 60 Page 17 of 49


3. 900221-000-00-KM-03, Principles of Programming with Python, NQF Level 4, Credits 4

3.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the principles of
programming with Python programming language

The learning will enable learners to demonstrate an understanding of:

• KM-03-KT01 : Making decisions in Python 30%


• KM-03-KT02 : Operators 30%
• KM-03-KT03 : Functions in Python 15%
• KM-03-KT04 : Date, Time and Calendar 15%
• KM-03-KT05 : Import, input and output 10%
3.2 Guidelines for Topics

3.2.1. KM-03-KT01 : Making decisions in Python 30%


Topic elements to be covered include:

• KT0101 Concept, definition and functions


• KT0102 Syntax
• KT0103 Flow charts
• KT0104 Conditional statements:
• IF statements in Python
• IF…else statements in Python
• ELIF Statements in Python
• KT0105 For and while loops
• For loop in Python
• While Loop in Python
• KT0106 Break, continue and pass statements
• Using Break in For Loop
• Using Break Statement in While Loop
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Python loops are understood and explained

(Weight 30%)

3.2.2. KM-03-KT02 : Operators 30%


Topic elements to be covered include:

• KT0201 Concept, definition and functions


• KT0202 Syntax
• KT0203 Types and uses
• Arithmetic Operators
• Relational/comparison Operators
• Assignment Operators
• Logical/ Bitwise Operators
• Membership Operators
• Identity Operators
• Operator precedence

SP Curr Python Programmer Skills Programme 4 60 Page 18 of 49


Internal Assessment Criteria and Weight

• IAC0201 Definitions, functions and features of Python operators are understood and explained

(Weight 30%)

3.2.3. KM-03-KT03 : Functions in Python 15%


Topic elements to be covered include:

• KT0301 Concept, definition and functions


• KT0302 Syntax
• KT0303 Components
• KT0304 Types of functions
• KT0305 Built-in modules
• KT0306 Main function and method: call, indentation, arguments and return values
Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions and features of Python functions are understood and explained

(Weight 15%)

3.2.4. KM-03-KT04 : Date, Time and Calendar 15%


Topic elements to be covered include:

• KT0401 Concept, definition and functions


• KT0402 Syntax
• KT0403 Dates, times and time intervals
• KT0404 Datetime module
• KT0405 Classes
• KT0406 Timedelta objects
Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions and features of Python date, time and calendar are understood
and explained

(Weight 15%)

3.2.5. KM-03-KT05 : Import, input and output 10%


Topic elements to be covered include:

• KT0501 Concept, definition and functions


• KT0502 Syntax
• KT0503 Import
• KT0504 Input/output (I/O)
Internal Assessment Criteria and Weight

• IAC0501 Definitions, functions and features of Python import, input and output are understood
and explained

SP Curr Python Programmer Skills Programme 4 60 Page 19 of 49


(Weight 10%)

3.3 Provider Programme Accreditation Criteria

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

3.4 Exemptions

• RPL based

SP Curr Python Programmer Skills Programme 4 60 Page 20 of 49


4. 900221-000-00-KM-04, Intermediate Programming Principles in Python, NQF Level 4,
Credits 6

4.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the principles of
intermediate programming with Python programming language

The learning will enable learners to demonstrate an understanding of:

• KM-04-KT01 : Python Object Oriented Programming (OOP) 25%


• KM-04-KT02 : Fundamental concepts of Object-oriented programming 20%
• KM-04-KT03 : Basics of Algorithms 10%
• KM-04-KT04 : File handling 20%
• KM-04-KT05 : Exception handling 25%
4.2 Guidelines for Topics

4.2.1. KM-04-KT01 : Python Object Oriented Programming (OOP) 25%


Topic elements to be covered include:

• KT0101 Concept, definition and functions


• KT0102 Syntax
• KT0103 Class
• KT0104 Object
• KT0105 Constructors
• KT0106 Minimal class
• KT0107 Class attributes
• KT0108 Methods in classes
• KT0109 Inheritance
• KT0110 Multiple inheritance
• KT0111 Method overriding
• KT0112 Operator overloading
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Python OOP are understood and explained

(Weight 25%)

4.2.2. KM-04-KT02 : Fundamental concepts of Object-oriented programming 20%


Topic elements to be covered include:

• KT0201 Concept, definition and functions


• KT0202 Class
• KT0203 Object
• KT0204 Method
• KT0205 Inheritance,
• KT0206 Encapsulation,
• KT0207 Polymorphism,
• KT0208 Data abstraction

SP Curr Python Programmer Skills Programme 4 60 Page 21 of 49


Internal Assessment Criteria and Weight

• IAC0201 The use of fundamental concepts of OOP is stated.

(Weight 20%)

4.2.3. KM-04-KT03 : Basics of Algorithms 10%


Topic elements to be covered include:

• KT0301 Concept, definition and functions


• KT0302 Dynamic programming algorithms
• KT0303 Searching and sorting algorithms
• KT0304 Mathematical algorithms
• KT0305 Data structures algorithms
• KT0306 Flow charts (on paper)
Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions and features of Python algorithms are understood and explained

(Weight 10%)

4.2.4. KM-04-KT04 : File handling 20%


Topic elements to be covered include:

• KT0401 Concept, definition and functions


• KT0402 Syntax
• KT0403 Inbuilt function
• KT0404 File operation
• KT0405 Directory
• KT0406 File modes
• KT0407 Zip files
• KT0408 Readline()
• KT0409 Binary files
Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions and features of file handling in Python are understood and
explained

(Weight 20%)

4.2.5. KM-04-KT05 : Exception handling 25%


Topic elements to be covered include:

• KT0501 Concept, definition and functions


• KT0502 Syntax
• KT0503 Exceptions
• KT0504 Common examples of exception
• KT0505 Rules of exceptions
• KT0506 Exception handling

SP Curr Python Programmer Skills Programme 4 60 Page 22 of 49


• KT0507 Keywords (try, catch, finally)
• KT0508 Important Python errors and exceptions
• KT0509 Error vs exception
• KT0510 User-defined exception
Internal Assessment Criteria and Weight

• IAC0501 Definitions, functions and features of Python exception handling are understood and
explained

(Weight 25%)

4.3 Provider Programme Accreditation Criteria

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

4.4 Exemptions

• RPL based

SP Curr Python Programmer Skills Programme 4 60 Page 23 of 49


5. 900221-000-00-KM-05, REST API and GUI in Python, NQF Level 4, Credits 2

5.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the functionalities of
REST API and GUI and how to use them

The learning will enable learners to demonstrate an understanding of:

• KM-05-KT01 : REST API in Python 50%

• KM-05-KT02 : GUI framework 50%

5.2 Guidelines for Topics

5.2.1. KM-05-KT01 : REST API in Python 50%

Topic elements to be covered include:

• KT0101 Concept, definition and functions

• KT0102 API platforms

• KT0103 Rules

• KT0104 Requests library: Get, post, put, delete

• KT0105 Prerequisites

• KT0106 Status codes

• KT0107 Endpoints

• KT0108 Interfaces

Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Python REST API handling are understood and
explained

(Weight 50%)

5.2.2. KM-05-KT02 : GUI framework 50%

Topic elements to be covered include:

• KT0201 Concept, definition and functions

• KT0202 GUI platforms and libraries

• KT0203 Intuitive human-machine interactions

• KT0204 Features of the GUI framework

• KT0205 Uses

SP Curr Python Programmer Skills Programme 4 60 Page 24 of 49


• KT0206 Requirements

• KT0207 Libraries

• KT0208 Widgets and standard attributes

Internal Assessment Criteria and Weight

• IAC0201 Features and use of GUI framework is described

(Weight 50%)

5.3 Provider Programme Accreditation Criteria

Physical Requirements:

• The provider must have lesson plans and structured learning material or provide learners with
access to structured learning material that addresses all the topics in all the knowledge modules as
well as the applied knowledge in the application

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Lecturer/learner ratio of 1:20 (Maximum)

• Qualification of lecturer (SME):

o NQF 5 qualified in industry recognised qualifications with 1 year experience in the IT industry

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

5.4 Exemptions

• RPL based

SP Curr Python Programmer Skills Programme 4 60 Page 25 of 49


SECTION 3B: APPLICATION MODULE SPECIFICATIONS

The following Application Modules are compulsory

Practical Skills Modules:

• 900221-000-00-PM-01, Programming Basics for Beginners, NQF Level 4, Credits 3

• 900221-000-00-PM-02, Use Built-in Python Data Types, NQF Level 4, Credits 8

• 900221-000-00-PM-03, Program with Python, NQF Level 4, Credits 6

• 900221-000-00-PM-04, Intermediate Programming with Python, NQF Level 4, Credits 8

• 900221-000-00-PM-05, Getting Started with REST API and GUI, NQF Level 4, Credits 4

• 900221-000-00-PM-06, Use Cases with Python, NQF Level 4, Credits 11

SP Curr Python Programmer Skills Programme 4 60 Page 26 of 49


Practical Skills Modules:

1. 900221-000-00-PM-01, Programming Basics for Beginners, NQF Level 4, Credits 3

1.1 Purpose of the Application Module

The focus of the learning in this module is on providing the learner with an opportunity to apply the basics of
Python, IDE and Git commands and coding

The learner will be required to:

• PM-01-PS01 : Basic computer skills


• PM-01-PS02 : Install Python
• PM-01-PS03 : Getting started with an IDE
• PM-01-PS04 : Getting started with GIT
• PM-01-PS05 : Apply the programming life cycle to develop a solution
• PM-01-PS06 : Create Python variables
1.2 Guidelines for Practical Skills

1.2.1. PM-01-PS01 : Basic computer skills


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0101 Operate computers using a range of functionalities:


• Switch on, save, print, find a file, basic computer operating processes, task
manager, operating systems etc.
• Connect to the internet
• Connect to a website
• Use a search engine
• Find and use cloud storage
Applied Knowledge

• AK0101 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0101 A range of basic computer functionalities are used successfully

1.2.2 PM-01-PS02 : Install Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0201 Download and install Python


• PA0202 Troubleshooting Python Installation
• PA0203 Download and install IDE to run Python
Applied Knowledge

• AK0201 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0201 Python is downloaded and installed


• IAC0202 Pycharm is downloaded, installed and up and running with installation problems
solved

SP Curr Python Programmer Skills Programme 4 60 Page 27 of 49


1.2.3. PM-01-PS03 : Getting started with an IDE
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0301 Install IDE


• PA0302 Create a new Python project with IDE
• PA0303 Hello world: create a first Python programme
• PA0304 Save actions
• PA0305 Make the code more efficient and maintainable with refactoring with IDE
• PA0306 Perform debugging with IDE
Applied Knowledge

• AK0301 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0301 IDE is installed and successfully used for creating a new Python project
• IAC0302 “Hello world” is created

1.2.4. PM-01-PS04 : Getting started with GIT


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0401 Create and use a repository


• PA0402 Start and manage a new branch
• PA0403 Make changes to a file and push them to GitHub as commits
• PA0404 Open and merge a pull request
Applied Knowledge

• AK0401 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0401 Git functionalities are correctly used

1.2.5. PM-01-PS05 : Apply the programming life cycle to develop a solution


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0501 Apply the various stages (sequential and reiteratively) in the programming life cycle
when developing an appropriate solution
Applied Knowledge

• AK0501 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0501 Expected results with the programming life cycle in Python are achieved

SP Curr Python Programmer Skills Programme 4 60 Page 28 of 49


1.2.6. PM-01-PS06 : Create Python variables
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0601 Use keywords


• PA0602 Print a simple string
• PA0603 Print blank lines
• PA0604 Print end command
• PA0605 Create and assign value
• PA0606 Assign multiple values to multiple variables
• PA0607 Declare and assign value to constant.
• PA0608 Assign integer literals into different variables
• PA0609 Define and declare string variable types
• PA0610 Re-declare a variable
• PA0611 Delete a variable
• PA0612 Correct and debug errors
Applied Knowledge

• AK0601 Concept, definition and functions of basic Python functionalities


Internal Assessment Criteria

• IAC0601 Expected results with Python variables are achieved

1.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

1.4 Exemptions

SP Curr Python Programmer Skills Programme 4 60 Page 29 of 49


• None, but the module can be achieved through RPL

SP Curr Python Programmer Skills Programme 4 60 Page 30 of 49


2. 900221-000-00-PM-02, Use Built-in Python Data Types, NQF Level 4, Credits 8

2.1 Purpose of the Application Module

The focus of the learning in this module is on providing the learner with an opportunity to apply built-in
datatypes appropriately when programming with Python

The learner will be required to:

• PM-02-PS01 : Create, format, modify and delete strings in Python


• PM-02-PS02 : Use numbers in Python
• PM-02-PS03 : Create a float in Python
• PM-02-PS04 : Use double data types in Python
• PM-02-PS05 : Declare a Boolean – true or false
• PM-02-PS06 : Use Python lists to store multiple items in a single variable
• PM-02-PS07 : Use Python tuple to store multiple items in a single variable
• PM-02-PS08 : Use dictionaries in Python to store data values
• PM-02-PS09 : Use Python sets to store multiple items in a single variable
• PM-02-PS10 : Create Arrays in Python
2.2 Guidelines for Practical Skills

2.2.1. PM-02-PS01 : Create, format, modify and delete strings in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0101 Create, format, modify and delete strings in Python


• PA0102 Create strings in Python with single quotes, double quotes, or triple quotes
Applied Knowledge

• AK0101 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0101 Expected results with Python strings are achieved

2.2.2 PM-02-PS02 : Use numbers in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0201 Create an integer, through assigning the integer value in a variable

• PA0202 Create a number with the float data type, through assigning the value into a variable
• PA0203 Check the data type of a variable or data using python’s built-in type() function
• PA0204 Create large numbers in python using the underscore(_)
• PA0205 Add, subtract, multiply, divide
Applied Knowledge

• AK0201 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0201 Expected results with numbers in Python are achieved

SP Curr Python Programmer Skills Programme 4 60 Page 31 of 49


2.2.3. PM-02-PS03 : Create a float in Python
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0301 Create a float


• PA0302 Round floats
• PA0303 Convert a list of strings to a float
• PA0304 Compare floats
• PA0305 Multiply floats
• PA0306 Format floats
• PA0307 Create a list of floats
• PA0308 Add floats
• PA0309 Store a float in an integer
• PA0310 Sum a list of floats
• PA0311 Convert an integer to a float
Applied Knowledge

• AK0301 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0301 Expected results with Python floats are achieved

2.2.4. PM-02-PS04 : Use double data types in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0401 Use double data types in Python


Applied Knowledge

• AK0401 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0401 Expected results with Python double are achieved

2.2.5. PM-02-PS05 : Declare a Boolean – true or false


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0501 Declare a Boolean


• PA0502 Define true or false keywords
• PA0503 Compare two values
• PA0504 Evaluate two variables
• PA0505 Create functions that returns a Boolean Value
Applied Knowledge

• AK0501 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0501 Expected results with Python Boolean are achieved

SP Curr Python Programmer Skills Programme 4 60 Page 32 of 49


2.2.6. PM-02-PS06 : Use Python lists to store multiple items in a single variable
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0601 Create lists


• PA0602 Access list elements
• PA0603 List slicing
• PA0604 Add/Change List Elements
• PA0605 Delete list elements
• PA0606 Find AVERAGE of a List in Python
• PA0607 Remove elements from Python List with [clear, POP, remove, del]
• PA0608 Concatenate variables
Applied Knowledge

• AK0601 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0601 Expected results with Python list are achieved

2.2.7. PM-02-PS07 : Use Python tuple to store multiple items in a single variable
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0701 Pack and unpack tuples


• PA0702 Compare tuples
• PA0703 Use tuples as keys in dictionaries
• PA0704 Delete tuples
• PA0705 Slice tuples
Applied Knowledge

• AK0701 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0701 Expected results with Python tuple are achieved

2.2.8. PM-02-PS08 : Use dictionaries in Python to store data values


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0801 Create a dictionary


• PA0802 Access elements
• PA0803 Add and remove elements
• PA0804 Check if a given key already exists in a dictionary
• PA0805 Add Key/Value Pair
• PA0806 Update dictionary
• PA0807 Merge dictionaries

SP Curr Python Programmer Skills Programme 4 60 Page 33 of 49


Applied Knowledge

• AK0801 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0801 Expected results with Python dictionaries are achieved

2.2.9. PM-02-PS09 : Use Python sets to store multiple items in a single variable
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0901 Create Python sets


• PA0902 Add or remove elements
• PA0903 Sort lists
• PA0904 Determine how many items a set has
• PA0905 Join sets
Applied Knowledge

• AK0901 Concept, definition and functions of Python data types


Internal Assessment Criteria

• IAC0901 Expected results with Python sets are achieved

2.2.10. PM-02-PS10 : Create Arrays in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA1001 Create arrays


• PA1002 Import arrays
• PA1003 Access array elements
• PA1004 Insert elements
• PA1005 Modify elements
• PA1006 Pop an element from array
• PA1007 Delete elements
• PA1008 Search and get the index of a value in an array
• PA1009 Reverse an array
• PA1010 Count the occurrence of a value in array
• PA1011 Traverse an array
Applied Knowledge

• AK1001 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC1001 Expected results with Python arrays are achieved

2.3 Provider Programme Accreditation Criteria

Physical Requirements:

SP Curr Python Programmer Skills Programme 4 60 Page 34 of 49


• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

2.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Python Programmer Skills Programme 4 60 Page 35 of 49


3. 900221-000-00-PM-03, Program with Python, NQF Level 4, Credits 6

3.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to apply functionalities
appropriately when programming with Python

The learner will be required to:

• PM-03-PS01 : Create decisions in Python


• PM-03-PS02 : Use Operators
• PM-03-PS03 : Define functions in Python
• PM-03-PS04 : Declare Date, Time and Calendar
• PM-03-PS05 : Use import, input and output functionalities
3.2 Guidelines for Practical Skills

3.2.1. PM-03-PS01 : Create decisions in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0101 Create decisions in Python using IF statement.


• PA0102 Create decisions in Python using IF…ELSE statement.
• PA0103 Use ELIF to check for multiple expressions.
• PA0104 Create a FOR LOOP in Python
• PA0105 Create a WHILE LOOP in Python
• PA0106 Alter the flow of a loop using break and continue.
• PA0107 Use a pass statement inside a function
Applied Knowledge

• AK0101 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0101 Expected results with Python loops are achieved

3.2.2 PM-03-PS02 : Use Operators


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0201 Perform various arithmetic calculations


• PA0202 Compare values and print the result
• PA0203 Assign values
• PA0204 Combine conditional statements and compare (binary) numbers

• PA0205 Test for membership in a sequence such as lists, strings or tuples


• PA0206 Compare the memory location of two objects
• PA0207 Set priority for which calculation need to be done first in a complex calculation
• PA0208 Use bitwise operators
Applied Knowledge

• AK0201 Concept, definition and functions of Python programming functionalities

SP Curr Python Programmer Skills Programme 4 60 Page 36 of 49


Internal Assessment Criteria

• IAC0201 Expected results with Python operators are achieved

3.2.3. PM-03-PS03 : Define functions in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0301 Define the main function main() in Python


• PA0302 Use the keyword def to declare the function and follow this up with the function
name.
• PA0303 Add parameters to the function
• PA0304 Add statements that the functions should execute
• PA0305 End the function with a return statement if the function should return something.
• PA0306 Use Python functions:
• Lamda (anonymous) function
• Abs() Function: Absolute Value
• Round() function
• Range() function: Float, List, For loop
• Map() function
• Timeit()
• Yield (Generator and Yield vs Return)
• Queue (FIFO, LIFO)
• Counter
• Enumerate() function: (Loop, Tuple, String)
• Time.sleep()
• Type()
• Isinstance()
• New line
• Modules
• Package
• Global, local and nonlocal variables
• Global keyword and global variable
Applied Knowledge

• AK0301 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0301 Expected results with Python functions are achieved

3.2.4. PM-03-PS04 : Declare Date, Time and Calendar


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0401 Import date and time statements


• PA0402 Declare date objects in the main function
• PA0403 Get current date and time
• PA0404 Get current date

SP Curr Python Programmer Skills Programme 4 60 Page 37 of 49


• PA0405 Print year, month, hour, minute and timestamp
• PA0406 Format data and time output with Strftime()
• PA0407 Create a datetime object from the given string with Strptime()
• PA0408 Suspend execution of the current thread for a given number of seconds with Sleep()
• PA0409 Format/edit the calendar
• PA0410 Set calculations for various task based on date, month, and year
Applied Knowledge

• AK0401 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0401 Expected results with Python date, time and calendar are achieved

3.2.5. PM-03-PS05 : Use import, input and output functionalities


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0501 Import modules and use them in the program


• PA0502 Use I/O functions.
• PA0503 Accept user input
Applied Knowledge

• AK0501 Concept, definition and functions of Python programming functionalities


Internal Assessment Criteria

• IAC0501 Expected results with Python import, input and output are achieved

3.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

SP Curr Python Programmer Skills Programme 4 60 Page 38 of 49


• OHS compliance certificate

• Ethical clearance (where necessary)

3.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Python Programmer Skills Programme 4 60 Page 39 of 49


4. 900221-000-00-PM-04, Intermediate Programming with Python, NQF Level 4, Credits 8

4.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to apply intermediate
functionalities appropriately when programming with Python

The learner will be required to:

• PM-04-PS01 : Define classes, functions or methods


• PM-04-PS02 : Use inheritance, polymorphism, encapsulation and abstraction
• PM-04-PS03 : Solve problems using algorithms
• PM-04-PS04 : Handle files
• PM-04-PS05 : Handle exceptions
• PM-04-PS06 : Handle a Database in Python
4.2 Guidelines for Practical Skills

4.2.1. PM-04-PS01 : Define classes, functions or methods


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0101 Use the keyword to define a class


• PA0102 Define functions or methods within the class
• PA0103 Use indentation
• PA0104 Make an object of the class
• PA0105 Call a method in a class
• PA0106 Demonstrate use of inheritance
Applied Knowledge

• AK0101 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

• IAC0101 Expected results with Python OOP are achieved

4.2.2 PM-04-PS02 : Use inheritance, polymorphism, encapsulation and abstraction


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0201 Define a class


• PA0202 Create an object of the class
• PA0203 Use inheritance to create a class which uses all the properties and behaviour of
another class
• PA0204 Implement polymorphism in various ways
• PA0205 Use encapsulation to restrict access to methods and variables and prevent data
from direct modification
• PA0206 Use abstraction to hide internal details and show only functionalities
Applied Knowledge

• AK0201 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

SP Curr Python Programmer Skills Programme 4 60 Page 40 of 49


• IAC0201 Expected results with Python OOP inheritance, polymorphism, encapsulation and
abstraction are achieved

4.2.3. PM-04-PS03 : Solve problems using algorithms


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0301 Solve problems using algorithms:


• Dynamic programming algorithms
• Searching and sorting algorithms
• Mathematical algorithms
• Data structures algorithms
• Flow charts (on paper)
Applied Knowledge

• AK0301 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

• IAC0301 Expected results with Python algorithms are achieved

4.2.4. PM-04-PS04 : Handle files


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0401 Open a text file


• PA0402 Create a text file
• PA0403 Append data to an existing file
• PA0404 Read the ENTIRE contents of a file
• PA0405 Read the content of the file line by line
• PA0406 Write a text file
• PA0407 Check if a file or directory exist
• PA0408 Copy files
• PA0409 Rename a file and directory
• PA0410 Create a Zip file
• PA0411 Write and read a binary file
Applied Knowledge

• AK0401 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

• IAC0401 Expected results with file handling in Python are achieved

4.2.5. PM-04-PS05 : Handle exceptions


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

SP Curr Python Programmer Skills Programme 4 60 Page 41 of 49


• PA0501 Catch and handle exceptions
Applied Knowledge

• AK0501 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

• IAC0501 Expected results with Python exception handling are achieved

4.2.6. PM-04-PS06 : Handle a Database in Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0601 Interact with database


• Establish a connection to database of choice
• Create a cursor to communicate with the data
• Manipulate the data using SQL (interact)
o Insert
o Select
o Update
o Delete
• Commit the changes and make them permanent (commit), or
• Rollback and abort manipulations thus returning the data to the state before
the interactions occurred
• Close the connection to the database
• PA0602 Browse the database
Applied Knowledge

• AK0601 Concept, definition and functions of intermediate Python programming principles


Internal Assessment Criteria

• IAC0601 Expected results with Python database handling are achieved

4.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

SP Curr Python Programmer Skills Programme 4 60 Page 42 of 49


Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

4.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Python Programmer Skills Programme 4 60 Page 43 of 49


5. 900221-000-00-PM-05, Getting Started with REST API and GUI, NQF Level 4, Credits 4

5.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to utilise the REST
API and GUI functions in Python programming

The learner will be required to:

• PM-05-PS01 : Start using API with Python


• PM-05-PS02 : Get started with GUI platform
5.2 Guidelines for Practical Skills

5.2.1. PM-05-PS01 : Start using API with Python


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0101 Get an API key


• PA0102 Test API endpoints
• PA0103 Retrieve information – GET
• PA0104 Add new data to the server – POST
• PA0105 Change existing information – PUT
• PA0106 Delete existing information – DELETE
• PA0107 View the status codes of the response
• PA0108 Generate a Python snippet
Applied Knowledge

• AK0101 Concept, definition and functions of REST API


Internal Assessment Criteria

• IAC0101 Expected results with Python REST API are achieved

5.2.2 PM-05-PS02 : Get started with GUI platform


Scope of Application Topic:

Given an applicable instruction and access to a learning platform, the learner must be able to:

• PA0201 Import selected module


• PA0202 Create the GUI application main window
• PA0203 Add one or more widgets to the GUI application
• PA0204 Enter the main event loop to take action against each event triggered by the user
• PA0205 Use widgets to construct a GUI
Applied Knowledge

• AK0201 Concept, definition and functions of GUI


Internal Assessment Criteria

• IAC0201 Expected results with Python GUI are achieved

5.3 Provider Programme Accreditation Criteria

SP Curr Python Programmer Skills Programme 4 60 Page 44 of 49


Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

5.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Python Programmer Skills Programme 4 60 Page 45 of 49


6. 900221-000-00-PM-06, Use Cases with Python, NQF Level 4, Credits 11

6.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to complete use cases
using Python programming language

The learner will be required to:

• PM-06-PS01 : Python exercises may be conducted at the end of the skills programme or
may be integrated into learning at the end of the applicable module/section
• PM-06-PS02 : Python exercises may be conducted at the end of the skills programme or
may be integrated into learning at the end of the applicable module/section
• PM-06-PS03 : Use a known framework (of own preference) with functions to build a game
• PM-06-PS04 :Use a known framework (of own preference) with functions to assemble a
complete solution applying all the below aspects given contextualised
context within a specific sector
6.2 Guidelines for Practical Skills

6.2.1. PM-06-PS01 : Python exercises may be conducted at the end of the skills programme
or may be integrated into learning at the end of the applicable
module/section
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, connected to framework/ environment of
own choice, the learner must be able to:

• PA0101 Use DML commands with python


• PA0102 Understand Python Data Types
• PA0103 Use Python's Predefined String Functions
• PA0104 Master Python key concepts
• PA0105 Manipulate strings and data
• PA0106 Create and execute custom functions
• PA0107 Create, sort and modify Python lists
• PA0108 Deal with error handling in Python
• PA0109 Convert decimals
Applied Knowledge

• AK0101 Concept, definition and functions of Python programming principles

Internal Assessment Criteria

• IAC0101 Expected results are achieved

6.2.2 PM-06-PS02 : Python exercises may be conducted at the end of the skills programme
or may be integrated into learning at the end of the applicable
module/section
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, connected to framework/ environment of
own choice, the learner must be able to:

• PA0201 Build a:
• Alarm clock

SP Curr Python Programmer Skills Programme 4 60 Page 46 of 49


• Calculation of compounded interest
• A GST (good service tax) calculator (GUI)
• Language translator
• Contact book
• Create a scientific calculator in python
Applied Knowledge

• AK0201 Concept, definition and functions of Python programming principles

Internal Assessment Criteria

• IAC0201 Expected results are achieved

6.2.3. PM-06-PS03 : Use a known framework (of own preference) with functions to build a
game
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, connected to framework/ environment of
own choice, the learner must be able to:

• PA0301 Build a basic game using Python (compulsory)


• Python 2048 Game
• Number guessing game
• Etc.
Applied Knowledge

• AK0301 Concept, definition and functions of Python programming principles


Internal Assessment Criteria

• IAC0301 Expected results are achieved and the basic game is operable

6.2.4. PM-06-PS04 : Use a known framework (of own preference) with functions to assemble
a complete solution applying all the below aspects given contextualised
context within a specific sector
Scope of Application Topic:

Given an applicable instruction and access to a learning platform, connected to framework/ environment of
own choice, the learner must be able to:

• PA0401 Build a GUI application using Python (compulsory) which encompass any of these
below:
• Build a scientific calculator using Python
• Digital phone book directory
Applied Knowledge

• AK0401 Concept, definition and functions of Python programming principles


Internal Assessment Criteria

• IAC0401 Expected results are achieved and the basic GUI application is operable

6.3 Provider Programme Accreditation Criteria

SP Curr Python Programmer Skills Programme 4 60 Page 47 of 49


Physical Requirements:

• Valid licenses software and application, including OS

• Internet connection and hardware availability

• Examples and information specified in the scope statement and all the case studies, scenarios and
access to hardware and software implied in the scope statements of the modules

• Remote learners: Provider must provide business IT simulation system (e.g. invoice processing)

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

• Legal (product) licences to use the software for learning and training

• OHS compliance certificate

• Ethical clearance (where necessary)

6.4 Exemptions

• None, but the module can be achieved through RPL

NOTES SECTION:

Sources:

https://code.tutsplus.com/tutorials/database-handling-in-python--cms-25645

https://code-projects.org/scientific-calculator-in-python-with-source-code/

https://opensource.com/resources/python/gui-frameworks

https://techvidvan.com/tutorials/python-projects/

https://www.edureka.co/blog/python-main-function/

https://www.edureka.co/python-programming-certification-training

https://www.guru99.com/python-tutorials.html

https://www.programiz.com/python-programming

https://www.tutorialspoint.com/python_data_structure/python_algorithm_design.htm

https://www.udemy.com/course/learn-python-from-basic-to-
advance/?utm_source=adwords&utm_medium=udemyads&utm_campaign=DSA_Catchall_la.EN_cc.ROW&

SP Curr Python Programmer Skills Programme 4 60 Page 48 of 49


utm_content=deal4584&utm_term=_._ag_88010211481_._ad_535397282061_._kw__._de_c_._dm__._pl__
._ti_dsa-93451758763_._li_1028682_._pd__._&matchtype=b&gclid=CjwKCAjw-ZCKBhBkEiwAM4qfF--
PEg59JIT5FJYcpLTxj-adM0Rwbaj9bTmkB26iVOHkugi0wfaWxxoCp2wQAvD_BwE

https://www.w3schools.com/python/python_sets.asp

SP Curr Python Programmer Skills Programme 4 60 Page 49 of 49

You might also like