You are on page 1of 184

Curriculum Document

Curriculum Code Curriculum Title

251201005 Occupational Certificate: Software


Developer

Name Email Phone Logo

Development Quality MICT SETA Matome.Madibana 011-2072600


Partner @mict.org.za

______________________ ______________________

Learner QDF Signature Date

______________________ ______________________

QDF Signature Date

______________________ ______________________

DQP Representative Signature Date

251201005 - Occupational Certificate: Software Developer Page 1 of 184


Table of content

SECTION 1: CURRICULUM SUMMARY ..........................................................................................................4


SECTION 2: OCCUPATIONAL PROFILE .........................................................................................................7
SECTION 3: CURRICULUM COMPONENT SPECIFICATIONS .......................................................................9
SECTION 3A: KNOWLEDGE MODULE SPECIFICATIONS ..........................................................................9
1. 251201-005-00-KM-01, Computers and Computing Systems, NQF Level 4, Credits 12 .................... 10
2. 251201-005-00-KM-02, Desktop and Professional Software to Communicate and Visualise
Information, NQF Level 4, Credits 8 ......................................................................................................... 19
3. 251201-005-00-KM-03, Automated Webscraping as a Data Source, NQF Level 4, Credits 8 ............ 23
4. 251201-005-00-KM-04, Logical Thinking and Basic Calculations, NQF Level 4, Credits 2................. 27
5. 251201-005-00-KM-05, Computing Theory, NQF Level 4, Credits 2 ................................................... 32
6. 251201-005-00-KM-06, Software Development with HTML5, Opensource Frameworks and Libraries,
NQF Level 5, Credits 16 ........................................................................................................................... 34
7. 251201-005-00-KM-07, UML as Standard Modelling Language for Software and Systems
Development, NQF Level 5, Credits 4...................................................................................................... 39
8. 251201-005-00-KM-08, Obtaining, Querying, Manipulating and Presenting Data with and without
MVC, NQF Level 5, Credits 6 ................................................................................................................... 46
9. 251201-005-00-KM-09, Software Development Life Cycle, Programming Languages, Algorithms and
Security, NQF Level 5, Credits 3 .............................................................................................................. 50
10. 251201-005-00-KM-10, Introduction to Software Developer Governance, Legislation and Ethics,
NQF Level 4, Credits 2 ............................................................................................................................. 60
11. 251201-005-00-KM-11, 4IR and Future Skills, NQF Level 4, Credits 2 ............................................. 65
12. 251201-005-00-KM-12, Design Thinking Principles for Innovation, NQF Level 4, Credits 1 ............. 73
SECTION 3B: PRACTICAL SKILLS MODULE SPECIFICATIONS ............................................................ 77
1. 251201-005-00-PM-01, Use Software to Communicate and Visualise Information, NQF Level 4,
Credits 3 ................................................................................................................................................... 78
2. 251201-005-00-PM-02, Use and Manage Spreadsheets and Workbooks, NQF Level 4, Credits 3 ... 82
3. 251201-005-00-PM-03, Use Desktop Applications to Analyse, Visualise and report on Data, NQF
Level 5, Credits 3...................................................................................................................................... 86
4. 251201-005-00-PM-04, Use a Visual Analytics Platform and Visualisation Tools to Analyse, Visualise
and report on Data, NQF Level 5, Credits 3 ............................................................................................. 92
5. 251201-005-00-PM-05, Query and Massage Data, NQF Level 5, Credits 3 ....................................... 96
6. 251201-005-00-PM-06, Apply Logical Thinking and Maths, NQF Level 4, Credits 3 ........................ 105
7. 251201-005-00-PM-07, Apply Code to use a Software Toolkit/Platform in the Field of Study or
Employment, NQF Level 5, Credits 3 ..................................................................................................... 110
8. 251201-005-00-PM-08, Develop Software using HTML5, Opensource Frameworks and Libraries,
NQF Level 5, Credits 16 ......................................................................................................................... 118
9. 251201-005-00-PM-09, Design and Build Web Applications, Desktop Graphical User Interfaces or
Mobile Apps, NQF Level 5, Credits 8 ..................................................................................................... 126
10. 251201-005-00-PM-10, Use a Cloud Automation Platform to Create Solutions, NQF Level 4, Credits
8 .............................................................................................................................................................. 136

251201005 - Occupational Certificate: Software Developer Page 2 of 184


11. 251201-005-00-PM-11, Develop Software using Python, NQF Level 5, Credits 12 ........................ 140
12. 251201-005-00-PM-12, Apply the Development Cycle when Developing Software, NQF Level 5,
Credits 16 ............................................................................................................................................... 144
13. 251201-005-00-PM-13, Participate in a Design Thinking for Innovation Workshop, NQF Level 4,
Credits 4 ................................................................................................................................................. 151
14. 251201-005-00-PM-14, Function Ethically and Effectively in a Team, NQF Level 4, Credits 4 ...... 153
SECTION 3C: WORK EXPERIENCE MODULE SPECIFICATIONS ........................................................ 157
1. 251201-005-00-WM-01, Technical Requirement Analysis and Refinement, NQF Level 5, Credits 15
................................................................................................................................................................ 158
2. 251201-005-00-WM-02, Modelling Processes, NQF Level 5, Credits 15 .......................................... 161
3. 251201-005-00-WM-03, Programming for Software Solution Development, NQF Level 5, Credits 25
................................................................................................................................................................ 164
4. 251201-005-00-WM-04, Capstone Project, NQF Level 5, Credits 10................................................ 168
SECTION 4: STATEMENT OF WORK EXPERIENCE ................................................................................. 172

251201005 - Occupational Certificate: Software Developer Page 3 of 184


SECTION 1: CURRICULUM SUMMARY

1. Occupational Information

1.1 Associated Occupation

251201: Software Developer

1.2 Occupation or Specialisation Addressed by this Curriculum

251201005: Software Developer

1.3 Alternative Titles used by Industry

 Applications developer
 ICT Programmer
 Front-end developer
 Back-end developer
 Full-stack developer

2. Curriculum Information

2.1 Curriculum Structure

This qualification is made up of the following compulsory Knowledge and Practical Skills Modules:

Knowledge Modules:

 251201005-KM-01, Computers and Computing Systems, NQF Level 4, Credits 12

 251201005-KM-02, Desktop and Professional Software to Communicate and Visualise Information,


NQF Level 4, Credits 8

 251201005-KM-03, Automated Webscraping as a Data Source, NQF Level 5, Credits 8

 251201005-KM-04, Logical Thinking and Basic Calculations, NQF Level 4, Credits 2

 251201005-KM-05, Computing Theory, NQF Level 4, Credits 2

 251201005-KM-06, Software Development with HTML5, Opensource Frameworks and Libraries,


NQF Level 5, Credits 16

 251201005-KM-07, UML as Standard Modelling Language for Software and Systems Development,
NQF Level 5, Credits 4

 251201005-KM-08, Obtaining, Querying, Manipulating and Presenting Data with and without MVC,
NQF Level 5, Credits 6

 251201005-KM-09, Software Development Life Cycle, Programming Languages, Algorithms and


Security, NQF Level 5, Credits 3

 251201005-KM-10, Introduction to Software Developer Governance, Legislation and Ethics, NQF


Level 4, Credits 2

 251201005-KM-11, 4IR and Future Skills, NQF Level 4, Credits 2

251201005 - Occupational Certificate: Software Developer Page 4 of 184


 251201005-KM-12, Design Thinking Principles for Innovation, NQF Level 4, Credits 1

Total number of credits for Knowledge Modules: 66

Practical Skills Modules:

 251201005-PM-01, Use Software to Communicate and Visualise Information, NQF Level 4, Credits
3

 251201005-PM-02, Use and Manage Spreadsheets and Workbooks, NQF Level 4, Credits 3

 251201005-PM-03, Use Desktop Applications to Analyse, Visualise and report on Data, NQF Level
5, Credits 3

 251201005-PM-04, Use a Visual Analytics Platform and Visualisation Tools to Analyse, Visualise
and report on Data, NQF Level 5, Credits 3

 251201005-PM-05, Query and Massage Data, NQF Level 5, Credits 3

 251201005-PM-06, Apply Logical Thinking and Maths, NQF Level 4, Credits 3

 251201005-PM-07, Apply Code to use a Software Toolkit/Platform in the Field of Study or


Employment, NQF Level 5, Credits 3

 251201005-PM-08, Develop Software using HTML5, Opensource Frameworks and Libraries, NQF
Level 5, Credits 16

 251201005-PM-09, Design and Build Web Applications, Desktop Graphical User Interfaces or
Mobile Apps, NQF Level 5, Credits 8

 251201005-PM-10, Use a Cloud Automation Platform to Create Solutions, NQF Level 4, Credits 8

 251201005-PM-11, Develop Software using Python, NQF Level 5, Credits 12

 251201005-PM-12, Apply the Development Cycle when Developing Software, NQF Level 5, Credits
16

 251201005-PM-13, Participate in a Design Thinking for Innovation Workshop, NQF Level 4, Credits
4

 251201005-PM-14, Function Ethically and Effectively in a Team, NQF Level 4, Credits 4

Total number of credits for Practical Skills Modules: 89

This qualification also requires the following Work Experience Modules:

 251201005-WM-01, Technical Requirement Analysis and Refinement, NQF Level 5, Credits 15

 251201005-WM-02, Modelling Processes, NQF Level 5, Credits 15

 251201005-WM-03, Programming for Software Solution Development, NQF Level 5, Credits 25

 251201005-WM-04, Capstone project, NQF Level 5, Credits 10

Total number of credits for Work Experience Modules: 65

2.2 Entry Requirements

251201005 - Occupational Certificate: Software Developer Page 5 of 184


NQF 4

3. Assessment Quality Partner Information

Name of body: MICT Seta

Address of body: 19 Richards Dr, Halfway House, Midrand, 1685

Contact person name: Gugu Sema

Contact person work telephone number: 011-2072600

4. Part Qualification Curriculum Structure

None

251201005 - Occupational Certificate: Software Developer Page 6 of 184


SECTION 2: OCCUPATIONAL PROFILE

1. Occupational Purpose

A Software Developer analyses a set of requirements, translates these into a working software solution using
a programming language. They test, implement and maintain software applications to meet client
specifications as well as functional and technical requirements

2. Occupational Tasks

 Interrogate the specification and problem and interpret it into code and articulate in writing (NQF
Level 5)

 Build a logical flow using the framework and methodologies at their disposal to propose possible
solutions to business challenges (NQF Level 5)

 Programme effectively using a suitable programming language to develop and test new solutions
and update existing solutions (NQF Level 5)

3. Occupational Task Details

3.1. Interrogate the specification and problem and interpret it into code and articulate in writing (NQF
Level 5)

Unique Product or Service:

 Refined technical requirements

Occupational Responsibilities:

 Apply the Development Cycle when Developing Software

Occupational Contexts:

 Technical Requirement Analysis and Refinement

3.2. Build a logical flow using the framework and methodologies at their disposal to propose
possible solutions to business challenges (NQF Level 5)

Unique Product or Service:

 Business model

Occupational Responsibilities:

 Apply the Development Cycle when Developing Software

Occupational Contexts:

 Modelling process

3.3. Programme effectively using a suitable programming language to develop and test new
solutions and update existing solutions (NQF Level 5)

251201005 - Occupational Certificate: Software Developer Page 7 of 184


Unique Product or Service:

 Software solution

Occupational Responsibilities:

 Apply the Development Cycle when Developing Software

Occupational Contexts:

 Programming for Software Solution Development

251201005 - Occupational Certificate: Software Developer Page 8 of 184


SECTION 3: CURRICULUM COMPONENT SPECIFICATIONS

SECTION 3A: KNOWLEDGE MODULE SPECIFICATIONS

List of Knowledge Modules for which Specifications are included

Knowledge 251201-005- Computers and Computing Systems 4 12


00-KM-01
Knowledge 251201-005- Desktop and Professional Software to 4 8
00-KM-02 Communicate and Visualise Information
Knowledge 251201-005- Automated Webscraping as a Data Source 4 8
00-KM-03
Knowledge 251201-005- Logical Thinking and Basic Calculations 4 2
00-KM-04
Knowledge 251201-005- Computing Theory 4 2
00-KM-05
Knowledge 251201-005- Software Development with HTML5, 5 16
00-KM-06 Opensource Frameworks and Libraries
Knowledge 251201-005- UML as Standard Modelling Language for 5 4
00-KM-07 Software and Systems Development
Knowledge 251201-005- Obtaining, Querying, Manipulating and 5 6
00-KM-08 Presenting Data with and without MVC
Knowledge 251201-005- Software Development Life Cycle, 5 3
00-KM-09 Programming Languages, Algorithms and
Security
Knowledge 251201-005- Introduction to Software Developer 4 2
00-KM-10 Governance, Legislation and Ethics
Knowledge 251201-005- 4IR and Future Skills 4 2
00-KM-11
Knowledge 251201-005- Design Thinking Principles for Innovation 4 1
00-KM-12

251201005 - Occupational Certificate: Software Developer Page 9 of 184


1. 251201-005-00-KM-01, Computers and Computing Systems, NQF Level 4, Credits 12

1.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of what computers can
do and the processes that make them function in terms of the four major parts: input, output, CPU (central
processing unit) and memory. It gives an overview of networks and connectivity as well as security issues
pertaining to IT ecosystems

The learning will enable learners to demonstrate an understanding of:

 KM-01-KT01 : Problem solving skills for IT Professionals 5%


 KM-01-KT02 : Techniques for safety 5%
 KM-01-KT03 : System components 5%
 KM-01-KT04 : Motherboards 5%
 KM-01-KT05 : Processors 5%
 KM-01-KT06 : Memory 5%
 KM-01-KT07 : BIOS and CMOS 5%
 KM-01-KT08 : Hard drives and storage devices 5%
 KM-01-KT09 : Power supplies and voltage 5%
 KM-01-KT10 : Ports, cables, and connectors 2%
 KM-01-KT11 : Networking and network operating systems 5%
 KM-01-KT12 : Networking and wireless connections 3%
 KM-01-KT13 : Input and output devices 3%
 KM-01-KT14 : Installing and managing printers 2%
 KM-01-KT15 : Mobile devices, multimedia, and laptop computers 2%
 KM-01-KT16 : Preventative maintenance 2%
 KM-01-KT17 : Troubleshooting procedures 2%
 KM-01-KT18 : Operating systems 5%
 KM-01-KT19 : Managing files 2%
 KM-01-KT20 : Applications utility, troubleshooting, and optimization 2%
 KM-01-KT21 : Configuring device drivers 5%
 KM-01-KT22 : Recovery 5%
 KM-01-KT23 : Cloud computing 5%
 KM-01-KT24 : Security fundamentals 5%
 KM-01-KT25 : Programming and development 5%
1.2 Guidelines for Topics

1.2.1 KM-01-KT01 : Problem solving skills for IT Professionals 5%


Topic elements to be covered include:

 KT0101 Identification of the problem


 KT0102 Establishing a probable cause
 KT0103 Testing to determine the cause
 KT0104 Establishing a plan to resolve the problem
 KT0105 Implementing your solution
 KT0106 Verifying functionality
 KT0107 Implementing preventative measures
 KT0108 Documenting results
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 10 of 184


 IAC0101 Problem-solving steps and the application thereof are explained

(Weight 5%)

1.2.2 KM-01-KT02 : Techniques for safety 5%


Topic elements to be covered include:

 KT0201 Personal protective equipment


 KT0202 Chemicals
 KT0203 Cables
 KT0204 Hazards (Tripping, electrical, fire, jewellery, etc.)
 KT0205 Environmental risks
 KT0206 Ergonomics and lifting techniques
Internal Assessment Criteria and Weight

 IAC0201 Proper techniques for handling computer components for the safety and the longevity of
the hardware are identified and described
(Weight 5%)

1.2.3 KM-01-KT03 : System components 5%


Topic elements to be covered include:

 KT0301 Storage devices such as hard drives, magnetic tapes, flash drives
 KT0302 Solid-state drives such as IDE, SATA, and SCSI
 KT0303 Processors and CPUs, processing speeds, operating systems, and controls
Internal Assessment Criteria and Weight

 IAC0301 Various types of system components are identified and described


(Weight 5%)

1.2.4 KM-01-KT04 : Motherboards 5%


Topic elements to be covered include:

 KT0401 Function of motherboard


 KT0402 Location of primary components
 KT0403 Motherboard chipsets, audio connections, drive activity light, the power light, on/off
buttons, and USB connections
Internal Assessment Criteria and Weight

 IAC0401 Understanding of motherboards, primary components and related aspects is


demonstrated
(Weight 5%)

1.2.5 KM-01-KT05 : Processors 5%


Topic elements to be covered include:

 KT0501 Processors

251201005 - Occupational Certificate: Software Developer Page 11 of 184


 KT0502 Terminology
 KT0503 Processor speeds in megahertz and gigahertz
 KT0504 Architecture, including registers, cache memory, virtualization, graphics processing units,
throttling, and overclocking
Internal Assessment Criteria and Weight

 IAC0501 Understanding of processers and related aspects is demonstrated


(Weight 5%)

1.2.6 KM-01-KT06 : Memory 5%


Topic elements to be covered include:

 KT0601 Types of memory: RAM and ROM including DRAM, SRAM, CMOS RAM, and VRAM
 KT0602 Purpose of memory
Internal Assessment Criteria and Weight

 IAC0601 Purpose of memory and how it relates to computer components is described


(Weight 5%)

1.2.7 KM-01-KT07 : BIOS and CMOS 5%


Topic elements to be covered include:

 KT0701 BIOS: Basic Input-Output System that runs a computer


 KT0702 Upgrade BIOS
 KT0703 Potential issues
 KT0704 CMOS: Complementary Metal Oxide Semiconductor
 KT0705 CMOS setup, settings, and access
Internal Assessment Criteria and Weight

 IAC0701 Understanding of BIOS and CMOS operations is demonstrated


(Weight 5%)

1.2.8 KM-01-KT08 : Hard drives and storage devices 5%


Topic elements to be covered include:

 KT0801 Hard drives and storage devices


 KT0802 Installing discs, formatting discs, partitioning discs, troubleshooting disks, as well as IDE,
SCSI, and SATA
 KT0803 Parts of a hard disk, such as platters, tracks, sectors, clusters, and cylinders
 KT0804 Installing IDE devices
Internal Assessment Criteria and Weight

 IAC0801 An understanding of hard drives and storage devices and components is demonstrated
 IAC0802 Installing procedures are explained
(Weight 5%)

1.2.9 KM-01-KT09 : Power supplies and voltage 5%

251201005 - Occupational Certificate: Software Developer Page 12 of 184


Topic elements to be covered include:

 KT0901 Power supply units, uninterruptible power supplies


 KT0902 Identifying power supplies
 KT0903 Amps, ohms, volts, and watts
 KT0904 Affecting system hardware and components
Internal Assessment Criteria and Weight

 IAC0901 Power supply and the effect on system hardware and components are explained
(Weight 5%)

1.2.10 KM-01-KT10 : Ports, cables, and connectors 2%


Topic elements to be covered include:

 KT1001 Ports, cables, and connectors


 KT1002 Power supply units, uninterruptible power supplies, and identifying power supplies
 KT1003 Conversion of voltage, overcurrent protection, input supply voltage, DC voltage
regulation, input under-voltage, and Energy Star designation
Internal Assessment Criteria and Weight

 IAC1001 An understanding of ports, cables, and connectors and the effect of voltage are
demonstrated
(Weight 2%)

1.2.11 KM-01-KT11 : Networking and network operating systems 5%


Topic elements to be covered include:

 KT1101 Connect to a LAN using WiFi


 KT1102 Connect to a Lan using Lan Cable
 KT1103 Checking Network Card for Connectivity
 KT1104 Connecting to WAN/Internet via Dongle
 KT1105 Connect to WAN/Internet via HotSpot
 KT1106 Sharing a Network Connection
 KT1107 Sharing a Folder across a network
 KT1108 Client/Server Environment
 KT1109 Domain vs Computer Authentication
 KT1110 Single Sign-On
 KT1111 Network File Shares
 KT1112 LAN vs WAN vs Cloud
 KT1113 Securing your identity
Internal Assessment Criteria and Weight

 IAC1101 An understanding of LAN/WAN Connectivity


 IAC1102 An Understanding of WiFi USB Dongles
 IAC1103 An understanding of networking from a User Perspective
 IAC1104 An understanding of using local department or team level networks for collaboration
 IAC1105 A fundamental understanding of network security
 IAC1106 An understanding of secure collaboration across the internet

251201005 - Occupational Certificate: Software Developer Page 13 of 184


(Weight 5%)

1.2.12 KM-01-KT12 : Networking and wireless connections 3%


Topic elements to be covered include:

 KT1201 Peer-to-peer networks and server networks


 KT1202 Common functionality of server networks
 KT1203 Networking devices including network interface cards, repeaters, bridges, routers,
gateways, hubs, and switches
Internal Assessment Criteria and Weight

 IAC1201 Networking and wireless connections are discussed with reference to types and
functionality
(Weight 3%)

1.2.13 KM-01-KT13 : Input and output devices 3%


Topic elements to be covered include:

 KT1301 Input devices and function


 KT1302 Output devices and function
 KT1303 Keyboards, mouses, and touchscreens
Internal Assessment Criteria and Weight

 IAC1301 Input and output devices are identified and the respective functions are explained
(Weight 3%)

1.2.14 KM-01-KT14 : Installing and managing printers 2%


Topic elements to be covered include:

 KT1401 Types of printers


 KT1402 Installing and managing printers
 KT1403 Drivers, paper feed, networking, and user error
Internal Assessment Criteria and Weight

 IAC1401 An understanding of types of printers, installing printers and dealing with problems is
demonstrated
(Weight 2%)

1.2.15 KM-01-KT15 : Mobile devices, multimedia, and laptop computers 2%


Topic elements to be covered include:

 KT1501Mobile devices
 KT1502Multimedia
 KT1503Laptop computers
 KT1504Troubleshooting common problems: battery or power supply issues, verifying
connections, checking the wireless switch, and verifying software configuration
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 14 of 184


 IAC1501 The respective functions of mobile devices, multimedia, and laptop computers are
identified
 IAC1502 Common problems are listed
 IAC1503 Troubleshooting procedures are explained
(Weight 2%)

1.2.16 KM-01-KT16 : Preventative maintenance 2%


Topic elements to be covered include:

 KT1601Purpose of preventive maintenance


 KT1602Benefits
 KT1603Prevent data loss
 KT1604Improve performance
 KT1605Preventive tasks: e.g. Updating virus and malware detectors, backing up data,
defragmenting drives, etc.
Internal Assessment Criteria and Weight

 IAC1601 The importance of preventative maintenance is justified


 IAC1602 The purpose and benefits of preventative maintenance is explained
 IAC1603 Preventative procedures are explained
(Weight 2%)

1.2.17 KM-01-KT17 : Troubleshooting procedures 2%


Topic elements to be covered include:

 KT1701 Troubleshooting process


 KT1702 Hardware tools required
 KT1703 Software tools e.g. boot disks and system rescue, etc.
Internal Assessment Criteria and Weight

 IAC1701 Troubleshooting procedures are explained


 IAC1702 Hardware and software tools and the respective functions are described
(Weight 2%)

1.2.18 KM-01-KT18 : Operating systems 5%


Topic elements to be covered include:

 KT1801 Functions of an operating system: e.g. managing hardware, resources, data, and making
user interaction easy through the use of a graphical user interface (GUI)
 KT1802 Big three operating systems: Windows, Linux, and Mac
 KT1803 Control panel
 KT1804 Remote assistance
 KT1805 OS command prompt
 KT1806 OS migration
 KT1807 OS configurations
Internal Assessment Criteria and Weight

 IAC1801 An understanding of operating systems is demonstrated

251201005 - Occupational Certificate: Software Developer Page 15 of 184


(Weight 5%)

1.2.19 KM-01-KT19 : Managing files 2%


Topic elements to be covered include:

 KT1901 Files and directories, naming conventions, and the File Allocation Table (FAT)
 KT1902 Common executable file extensions, such as batch files, command files, and power shell
scripts and purpose
 KT1903 Copying, moving, deleting and archiving (ZIP) files and folders
Internal Assessment Criteria and Weight

 IAC1901 Types of files and the respective purposes are identified


(Weight 2%)

1.2.20 KM-01-KT20 : Applications utility, troubleshooting, and optimization 2%


Topic elements to be covered include:

 KT2001 Upgrade and remove applications from computers


 KT2002 New installs through disc or internet download
 KT2003 Common processes for downloading and removing software
 KT2004 Troubleshooting
 KT2005 Optimisation
Internal Assessment Criteria and Weight

 IAC2001 Procedures for installing and removing utilities are described


(Weight 2%)

1.2.21 KM-01-KT21 : Configuring device drivers 5%


Topic elements to be covered include:

 KT2101 Configuring device drivers


 KT2102 Changing device settings
 KT2103 Updating drivers
 KT2104 Removing device drivers
 KT2105 Plug-and-play devices
 KT2106 Device failure
 KT2107 System restore points
Internal Assessment Criteria and Weight

 IAC2101 Considerations for configuring device drivers are reasoned


(Weight 5%)

1.2.22 KM-01-KT22 : Recovery 5%


Topic elements to be covered include:

 KT2201 Recovering systems and disaster recovery


 KT2202 Process for disaster recovery

251201005 - Occupational Certificate: Software Developer Page 16 of 184


 KT2203 Expecting things to go wrong
 KT2204 Using boot logs to troubleshoot problems
 KT2205 Process for booting a system into safe mode
 KT2206 Emergency repair
 KT2207 Factory repair partitions
 KT2208 Startup repair
 KT2209 System image recovery
Internal Assessment Criteria and Weight

 IAC2201 Recovery processes are identified and application is described


(Weight 5%)

1.2.23 KM-01-KT23 : Cloud computing 5%


Topic elements to be covered include:

 KT2301 Network or internet connection


 KT2302 Manipulate, collate, configure, and access applications online
 KT2303 Providing support infrastructure, applications, and data storage
 KT2304 Benefits and risks to cloud computing as well as cloud characteristics
 KT2305 Cloud storage
Internal Assessment Criteria and Weight

 IAC2301 Cloud computing functionality, benefits and risks are identified and described
(Weight 5%)

1.2.24 KM-01-KT24 : Security fundamentals 5%


Topic elements to be covered include:

 KT2401 Business continuity


 KT2402 Disaster recovery planning
 KT2403 Application development security
 KT2404 Access control
 KT2405 Information security governance
 KT2406 Risk management
 KT2407 Operation security
 KT2408 Physical security
 KT2409 Network security
Internal Assessment Criteria and Weight

 IAC2401 Typical security risks are listed


 IAC2402 The importance of counter measures is justified
(Weight 5%)

1.2.25 KM-01-KT25 : Programming and development 5%


Topic elements to be covered include:

 KT2501 Software development


 KT2502 Game development

251201005 - Occupational Certificate: Software Developer Page 17 of 184


 KT2503 Software tools
 KT2504 Mobile Apps
 KT2505 Internet of things
Internal Assessment Criteria and Weight

 IAC2501 Various software developments are listed


(Weight 5%)

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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

1.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 18 of 184


2. 251201-005-00-KM-02, Desktop and Professional Software to Communicate and Visualise
Information, NQF Level 4, Credits 8

2.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the functioning and
purpose of information, computer technology and computer hardware units. The learning of this module will
also enable the learner to acquire an understanding of the principles of electronic communication and the
operation and functioning of soft-ware packages, including the design of presentations

The learning will enable learners to demonstrate an understanding of:

 KM-02-KT01 : Electronic Communication 15%


 KM-02-KT02 : Software Apps for office use 15%
 KM-02-KT03 : Operating a software package 15%
 KM-02-KT04 : Text documents using an appropriate software package 40%
 KM-02-KT05 : Presentations using and appropriate software package 15%
2.2 Guidelines for Topics

2.2.1 KM-02-KT01 : Electronic Communication 15%


Topic elements to be covered include:

 KT0101 Internet
 KT0102 Web sites
 KT0103 Internet service providers
 KT0104 Electronic mail
 KT0105 Internet forums
 KT0106 Digital learning
 KT0107 Virtual communication: virtual meetings, virtual workshops, conferencing, etc.
Internal Assessment Criteria and Weight

 IAC0101 Electronic communication options are identified and the purposes thereof are described
and applied

 IAC0102 The use of and accessing the internet, websites, electronic email, internet forums, digital
learning and virtualisation is demonstrated

(Weight 15%)

2.2.2 KM-02-KT02 : Software Apps for office use 15%


Topic elements to be covered include:

 KT0201 Electronic text documents

 KT0202 Electronic spreadsheets

 KT0203 Electronic desktop databases

 KT0204 Electronic presentation tools

 KT0205 Internet access

251201005 - Occupational Certificate: Software Developer Page 19 of 184


 KT0206 Electronic written communication

 KT0207 Electronic meetings

 KT0208 Electronic seminars

Internal Assessment Criteria and Weight

 IAC0201 Software packages for office use are identified and the purposes thereof are described and
applied

 IAC0202 The use of software packages applicable to the workplace is demonstrated

(Weight 15%)

2.2.3 KM-02-KT03 : Operating a software package 15%


Topic elements to be covered include:

 KT0301 Create new folders


 KT0302 Move files
 KT0303 Format diskettes
 KT0304 Copy files
 KT0305 Open files and folders
 KT0306 Create folders and files
 KT0307 Undo commands
 KT0308 Find files
 KT0309 Recycle bin
Internal Assessment Criteria and Weight

 IAC0301 Ways to systemise and optimise operations on a computer are identified and applied

 IAC0302 An ability to systemise and optimise operations on a computer is demonstrated

(Weight 15%)

2.2.4 KM-02-KT04 : Text documents using an appropriate software package 40%


Topic elements to be covered include:

 KT0401 Select text


 KT0402 Replace text
 KT0403 Insert text
 KT0404 Insert and format page numbers across sections
 KT0405 Format text
 KT0406 Format paragraphs
 KT0407 Format stylesheets
 KT0408 Format page layouts
 KT0409 Find and replace text
 KT0410 Align text
 KT0411 Use tabs
 KT0412 Insert special symbols

251201005 - Occupational Certificate: Software Developer Page 20 of 184


 KT0413 Move, cut and paste text
 KT0414 Format size and appearance of text
 KT0415 Create borders
 KT0416 Change background colours
 KT0417 Create and format tables
 KT0418 Print documents with different layouts
 KT0419 Mail merge documents from different data sources
 KT0420 Insert tables of contents, citations, list of figures and list of tables
 KT0421 Insert bookmarks
 KT0422 Insert comments
 KT0423 Track, accept/reject changes
 KT0424 Spell and grammar check document
Internal Assessment Criteria and Weight

 IAC0401 The use of software for creating texts (documents) is described and applied

 IAC0402 An ability to use appropriate software packages using various functionalities is


demonstrated

(Weight 40%)

2.2.5 KM-02-KT05 : Presentations using and appropriate software package 15%


Topic elements to be covered include:

 KT0501 Layout and design


 KT0502 Shapes, smart art and charts
 KT0503 Text and text box
 KT0504 Illustrations and visuals
 KT0505 Smart texts
 KT0506 Transitions
 KT0507 Animation
 KT0508 Slide show
Internal Assessment Criteria and Weight

IAC0501 The use of software for creating presentations is described and applied

IAC0502 An ability to use software for creating presentations using various tools, functionalities and
options is demonstrated

(Weight 15%)

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 practical skills

 QCTO/ MICT SETA requirements

251201005 - Occupational Certificate: Software Developer Page 21 of 184


Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

2.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 22 of 184


3. 251201-005-00-KM-03, Automated Webscraping as a Data Source, NQF Level 4, Credits 8

3.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the design aspect
applicable to various types of publications and documents

The learning will enable learners to demonstrate an understanding of:

 KM-03-KT01 : Sources of data 10%


 KM-03-KT02 : Webscraping and access to accurate data 10%
 KM-03-KT03 : Big Data 10%
 KM-03-KT04 : Data quality 10%
 KM-03-KT05 : Best practices for data governance 10%
 KM-03-KT06 : Legislation (e.g. POPI Act) 25%
 KM-03-KT07 : Wrangling 15%
 KM-03-KT08 : Data structures 10%
3.2 Guidelines for Topics

3.2.1 KM-03-KT01 : Sources of data 10%


Topic elements to be covered include:

 KT0101 Sources and collection systems


 KT0102 Data capturing systems and processes
 KT0103 Parameters for data capturing systems and processes
 KT0104 Maintenance of data capturing systems and processes
Internal Assessment Criteria and Weight

 IAC0101 Data capturing systems and processes as sources of data are explained, taking their
parameters and maintenance into account

(Weight 10%)

3.2.2 KM-03-KT02 : Webscraping and access to accurate data 10%


Topic elements to be covered include:

 KT0201 Electronically identifying and classifying documents


 KT0202 Capturing data from documents
 KT0203 Ensuring users only see the information they need
 KT0204 Indexing data for ease of search and retrieval
 KT0205 Validating data
 KT0206 Web Scraping Fundamentals
 Understanding web development and technologies
 Data finding techniques for the web
 HTML page source, developer tools, sitemaps, The robots.txt file

Internal Assessment Criteria and Weight

 IAC0201 The importance of accuracy of data is justified

 IAC0202 The function and use of webscraping is described

251201005 - Occupational Certificate: Software Developer Page 23 of 184


 IAC0203 Webscraping tools and procedures are identified and described.

(Weight 10%)

3.2.3 KM-03-KT03 : Big Data 10%


Topic elements to be covered include:

 KT0301 Volume, velocity variety and veracity

 KT0302 Sources

 KT0303 Applications

 KT0304 Benefits

Internal Assessment Criteria and Weight

 IAC0301 The four V’s of Big Data, i.e., Volume, Velocity, Variety and Veracity are understood

 IAC0302 Sources of Big Data, i.e., social, machine and transactional data, are described

(Weight 10%)

3.2.4 KM-03-KT04 : Data quality 10%


Topic elements to be covered include:

 KT0401 Ten quality traits: accuracy, accessibility, comprehensiveness, consistency, currency,


definition, granularity, precision, relevancy and timeliness

 KT0402 Data quality best practices

Internal Assessment Criteria and Weight

 IAC0401 Factors that are used as measures of data quality, such as accuracy, consistency and
relevancy, etc., are recognised and interpreted

(Weight 10%)

3.2.5 KM-03-KT05 : Best practices for data governance 10%


Topic elements to be covered include:

 KT0501 Comprehensive security with multi-level access control and management

 KT0502 Data breaches

 KT0503 Data loss

Internal Assessment Criteria and Weight

 IAC0501 In order to understand governance related to who within an organization has authority and
control over data assets, the implications of multi-level access control, data breaches and

251201005 - Occupational Certificate: Software Developer Page 24 of 184


data loss are described

(Weight 10%)

3.2.6 KM-03-KT06 : Legislation (e.g. POPI Act) 25%


Topic elements to be covered include:

 KT0601Lawful collection of data – transparency and accountability requirements


 KT0602Data protection principles
 KT0603Legal requirements and restrictions pertaining to:
 KT0604The rights of individuals
 KT0605Staff information and customer information
 KT0606Data held by an organisation
 KT0607Gathering information for marketing purposes
 KT0608Special categories of personal data ( e.g. Medical and health information, genetic data,
information on sexual orientation, ethnicity data )
 KT0609 Restrictions on sending personal data abroad
 KT0610 Outsourcing personal data processing operations, e.g. Payroll, call-centres, etc.
 KT0611 Transferring data to 3rd parties
 KT0612 Data retention
 KT0613 Disclosures required by law
 KT0614 Data protection impact assessment
Internal Assessment Criteria and Weight

 IAC0601 Legal requirements and restrictions pertaining to the rights of individuals, various
restrictions on information on staff and customers and disclosures required by law are
recognised and defined

 IAC0602 A data protection impact assessment is done

(Weight 25%)

3.2.7 KM-03-KT07 : Wrangling 15%


Topic elements to be covered include:

 KT0701 Importing data from different file formats


 KT0702 Web scraping
 KT0703 How to tidy data using suitable software packages to better facilitate analysis
 KT0704 String processing with regular expressions (regex)
 KT0705 HTML parsing
 KT0706 Wrangle data using suitable software package
 KT0707 How to work with dates and times as file formats
 KT0708 Text mining
Internal Assessment Criteria and Weight

 IAC0701 The process of data wrangling and the various methods, processes and suitable software
packages used in order to fulfil its purpose to transform and map data from one data form

251201005 - Occupational Certificate: Software Developer Page 25 of 184


to another that is more appropriate, are understood and described

(Weight 15%)

3.2.8 KM-03-KT08 : Data structures 10%


Topic elements to be covered include:

 KT0801 Introduction to data structures


 KT0802 Identifying data structures
 KT0803 Assigning values to data structures
 KT0804 Data manipulation
Internal Assessment Criteria and Weight

 IAC0801 Data structures and their functions and possibilities to be manipulated in relation to data,
are described

(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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

3.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 26 of 184


4. 251201-005-00-KM-04, Logical Thinking and Basic Calculations, NQF Level 4, Credits 2

4.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to acquire mathematical thinking theory for
solving problems and acquire basic maths knowledge for use during data analytics

The learning will enable learners to demonstrate an understanding of:

 KM-04-KT01 : Mathematical thinking skills for problem solving 15%


 KM-04-KT02 : Conversion between decimal and binary systems 5%
 KM-04-KT03 : Expressing size and magnitude 5%
 KM-04-KT04 : Error in calculations 10%
 KM-04-KT05 : Cartesian coordinate system 10%
 KM-04-KT06 : Pythagorean theorem for finding the distance between two points 5%
 KM-04-KT07 : Operator precedence 10%
 KM-04-KT08 : Integer division 10%
 KM-04-KT09 : Modulus 10%
 KM-04-KT10 : Increments 10%
 KM-04-KT11 : Mixing types 10%
4.2 Guidelines for Topics

4.2.1 KM-04-KT01 : Mathematical thinking skills for problem solving 15%

Topic elements to be covered include:

 KT0101 Benefits of mathematics


 KT0102 Mathematical thinking steps for solving problems:
 Break task down into components
 Identify similar tasks that may help
 Identify appropriate knowledge and skills
 Identify assumptions
 Select appropriate strategy
 Consider alternative approaches
 Look for a pattern or connection
 Generate examples
Internal Assessment Criteria and Weight

 IAC0101 Problem solving as a complex and reiterative process is reasoned

(Weight 15%)

4.2.2 KM-04-KT02 : Conversion between decimal and binary systems 5%

Topic elements to be covered include:

 KT0201 Introduction to binary numbers


 KT0202 Performing addition and subtraction of positive whole numbers in binary
 KT0203 Binary arithmetic
 KT0204 Use of BODMAS
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 27 of 184


 IAC0201 Conversions between decimal and binary systems and the application thereof are
explained

(Weight 5%)

4.2.3 KM-04-KT03 : Expressing size and magnitude 5%

Topic elements to be covered include:

 KT0301 Use scientific notation for small and large numbers

 KT0302 Prefixes: From Giga to Pica (109 to 10 -12)

 KT0303 Conversions: SI to Imperial: degrees F to degrees C

Internal Assessment Criteria and Weight

 IAC0301 Different ways to express size and magnitude are explained

(Weight 5%)

4.2.4 KM-04-KT04 : Error in calculations 10%

Topic elements to be covered include:

 KT0401 Rational and irrational numbers


 KT0402 Explore repeating decimals and convert them to fraction form
 KT0403 Symbols for irrational numbers
 KT0404 Rounding prematurely in calculations
 KT0405 Accuracy
 KT0406 Final value of a calculation expressed in terms of the required unit
Internal Assessment Criteria and Weight

 IAC0401 The effect of error in calculations is reasoned

(Weight 10%)

4.2.5 KM-04-KT05 : Cartesian coordinate system 10%

Topic elements to be covered include:

 KT0501 Definition
 KT0502 Terminology
 KT0503 The coordinate plane
 KT0504 Intersecting x- and y-axes
 KT0505 Four quadrants
 KT0506 Naming using Roman numerals
 KT0507 Use and application – creating graphs and maps
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 28 of 184


 IAC0501 The Cartesian coordinate system is explained in terms of application and the use of correct
terminology

(Weight 10%)

4.2.6 KM-04-KT06 : Pythagorean theorem for finding the distance between two points 5%

Topic elements to be covered include:

 KT0601 Definition
 KT0602 Terminology
 KT0603 Purpose
 KT0604 Determine the distance between two points on the Cartesian grid
Internal Assessment Criteria and Weight

 IAC0601 The Pythagorean theorem is explained in terms of application and the use of correct
terminology
(Weight 5%)

4.2.7 KM-04-KT07 : Operator precedence 10%

Topic elements to be covered include:


KT0701 Definition and terminology

KT0702 Purpose and use

KT0703 Order of operations (left to right)

KT0704 Apply precedence:
 Parentheses
 Multiply and divide
 Add and subtract
 KT0705 Use of PEDMAS in programming
Internal Assessment Criteria and Weight

 IAC0701 Operator precedence is explained in terms of application and the use of correct terminology

(Weight 10%)

4.2.8 KM-04-KT08 : Integer division 10%

Topic elements to be covered include:

 KT0801 Definition and terminology


 KT0802 Purpose and use
 KT0803 Rules on how to divide integers
 KT0804 Names and symbols for integer division
 KT0805 Software for integer division
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 29 of 184


 IAC0801 Integer division is explained in terms of application and the use of correct terminology and
symbols

(Weight 10%)

4.2.9 KM-04-KT09 : Modulus 10%

Topic elements to be covered include:

 KT0901 Definition and terminology


 KT0902 Purpose and use
 KT0903 Modulus abbreviated as “mod”
 KT0904 % application
 KT0905 (==) application
 KT0906 Modulus in programming
Internal Assessment Criteria and Weight

 IAC0901 Modulus is explained in terms of application and the use of correct terminology and
symbols

(Weight 10%)

4.2.10 KM-04-KT10 : Increments 10%

Topic elements to be covered include:

 KT1001 Definition and terminology

 KT1002 Purpose and use

 KT1003 Increment a variable

 KT1004 compound assignment operator

 KT1005 Increments in programming

Internal Assessment Criteria and Weight

 IAC1001 Increments are explained in terms of application and the use of correct terminology and
symbols

(Weight 10%)

4.2.11 KM-04-KT11 : Mixing types 10%

Topic elements to be covered include:

 KT1101 Definition and terminology

251201005 - Occupational Certificate: Software Developer Page 30 of 184


 KT1102 Purpose and use

 KT1103 Apply an operator

 KT1104 Combination with the order of operations

 KT1105 The order in which an expression is written

 KT1106 How a computer would evaluate some expressions that combine types

Internal Assessment Criteria and Weight

 IAC1101 Mixing types are explained in terms of application and the use of correct terminology and
symbols

(Weight 10%)

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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

4.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 31 of 184


5. 251201-005-00-KM-05, Computing Theory, 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 programming as
creating a set of instructions to a computer on how to perform a task using coding and programming
languages

The learning will enable learners to demonstrate an understanding of:

 KM-05-KT01 : Introduction to programming languages 30%


 KM-05-KT02 : Programming basics 40%
 KM-05-KT03 : Software applications 30%
5.2 Guidelines for Topics

5.2.1 KM-05-KT01 : Introduction to programming languages 30%


Topic elements to be covered include:

 KT0101 Concepts, principles and terminology


 KT0102 Developing structured and creative thinking skills through programming
 KT0103 The logic of programming
 KT0104 Choosing a programming language
 KT0105 Syntax
 KT0106 Learning code
 KT0107 Installation and set-up
Internal Assessment Criteria and Weight

 IAC0101 The benefits of a programming ability are reasoned

 IAC0102 An understanding of the basics of programming language and code is demonstrated

(Weight 30%)

5.2.2 KM-05-KT02 : Programming basics 40%


Topic elements to be covered include:

 KT0201 Programming environment


 KT0202 Algorithms
 KT0203 Data types
 KT0204 Variables
 KT0205 Keywords
 KT0206 Logical and arithmetical operators
 KT0207 Logical operations: if-statements, where-statements, If else conditions
 KT0208 Loops
 KT0209 Numbers, characters and arrays
 KT0210 Functions
 KT0211 Input and output operations
Internal Assessment Criteria and Weight

 IAC0201 An understanding of the basics of a programming language is demonstrated

(Weight 40%)

251201005 - Occupational Certificate: Software Developer Page 32 of 184


5.2.3 KM-05-KT03 : Software applications 30%
Topic elements to be covered include:

 KT0301
Basic programming knowledge on HTML, JavaScript (or any scripting language)
 KT0302
Software development, e.g. C#, C++, Java, .NET, Python, VB
 KT0303
Databases (SQL)
 KT0304
Web development technologies
 KT0305
AI and Machine Learning concept and principles
 KT0306
Project management methodology (e.g. Agile)
 KT0307
Tools and technologies including at least one: including SQL and a minimum of one
additional language of choice e.g. Python or C# or Visual Basic VB or Java)
Internal Assessment Criteria and Weight

 IAC0301 The advantages and disadvantages of various software applications are understood

(Weight 30%)

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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

5.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 33 of 184


6. 251201-005-00-KM-06, Software Development with HTML5, Opensource Frameworks and
Libraries, NQF Level 5, Credits 16

6.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of these topics: Core
Programming, Object-Oriented Programming, General Software Development, Web Applications, Desktop
Applications, Databases, Manage the Application Life Cycle, Build the User Interface by Using HTML5,
Format the User Interface by Using CSS, and Code by Using JavaScript

The learning will enable learners to demonstrate an understanding of:

 KM-06-KT01 : Core programming 10%


 KM-06-KT02 : Object-Oriented Programming 10%
 KM-06-KT03 : General Software Development 15%
 KM-06-KT04 : Web applications 10%
 KM-06-KT05 : Applications development 10%
 KM-06-KT06 : HTML5 15%
 KM-06-KT07 : CSS 15%
 KM-06-KT08 : JavaScript 15%
6.2 Guidelines for Topics

6.2.1 KM-06-KT-01 : Core programming 10%


Topic elements to be covered include:

 KT0101 Definition
 KT0102 Core programming concepts
 KT0103 Tools
Internal Assessment Criteria and Weight

 IAC0101 Core programming concepts are listed and the function of each is defined

 IAC0102 Core programming tools are evaluated for functionality

 IAC0103 The implementation of e.g. programming logic, define and use variables, perform looping
and branching, develop user interfaces, capture and validate user input, store data, and
create well-structured application is defined.

(Weight 10%)

6.2.2 KM-06-KT-02 : Object-Oriented Programming 10%


Topic elements to be covered include:

 KT0201 Definition and concepts


 KT0202 four principles : encapsulation, abstraction, inheritance, and polymorphism
 KT0203 Objects and classes
Internal Assessment Criteria and Weight

 IAC0201 OOP is defined

 IAC0202 Application of OOP is justified

(Weight 10%)

251201005 - Occupational Certificate: Software Developer Page 34 of 184


6.2.3 KM-06-KT-03 : General Software Development 15%
Topic elements to be covered include:

 KT0301 Programming logic


 KT0302 Define and use variables
 KT0303 Perform looping and branching
 KT0304 Develop user interfaces
 KT0305 Capture and validate user input
 KT0306 Store data
 KT0307 Create well-structured application
Internal Assessment Criteria and Weight

 IAC0301 General software development concepts are defined and the respective functions are
described.

(Weight 15%)

6.2.4 KM-06-KT-04 : Web applications 10%


Topic elements to be covered include:

 KT0401 Aim and purpose

 KT0402 Visual requirements

 KT0403 Validation of input

 KT0404 Defining input forms

 KT0405 Providing feedback to users on incorrect input

 KT0406 Tools to create web applications

Internal Assessment Criteria and Weight

 IAC0401 An understanding of web applications is demonstrated

(Weight 10%)

6.2.5 KM-06-KT-05 : Applications development 10%


Topic elements to be covered include:

 KT0501 Web applications

 KT0502 Desktop applications

 KT0503 Databases

 KT0504 Application life cycle

251201005 - Occupational Certificate: Software Developer Page 35 of 184


 KT0505 User interfaces

Internal Assessment Criteria and Weight

 IAC0501 An understanding of applications development is demonstrated

(Weight 10%)

6.2.6 KM-06-KT-06 : HTML5 15%


Topic elements to be covered include:

 KT0601 Overview

 KT0602 User Interfaces

 KT0603 Visually pleasing

 KT0604 Text

 KT0605 Graphics

 KT0606 Media

 KT0607 Organization

 KT0608 Input

 KT0609 Validation

Internal Assessment Criteria and Weight

 IAC0601 Explain how to use HTML elements and attributes to lay out a web page

 IAC0602 Describe the purpose of and new features in HTML5, and explain how to use new HTML5
elements to lay out a web page

 IAC0603 An understanding of styling the content displayed by a web page as an important aspect of
making an application attractive and easy to use is demonstrated

(Weight 15%)

6.2.7 KM-06-KT-07 : CSS 15%


Topic elements to be covered include:

 KT0701 Overview

 KT0702 Document object model (DOM)

 KT0703 Content flow

 KT0704 Positioning

251201005 - Occupational Certificate: Software Developer Page 36 of 184


 KT0705 Styling

 KT0706 Layouts

 KT0707 Text flow

 KT0708 Graphical interface

 KT0709 Single aspects of presentation such as colour, text, box model, and animations

Internal Assessment Criteria and Weight

 IAC0701 Explain how to use CSS to apply basic styling to a web page

 IAC0702 Explain how to use CSS to style the layout, text, and background of a web page

(Weight 15%)

6.2.8 KM-06-KT-08 : JavaScript 15%


Topic elements to be covered include:

 KT0801 Overview

 KT0802 Document object model

 KT0803 Using a browser

 KT0804 Coding essentials

 KT0805 Creating animations

 KT0806 Working with graphics

 KT0807 Accessing data touch interface

 KT0808 Device and operating system resources

Internal Assessment Criteria and Weight

 IAC0801 Describe basic JavaScript syntax


 IAC0802 Describe how the user interacts with a page by using a browser
 IAC0803 Define how a browser should reflect a page in memory to enable scripting engines to
access and alter the contents of that page
(Weight 15%)

6.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 practical skills

251201005 - Occupational Certificate: Software Developer Page 37 of 184


 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

6.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 38 of 184


7. 251201-005-00-KM-07, UML as Standard Modelling Language for Software and Systems
Development, NQF Level 5, Credits 4

7.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the modelling tools,
topics and theory and how modelling assist in focussing on, capturing, documenting and communicating a
system design. The Unified Modelling Language (UML) is the standard modelling language for software and
systems development

The learning will enable learners to demonstrate an understanding of:

 KM-07-KT01 : Introduction 5%
 KM-07-KT02 : Modelling requirements 5%
 KM-07-KT03 : Workflows: activity diagrams 10%
 KM-07-KT04 : Classes and class diagrams 5%
 KM-07-KT05 : Advanced class diagrams 5%
 KM-07-KT06 : Object diagrams 5%
 KM-07-KT07 : Sequence diagrams 10%
 KM-07-KT08 : Communication diagrams 5%
 KM-07-KT09 : Timing diagrams 15%
 KM-07-KT10 : Interaction overview diagrams 5%
 KM-07-KT11 : Classes internal structure: composite structures 5%
 KM-07-KT12 : Component diagrams 10%
 KM-07-KT13 : Packages 5%
 KM-07-KT14 : State machine diagrams 5%
 KM-07-KT15 : Deployed diagrams 5%
7.2 Guidelines for Topics

7.2.1 KM-07-KT01 : Introduction 5%


Topic elements to be covered include:

 KT0101 Modelling language overview


 KT0102 UML 2.0
 KT0103 Models and diagrams
 KT0104 “Degrees” of UML
 KT0105 Using UML in the software development process
 KT0106 Views of your model
Internal Assessment Criteria and Weight

 IAC0101 A basic understanding of the application of UML in software development is demonstrated.

(Weight 5%)

7.2.2 KM-07-KT02 : Modelling requirements 5%


Topic elements to be covered include:

 KT0201 System requirement capturing


 KT0202 Use case relationships
 KT0203 Use case overview diagrams
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 39 of 184


 IAC0201 The application of modelling requirements: use cases, is understood

(Weight 5%)

7.2.3 KM-07-KT03 : Workflows: activity diagrams 10%


Topic elements to be covered include:

 KT0301 Activity diagram essentials


 KT0302 Activities and actions
 KT0303 Decisions and merges
 KT0304 Simultaneous multiple tasks
 KT0305 Time events
 KT0306 Calling other activities
 KT0307 Objects
 KT0308 Sending and receiving signals
 KT0309 Starting an activity
 KT0310 Ending activities and flows
 KT0311 Partitions (or Swimlanes)
 KT0312 Complex activity diagrams
Internal Assessment Criteria and Weight

 IAC0301 The application of modelling system workflows: activity diagrams, is understood

(Weight 10%)

7.2.4 KM-07-KT04 : Classes and class diagrams 5%


Topic elements to be covered include:

 KT0401 Definition of class


 KT0402 Classes in UML
 KT0403 Visibility
 KT0404 Class state: attributes
 KT0405 Class behaviours: operations
 KT0406 Static parts of a class
Internal Assessment Criteria and Weight

 IAC0401 An understanding of modelling of a systems logical structure: introducing classes and class
diagrams, is demonstrated.

(Weight 5%)

7.2.5 KM-07-KT05 : Advanced class diagrams 5%


Topic elements to be covered include:

 KT0501 Class relationships


 KT0502 Constrains
 KT0503 Abstract classes
 KT0504 Interfaces

251201005 - Occupational Certificate: Software Developer Page 40 of 184


 KT0505 Templates
Internal Assessment Criteria and Weight

 IAC0501 An understanding of modelling of a system’s logical structure: advanced class diagrams, is


demonstrated

(Weight 5%)

7.2.6 KM-07-KT06 : Object diagrams 5%


Topic elements to be covered include:

 KT0601 Object instances


 KT0602 Links
 KT0603 Binding class templates
Internal Assessment Criteria and Weight

 IAC0601 An understanding of bringing classes to life: object diagrams, is demonstrated

(Weight 5%)

7.2.7 KM-07-KT07 : Sequence diagrams 10%


Topic elements to be covered include:

 KT0701 Participants in a sequence diagram


 KT0702 Time
 KT0703 Events, signals and messages
 KT0704 Activation bars
 KT0705 Nested messages
 KT0706 Message arrows
 KT0707 Use cases and sequence diagrams
 KT0708 Managing complex interactions with sequence fragments
Internal Assessment Criteria and Weight

 IAC0701 An understanding of modelling ordered interactions: sequence diagrams, is demonstrated

(Weight 10%)

7.2.8 KM-07-KT08 : Communication diagrams 5%


Topic elements to be covered include:

 KT0801 Participants, links and messages


 KT0802 Fleshing out an interaction with a communication diagram
 KT0803 Communication diagrams versus sequence diagrams
Internal Assessment Criteria and Weight

 IAC0801 An understanding of Focusing on interaction links: communication diagrams, is


demonstrated

(Weight 5%)

251201005 - Occupational Certificate: Software Developer Page 41 of 184


7.2.9 KM-07-KT09 : Timing diagrams 15%
Topic elements to be covered include:

 KT0901 Interaction timing


 KT0902 Appearance of timing diagrams
 KT0903 Building a timing diagram from a sequence diagram
 KT0904 Applying participants to a timing diagram
 KT0905 States
 KT0906 Time
 KT0907 A participant’s state-line
 KT0908 Events and messages
 KT0909 Timing constraints
 KT0910 Organizing participants on a timing diagram
 KT0911 An alternative notation
Internal Assessment Criteria and Weight

 IAC0901 An understanding of Focusing on interaction timing: timing diagrams, is demonstrated

(Weight 15%)

7.2.10 KM-07-KT10 : Interaction overview diagrams 5%


Topic elements to be covered include:

 KT1001 The parts of an interaction overview diagram

 KT1002 Modelling a use case using an interaction overview

Internal Assessment Criteria and Weight

 IAC1001 An understanding of Completing the interaction picture: interaction overview diagrams, is


demonstrated

(Weight 5%)

7.2.11 KM-07-KT11 : Classes internal structure: composite structures 5%


Topic elements to be covered include:

 KT1101 Internal structure

 KT1102 Using a class

 KT1103 Patterns with collaborations

Internal Assessment Criteria and Weight

 IAC1101 An understanding of modelling a classes internal structure: composite structures, is


demonstrated

(Weight 5%)

251201005 - Occupational Certificate: Software Developer Page 42 of 184


7.2.12 KM-07-KT12 : Component diagrams 10%
Topic elements to be covered include:

 KT1201 Definition of a component


 KT1202 A basic component in UML
 KT1203 Provided and required interfaces of a component
 KT1204 Showing components working together
 KT1205 Classes that realize a component
 KT1206 Ports and internal structure
 KT1207 Black-box and White-box component views
 KT1208 Managing and reusing system parts
Internal Assessment Criteria and Weight

 IAC1201 An understanding of Managing and reusing your system’s parts: component diagrams, is
demonstrated

(Weight 10%)

7.2.13 KM-07-KT13 : Packages 5%


Topic elements to be covered include:

 KT1301 Packages

 KT1302 Namespaces and classes referring to each other

 KT1303 Element visibility

 KT1304 Package dependency

 KT1305 Importing and accessing packages

 KT1306 Managing package dependencies

 KT1307 Organize model and use cases

Internal Assessment Criteria and Weight

 IAC1301 An understanding of organizing the model: packages, is demonstrated

(Weight 5%)

7.2.14 KM-07-KT14 : State machine diagrams 5%


Topic elements to be covered include:

 KT1401 Essentials

 KT1402 States

 KT1403 Transitions

251201005 - Occupational Certificate: Software Developer Page 43 of 184


 KT1404 States in software

 KT1405 Advanced state behaviours

 KT1406 Composite states

 KT1407 Advanced pseudo states

 KT1408 Signals

 KT1409 Protocol state machines

 KT1410 Modelling an object’s state

Internal Assessment Criteria and Weight

 IAC1401 An understanding of modelling an object’s state: state machine diagrams, is demonstrated

(Weight 5%)

7.2.15 KM-07-KT15 : Deployed diagrams 5%


Topic elements to be covered include:

 KT1501 Deploying a simple system

 KT1502 Deployment software: artefacts

 KT1503 Nodes

 KT1504 Hardware and execution environment nodes

 KT1505 Communication between nodes

 KT1506 Deployment specifications

 KT1507 When to use deployment diagram

Internal Assessment Criteria and Weight

 IAC1501 An understanding of modelling the deployed system: deployed diagrams, is demonstrated

(Weight 5%)

7.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

251201005 - Occupational Certificate: Software Developer Page 44 of 184


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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

7.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 45 of 184


8. 251201-005-00-KM-08, Obtaining, Querying, Manipulating and Presenting Data with and
without MVC, NQF Level 5, Credits 6

8.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to acquire general knowledge and understanding
of the principles and methods to obtain, query, manipulate and present data with and without MVC

The learning will enable learners to demonstrate an understanding of:

 KM-08-KT01 : Understanding core database concepts 10%


 KM-08-KT02 : Creating database 10%
 KM-08-KT03 : Manipulating data 25%
 KM-08-KT04 : Understanding Data 27%
 KM-08-KT05 : Administering a database 28%
8.2 Guidelines for Topics

8.2.1 KM-08-KT01 : Understanding core database concepts 10%


Topic elements to be covered include:

 KT0101 Flat-type databases


 KT0102 Hierarchical databases
 KT0103 Relational databases
 KT0104 Database fundamentals
 KT0105 Relational database concepts
 KT0106 The SQL server management studio interface
 KT0107 Data Manipulation Language (DML)
 KT0108 Data Definition Language (DDL)
Internal Assessment Criteria and Weight

 IAC0101 An understanding core database concepts is demonstrated

(Weight 10%)

8.2.2 KM-08-KT02 : Creating database 10%


Topic elements to be covered include:

 KT0201 Defining data types


 KT0202 Built-in data types
 KT0203 Exact numeric data types
 KT0204 Approximate numeric data types
 KT0205 Creating and using tables
 KT0206 Creating views
 KT0207 Creating stored procedures
 KT0208 SQL Injections
Internal Assessment Criteria and Weight

 IAC0201 An understanding of the principles and practices for creating database is demonstrated

(Weight 10%)

251201005 - Occupational Certificate: Software Developer Page 46 of 184


8.2.3 KM-08-KT03 : Manipulating data 25%
Topic elements to be covered include:

 KT0301 Using Queries to Select Data


 KT0302 Combining Conditions
 KT0303 Using the BETWEEN Clause
 KT0304 Using the NOT Clause
 KT0305 Using the UNION Clause
 KT0306 Using the EXCEPT and INTERSECT Clauses
 KT0307 Using the JOIN Clause
 KT0308 Using Queries to Insert Data
 KT0309 Updating Data and Databases: Using the UPDATE Statement
 KT0310 Deleting Data
 KT0311 Using the DELETE Statement
 KT0312 Truncating a Table with TRUNCATE TABLE
 KT0313 Deleting a Table with DROP TABLE
 KT0314 Using Referential Integrity
Internal Assessment Criteria and Weight

 IAC0301 An understanding of the principles and practices for manipulating data is demonstrated

(Weight 25%)

8.2.4 KM-08-KT04 : Understanding Data 27%


Topic elements to be covered include:

 KT0401 Normalizing a database


 Understanding normalization
 Understanding the first normal form
 Understanding the second normal form
 Understanding the third normal form
 Understanding the fourth normal form
 Understanding the fifth normal form
 KT0402 Understanding primary, foreign, and composite keys
 Understanding primary keys
 Understanding foreign keys
 Understanding composite primary keys
 KT0403 Understanding clustered and non-clustered
 Understanding clustered indexes
 Understanding non-clustered indexes
 Creating a non-clustered table
Internal Assessment Criteria and Weight

 IAC0401 An understanding of data is demonstrated

(Weight 27%)

8.2.5 KM-08-KT05 : Administering a database 28%


Topic elements to be covered include:

251201005 - Occupational Certificate: Software Developer Page 47 of 184


 KT0501 Securing databases
 Understanding server-level security
 Understanding database-level security
 Understanding windows security
 Understanding sql authentication
 Understanding database server roles
 Granting access to a database
 Understanding fixed database roles
 Understanding object permissions
 Managing roles
 Understanding ownership chains
 Reviewing a sample security model
 KT0502 Backing up and restoring databases
 Understanding recovery models
 Understanding database backups
 Understanding backup devices
 Understanding database restores
Internal Assessment Criteria and Weight

 IAC0501 An understanding of the principles and practices for administering a database is


demonstrated

(Weight 28%)

8.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

251201005 - Occupational Certificate: Software Developer Page 48 of 184


8.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 49 of 184


9. 251201-005-00-KM-09, Software Development Life Cycle, Programming Languages,
Algorithms and Security, NQF Level 5, Credits 3

9.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the principles and
techniques applied during the SDLC, use of programming languages, design and development of algorithms
and the importance of security during the development of software solutions.

The learning will enable learners to demonstrate an understanding of:

 KM-09-KT01 : Introduction to software development 5%


 KM-09-KT02 : Software Development Life Cycle 5%
 KM-09-KT03 : The need for a solution 5%
 KM-09-KT04 : Popular SDLC models 5%
 KM-09-KT05 : Phase 1: Requirement collection and analysis 5%
 KM-09-KT06 : Phase 2: Feasibility study 5%
 KM-09-KT07 : Phase 3: Design 5%
 KM-09-KT08 : Phase 4: Coding 5%
 KM-09-KT09 : Phase 5: Testing 5%
 KM-09-KT10 : Phase 6: Installation/Deployment 5%
 KM-09-KT11 : Phase 7: Maintenance 5%
 KM-09-KT12 : Software development logging and commenting 5%
 KM-09-KT13 : Programming and programming languages 10%
 KM-09-KT14 : Coding 5%
 KM-09-KT15 : Overview of algorithms in information technology 5%
 KM-09-KT16 : Algorithms 5%
 KM-09-KT17 : Programming language concepts and terminology 5%
 KM-09-KT18 : Security topics every software developer must know 5%
 KM-09-KT19 : Machine learning 5%
9.2 Guidelines for Topics

9.2.1 KM-09-KT01 : Introduction to software development 5%


Topic elements to be covered include:

KT0101 History, evolution and future


KT0102 The information age
KT0103 Socio economic impact of IT
KT0104 The role and contribution of the software developer
KT0105 Software development:
 System software
 Programming software
 Application software
 Embedded software
 KT0106 Career opportunities and career progression
Internal Assessment Criteria and Weight

 IAC0101 An overview of socio-economic impact of IT, programming and the software developer is
reasoned

(Weight 5%)

251201005 - Occupational Certificate: Software Developer Page 50 of 184


9.2.2 KM-09-KT02 : Software Development Life Cycle 5%
Topic elements to be covered include:

 KT0201 Concept, definitions and terminology


 KT0202 Underlying principles
 KT0203 Estimations and planning
 KT0204 Purpose
 KT0205 Overview and explanation of phases
 KT0206 Version control: importance, methods and tools
Internal Assessment Criteria and Weight

 IAC0201 An overview is given and various elements are described

(Weight 5%)

9.2.3 KM-09-KT03 : The need for a solution 5%


Topic elements to be covered include:

 KT0301 Stakeholders
 KT0302 What is a solution?
 KT0303 Main elements of a successful solution
 Technologies/custom code
 Documentation
 Communication
 Deployment process
 Training
 Support
 KT0304 Baseline information
 KT0305 Manage change
 KT0306 Scope of the project
 KT0307 Use case
Internal Assessment Criteria and Weight

 IAC0301 The need for a solution as starting point of the solutions is analysed

(Weight 5%)

9.2.4 KM-09-KT04 : Popular SDLC models 5%


Topic elements to be covered include:

 KT0401 Waterfall model

 KT0402 Incremental model

 KT0403 V-model

 KT0404 Agile model

 KT0405 Spiral model

251201005 - Occupational Certificate: Software Developer Page 51 of 184


 KT0406 Big bang model

Internal Assessment Criteria and Weight

 IAC0401 Key characteristics of each model are identified and evaluated

 IAC0402 The various models are compared and contrasted

(Weight 5%)

9.2.5 KM-09-KT05 : Phase 1: Requirement collection and analysis 5%


Topic elements to be covered include:

 KT0501 Main focus and aim

 KT0502 Role players and responsibilities

 KT0503 Tools, procedures and checks

 KT0504 Process and deliverables

 KT0505 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC0501 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.6 KM-09-KT06 : Phase 2: Feasibility study 5%


Topic elements to be covered include:

 KT0601 Main focus and aim

 KT0602 Role players and responsibilities

 KT0603 Tools, procedures and checks

 KT0604 Process and deliverables

 KT0605 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC0601 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.7 KM-09-KT07 : Phase 3: Design 5%


Topic elements to be covered include:

251201005 - Occupational Certificate: Software Developer Page 52 of 184


 KT0701 Main focus and aim

 KT0702 Role players and responsibilities

 KT0703 Tools, procedures and checks

 KT0704 Process and deliverables

 KT0705 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC0701 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.8 KM-09-KT08 : Phase 4: Coding 5%


Topic elements to be covered include:

 KT0801 Main focus and aim

 KT0802 Role players and responsibilities

 KT0803 Tools, procedures and checks

 KT0804 Process and deliverables

 KT0805 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC0801 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.9 KM-09-KT09 : Phase 5: Testing 5%


Topic elements to be covered include:

 KT0901 Main focus and aim

 KT0902 Role players and responsibilities

 KT0903 Tools, procedures and checks

 Debugging techniques

 Application testing methods

 KT0904 Process and deliverables

 KT0905 How it feeds into the next phase

Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 53 of 184


 IAC0901 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.10 KM-09-KT10 : Phase 6: Installation/Deployment 5%


Topic elements to be covered include:

 KT1001 Main focus and aim

 KT1002 Role players and responsibilities

 KT1003 Tools, procedures and checks

 KT1004 Process and deliverables

 KT1005 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC1001 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.11 KM-09-KT11 : Phase 7: Maintenance 5%


Topic elements to be covered include:

 KT1101 Main focus and aim

 KT1102 Role players and responsibilities

 KT1103 Tools, procedures and checks

 KT1104 Process and deliverables

 KT1105 How it feeds into the next phase

Internal Assessment Criteria and Weight

 IAC1101 The significance of this phase in the SDLC is justified

(Weight 5%)

9.2.12 KM-09-KT12 : Software development logging and commenting 5%


Topic elements to be covered include:

 KT1201 Commenting techniques

 KT1202 Software logging

251201005 - Occupational Certificate: Software Developer Page 54 of 184


 KT1203 Importance and benefits of software logging

 KT1204 Logging best practices

 KT1205 Logging frameworks

 KT1206 Procedures and type of information

 KT1207 Using metrics

 KT1208 Lessons learnt

Internal Assessment Criteria and Weight

 IAC1201 The critical role of logs in software development is explored and justified

(Weight 5%)

9.2.13 KM-09-KT13 : Programming and programming languages 10%


Topic elements to be covered include:

 KT1301 Five basic programming elements:


 Input
 Output
 Arithmetic
 Conditional
 Looping
 KT1302 Pseudo codes, mathematics and comments on concepts of programming languages
 KT1303 Best suited for the purpose
 KT1304 Back end programming languages
 KT1305 Front end programming languages
 KT1306 Middleware programming languages
 KT1307 Best programming languages for mobile programming
 KT1308 Best programming languages for computer programming
 KT1309 Machine learning languages
Internal Assessment Criteria and Weight

 IAC1301 Five basic programming elements are described

 IAC1302 The use and function of various types of programming languages are compared and
contrasted

(Weight 10%)

9.2.14 KM-09-KT14 : Coding 5%


Topic elements to be covered include:

 KT1401 Code defined


 KT1402 Difference between coding and programming
 KT1403 The process of coding defined
 KT1404 Script defined

251201005 - Occupational Certificate: Software Developer Page 55 of 184


 KT1405 Basic coding skills
 KT1406 Readability of source code
Internal Assessment Criteria and Weight

 IAC1401 Translating design specification into the source code

(Weight 5%)

9.2.15 KM-09-KT15 : Overview of algorithms in information technology 5%


Topic elements to be covered include:

 KT1501 Definitions and basic concepts of algorithms in a programming perspective


 KT1502 The difference between algorithms, pseudocode and programming languages
 KT1503 Purpose
 KT1504 Characteristics of good algorithms
 KT1505 Advantages
Internal Assessment Criteria and Weight

 IAC1501 Basic concepts of algorithms are analysed

 IAC1502 Algorithms, pseudocode and programming languages are differentiated

 IAC1503 The role and function of algorithms in IT is analysed

 IAC1504 Various types of algorithms are listed, compared and contrasted

 IAC1505 Where to use various types of algorithms are analysed

(Weight 5%)

9.2.16 KM-09-KT16 : Algorithms 5%


Topic elements to be covered include:

KT1601 Best languages to write algorithms


KT1602 Types
KT1603 Where to use algorithms
KT1604 Writing algorithms:
 Problem definition
 Data collection and processing
 Logical approach
o Develop a high level algorithm
o Refine by adding more data
 Number of builds
 Solution
 KT1605 Algorithms and data structures
 KT1606 Algorithms and problem solving
 KT1607 Algorithms and cryptography
 KT1608 Mathematical formulas in texts
 KT1609 Tools for representing algorithms
Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 56 of 184


 IAC1601 The various steps in the process of writing algorithms are analysed and described

 IAC1602 The role and function of algorithms in programming is reasoned

(Weight 5%)

9.2.17 KM-09-KT17 : Programming language concepts and terminology 5%


Topic elements to be covered include:

 KT1701 Programming environment


 KT1702 Basic language syntax rules
 KT1703 Sequence, selection and iteration constructs
 KT1704 Operators and expressions
 KT1705 Variables, constants and datatypes
 KT1706 Functions and procedures
 KT1707 Conditions, nesting and loops
 KT1708 Control structures
 KT1709 Commands
 KT1710 String functions
 KT1711 Numbers, characters and arrays
Internal Assessment Criteria and Weight

 IAC1701 Functions and application of each concept are explained

(Weight 5%)

9.2.18 KM-09-KT18 : Security topics every software developer must know 5%


Topic elements to be covered include:

 KT1801 Input validation:


 KT1802 Syntactic and semantic validation
 KT1803 Blacklisting and whitelisting
 KT1804 Output encoding
 KT1805 Database access
 KT1806 Implementing cryptography
 KT1807 Secure error handling
 KT1808 Third-party libraries
 KT1809 Defense in depth: multiple layers of security
Internal Assessment Criteria and Weight

 IAC1801 Various security measures are analysed

(Weight 5%)

9.2.19 KM-09-KT19 : Machine learning 5%


Topic elements to be covered include:

 KT1901 Types of ML models

251201005 - Occupational Certificate: Software Developer Page 57 of 184


 Binary classification model
 Multiclass classification model
 Regression classification model
 ML features and labels
 ML advantages and disadvantages
 KT1902 ML algorithm classification
 Supervised Learning
 Unsupervised Learning
 Reinforcement Learning
 KT1903 Common ML algorithms
 KT1904 ML workflow process (framework)
 Data collection
 Data preparation
 Choose a model
 Train the model
 Evaluate the model
 Parameter tuning
 Making predictions
 KT1905 Business benefits of ML
Internal Assessment Criteria and Weight

 IAC1901 Types of ML is understood and described

 IAC1902 ML features and labels are understood and described

 IAC1903 ML algorithm classifications are understood and described

 IAC1904 Common ML algorithms are understood and described

 IAC1905 ML workflow process is understood and applied

 IAC1906 Benefits of ML to business is understood

(Weight 5%)

9.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

251201005 - Occupational Certificate: Software Developer Page 58 of 184


o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

9.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 59 of 184


10. 251201-005-00-KM-10, Introduction to Software Developer Governance, Legislation and
Ethics, NQF Level 4, Credits 2

10.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to acquire general knowledge and understanding
of the various legislations governing the workplace and their implications for the employer and employees.
The learning of this module will also enable the learner to acquire an understanding of the principles of areas
of performance management, business planning concepts, costing of products and concepts of general
ethical behaviour and its impact in the workplace

The learning will enable learners to demonstrate an understanding of:

 KM-10-KT01 : Governance 20%


 KM-10-KT02 : Legislation governing workplaces 15%
 KM-10-KT03 : Introduction to ethics and security 5%
 KM-10-KT04 : Ethics at work 14%
 KM-10-KT05 : Security 15%
 KM-10-KT06 : Performance management 10%
 KM-10-KT07 : Business planning 7%
 KM-10-KT08 : Costing of products 7%
 KM-10-KT09 : Resources 7%
10.2 Guidelines for Topics

10.2.1 KM-10-KT01 : Governance 20%

Topic elements to be covered include:

 KT0101 Definitions and the role of governance


 KT0102 Rules, norms and actions are structured, sustained, regulated and held accountable
 KT0103 Structures and processes and industry codes of practices
 KT0104 Transparent, participatory, inclusive and responsive
 KT0105 Domains of IT governance
 KT0106 Compliance vs non-compliance
Internal Assessment Criteria and Weight

 IAC0101 Governance as the way in which rules, norms and actions are structured, sustained,
regulated and held accountable is justified

(Weight 20%)

10.2.2 KM-10-KT02 : Legislation governing workplaces 15%

Topic elements to be covered include:

 KT0201 LRA

 KT0202 POPI

 KT0203 B-BBEE

 KT0204 BCEA

251201005 - Occupational Certificate: Software Developer Page 60 of 184


 KT0205 SDA

 KT0206 Current trends

Internal Assessment Criteria and Weight

 IAC0201 Legislation governing workplaces is identified and the implications for the workplace are
reasoned

(Weight 15%)

10.2.3 KM-10-KT03 : Introduction to ethics and security 5%

Topic elements to be covered include:

 KT0301 Principles and practices


 KT0302 Concepts, definitions and terminology
Internal Assessment Criteria and Weight

 IAC0301 Definition, principles and practices of ethics and their influence on security within a
business ecosystem, are understood

(Weight 5%)

10.2.4 KM-10-KT04 : Ethics at work 14%

Topic elements to be covered include:

 KT0401 Code of conduct and moral compass


 KT0402 Components of ethical behaviour, including integrity, honesty, fair dealing, respecting
diversity
 KT0403 Unwritten but expected behaviours, including reliability, accountability, time keeping,
respect for others
 KT0404 Lapses in ethical behaviour, including sexual harassment, racism, bullying, theft, abuse
of company property, rules, time and sick leave
 KT0405 Conflicts of interest, including primary and secondary interests, the impact on individuals
and organisations and the link to corruption
 KT0406 The need for ethical behaviour and the impact or consequences of lapses in ethical
behaviour
 KT0407 Copyright and plagiarism
 KT0408 Intellectual property
 KT0409 Spamming
 KT0410 Contract management
 KT0411 Software licensing
 KT0412 Pricing
Internal Assessment Criteria and Weight

 IAC0401 Concepts, issues and examples of ethical and unethical conduct are defined and described

 IAC0402 The impact of these factors on an employer and an employee is discussed

251201005 - Occupational Certificate: Software Developer Page 61 of 184


 IAC0403 The impact of lapses in ethical behaviour on the organisation and individuals in the
organisation is described

 IAC0404 Processes which employer organisations use to support ethical conduct in the workplace
are evaluated

 IAC0405 The importance of the responsibility to consistently comply to the industry ethics and codes
of conduct within the business ecosystem, is understood and described

 IAC0406 Own moral compass is developed and applied to ensure privacy, accountability and
confidentiality within the industry

(Weight 14%)

10.2.5 KM-10-KT05 : Security 15%

Topic elements to be covered include:

 KT0501 Risks, threats and vulnerabilities


 KT0502 Mitigation tools and strategies
 KT0503 Digital forensics
 KT0504 Cloud
 KT0505 Commercial law
 KT0506 Cyber security
 KT0507 New trends
Internal Assessment Criteria and Weight

 IAC0501 A sound knowledge of the various threats and vulnerabilities within the business ecosystem
as well as the ways to mitigate these, are demonstrated

 IAC0502 The importance of cyber forensics and cybersecurity and their application within the
boundaries of the law, is understood

(Weight 15%)

10.2.6 KM-10-KT06 : Performance management 10%

Topic elements to be covered include:

 KT0601 Planning, organising and control

 KT0602 Work flow

 KT0603 Cost, waste

 KT0604 Productivity, efficiency

 KT0605 Housekeeping

 KT0606 Risk, health, safety, environment and related systems

 KT0607 Quality and quality systems

251201005 - Occupational Certificate: Software Developer Page 62 of 184


 KT0608 Continual improvement

Internal Assessment Criteria and Weight

 IAC0601 Performance management as a process of ensuring that sets of activities and outputs meet
an organization's goals in an effective and efficient manner, is reasoned

 IAC0602 The various focus areas of performance management (e.g., the performance of an
organization, a department, an employee or the processes) which should be in place to
manage particular tasks, are identified and justified

(Weight 10%)

10.2.7 KM-10-KT07 : Business planning 7%

Topic elements to be covered include:

 KT0701 Business sustainability

 KT0702 Concept of supply and demand

 KT0703 Concept of profit, loss and breakeven

 KT0704 Accountability and responsibility

 KT0705 Competition

 KT0706 Customers

 KT0707 Contracts

 KT0708 Budgets

Internal Assessment Criteria and Weight

 IAC0701 The various concepts of business planning, including competition and budgets, are
described

(Weight 7%)

10.2.8 KM-10-KT08 : Costing of products 7%

Topic elements to be covered include:

 KT0801 Input cost


 KT0802 Overhead costs
 KT0803 Direct labour cost
 KT0804 Pricing a product (Under- or over-pricing)
Internal Assessment Criteria and Weight

 IAC0801 Costs related to the production of a product are identified and the effect thereof on the price
of the product is analysed

251201005 - Occupational Certificate: Software Developer Page 63 of 184


(Weight 7%)

10.2.9 KM-10-KT09 : Resources 7%

Topic elements to be covered include:

 KT0901 Human resources

 KT0902 Financial resources

 KT0903 Physical resources (infrastructure, machinery, equipment)

 KT0904 Communication and information technology

Internal Assessment Criteria and Weight

 IAC0901 Various resources needed in a workplace are identified and the effect thereof on the output
is analysed

(Weight 7%)

10.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

10.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 64 of 184


11. 251201-005-00-KM-11, 4IR and Future Skills, NQF Level 4, Credits 2

11.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the impact of 4IR on
communities, individuals and businesses and important skills for future needs

The learning will enable learners to demonstrate an understanding of:

 KM-11-KT01 : 4 IR emerging trends 10%


 KM-11-KT02 : Computing Knowledge 7%
 KM-11-KT03 : Future skills and competencies (4IR) 10%
 KM-11-KT04 : 4 IR trends affecting businesses 10%
 KM-11-KT05 : Interpersonal skills 5%
 KM-11-KT06 : Intrapersonal skills 5%
 KM-11-KT07 : Communication principles and methods 5%
 KM-11-KT08 : Written business communication 7%
 KM-11-KT09 : Presentation skills 7%
 KM-11-KT10 : Teamwork in the workplace 10%
 KM-11-KT11 : Committees and meetings 5%
 KM-11-KT12 : Job descriptions and profiles 5%
 KM-11-KT13 : Customers and stakeholders 7%
 KM-11-KT14 : Customer service 7%
11.2 Guidelines for Topics

11.2.1 KM-11-KT01 : 4 IR emerging trends 10%


Topic elements to be covered include:

 KT0101 Artificial intelligence


 KT0102 Cloud computing
 KT0103 Cyber security
 KT0104 Data science
 KT0105 Internet of things
 KT0106 Quality engineering automation
 KT0107 Robotic processing automation
 KT0108 Software programming
 KT0109 Design thinking and innovation
 KT0110 e-Waste
Internal Assessment Criteria and Weight

 IAC0101 The transformational effect that 4IR is having or may have on business ecosystems is
understood through a comprehensive knowledge of the emerging trends within 4IR

(Weight 10%)

11.2.2 KM-11-KT02 : Computing Knowledge 7%


Topic elements to be covered include:

 KT0201 Introduction to programming language


 KT0202 Programming basics
 KT0203 Basic programming knowledge on HTML, JavaScript (or any scripting language)

251201005 - Occupational Certificate: Software Developer Page 65 of 184


 KT0204 Software development, e.g. C#, C++, Java, .NET
 KT0205 Databases (SQL or NoSQL)
 KT0206 Web development technologies
Internal Assessment Criteria and Weight

 IAC0201 A sound knowledge of the basics of programming and software development, including
various development languages, databases and web development, is demonstrated

(Weight 7%)

11.2.3 KM-11-KT03 : Future skills and competencies (4IR) 10%


Topic elements to be covered include:

 KT0301 Disruptive thinking (encourage this) (application to their own environment)


 KT0302 Continuously searching for ideas
 KT0303 Think innovatively (analyse the current market and come up with solutions to the current
problems)
 KT0304 Soft skills
 KT0305 Programming languages
 KT0306 Operating systems
 KT0307 Open source
 KT0308 Tools for a cloud environment (for configuration and management), tools for debugging,
login and monitoring and tools for image
 KT0309 Familiarity with Office tools
 KT0310 Leadership and people management skills
Internal Assessment Criteria and Weight

 IAC0301 A sound knowledge of programming languages, operating systems, the cloud environment,
Office tools, etc. is demonstrated

 IAC0302 The importance of analytical and innovative thinking within a business ecosystem that
encompasses 4IR, is understood

 IAC0303 Soft skills as well as leadership and people management skills are understood and applied

(Weight 10%)

11.2.4 KM-11-KT04 : 4 IR trends affecting businesses 10%


Topic elements to be covered include:

 KT0401 Afro-centric approach to African problems – taking the best from the existing products
and coming up with own solutions and continental challenges and opportunities
 KT0402 Using Google, Amazon and MS forms and tools to reduce development time (e.g. embed
AI APIs)
 KT0403 Business intelligence applications and availability of Big Data (collecting data, converting
data into information and turning information into knowledge, knowledge into intelligence
and intelligence into wisdom)
 KT0404 Collecting data on clients
 KT0405 Insight into different markets
 KT0406 Automated factories

251201005 - Occupational Certificate: Software Developer Page 66 of 184


 KT0407 Exposure to the global world
Internal Assessment Criteria and Weight

 IAC0401 The various IR trends affecting businesses are described and understood within an Afro-
centric context, taking into account the existing continental challenges and opportunities for
development

 IAC0402 Business Intelligence and Big Data are applied and utilized as marketing tool

 IAC0403 Knowledge of automated factories and insight into the different global markets are
displayed

(Weight 10%)

11.2.5 KM-11-KT05 : Interpersonal skills 5%


Topic elements to be covered include:

 KT0501 Concept, definition and terminology


 KT0502 Principles
 KT0503 Attributes:
 Social intelligence
 Confidentiality
 Conflict handling and resolution
 Decision making
 Defending vs attacking
 Problem solving, Troubleshooting
 Respect
 Roles, responsibilities
 Thinking about the end-user
Internal Assessment Criteria and Weight

 IAC0501 The following universal soft skills are applied in an IR report: flexibility, communication
skills, teamwork, literacy, emotional maturity, decision making and adaptability

(Weight 5%)

11.2.6 KM-11-KT06 : Intrapersonal skills 5%


Topic elements to be covered include:

 KT0601 Concept, definition and terminology


 KT0602 Principles
 KT0603 Attributes:
 Adaptability
 Agility
 Analytical thinking
 Cognitive thinking skills
 Emotional maturity
 Flexibility
 Planning
 Problem solving

251201005 - Occupational Certificate: Software Developer Page 67 of 184


 Reflection
 Research and investigate
 Self-management
 Strong attention to detail
 Time-management
 Resilience
Internal Assessment Criteria and Weight

 IAC0601 The concept and principles of the intrapersonal skills needed to function effectively within a
business ecosystem and with the demands of 4IR in mind, are understood

 IAC0602 The importance of an ability to solve problems through planning, research, investigation,
analytical thinking and strong attention to detail, is described

 IAC0603 Effective self-management and time-management are applied

(Weight 5%)

11.2.7 KM-11-KT07 : Communication principles and methods 5%


Topic elements to be covered include:

 KT0701 Concept, definition and terminology


 KT0702 The different types and forms of communication and communication processes
 KT0703 Communication methods
 KT0704 Barriers to communication
 KT0705 Communication network: Interdepartmental, Supply chain network, etc.
 KT0706 Advantages of good communication
 KT0707 Consequences of poor/no communication
Internal Assessment Criteria and Weight

 IAC0701 The basic principles of communication within a business ecosystem are explained

 IAC0702 Types of communication are defined and compared

 IAC0703 Various communication methods and techniques are compared for effectiveness in the
workplace

 IAC0704 Communication flow in the workplace is evaluated

 IAC0705 Reporting structures in the workplace are evaluated

 IAC0706 The importance and the role of recording and reporting of data and information are
explained

(Weight 5%)

11.2.8 KM-11-KT08 : Written business communication 7%


Topic elements to be covered include:

 KT0801 Business requirement specifications


 KT0802 Types

251201005 - Occupational Certificate: Software Developer Page 68 of 184


 KT0803 Conventions
 KT0804 Schedules
 KT0805 Reports, reporting protocols and methods
 KT0806 Manuals and guidelines
 KT0807 Work instructions/briefs
 KT0808 Technical report writing
 KT0809 Extracting information from written texts
 KT0810 Policies aligned to standard (IEEE 829-2008 standards)
Internal Assessment Criteria and Weight

 IAC0801 The purpose of written communication within a business ecosystem is stated

 IAC0802 Effective written communication is evaluated

 IAC0803 Work instructions are interpreted and applied

 IAC0804 The purpose and advantages of communication are described

 IAC0805 Definition and purpose of work instructions are described

(Weight 7%)

11.2.9 KM-11-KT09 : Presentation skills 7%


Topic elements to be covered include:

 KT0901 Concept, definition and terminology


 KT0902 Types: visual, verbal, written
 KT0903 Conventions
 KT0904 Presenting options and solutions
 KT0905 Presenting technical details
 KT0906 Visualisation of business intelligence
 KT0907 Suitable APIs and storytelling using the right tools to:
 present
 frame the story
 focus on certain aspects
 pitch
 clear terms
 pictorial
Internal Assessment Criteria and Weight

 IAC0901 The definition and importance of effective presentation skills are understood

 IAC0902 Effective presentation, either visually, verbally or in written form, is applied

 IAC0903 The technical aspects of and solutions for effective presenting, are described

 IAC0904 Suitable APIs are selected and applied in the form of stories in order to visually present
business intelligence within the business

(Weight 7%)

251201005 - Occupational Certificate: Software Developer Page 69 of 184


11.2.10 KM-11-KT10 : Teamwork in the workplace 10%
Topic elements to be covered include:

 KT1001 Concept, definition and terminology


 KT1002 Principles of teamwork
 KT1003 Advantages of teamwork
 KT1004 Team composition and members
 KT1005 Roles, responsibilities and functions
 KT1006 Team dynamics
 KT1007 Common goals and collaboration
 KT1008 Nature of multidisciplinary teams and teamwork
 KT1009 Setting and achieving targets
 KT1010 Collaboration tools (electronic)
Internal Assessment Criteria and Weight

 IAC1001 The composition of a team within a business ecosystem is described

 IAC1002 The role of a team and its various members is described

 IAC1003 The contribution of a team to an organisation is evaluated

 IAC1004 The dynamics of a well-functioning team are described

 IAC1005 The influence of different team members on team performance is analysed

 IAC1006 External factors which will impact on teamwork are defined

 IAC1007 Internal factors which will impact on teamwork are defined

(Weight 10%)

11.2.11 KM-11-KT11 : Committees and meetings 5%


Topic elements to be covered include:

 KT1101 Procedures
 KT1102 Agendas and minutes
 KT1103 Roles and responsibilities
 KT1104 WSP committees
 KT1105 EE committees
 KT1106 Safety and health committees
 KT1107 Wellness committees
Internal Assessment Criteria and Weight

 IAC1101 The roles and functions of the various committees are defined

 IAC1102 The purpose and objectives of meetings are defined

 IAC1103 Input on correctness of minutes is constructed

251201005 - Occupational Certificate: Software Developer Page 70 of 184


(Weight 5%)

11.2.12 KM-11-KT12 : Job descriptions and profiles 5%


Topic elements to be covered include:

 KT1201 Purpose
 KT1202 Job and person specification
 KT1203 Content
 KT1204 Alignment to performance standards
Internal Assessment Criteria and Weight

 IAC1201 Definition and purpose of a job description are described

 IAC1202 A job description is compiled

 IAC1203 A job profile is compiled

(Weight 5%)

11.2.13 KM-11-KT13 : Customers and stakeholders 7%


Topic elements to be covered include:

 KT1301 Concept, definition and terminology


 KT1302 Types of customers
 KT1303 Customer profile
 KT1304 Typical customer behaviour: including habits and mannerisms
 KT1305 Difficult customers
 KT1306 Customer care
 KT1307 Stakeholder management and participation
Internal Assessment Criteria and Weight

 IAC1301 The importance of knowledge about the various types of customers and stakeholders
operating within a business ecosystem, is understood

 IAC1302 Culture, habits and nature of customers and stakeholders are taken into account when
interaction with these parties is necessitated

(Weight 7%)

11.2.14 KM-11-KT14 : Customer service 7%


Topic elements to be covered include:

 KT1401 Concept, definition and terminology

 KT1402 Customer service principles

 KT1403 Customer centeredness

 KT1404 Handover and sign-off procedures and techniques

251201005 - Occupational Certificate: Software Developer Page 71 of 184


 KT1405 Technical documentation

 KT1406 Training in the use of the system

Internal Assessment Criteria and Weight

 IAC1401 The definition, principles and importance of customer service are understood and
described

 IAC1402 Technical aspects of customer service, including sign-off procedures and techniques and
knowledge of the system used, are described and applied

(Weight 7%)

11.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

11.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 72 of 184


12. 251201-005-00-KM-12, Design Thinking Principles for Innovation, NQF Level 4, Credits 1

12.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of design thinking
principles and application in the workplace

The learning will enable learners to demonstrate an understanding of:

 KM-12-KT01 : Introduction to design thinking 15%


 KM-12-KT02 : The human element 10%
 KM-12-KT03 : Creativity 20%
 KM-12-KT04 : Innovation 20%
 KM-12-KT05 : Design 10%
 KM-12-KT06 : Design thinking methodology 10%
 KM-12-KT07 : Application of design thinking 15%
12.2 Guidelines for Topics

12.2.1 KM-12-KT01 : Introduction to design thinking 15%

Topic elements to be covered include:

 KT0101 Philosophy

 KT0102 Approach and concepts

 KT0103 Definitions and terminology

 KT0104 History

Internal Assessment Criteria and Weight

 IAC0101 Design thinking methodology is understood

(Weight 15%)

12.2.2 KM-12-KT02 : The human element 10%

Topic elements to be covered include:

 KT0201 Human centeredness

 KT0202 Human participation

Internal Assessment Criteria and Weight

 IAC0201 The principles of design thinking is understood

(Weight 10%)

12.2.3 KM-12-KT03 : Creativity 20%

Topic elements to be covered include:

251201005 - Occupational Certificate: Software Developer Page 73 of 184


 KT0301 Creativity: is unleashing the potential of the mind to conceive new ideas

 KT0302 Perceiving the world in new ways

 KT0303 Find hidden patterns

 KT0304 Make connections between seemingly unrelated phenomena

 KT0305 Generate solutions

 KT0306 Application in the workplace

Internal Assessment Criteria and Weight

 IAC0301 Creativity is analysed and possible applications are identified

(Weight 20%)

12.2.4 KM-12-KT04 : Innovation 20%

Topic elements to be covered include:

 KT0401 Innovation: is the action of putting things into practical reality, despite challenges and
resistance
 KT0402 Different innovations:
 Incremental
 Disruptive
 Architectural
 Radical
 KT0403 Main types of innovation:
 Process innovation
 Product innovation
 Organisational innovation
 Market innovation
 KT0404 What innovation means to business
Internal Assessment Criteria and Weight

 IAC0401 Innovation is analysed and possible applications are identified

(Weight 20%)

12.2.5 KM-12-KT05 : Design 10%

Topic elements to be covered include:

 KT0501 Think outside the box

 KT0502 Push beyond the obvious solutions

 KT0503 Communication through shape and form

Internal Assessment Criteria and Weight

251201005 - Occupational Certificate: Software Developer Page 74 of 184


 IAC0501 Design is analysed and possible applications are identified

(Weight 10%)

12.2.6 KM-12-KT06 : Design thinking methodology 10%

Topic elements to be covered include:

 KT0601 Design thinking phases

 KT0602 Design thinking tools and techniques

Internal Assessment Criteria and Weight

 IAC0601 Design thinking phases, tools and techniques are understood

(Weight 10%)

12.2.7 KM-12-KT07 : Application of design thinking 15%

Topic elements to be covered include:

 KT0701 Application in software development

 KT0702 Application in cyber security

 KT0703 Business innovation

 KT0704 Innovative problem solving

Internal Assessment Criteria and Weight

 IAC0701 Possible design thinking applications are explored and discussed

(Weight 15%)

12.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 practical skills

 QCTO/ MICT SETA requirements

Human Resource Requirements:

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

 Qualification of lecturer (SME):

o NQF 6 in industry recognised qualifications with 1 year’s experience in the IT industry

251201005 - Occupational Certificate: Software Developer Page 75 of 184


o AI vendor certification (where applicable)

 Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

 Legal (product) licences to use the software for learning and training (where applicable)

 OHS compliance certificate

 Ethical clearance (where necessary)

12.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 76 of 184


SECTION 3B: PRACTICAL SKILLS MODULE SPECIFICATIONS

List of Practical Skills Module Specifications

Practical Skills 251201-005- Use Software to Communicate and Visualise 4 3


00-PM-01 Information
Practical Skills 251201-005- Use and Manage Spreadsheets and 4 3
00-PM-02 Workbooks
Practical Skills 251201-005- Use Desktop Applications to Analyse, 5 3
00-PM-03 Visualise and report on Data
Practical Skills 251201-005- Use a Visual Analytics Platform and 5 3
00-PM-04 Visualisation Tools to Analyse, Visualise and
report on Data
Practical Skills 251201-005- Query and Massage Data 5 3
00-PM-05
Practical Skills 251201-005- Apply Logical Thinking and Maths 4 3
00-PM-06
Practical Skills 251201-005- Apply Code to use a Software Toolkit/Platform 5 3
00-PM-07 in the Field of Study or Employment
Practical Skills 251201-005- Develop Software using HTML5, Opensource 5 16
00-PM-08 Frameworks and Libraries
Practical Skills 251201-005- Design and Build Web Applications, Desktop 5 8
00-PM-09 Graphical User Interfaces or Mobile Apps
Practical Skills 251201-005- Use a Cloud Automation Platform to Create 4 8
00-PM-10 Solutions
Practical Skills 251201-005- Develop Software using Python 5 12
00-PM-11
Practical Skills 251201-005- Apply the Development Cycle when 5 16
00-PM-12 Developing Software
Practical Skills 251201-005- Participate in a Design Thinking for Innovation 4 4
00-PM-13 Workshop
Practical Skills 251201-005- Function Ethically and Effectively in a Team 4 4
00-PM-14

251201005 - Occupational Certificate: Software Developer Page 77 of 184


1. 251201-005-00-PM-01, Use Software to Communicate and Visualise Information, NQF
Level 4, Credits 3

1.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to develop skills to
apply and use information, computer technology and computer software. The learning of this module will also
enable the learner to acquire the skills to use electronic communication and soft-ware packages, including
compiling text documents and designing of presentations for visualisation of information

The learner will be required to:

 PM-01-PS01 : Use electronic communication


 PM-01-PS02 : Use software packages for office use
 PM-01-PS03 : Operate a software package
 PM-01-PS04 : Use software functions to create and manage documents
 PM-01-PS05 : Design and construct presentations
1.2 Guidelines for Practical Skills

1.2.1 PM-01-PS01 : Use electronic communication


Scope of Practical Skill

Given access to a computer (e.g. desktop, laptop, smart mobile, tablet) with applicable software, the learner
must be able to:

 PA0101 Demonstrate the use of various functionalities:


 Internet
 Web sites
 Internet service providers
 Electronic mail
 Internet forums
 Digital learning
 Virtualisation (e.g. virtual meetings, virtual workshops, conferencing, etc.)
Applied Knowledge

 AK0101 Various electronic applications


Internal Assessment Criteria

 IAC0101 The use of computer technology as a communication tool is demonstrated


 IAC0102 The use of and accessing the internet, websites, electronic email, internet forums, digital
learning and virtualisation is demonstrated

1.2.2 PM-01-PS02 : Use software packages for office use


Scope of Practical Skill

Given access to a computer (e.g. desktop, laptop, smart mobile, tablet) with applicable software, the learner
must be able to:

 PA0201 Demonstrate the use of various functionalities:


 Electronic text documents
 Electronic spreadsheets
 Internet access
 Electronic written communication

251201005 - Occupational Certificate: Software Developer Page 78 of 184


 Virtual meetings
 Virtual seminars
Applied Knowledge

 AK0201 Software functions


Internal Assessment Criteria

 IAC0201 The use of computer technology as a communication tool is demonstrated


 IAC0202 The use of software packages applicable to the workplace is demonstrated

1.2.3 PM-01-PS03 : Operate a software package


Scope of Practical Skill

Given access to a computer (e.g. desktop, laptop, smart mobile, tablet) with applicable software, the learner
must be able to:

 PA0301 Demonstrate the use of various functionalities:


 Create new folders
 Move files
 Format diskettes
 Copy files
 Open files and folders
 Create folders and files
 Undo commands
 Find files
 Recycle bin
Applied Knowledge

 AK0301 Software functions


Internal Assessment Criteria

 IAC0301 The use of computer technology as a communication tool is demonstrated


 IAC0302 An ability to systemise and optimise operations on a computer is demonstrated

1.2.4 PM-01-PS04 : Use software functions to create and manage documents


Scope of Practical Skill

Given text compiled by multiple authors, the learner must be able to:

 PA0401 Create and operate within documents


 Navigate within documents
 Format documents
 Save and share documents
 Inspect documents for issues
 PA0402 Insert and format text, paragraphs, and sections
 Insert text and paragraphs
 Format text and paragraphs
 Create and configure document sections
 PA0403 Create and modify tables and lists
 Create tables
 Modify tables

251201005 - Occupational Certificate: Software Developer Page 79 of 184


 Create and modify lists
 PA0404 Create and use references
 Create and use reference elements
 Create and use reference tables
 PA0405 Insert and format graphic elements
 Insert illustrations and text boxes
 Format illustrations and text boxes
 Add text to graphic elements
 Modify graphic elements
 PA0406 Use document collaboration
 Add and use comments
 Use change tracking
 PA0407 Use document options and settings
 Use documents and templates
 Prepare documents for collaboration
 Use and configure language options
 PA0408 Use advanced editing and formatting features
 Find, replace, and paste document content
 Configure paragraph layout options
 Create and use styles
 PA0409 Create custom document elements
 Create and modify building blocks
 Create custom design elements
 Create and manage indexes
 Create and manage tables of figures
 PA0410 Use advanced word processing features
 Manage forms, fields, and controls
 Create and modify macros
 Perform mail merges
Applied Knowledge

 AK0401 Software functions


Internal Assessment Criteria

 IAC0401 Software functions are used to create and manage documents

1.2.5 PM-01-PS05 : Design and construct presentations


Scope of Practical Skill

Given a chapter of the book and a house style guide, the learner must be able to:

 PA0501 Prepare presentation slide decks


 Modify slide masters, handout masters, and note masters
 Change presentation options and views
 Configure print settings for presentations
 Configure and present slide shows
 Prepare presentations for collaboration
 PA0502 Working with slides
 Insert slides
 Modify slides

251201005 - Occupational Certificate: Software Developer Page 80 of 184


 Order and group slides
 PA0503 Working with text on slides
 Format text
 Insert links
 Insert and format images
 Insert and format graphic elements
 Order and group objects on slides
Applied Knowledge

 AK0501 Software functions


Internal Assessment Criteria

 IAC0501 Software functions are used to design and construct presentations

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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

1.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 81 of 184


2. 251201-005-00-PM-02, Use and Manage Spreadsheets and Workbooks, NQF Level 4,
Credits 3

2.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
use spreadsheets to analyse and visualise data

The learner will be required to:

 PM-02-PS01 :
Use workbooks
 PM-02-PS02 :
Manipulate data
 PM-02-PS03 :
Create and work with tables
 PM-02-PS04 :
Use references and formulas
 PM-02-PS05 :
Apply functionalities for using macros, referencing, language, collaboration and
formatting
 PM-02-PS06 : Use formulas in a spreadsheet
 PM-02-PS07 : Visualise data using charts
2.2 Guidelines for Practical Skills

2.2.1 PM-02-PS01 : Use workbooks


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0101 Import data into workbooks from .txt files and .csv files
 PA0102 Navigate to named cells, ranges, or workbook elements, and Insert and remove hyperlinks
 PA0103 Format worksheets and workbooks: Modify page setup, adjust row height and column
width and customize headers and footers
 PA0104 Customize options and views
 PA0105 Configure content for collaboration, printing, and inspect
 Set a print area
 Save workbooks in alternative file formats
 Configure print settings
 Inspect workbooks for issues
Applied Knowledge

 AK0101 Workbook functionalities


Internal Assessment Criteria

 IAC0101 Workbooks are used, navigated, formatted and customised using inherent functionalities
 IAC0102 Workbook content is configured for collaboration and printing and inspected

2.2.2 PM-02-PS02 : Manipulate data


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0201 Manipulate data in worksheets


 PA0202 Format cells and ranges
 PA0203 Define and reference named ranges
 PA0204 Summarise data visually
Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 82 of 184


 AK0201 Data manipulation functionalities
Internal Assessment Criteria

 IAC0201 Data is manipulated and visually summarised

2.2.3 PM-02-PS03 : Create and work with tables


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0301 Create and format tables


 PA0302 Modify tables
 PA0303 Filter and sort table data
Applied Knowledge

 AK0301 Table creation functionalities


Internal Assessment Criteria

 IAC0301 Tables are created, modified and data is filtered and sorted

2.2.4 PM-02-PS04 : Use references and formulas


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0401 Insert references


 Insert relative, absolute, and mixed references
 Reference named ranges and named tables in formulas
 PA0402 Calculate and transform data
 Perform calculations by using the AVERAGE(), MAX(), MIN(), and SUM() functions
 Count cells by using the COUNT(), COUNTA(), and COUNTBLANK() functions
 Perform conditional operations by using the IF() function
 PA0403 Format and modify text
 Format text by using RIGHT(), LEFT(), and MID() functions
 Format text by using UPPER(), LOWER(), and LEN() functions
 Format text by using the CONCAT() and TEXTJOIN() functions
 PA0404 Create, modify and format charts
Applied Knowledge

 AK0401 Data referencing and formulas


Internal Assessment Criteria

 IAC0401 Data is referenced, calculated and transformed using inherent functionalities


 IAC0402 Text is formatted and modified using inherent functionalities
 IAC0403 Charts are created, modified and formatted using inherent functionalities

2.2.5 PM-02-PS05 : Apply functionalities for using macros, referencing, language,


collaboration and formatting
Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

251201005 - Occupational Certificate: Software Developer Page 83 of 184


 PA0501 Manage workbooks using macros and referencing
 PA0502 Prepare workbooks for collaboration
 PA0503 Use and configure language options
 PA0504 Effectively use cell level formatting
Applied Knowledge

 AK0501 Macros, referencing, language, collaboration and formatting


Internal Assessment Criteria

 IAC0501 The application of functionalities for using macros, referencing, language, collaboration
and formatting is demonstrated

2.2.6 PM-02-PS06 : Use formulas in a spreadsheet


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0601 Perform logical operations in formulas: Including: Perform logical operations by using
nested functions including the IF(), IFS(), SWITCH(), SUMIF(), AVERAGEIF(), COUNTIF(),
SUMIFS(), AVERAGEIFS(), COUNTIFS(), MAXIFS(), MINIFS(), AND(), OR(), and NOT()
functions
 PA0602 Look up data by using functions: Look up data by using the VLOOKUP(), HLOOKUP(),
MATCH(), and INDEX() functions
 PA0603 Use advanced date and time functions: Reference date and time by using the NOW() and
TODAY() functions and Calculate dates by using the WEEKDAY() and WORKDAY()
functions
 PA0604 Perform data analysis:
 Summarize data from multiple ranges by using the Consolidate feature
 Perform what-if analysis by using Goal Seek and Scenario Manager
 Forecast data by using the AND(), IF(), and NPER() functions
 Calculate financial data by using the PMT() function
 PA0605 Troubleshoot formulas
 Trace precedence and dependence
 Monitor cells and formulas by using the Watch Window
 Validate formulas by using error checking rules
 Evaluate formulas
 PA0606 Create and modify simple macros
Applied Knowledge

 AK0601 Data manipulation functionalities


Internal Assessment Criteria

 IAC0601 Various formulas are applied using inherent functionalities

2.2.7 PM-02-PS07 : Visualise data using charts


Scope of Practical Skill

Given access to computer hardware and software and an applicable problem, the learner must be able to:

 PA0701 Create and modify advanced charts including Box & Whisker, Combo, Funnel, Histogram,
Map, Sunburst, and Waterfall charts

251201005 - Occupational Certificate: Software Developer Page 84 of 184


 PA0702 Create and modify PivotTables

 PA0703 Create and modify PivotCharts

Applied Knowledge

 AK0701 Data visualisation functionalities


Internal Assessment Criteria

 IAC0701 Data is visualised in charts using various options

2.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

2.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 85 of 184


3. 251201-005-00-PM-03, Use Desktop Applications to Analyse, Visualise and report on Data,
NQF Level 5, Credits 3

3.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
use spreadsheets to analyse and visualise data

The learner will be required to:

 PM-03-PS01 : Report data using spreadsheets


 PM-03-PS02 : Summarise and format data using spreadsheet tables
 PM-03-PS03 : Create, use and edit pivot tables and pivot charts
 PM-03-PS04 : Create, use and edit dashboards
 PM-03-PS05 : Create and configure hierarchies and time data
 PM-03-PS06 : Apply a spreadsheet data model
 PM-03-PS07 : Import data from files
 PM-03-PS08 : Import data from databases
 PM-03-PS09 : Import data from reports
 PM-03-PS10 : Visualize data
 PM-03-PS11 : Scrape data from the web using an appropriate tool
3.2 Guidelines for Practical Skills

3.2.1 PM-03-PS01 : Report data using spreadsheets

Scope of Practical Skill

Given a suitable problem to solve, the learner must be able to:

 PA0101 Create spreadsheet report


 PA0102 Filter and format data
 PA0103 Create charts
Applied Knowledge

 AK0101 Data analysis


 AK0102 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0101 Reporting is done by creating charts or spreadsheets containing the correct data

3.2.2 PM-03-PS02 : Summarise and format data using spreadsheet tables

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0201 Create a table


 PA0202 Summarise data
 PA0203 Sort, filter, and validate data
Applied Knowledge

 AK0201 Data analysis


 AK0202 Spreadsheet functions and capabilities
Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 86 of 184


 IAC0201 A spreadsheet table is created and summarized data sorted, filtered, validated and
formatted

3.2.3 PM-03-PS03 : Create, use and edit pivot tables and pivot charts

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0301 Use pivot tables and pivot charts


 PA0302 Import data from a CSV file
 PA0303 Create a pivot table
 PA0304 Edit pivot tables and pivot charts
Applied Knowledge

 AK0301 Data analysis


 AK0302 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0301 Pivot tables and charts are created, used and edited, using data imported from a CSV file

3.2.4 PM-03-PS04 : Create, use and edit dashboards

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0401 Create dashboards


 PA0402 Conduct data analysis in excel pivot tables
 PA0403 Arrange tables and charts
 PA0404 Slice data
 PA0405 Filter data using a slicer
 PA0406 Add calculated columns to a dashboard
 PA0407 Find anomalies
Applied Knowledge

 AK0401 Data analysis


 AK0402 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0401 Excel dashboards are created containing data backed tables and charts, data are sliced,
filtered and calculated and anomalies found

3.2.5 PM-03-PS05 : Create and configure hierarchies and time data

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0501 Create a hierarchy


 PA0502 Configure time data
 PA0503 Create an animated time chart

251201005 - Occupational Certificate: Software Developer Page 87 of 184


Applied Knowledge

 AK0501 Data analysis


 AK0502 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0501 Hierarchies are created on a spreadsheet, time data are configured and ultimately an
animated time chart is created

3.2.6 PM-03-PS06 : Apply a spreadsheet data model

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0601 Explore an excel data model


 PA0602 Add multiple tables
 PA0603 Create relationships
 PA0604 Add external data
 PA0605 Import external data and use it
 PA0606 Link out to external data
 PA0607 Use the DAX (data analysis expressions) function
 PA0608 View data within a spreadsheet data table
Applied Knowledge

 AK0601 Data analysis


 AK0602 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0601 A spreadsheet data model is applied for integrating data from various imported tables and
creating relationships between them

3.2.7 PM-03-PS07 : Import data from files

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0701 Pre-format and import CSV files


 PA0702 Import data into the software program
 PA0703 Shape and transform data
 PA0704 Load data
Applied Knowledge

 AK0701 Data analysis


 AK0702 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0701 Data are imported from pre-formatted files into excel and configured

3.2.8 PM-03-PS08 : Import data from databases

251201005 - Occupational Certificate: Software Developer Page 88 of 184


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0801 Import data into excel from a SQL server database


 PA0802 Identify available data sources
 PA0803 Preview, shape, and transform data
 PA0804 Table relationships and hierarchies
 PA0805 Load data
Applied Knowledge

 AK0801 Data analysis


 AK0802 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0801 Data are imported into excel from various identified databases and configured, taking table
relationships and hierarchies into account

3.2.9 PM-03-PS09 : Import data from reports

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0901 Import data from spreadsheet reports


 PA0902 Transform spreadsheet report data
Applied Knowledge

 AK0901 Data analysis


 AK0902 Spreadsheet functions and capabilities
Internal Assessment Criteria

 IAC0901 Data are imported from spreadsheet reports and converted

3.2.10 PM-03-PS10 : Visualize data

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA1001 Create and format measures


 PA1002 Visualize data using:
 Pivot charts
 Cube functions
 Charts for cube functions
 PA1003 Create and refine a pivot chart
Applied Knowledge

 AK1001 Cube functions and when to use them


 AK1002 A number of charts for use with cube functions
Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 89 of 184


 IAC1001 Data are visualized in excel with created and refined pivot charts and charts with cube
functions in order to produce a graphical representation of a set of data

3.2.11 PM-03-PS11 : Scrape data from the web using an appropriate tool

Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA1101 Access the web and fetch internet resources using platform functionalities
 Setting things up
 Loading URLs
 PA1102 URL handling and operations with platform tools and requests
 tools
 requests
 PA1103 Implementing HTTP methods
 GET
 POST
 PA1104 Using selectors
Technical requirements and tools
 Types of selectors
 Element selectors
 ID and class selectors
 Attribute selectors
 Pseudo selectors
 PA1105 Using web browser developer tools for accessing web content
 HTML elements and DOM navigation
 Selectors using DevTools
 PA1106 Scraping using library
 reading XML from file and traversing through its elements
 reading HTML documents using lxml.html
 reading and parsing HTML for retrieving HTML form type element attributes
 PA1107 Web scraping
 extracting selected data from a single page
 looping and scraping data from multiple pages
 using tools to scrape content from a page
 Scraping Using pyquery - a Python Library
 Web Scraping Using Scrapy and Beautiful Soup
 Web scraping using Scrapy
 Deploying a web crawler
 PA1108 Working with Secure Web

 PA1109 Data Extraction Using Web-Based APIs

 PA1110 Using Selenium to Scrape the Web

 PA1111 Using Regex to Extract Data

 PA1112 Managing scraped data


 Writing to files; Analysis and visualization using pandas and matplotlib
 Machine learning; ML and Al; Python and ML; Types of ML algorithms
 Supervised learning; Classification; Regression; Unsupervised learning
 Association; Clustering; Reinforcement learning; Data mining
 Tasks of data mining; Predictive; Classification; Regression
 Prediction; Descriptive; Clustering;

Applied Knowledge

 AK1101 Purpose of data scraping

251201005 - Occupational Certificate: Software Developer Page 90 of 184


 AK1102 Data scraping tools
 AK1103 Legal issues
 AK1104 Web scraping procedure
Internal Assessment Criteria

 IAC1101 Required data are scraped from the web using appropriate procedure

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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

3.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 91 of 184


4. 251201-005-00-PM-04, Use a Visual Analytics Platform and Visualisation Tools to Analyse,
Visualise and report on Data, NQF Level 5, Credits 3

4.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
use Business Intelligence (BI) Technologies to analyse and visualise data (BI toolsets and technologies refer
to e.g. Power BI, R, Python, Tableau, Hadoop, Spark, etc.)

The learner will be required to:

 PM-04-PS01 : Use spreadsheet data with BI technologies


 PM-04-PS02 : Self-service BI technology solutions
 PM-04-PS03 : Shape and combine data
 PM-04-PS04 : Model data
 PM-04-PS05 : Use interactive data visualizations to represent data graphically
 PM-04-PS06 : Access data
 PM-04-PS07 : Use visualisation tools to present data as meaningful insights
4.2 Guidelines for Practical Skills

4.2.1 PM-04-PS01 : Use spreadsheet data with BI technologies


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0101 Describe BI technologies and the various versions available


 PA0102 Upload spreadsheet data to BI technologies
 PA0103 Describe the BI technology Apps
Applied Knowledge

 AK0101 Software platform use and application


 AK0102 BI technologies
Internal Assessment Criteria

 IAC0101 The various versions of technologies available are described and spreadsheet data
uploaded to BI technologies
 IAC0102 A BI technology App is described

4.2.2 PM-04-PS02 : Self-service BI technology solutions


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0201 Explore an enterprise BI solution


 PA0202 View reports
 PA0203 Create a report
 PA0204 Create a dashboard
 PA0205 Connect to data
 PA0206 Import data into BI technologies
 PA0207 Import spreadsheet files into BI technologies
 PA0208 View reports from spreadsheet files
Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 92 of 184


 AK0201 Software platform functionalities and application
 AK0202 BI principles
Internal Assessment Criteria

 IAC0201 BI technologies are applied for examining, importing and utilizing data reports from data
files and dashboards

4.2.3 PM-04-PS03 : Shape and combine data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0301 Execute desktop queries

 PA0302 Shape and combine data

 PA0303 Perform a range of query editing tasks

 PA0304 Shape data, using formatting and transformations

 PA0305 Combine data together from tables in a dataset

Applied Knowledge

 AK0301 Software platform and application


 AK0302 Data usage principles
Internal Assessment Criteria

 IAC0301 Data are shaped and combined by performing queries and editing

4.2.4 PM-04-PS04 : Model data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0401 Model data using the following functions:


 Relationships
 Calculations and measures
 Modelling data
 DAX Queries (data analysis expressions)
 Create relationships
 Calculations
 Describe relationships between data tables
 Use DAX functions to enhance a dataset
 Create calculated columns, calculated tables and measures
Applied Knowledge

 AK0401 Software platform and application


 AK0402 Data modeling principles

Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 93 of 184


 IAC0401 A data modelling process is applied to define data elements and define the structures and
the relationships between them

4.2.5 PM-04-PS05 : Use interactive data visualizations to represent data graphically


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0501 Create a report


 PA0502 Connect to data
 PA0503 Build Reports
 PA0504 Create a dashboard
 PA0505 create interactive data visualizations
 PA0506 Manage a BI technology solution
 PA0507 View reports
Applied Knowledge

 AK0501 Software platform functionalities


 AK0502 Data presentation principles
Internal Assessment Criteria

 IAC0501 The various actions needed to create interactive data visualizations are applied

4.2.6 PM-04-PS06 : Access data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and spreadsheet software, the learner must be able to:

 PA0601 Access data in SQL database and SQL data warehouse


 PA0602 Access data in big data sources, such as Hadoop
 PA0603 Use SQL server analysis services data
 PA0604 Use analysis services models running in multidimensional mode
Applied Knowledge

 AK0601 SQL functions and application


 AK0602 Data access principles
Internal Assessment Criteria

 IAC0601 Direct connectivity is used to access various data sources

4.2.7 PM-04-PS07 : Use visualisation tools to present data as meaningful insights


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0701 Select a visualisation method appropriate to the type of data and audience to present data as
meaningful insights:

 Charts

 Graphs

251201005 - Occupational Certificate: Software Developer Page 94 of 184


 Dashboards

 Reports

 Network diagrams

 Correlation matrices

 Maps

 Create dashboards and reports for mobile devices

Applied Knowledge

 AK0701 visualisation tools functions and application


 AK0702 Data visualization techniques
Internal Assessment Criteria

 IAC0701 Various tools are skilfully used to convert raw data into meaningful insights

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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

4.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 95 of 184


5. 251201-005-00-PM-05, Query and Massage Data, NQF Level 5, Credits 3

5.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
apply various methods and tools to analyse data and create meaningful insights

The learner will be required to:

 PM-05-PS01 : Write queries


 PM-05-PS02 : Write SELECT queries
 PM-05-PS03 : Query multiple tables
 PM-05-PS04 : Sort and filter data
 PM-05-PS05 : Use SQL server data types
 PM-05-PS06 : Use data manipulation language (DML) to modify data
 PM-05-PS07 : Use built-in functions
 PM-05-PS08 : Group and aggregate data
 PM-05-PS09 : Use subqueries
 PM-05-PS10 : Use table expressions
 PM-05-PS11 : Use set operators
 PM-05-PS12 : Use ranking, offset, and aggregate functions
 PM-05-PS13 : Write queries using pivoting and grouping sets
 PM-05-PS14 : Execute stored procedures
 PM-05-PS15 : Program with SQL
 PM-05-PS16 : Implement error handling
 PM-05-PS17 : Implement transactions
5.2 Guidelines for Practical Skills

5.2.1 PM-05-PS01 : Write queries


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0101 Introduction to SQL querying

 PA0102 Execute basic SELECT statements

 PA0103 Execute queries that filter data using predicates

 PA0104 Execute queries that sort data using ORDER BY

Applied Knowledge

 AK0101 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0101 Queries are written to extract data

5.2.2 PM-05-PS02 : Write SELECT queries


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

251201005 - Occupational Certificate: Software Developer Page 96 of 184


 PA0201 Write basic SELECT statements

 PA0202 Write simple SELECT statements

 PA0203 Eliminate duplicates using DISTINCT

 PA0204 Use column and table aliases

 PA0205 Use a simple CASE expression

Applied Knowledge

 AK0201 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0201 SELECT Queries are defined by writing Simple as well as Basic SELECT statements
 IAC0202 Duplicates are eliminated by using the SELECT DISTINCT statement
 IAC0203 A simple CASE statement is used

5.2.3 PM-05-PS03 : Query multiple tables


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0301 Query multiple tables

 PA0302 Write queries that use inner joins

 PA0303 Write queries that use multiple-table inner joins

 PA0304 Write queries that use self-joins

 PA0305 Write queries that use outer joins

 PA0306 Write queries that use cross joins

Applied Knowledge

 AK0301 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0301 Multiple table queries are written by using the various types of SQL joins

5.2.4 PM-05-PS04 : Sort and filter data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0401 Sort and filter data

 PA0402 Write queries that filter data using a WHERE Clause

 PA0403 Write queries that sort data using an ORDER BY clause

251201005 - Occupational Certificate: Software Developer Page 97 of 184


 PA0404 Write queries that filter data using the TOP option

 PA0405 Write queries that filter data using the OFFSET-FETCH clause

Applied Knowledge

 AK0401 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0401 Data are sorted and filtered by writing Queries using the various options and clauses

5.2.5 PM-05-PS05 : Use SQL server data types


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0501 Work with SQL server data types

 PA0502 Write queries that return date and time data

 PA0503 Write queries that use date and time functions

 PA0504 Write queries that return character data

 PA0505 Write queries that return character functions

Applied Knowledge

 AK0501 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0501 Server data types are understood and worked with by writing and applying queries that
use date and time data and functions as well as return character data and functions

5.2.6 PM-05-PS06 : Use data manipulation language (DML) to modify data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0601 Use DML commands:

 SELECT – retrieve data from the a database

 INSERT – insert data into a table

 UPDATE – updates existing data within a table

 DELETE – deletes all records from a table, the space for the records remain

 MERGE – UPSERT operation (insert or update)

 CALL – call a PL/SQL or Java subprogram

 LOCK TABLE – control concurrency

251201005 - Occupational Certificate: Software Developer Page 98 of 184


 PA0602 Use DML to modify data

 PA0603 Insert records with DML

 PA0604 Update and delete records using DML

Applied Knowledge

 AK0601 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0601 DML commands are used to modify data and update or delete records

5.2.7 PM-05-PS07 : Use built-in functions


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0701 Use built-in functions

 PA0702 Write queries that use conversion functions

 PA0703 Write queries that use logical functions

 PA0704 Write queries that test for nullability

Applied Knowledge

 AK0701 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0701 Queries are written using the built-In functions

5.2.8 PM-05-PS08 : Group and aggregate data


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0801 Group and aggregate data

 PA0802 Write queries that use the GROUP BY clause

 PA0803 Write queries that use aggregate functions

 PA0804 Write queries that use distinct aggregate functions

 PA0805 write queries that filter groups with the HAVING clause

Applied Knowledge

 AK0801 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0801 Various applicable queries are understood and applied in order to group and aggregate
data

251201005 - Occupational Certificate: Software Developer Page 99 of 184


5.2.9 PM-05-PS09 : Use subqueries
Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA0901 Use subqueries

 PA0902 Write queries that use self-contained subqueries

 PA0903 Write queries that use scalar and multi-result subqueries

 PA0904 Write queries that use correlated subqueries and an EXISTS Clause

Applied Knowledge

 AK0901 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC0901 Queries are written by using subqueries in order to return data that will be used in the main
query

5.2.10 PM-05-PS10 : Use table expressions


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1001 Use table expressions


 PA1002 Write queries that use views
 PA1003 Write queries that use derived tables
 PA1004 Write queries that use common table expressions (CTEs)
 PA1005 Write queries that use inline table-valued expressions (TVFs)
Applied Knowledge

 AK1001 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1001 Queries are written by using various Table Expressions, including CTEs

5.2.11 PM-05-PS11 : Use set operators


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1101 Use set operators

 PA1102 Write queries that use UNION set operators and UNION ALL

 PA1103 Write queries that use CROSS APPLY and OUTER APPLY operators

 PA1104 Write queries that use the EXCEPT and INTERSECT operators

Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 100 of


184
 AK1101 Various data analysis methods and techniques
Internal Assessment Criteria

 IAC1101 Set operators are understood and queries are written by using various set operators

5.2.12 PM-05-PS12 : Use ranking, offset, and aggregate functions


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1201 Use Windows Ranking, Offset, and Aggregate Functions

 PA1202 Write Queries that use Ranking Functions

 PA1203 Write Queries that use Offset Functions

 PA1204 Write Queries that use Window Aggregate Functions

Applied Knowledge

 AK1201 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1201 Queries are written by using ranking, offset, and aggregate functions

5.2.13 PM-05-PS13 : Write queries using pivoting and grouping sets


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1301 Pivot and Group Sets

 PA1302 Write Queries that use the PIVOT Operator

 PA1303 Write Queries that use the UNPIVOT Operator

 PA1304 Write Queries that use the GROUPING SETS CUBE and ROLLUP Sub-clauses

Applied Knowledge

 AK1301 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1301 Queries are written by understanding and using pivot operators, grouping sets cube and
rollup sub-clauses

5.2.14 PM-05-PS14 : Execute stored procedures


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1401 Execute stored procedures

251201005 - Occupational Certificate: Software Developer Page 101 of


184
 PA1402 Use the EXECUTE statement to Invoke stored procedures

 PA1403 Pass parameters to stored procedures

 PA1404 Execute system stored procedures

Applied Knowledge

 AK1401 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1401 A stored procedure is executed within a query by using the EXECUTE command
 IAC1402 Parameters are passed to stored procedures by using a SQL Command

5.2.15 PM-05-PS15 : Program with SQL


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1501 Program with SQL


 PA1502 Declare variables and delimit batches
 PA1503 Use control-of-flow elements
 PA1504 Use variables in a dynamic SQL statement
 PA1505 Use synonyms
 PA1506 Write SQL code using IF...ELSE blocks
 PA1507 Write SQL code that uses WHILE
Applied Knowledge

 AK1501 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1501 To program with T-SQL, Controls, Variables and Synonyms are used

5.2.16 PM-05-PS16 : Implement error handling


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1601 Implement error handling

 PA1602 Redirect errors with TRY/CATCH

 PA1603 Use THROW to pass an error message back to a client

 PA1604 Implement SQL error handling

 PA1605 Implement structured exception handling

Applied Knowledge

 AK1601 Various data analysis methods and techniques


Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 102 of


184
 IAC1601 Errors are handled by implementing error and structured exception handling, redirecting
errors and passing an error message back to client

5.2.17 PM-05-PS17 : Implement transactions


Scope of Practical Skill

Given a suitable problem to solve, a PC or laptop and platform, the learner must be able to:

 PA1701
Implement transactions
 PA1702
Control transactions with BEGIN, COMMIT, and ROLLBACK
 PA1703
Add error handling to a CATCH block
 PA1704
Create and manage transactions with transaction control language (TCL) statements
 Use SET XACT_ABORT to define SQL Servers’ handling of transactions outside
PA1705
TRY/CATCH blocks
Applied Knowledge

 AK1701 Various data analysis methods and techniques


Internal Assessment Criteria

 IAC1701 Transactions are created and implemented using BEGIN and TCL commands like
COMMIT, ROLLBACK and SAVEPOINT
 IAC1702 SET XACT_ABORT is used to define SQL Servers’ handling of transactions outside
TRY/CATCH blocks

5.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

251201005 - Occupational Certificate: Software Developer Page 103 of


184
 Ethical clearance (where necessary)

5.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 104 of


184
6. 251201-005-00-PM-06, Apply Logical Thinking and Maths, NQF Level 4, Credits 3

6.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire
mathematical thinking skills for solving problems and to acquire basic maths skills for using software toolkits
or platforms. Functional understanding of maths and for logical reasoning

The learner will be required to:

 PM-06-PS01 : Number bases and measurement units


 PM-06-PS02 : Basic math
 PM-06-PS03 : Operator precedence
 PM-06-PS04 : Integer division
 PM-06-PS05 : Functions, limits and continuity
 PM-06-PS06 : Differential calculus of single variable functions
 PM-06-PS07 : Modulus
 PM-06-PS08 : Increments
 PM-06-PS09 : Mixing types
 PM-06-PS10 : Casting (timing and contextualising)
6.2 Guidelines for Practical Skills

6.2.1 PM-06-PS01 : Number bases and measurement units


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0101 Convert numbers between the decimal number system and the binary number system:
addition and subtraction of positive whole numbers in binary up to 100002 (16 in decimal)
 PA0102 Express size and magnitude: From Giga to Pica (1012 to 10 -12)
 PA0103 Apply conversions between related units in different measurement systems
 PA0104 Apply rational and irrational numbers
 PA0105 Differentiate and apply PEDMAS and BODMAS
 PA0106 Use decimals and convert them to common fraction form
 PA0107 Apply scientific notation for small and large numbers
Applied Knowledge

 AK0101 The effect of error in calculations


Internal Assessment Criteria

 IAC0101 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.2 PM-06-PS02 : Basic math


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0201 Arithmetic expressions in programming: Addition (+), subtraction (-), multiplication (*) and
division (/) for both integers and real data types
 PA0202 Percentage
 PA0203 Negative numbers
 PA0204 Cartesian coordinate system
 PA0205 Pythagorean theorem for finding the distance between two points

251201005 - Occupational Certificate: Software Developer Page 105 of


184
 PA0206 Decimal, binary, and hexadecimal numbering systems
Applied Knowledge

 AK0201 The effect of error in calculations


Internal Assessment Criteria

 IAC0201 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.3 PM-06-PS03 : Operator precedence


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0301 Use parentheses


 PA0302 Apply order of operations (left to right)
 PA0303 Apply precedence:
 Parentheses
 Multiply and Divide
 Add and Subtract
 PA0307 Use PEDMAS in programming
Applied Knowledge

 AK0301 The effect of error in calculations


Internal Assessment Criteria

 IAC0301 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.4 PM-06-PS04 : Integer division


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0401 Divide two integers


 PA0402 Discard the fractional part (remainder)
Applied Knowledge

 AK0401 The effect of error in calculations


Internal Assessment Criteria

 IAC0401 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.5 PM-06-PS05 : Functions, limits and continuity


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0501 Apply functions


 PA0502 Apply limits
 PA0503 Apply continuity
Applied Knowledge

 AK0501 The effect of error in calculations

251201005 - Occupational Certificate: Software Developer Page 106 of


184
Internal Assessment Criteria

 IAC0501 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.6 PM-06-PS06 : Differential calculus of single variable functions


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0601 Apply differential calculus of single variable functions


Applied Knowledge

 AK0601 The effect of error in calculations


Internal Assessment Criteria

 IAC0601 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.7 PM-06-PS07 : Modulus


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0701 Modulus abbreviated as “mod”


 PA0702 %, also known as the modulus or remainder operator
 PA0703 The % operator returns the remainder of the two numbers after division
 what is left after what is in front of the modulus operator is divided by what is after the
modulus operator
 Examples
 PA0704 Use % to check if a number is even or odd
 PA0705 The double equals (==) operator is used to compare values, such as a pair of ints, and
returns a Boolean
Applied Knowledge

 AK0701 The effect of error in calculations


Internal Assessment Criteria

 IAC0701 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.8 PM-06-PS08 : Increments


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0801 Increment a variable by 1 using n = n + 1


 PA0802 n = n + 1 means n takes the new value of whatever n + 1 is
 PA0803 compound assignment operator using n += 1 or n++
 PA0804 Add one to n: n + 1
 PA0805 Add two to n: n = n + 2 or n += 2
 PA0806 ++ operator can only add 1
Applied Knowledge

 AK0801 The effect of error in calculations

251201005 - Occupational Certificate: Software Developer Page 107 of


184
Internal Assessment Criteria

 IAC0801 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.9 PM-06-PS09 : Mixing types


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA0901
Apply an operator to:
 Two int values or variables
 Two doubles
 One int and one double
 Examples evaluating to 1.5
 Examples evaluating to 2.0 (a double), not 2 (an int)
 PA0902
In combination with the order of operations
 7 / 2 * 2.0 == 6.0 BUT 2.0 * 7 / 2 == 7.0
 The order in which an expression is written matters a lot when using a combination of
integers and doubles
 step by step examples of how the computer would evaluate some expressions that
combine types
Applied Knowledge

 AK0901 The effect of error in calculations


Internal Assessment Criteria

 IAC0901 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

6.2.10 PM-06-PS10 : Casting (timing and contextualising)


Scope of Practical Skill

Given a demonstration, thereafter suitable problem statements and tasks, the learner must be able to:

 PA1001 Combining values of different data types


 PA1002 Explicitly change data from type to another or CAST
Applied Knowledge

 AK1001 The effect of error in calculations


Internal Assessment Criteria

 IAC1001 An ability to apply mathematical thinking to solve a mathematical problem is demonstrated

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

251201005 - Occupational Certificate: Software Developer Page 108 of


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

Human Resource Requirements:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

6.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 109 of


184
7. 251201-005-00-PM-07, Apply Code to use a Software Toolkit/Platform in the Field of Study
or Employment, NQF Level 5, Credits 3

7.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the ability to
apply basic programming skills and code to use a software toolkit/platform in the field of study or employment

The learner will be required to:

 PM-07-PS01 :
Source and compare at least three software toolkits/platforms/ languages used in
your field of studies
 PM-07-PS02 : Identify and contrast four (4) paradigms
 PM-07-PS03 : Create a programming environment (tailored to a specific tool or platform)
 PM-07-PS04 : Write code using a programming language for giving instructions for use of a
software toolkit/platform
 PM-07-PS05 : Select and use correct data types (tailored to a specific tool or platform)
 PM-07-PS06 : Use complex types to organise data (tailored to a specific tool or platform)
 PM-07-PS07 : Add API’s (Application Programming Interface) to an application (tailored to a
specific tool or platform)
 PM-07-PS08 : Define a function (tailored to a specific tool or platform)
 PM-07-PS09 : Use logical branch statements and comparison operators (tailored to a specific
tool or platform)
 PM-07-PS10 : Code loops (tailored to a specific tool or platform)
 PM-07-PS11 : Use and apply variable scopes (tailored to a specific tool or platform)
 PM-07-PS12 : Create queries to pull desired data using a structured query language (SQL)
(applicable to data base) (tailored to a specific tool or platform)
 PM-07-PS13 : Handle errors and troubleshooting (tailored to a specific tool or platform)
 PM-07-PS14 : Identify the general steps for writing code (tailored to a specific tool or platform)
 PM-07-PS15 : Execute practical exercises 1, 2 and 3 using the specified product set
7.2 Guidelines for Practical Skills

7.2.1 PM-07-PS01 : Source and compare at least three software toolkits/platforms/ languages
used in your field of studies
Scope of Practical Skill

Given access to the internet, the learner must be able to:

 PA0101 Identify at least three most suitable software toolkits/platforms in the field of studies or
employment

 PA0102 Source these from the internet

 PA0103 Compare these in terms of advantages and disadvantages related to the field of study or
employment

Applied Knowledge

 AK0101 Software toolkit / software


 AK0102 Computer hardware
Internal Assessment Criteria

 IAC0101 At least three suitable software toolkits/platforms/languages necessary for field of study
are sourced from the internet and compared for suitability in terms of
advantages/disadvantages

251201005 - Occupational Certificate: Software Developer Page 110 of


184
7.2.2 PM-07-PS02 : Identify and contrast four (4) paradigms
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0201 Identify and compare four paradigms

 PA0202 Apply requirements of the paradigm during coding

Applied Knowledge

 AK0201 Software toolkit / software


Internal Assessment Criteria

 IAC0201 The programming paradigms: - Procedural, Object-Oriented, Functional and Logical are
understood and contrasted and their requirements applied during coding

7.2.3 PM-07-PS03 : Create a programming environment (tailored to a specific tool or platform)


Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0301 Choose a language in line with the application and the paradigm
 PA0302 Install a programming environment and/or language specific to a programming language
and configure for use
Applied Knowledge

 AK0301 Coding language


 AK0302 Software toolkit / software
 AK0303 Hardware
Internal Assessment Criteria

 IAC0301 A programming environment is created and a programming language that is in line with the
chosen paradigm (e.g., Java) is configured for use in the environment

7.2.4 PM-07-PS04 : Write code using a programming language for giving instructions for use
of a software toolkit/platform
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0401 Apply syntax and semantics


 PA0402 Design algorithms to achieve the desired output: Process steps or instruction statements
 PA0403 Apply coding font: Monospace
 PA0404 Apply characters e.g. [] {} etc.
Applied Knowledge

 AK0401 Coding language


 AK0402 Software toolkit / software

251201005 - Occupational Certificate: Software Developer Page 111 of


184
 AK0403 Hardware
Internal Assessment Criteria

 IAC0401 Code is written to explain the use of a software toolkit/platform by applying various
language tools, an applicable algorithm and coding font (Monospace) and characters

7.2.5 PM-07-PS05 : Select and use correct data types (tailored to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0501 Declare and assign variables


 PA0502 Null and undefined
 PA0503 Declare a string (if applicable)
 PA0504 Interpreters
 PA0505 Example: hello world
Applied Knowledge

 AK0501 Data types


 AK0502 Data type constraints
 AK0503 Functions of data types
Internal Assessment Criteria

 IAC0501 Correct data types are identified as pertaining to the programming activity

7.2.6 PM-07-PS06 : Use complex types to organise data (tailored to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0601 Declare and assign objects (properties or fields) using {}


 PA0602 Arrays using [] for index or elements
 PA0603 Create expressions
Applied Knowledge

 AK0601 Kinds of complex types


 AK0602 Types of expressions
Internal Assessment Criteria

 IAC0601 Principles of complex types are applied during coding

7.2.7 PM-07-PS07 : Add API’s (Application Programming Interface) to an application (tailored


to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0701 Access a method


 PA0702 Access a property

251201005 - Occupational Certificate: Software Developer Page 112 of


184
Applied Knowledge

 AK0701 Types of APIs


 AK0702 Functions available
 AK0703 Kind of authorisation
 AK0704 Data format used for a request
Internal Assessment Criteria

 IAC0701 API is added to an application

7.2.8 PM-07-PS08 : Define a function (tailored to a specific tool or platform)


Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0801 Understand the purpose of the function


 PA0802 Define the data that comes into the function from the caller (in the form of parameters)
 PA0803 Define what data variables are needed inside the function to accomplish its goal
 PA0804 Decide on the set of steps that the program will use to accomplish this goal (The Algorithm)
Applied Knowledge

 AK0801 Algorithms
Internal Assessment Criteria

 IAC0801 Functions are defined, declared and invoked

7.2.9 PM-07-PS09 : Use logical branch statements and comparison operators (tailored to a
specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA0901 Use and apply:

 Decision (e.g. If-else statements)

 Booleans

 Blocks

Applied Knowledge

 AK0901 Values and relationships


 AK0902 Variables
 AK0903 Making decisions
Internal Assessment Criteria

 IAC0901 Comparisons are applied to determine different relationships between values


 IAC0902 Code that examines variables and changes the execution path based on those variables, is
written

251201005 - Occupational Certificate: Software Developer Page 113 of


184
7.2.10 PM-07-PS10 : Code loops (tailored to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA1001 Use and apply:


 While loops
 Iterating loops
 Nested loops
Applied Knowledge

 AK1001 Types of loops


 AK1002 Checking conditions
 AK1003 Initializer, condition, iterator
 AK1004 Sequence
Internal Assessment Criteria

 IAC1001 Loops are coded to repeat operations

7.2.11 PM-07-PS11 : Use and apply variable scopes (tailored to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA1101 Use and apply:

 Class

 Scope

 Blocks

 Global scope

 Block scope

Applied Knowledge

 AK1101 Identifier names


 AK1102 Levels of scope
 AK1103 Scope pollution
 AK1104 Relation to variables
Internal Assessment Criteria

 IAC1101 Variables are made accessible using scope

7.2.12 PM-07-PS12 : Create queries to pull desired data using a structured query language
(SQL) (applicable to data base) (tailored to a specific tool or platform)
Scope of Practical Skill

251201005 - Occupational Certificate: Software Developer Page 114 of


184
Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA1201 Identify the fields in the tables


 PA1202 Identify the types of data contained in the database
 PA1203 Identify the fields in the tables
 PA1204 Select
 PA1205 From
 PA1206 Filter the query using “where”
 PA1207 Use “and”
 PA1208 Use “order by” clause vs “group by”
 PA1209 Use “limit”
Applied Knowledge

 AK1201 Understand the database and its hierarchy


 AK1202 Fields in the tables
Internal Assessment Criteria

 IAC1201 Queries are created to pull desired data using structured query language (SQL)

7.2.13 PM-07-PS13 : Handle errors and troubleshooting (tailored to a specific tool or platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

 PA1301 Identify errors peculiar to the platform and how best to handle them
 Bugs, testing and debugging
 Exceptions: thrown and caught and logged
 Exception handling
 Code the application to recover by itself
 Error tracking
 Fix errors
Applied Knowledge

 AK1301Troubleshooting procedures
 AK1302Types of errors
 AK1303Types of testing
 AK1304Possible causes
 AK1305Anticipation, detection, and resolution of programming, application, and communications
errors
Internal Assessment Criteria

 IAC1301 Various types of errors are handled

7.2.14 PM-07-PS14 : Identify the general steps for writing code (tailored to a specific tool or
platform)
Scope of Practical Skill

Given a problem statement and access to a suitable PC or device with software toolkit/platform, the learner
must be able to:

251201005 - Occupational Certificate: Software Developer Page 115 of


184
 PA1401
Understand the problem you are trying to solve
 PA1402
Design a solution
 PA1403
Draw a flow chart
 PA1404
Write pseudo-code
 PA1405
Write code (computer code: a list of instructions that can be run by a program, syntax, IDE
[integrated development environment] )
 PA1406 Test and debug
 PA1407 Insert comments on code and provide proper documentation that will guide other
developers through the algorithm and logic that was implemented
 PA1408 Finalise documentation
 PA1409 Test with real-world users
 PA1410 Release program
 PA1411 Iterate the steps for next version
Applied Knowledge

 AK1401 Language
 AK1402 Coding
 AK1403 Using software toolkit / platform
Internal Assessment Criteria

 IAC1401 The general steps for writing a program are understood and applied and results tested
before the program is released and the steps repeated for the next version

7.2.15 PM-07-PS15 : Execute practical exercises 1, 2 and 3 using the specified product set
Scope of Practical Skill

Given access to a suitable PC or device with software toolkit/platform, the learner must be able to:

 PA1501 Building first robot (Hello World)


 PA1502 Input actions: Click, Type Into, Send Hotkey
 PA1503 Input methods: Default, SendWindowMessages, Simulate Type/Click
Applied Knowledge

 AK1501 Language
 AK1502 Coding
 AK1503 Using software toolkit / platform
Internal Assessment Criteria

 IAC1501 Desired outcome is achieved

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

251201005 - Occupational Certificate: Software Developer Page 116 of


184
Human Resource Requirements:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

7.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 117 of


184
8. 251201-005-00-PM-08, Develop Software using HTML5, Opensource Frameworks and
Libraries, NQF Level 5, Credits 16

8.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to using HTML5 Open
Source frameworks and libraries to implement programming logic, define and use variables, perform looping
and branching, develop user interfaces, capture and validate user input, store data, and create well-
structured application.

The learner will be required to:

 PM-08-PS01 : Creating and Styling HTML5 Pages


 PM-08-PS02 : Display data and handle events by using JavaScript
 PM-08-PS03 : Create forms to collect and validate user input
 PM-08-PS04 : Communicate with a remote data source
 PM-08-PS05 : Style text and block elements
 PM-08-PS06 : Refine code for maintainability and extensibility
 PM-08-PS07 : Create interactive pages by using HTML5 APIs
 PM-08-PS08 : Add offline support to web applications
 PM-08-PS09 : Implementing an adaptive user interface
 PM-08-PS10 : Creating advanced graphics
 PM-08-PS11 : Animate the user interface
 PM-08-PS12 : Implementing real-time communication by using web sockets
 PM-08-PS13 : Create a web worker process
 PM-08-PS14 : Package JavaScript for production deployment
8.2 Guidelines for Practical Skills

8.2.1 PM-08-PS01 : Creating and Styling HTML5 Pages

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0101 Creating HTML5 Pages


 PA0102 Styling HTML pages
Applied Knowledge

 AK0101
Internal Assessment Criteria

 IAC0101

8.2.2 PM-08-PS02 : Display data and handle events by using JavaScript

Scope of Practical Skill

Given the publishers brief (as in 1. above), the learner must be able to:

 PA0201 Displaying Data Programmatically

251201005 - Occupational Certificate: Software Developer Page 118 of


184
 PA0202 Handling Events

 PA0203 Describe basic JavaScript syntax

Applied Knowledge

 AK0201
Internal Assessment Criteria

 IAC0201 Write JavaScript code that uses the DOM to alter and retrieve info from a web page

8.2.3 PM-08-PS03 : Create forms to collect and validate user input

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0301 Create input forms by using HTML5


 PA0302 Validating user input by using HTML5 attributes
 PA0303 Validating user input by using JavaScript
Applied Knowledge

 AK0301
Internal Assessment Criteria

 IAC0301 Write JavaScript code to perform validation tasks that cannot easily be implemented by
using HTML5 attributes

8.2.4 PM-08-PS04 : Communicate with a remote data source

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0401
Retrieve data
 PA0402
Serialize and transmitting data
 PA0403
Refactoring the code by using the jQuery ajax method
 PA0404
Handle asynchronous JavaScript tasks using the new asynchronous programming
technologies
 PA0405 Send data to a web service and receive data from a web service by using an
XMLHttpRequest object
 PA0406 Send data to a web service and receive data from a web service by using the Fetch API
Applied Knowledge

 AK0401 Async programming in JavaScript


 AK0402 the XMLHttpRequest object
 AK0403 programmatic wrapper function

251201005 - Occupational Certificate: Software Developer Page 119 of


184
 AK0404 arrow functions and the new async/await syntax
Internal Assessment Criteria

 IAC0401 Communicate with a remote data source using various technologies


 IAC0402 access a web service by using JavaScript code and to incorporate remote data into web
applications

8.2.5 PM-08-PS05 : Style text and block elements

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0501
Use the new features of CSS3 to style text elements
 PA0502
Use the new features of CSS3 to style block elements
 PA0503
Use CSS3 selectors, pseudo-classes, and pseudo-elements to refine the styling of
elements
 PA0504 Enhancing graphical effects by using CSS3
 PA0505 Style the navigation bar
 PA0506 Style the register link
 PA0507 Style the about page
Applied Knowledge

 AK0501 CSS3 selectors, pseudo-classes, and pseudo-elements


Internal Assessment Criteria

 IAC0501 Styling Text and Block Elements by Using CSS3


 IAC0502 Enhance pages by using CSS3 graphical effects

8.2.6 PM-08-PS06 : Refine code for maintainability and extensibility

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0601 Writing well-structured JavaScript Code


 PA0602 Creating custom objects
 PA0603 Extending objects
 PA0604 Object inheritance
 PA0605 Refactoring JavaScript code to use objects
 PA0606 Write well-structured JavaScript code.
 PA0607 Use JavaScript code to create custom objects
 PA0608 Implement object-oriented techniques by using JavaScript idioms
Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 120 of


184
 AK0601JavaScript code language features such as namespaces, objects, encapsulation, and
inheritance
Internal Assessment Criteria

 IAC0601 Use JavaScript to write maintainable code

8.2.7 PM-08-PS07 : Create interactive pages by using HTML5 APIs

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0701 Interact with files


 PA0702 Incorporate multimedia
 PA0703 React to browser location and context
 PA0704 Incorporate video
 PA0705 Using the geolocation API to report the user's current location
 PA0706 Access the local file system, and add drag-and-drop support to web pages
 PA0707 Play video and audio files in a web page, without the need for plugins
 PA0708 Debug and profile a web application
Applied Knowledge

 AK0701
Internal Assessment Criteria

 IAC0701 Create interactive HTML5 web applications that can access the local file system, enable
the user to drag-and-drop data onto elements in a web page, play multimedia files, and
obtain geolocation information
 IAC0702 Obtain information about the current location of the user

8.2.8 PM-08-PS08 : Add offline support to web applications

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0801 Reading and writing data locally


 PA0802 Adding offline support by using the application cache
 PA0803 Caching offline data by using the application cache API
 PA0804 Persisting user data by using the local storage API
 PA0805 Save data locally on the user's device, and access this data from a web application
Applied Knowledge

 AK0801
Internal Assessment Criteria

 IAC0801 Configure a web application to support offline operations by using the Application Cache

251201005 - Occupational Certificate: Software Developer Page 121 of


184
 IAC0802 Create robust web applications that can continue running even when a network connection
is unavailable

8.2.9 PM-08-PS09 : Implementing an adaptive user interface

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA0901 Support multiple form factors


 PA0902 Create an adaptive user interface
 PA0903 Create a print-friendly style sheet
 PA0904 Adapt page layout to fit different form factors
 PA0905 Describe the requirements in a website for responding to different form factors
 PA0906
Detect the type of device being used to view a page, and apply strategies for laying out
content that effectively targets particular devices
Applied Knowledge

 AK0901
Internal Assessment Criteria

 IAC0901 Create web pages that can adapt their layout to match the form factor of the device on
which they are displayed
 IAC0902 Build a website that adapts the layout and functionality of its pages to the capabilities and
form factor of the device on which it is being viewed

8.2.10 PM-08-PS10 : Creating advanced graphics

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA1001 Create interactive graphics by using SVG


 PA1002 Draw graphics by using the canvas
 PA1003 Create an interactive venue map by using SVG
 PA1004 Create a speaker badge by using the canvas function
 PA1005 Use SVG to create interactive graphical content
 PA1006 Use a canvas function to generate graphical content programmatically
Applied Knowledge

 AK1001 Scalable Vector Graphics (SVG)


Internal Assessment Criteria

 IAC1001 Create advanced graphics in HTML5 by using Scalable Vector Graphics (SVG) and the
canvas function

251201005 - Occupational Certificate: Software Developer Page 122 of


184
 IAC1002 Enable the user to interact with SVG elements through the use of events such as keyboard
events and mouse events

8.2.11 PM-08-PS11 : Animate the user interface

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA1101 Apply transitions to animate property values to HTML elements


 PA1102 Applying CSS keyframe animations
 PA1103 Apply 2D and 3D transformations to HTML elements
 PA1104 Apply keyframe animations to HTML elements
Applied Knowledge

 AK1101
Internal Assessment Criteria

 IAC1101 Use transitions to specify the timing of property changes


 IAC1102 Apply 2D and 3D transformations to elements
 IAC1103 Define a set of property values at specific moments during an animation

8.2.12 PM-08-PS12 : Implementing real-time communication by using web sockets

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA1201
Use the WebSocket API
 PA1202
Receive messages from a Web Socket
 PA1203
Sending messages to a Web Socket
 PA1204
Handle different web socket message types
 PA1205
Use the Web Sockets API to connect to a web server from a web page, and exchange
messages between the web page and the web server
Applied Knowledge

 AK1201 Introduction to Web Sockets


 AK1202 Describe how using web sockets helps to enable real-time communications between a web
page and a web server
Internal Assessment Criteria

 IAC1201 Use the Web Sockets API to connect to a web server from a web page, and exchange
messages between the web page and the web server

8.2.13 PM-08-PS13 : Create a web worker process

251201005 - Occupational Certificate: Software Developer Page 123 of


184
Scope of Practical Skill

Given electronic copy, the learner must be able to:

 PA1301
Perform asynchronous processing by using web workers
 PA1302
Improve responsiveness by using a web worker
 PA1303
Explain how web workers can be used to implement multithreading and improve the
responsiveness of a web application
 PA1304 Perform processing by using a web worker, communicate with a web worker, and control a
web worker
Applied Knowledge

 AK1301 Understanding Web Workers


Internal Assessment Criteria

 IAC1301 Perform background processing by using Web Workers

8.2.14 PM-08-PS14 : Package JavaScript for production deployment

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
will be able to:

 PA1401 Write ECMAScript6 code supported in all browsers


 PA1402 Create separate packages for cross browser support
 PA1403 Set up WebPack bundle for production
 PA1404 Create and deploy packages using WebPack
Applied Knowledge

 AK1401 Understand transpilers and module bundling


Internal Assessment Criteria

 IAC1401 Package JavaScript for production deployment using WebPack

8.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

251201005 - Occupational Certificate: Software Developer Page 124 of


184
o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

8.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 125 of


184
9. 251201-005-00-PM-09, Design and Build Web Applications, Desktop Graphical User
Interfaces or Mobile Apps, NQF Level 5, Credits 8

9.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to design and create
web applications, mobile apps and graphical user interfaces (GUIs), using the Model-View-Controller
(MVC) framework as an architectural pattern and to separate an application into three main logical
components Model, View, and Controller

The learner will be required to:

 PM-09-PS01 : Plan a project to build a solution which effectively solve the customer’s business
problems (project design phase)
 PM-09-PS02 : Configure middlewares and services
 PM-09-PS03 : Develop controllers for processing web requests
 PM-09-PS04 : Develop views to define the user interface for web applications
 PM-09-PS05 : Create code to develop MVC models to interact and model various types of data
or objects
 PM-09-PS06 : Connect an application to a database to access and store data using an object-
database mapper to build a database-driven website in MVC
 PM-09-PS07 : Build web applications apply a consistent look and feel to the application
 PM-09-PS08 : Develop the client-side of a web application using applicable tools
 PM-09-PS09 : Test and troubleshoot for bugs that results in exceptions or unexpected
behaviour
 PM-09-PS10 : Manage security aspects of a web application
 PM-09-PS11 : Increase the speed of data access and communication to improve performance
 PM-09-PS12 :
Implement web APIs to enable and promote application interaction with external
systems
 PM-09-PS13 : Host and deploy an web application ensuring it is accessible by clients on a wide
variety of machines
9.2 Guidelines for Practical Skills

9.2.1 PM-09-PS01 : Plan a project to build a solution which effectively solve the customer’s
business problems (project design phase)

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0101 Interrogate the business problem to reach a complete understanding of the purposes of a
project
 PA0102 Identify the set of business needs
 PA0103 Plan the Model-View-Controller (MVC) web application to meet those needs:
 Plan model classes
 Plan controllers
 Plan views
 Architecting and MVC Web Application
 PA0104 Plan the overall architecture of an MVC web application and consider aspects such as
state management.

251201005 - Occupational Certificate: Software Developer Page 126 of


184
 PA0105 Plan the models, controllers, and views that are required to implement a given set of
functional requirements
 PA0106 Create a project plan which demonstrates an accurate understanding of the requirements
 PA0107
Include information that communicates the functionality of the web application, its user
interface, structure, and data storage to the developers
 PA0108 Write a detailed and accurate project plan to ensure that the powerful features of MVC are
used effectively to solve the customer’s business problems
Applied Knowledge

 AK0101
MVC as an architectural pattern and model
 AK0102
Features and application of MVC
 AK0103
The variety of technologies available
 AK0104
Different programming methodologies
 AK0105
Describe the role of MVC in the web technologies stack, and how to use MVC to build web
applications
 AK0106 Distinguish between MVC models, MVC controllers, and MVC views
Internal Assessment Criteria

 IAC0101 A detailed and accurate project plan which ensures that the powerful features of MVC are
used effectively to solve the customer’s business problems is written

9.2.2 PM-09-PS02 : Configure middlewares and services

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0201 Use existing middleware


 PA0202 Create own middleware and use it to define custom behaviour
 PA0203 Configure middlewares
 PA0204 Configure services
 PA0205 Work with static files
 PA0206 Create custom middleware
 PA0207 Use dependency injection
 PA0208 Inject a service to a controller
Applied Knowledge

 AK0201Understand the basic principles behind Dependency Injection, and how it is used
 AK0202Know how to create a custom service, configure its scope, and inject it to both middleware
and controllers
Internal Assessment Criteria

 IAC0201 Handle requests and responses via existing, and custom middleware
 IAC0202 Configure services for use in middleware and throughout other parts of the application,
such as controllers
 IAC0203 Configure middleware to use as part of the request and response pipeline that allows us to
handle them according to any relevant parameter
 IAC0204 Use dependency injection

251201005 - Occupational Certificate: Software Developer Page 127 of


184
9.2.3 PM-09-PS03 : Develop controllers for processing web requests

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0301
Write controllers and actions
 PA0302
Write action filters
 PA0303
Add controllers and actions to an MVC application
 PA0304
Configure routes by using the routing table
 PA0305
Configure routes using attributes
 PA0306
Add an action filer
 PA0307
Add a controller to a web application that responds to user actions that are specified in the
project design
 PA0308 Add routes to the routing engine and ensure that URLs are user-friendly in an MVC web
application
 PA0309 Write code in action filters that runs before or after a controller action
Applied Knowledge

 AK0301 Understanding how controllers work


 AK0302 Classes, methods, actions
 AK0303 Uniform Resource Locator (URL) routing
Internal Assessment Criteria

 IAC0301 Define URL mapping rules within the applications


 IAC0302 Maximize the reuse of code in controllers, by writing action filters
 IAC0303 Use action filters to run code before or after every action in your web application, on every
action in a controller, or on other combinations of controller actions

9.2.4 PM-09-PS04 : Develop views to define the user interface for web applications

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0401 Create Views


 PA0402 Use HTML helpers and tag helpers
 PA0403 Reuse code in views
 PA0404 Add views to an MVC Application
 PA0405 Add a partial view
 PA0406 Add a view component
 PA0407 Create an MVC view to display data to users
 PA0408 Use HTML helpers and tag helpers in a view
 PA0409 Reuse markup in multiple locations throughout an application
Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 128 of


184
 AK0401How to write the HTML markup and C# code and use the various helper classes that are
built into MVC
 AK0402 How to create partial views and view components
Internal Assessment Criteria

 IAC0401 Develop views to define the user interface for web applications

9.2.5 PM-09-PS05 : Create code to develop MVC models to interact and model various types of
data or objects

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0501 Creating MVC models


 PA0502 Working with forms
 PA0503 Validate MVC Application
 PA0504 Add a model to an MVC application and write code in it to implement the business logic
 PA0505 Working with forms
 PA0506 Add validation
 PA0507 Use display and edit data annotations
 PA0508 Validate user input with data annotations
Applied Knowledge

 AK0501 Models, classes, objects and business logic


Internal Assessment Criteria

 IAC0501 Create an MVC model to model the data for your web application
 IAC0502 Create a model class for each type of object that describes the properties of each type of
object and can include business logic that matches business processes

9.2.6 PM-09-PS06 : Connect an application to a database to access and store data using an
object-database mapper to build a database-driven website in MVC

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0601 Introduction to object-database mappers


 PA0602 Work with object-database mappers
 PA0603 Use an object-database mapper to connect to SQL Server
 PA0604 Add object-database mapper
 PA0605 Use object-database mapper to retrieve and store data
 PA0606 Use object-database mapper to connect to SQL Server

251201005 - Occupational Certificate: Software Developer Page 129 of


184
 PA0607
Separate business logic from data access logic by using a repository. A repository is a
class that a controller can call to read data from a data store and to write data to a data
store
 PA0608 Connect an application to a database to access and store data
Applied Knowledge

 AK0601 Explain functions of an object-database mapper


 AK0602 data store, repositories,
Internal Assessment Criteria

 IAC0601 Connect an application to a database to access and store data using an object-database
mapper
 IAC0602 Render webpages that use data from a data store, to create a web application that
changes continually in response to user input, administrative actions, and publishing
events
 IAC0603 In Model-View-Controller (MVC) applications, you can create a model that implements
data access logic and business logic

9.2.7 PM-09-PS07 : Build web applications apply a consistent look and feel to the application

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0701
Apply a consistent layout and link views to it
 PA0702
Include consistent header and footer sections in all the views
 PA0703
Use cascading style sheets, styles and layouts that enhance the appearance and usability
of the web application
 PA0704 Create interactive HTML elements
 PA0705 Use libraries
Applied Knowledge

 AK0701 Add JavaScript code to your web application.


 AK0702 Use the jQuery library in your web application.
 AK0703 Using Layouts
 AK0704 Using CSS and JavaScript
 AK0705 Using jQuery
Internal Assessment Criteria

 IAC0701 Build web applications apply a consistent look and feel to the application

9.2.8 PM-09-PS08 : Develop the client-side of a web application using applicable tools

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

251201005 - Occupational Certificate: Software Developer Page 130 of


184
 PA0801 Apply styles
 PA0802 Apply responsive design tools to customize the web application’s display based on the
capabilities and specifications of a web browser or a device
 PA0803 Set up and use task runners to run tasks and compile pre-processor files
 PA0804 Use a task runner to perform bundling and minification of CSS and files
 PA0805
Set up a watcher task
 PA0806
Use Bootstrap framework to style a web application
 PA0807
Apply CSS flexbox layout
 PA0808
Write CSS media queries
 PA0809
Use CSS pre-processors to add features to CSS, such as variables, nested rules, and
functions
 PA0810 Ensure that a web application displays correctly on devices with different screen sizes
Applied Knowledge

 AK0801 Styles
 AK0802 Task runners
 AK0803 Responsive design
 AK0804 Pre-processors
Internal Assessment Criteria

 IAC0801 Ensure that a web application displays correctly on devices with different screen sizes.
 IAC0802 Use tools to improve the maintainability of complex web applications

9.2.9 PM-09-PS09 : Test and troubleshoot for bugs that results in exceptions or unexpected
behaviour

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0901
Test MVC applications throughout the project life cycle to improve quality and ensure that
there are no bugs in production software
 PA0902 Run tests on small components of the web application to ensure that they function as
expected
 PA0903 Test a model
 PA0904 Test a controller using a fake repository
 PA0905 Implement a repository in MVC project
 PA0906 Implement an exception handling strategy
 PA0907 Handle exceptions and unexpected occurrences while they occur
 PA0908 Use logs throughout the application:
 Monitor user activities that might lead to unexpected issues and find solutions to bugs,
which you normally would be unsure how to reproduce, by following flows which occurred
on the production environment and finding additional errors
 PA0909 Run unit tests against the Model–View–Controller (MVC) components, such as model
classes and controllers, and locate potential bugs
 PA0910 Build an MVC application that handles exceptions smoothly and robustly
 PA0911 Run logging providers that benefit your applications and run them by using a common
logging API
Applied Knowledge

251201005 - Occupational Certificate: Software Developer Page 131 of


184
 AK0901 Testing tools, methods and techniques
 AK0902 Troubleshooting tools, methods and techniques
 AK0903 Debugging tools, methods and techniques
Internal Assessment Criteria

 IAC0901 Identify bugs from any source and eliminate them before you assemble them into a
complete web application
 IAC0902 The implications of incorrect assumptions, inaccurate understanding, coding errors, in
terms of creating bugs are understood

9.2.10 PM-09-PS10 : Manage security aspects of a web application

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA1001 Use identity


 PA1002 Add basic authentication to the web application utilizing several parameters to ascertain
who a user is and provide them with appropriate content while utilizing the applications
 PA1003 Configure and add login functionality
 PA1004 Add basic authorisation to the web application for performing specific actions, while
protecting users and the application from malicious third parties
 PA1005 Utilize several different authorisation approaches
 PA1006 Defend web application against security exploits
 PA1007 Avoid the cross-site request forgery attack
Applied Knowledge

 AK1001 Authentication tools


 AK1002 Authorization in tools
 AK1003 Defending from Attacks
 AK1004 Use Identity
 AK1005 Add Authorization
Internal Assessment Criteria

 IAC1001 Prevent users from accessing sensitive material not intended from them or from
performing actions which they should not be able to
 IAC1002 Defend web application against security exploits

9.2.11 PM-09-PS11 : Increase the speed of data access and communication to improve
performance

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA1101 Implement a caching strategy

251201005 - Occupational Certificate: Software Developer Page 132 of


184
 PA1102 Manage state achieving a state of consistency between different requests
 PA1103 Implement caching in an application
 PA1104 Use state management technologies to improve the client experience, by providing a
consistent experience for the user
 PA1105 Implement two-way communication allowing the server to notify the client when important
events occur
 PA1106 Use software library that allows server code to send asynchronous notifications to client-
side web applications
Applied Knowledge

 AK1101 Two-Way communication


 AK1102 Performance
 AK1103 Caching strategies
Internal Assessment Criteria

 IAC1101 Use state management technologies to improve the client experience, by providing a
consistent experience for the user
 IAC1102 Implement two-way communication allowing the server to notify the client when important
events occur
 IAC1103 Use framework that allows the abstraction of several different communication protocols
into an easy-to-use API, which allows you to easily create a single set of tools on the
server and client to facilitate two-way communications

9.2.12 PM-09-PS12 : Implement web APIs to enable and promote application interaction with
external systems

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA1201
Introducing web APIs
 PA1202
Developing a web API
 PA1203
Calling a web API using server-side code
 PA1204
Adding actions and call them
 PA1205
Create services
 PA1206
Call a web API from server-side code and jQuery
 PA1207
Use the Web API to implement Representational State Transfer (REST) services in your
application
Applied Knowledge

 AK1201 Web APIs


Internal Assessment Criteria

 IAC1201 Web APIs are implemented to enable and promote interaction with external systems

9.2.13 PM-09-PS13 : Host and deploy an web application ensuring it is accessible by clients on a
wide variety of machines

Scope of Practical Skill

251201005 - Occupational Certificate: Software Developer Page 133 of


184
Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA1301
Deploy a web application to the cloud
 PA1302
Upload an Image to cloud Storage
 PA1303
Host and deploy an MVC application on a web server
 PA1304
Host and Deploy an MVC application on a public cloud platform
 PA1305
Utilise services offered by a public cloud platform to improve the capabilities of your web
applications
Applied Knowledge

 AK1301 On-premise hosting and deployment


 AK1302 Deployment to a web server
 AK1303 Fundamentals of a public cloud platform and deployment
Internal Assessment Criteria

 IAC1301 Compile code and compress it to setup an application for a production environment
 IAC1302 Set it up and running on a dedicated server
 IAC1303 Host the web application using a dedicated server to contain the compiled application and
serve it to users as a web-based service
 IAC1304 Deploy the web application by compiling project code and then transferred to the hosting
server in compliance the requirements of the hosting environment

9.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

251201005 - Occupational Certificate: Software Developer Page 134 of


184
 Ethical clearance (where necessary)

9.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 135 of


184
10. 251201-005-00-PM-10, Use a Cloud Automation Platform to Create Solutions, NQF Level
4, Credits 8

10.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to write code that
logically solves a given problem. Learners will learn how to write, debug, maintain and document code and
create unique and efficient business solutions by using cloud automation platform tools and functionalities

The learner will be required to:

 PM-10-PS01 : Leverage business intelligence technology to create business solutions


 PM-10-PS02 : Model data using a cloud automation platform functionality
 PM-10-PS03 : Apply the capabilities of Power Apps to build various Apps
 PM-10-PS04 : Build an automated solution using Power Automate
 PM-10-PS05 : Report and visually present data using a cloud automation platform
 PM-10-PS06 : Build a chatbot
10.2 Guidelines for Practical Skills

10.2.1 PM-10-PS01 : Leverage business intelligence technology to create business solutions


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0101 Identify components and features of cloud automation platforms


 PA0102 Apply ways to connect data
 PA0103 Identify how organizations can leverage this technology to create business solutions
 PA0104 Identify when to use each cloud automation platform component application to create
business solutions
 PA0105 Use cloud automation platforms to create business solutions
 PA0106 Investigate how other organizations digitize their processes using cloud automation
platform tools and functionalities
 PA0107 Observe cloud automation platform tools and functionalities in action and explore options
for making a first app
 PA0108 Explore the business value of cloud automation platform tools and functionalities
Applied Knowledge

 AK0101 business intelligence technology


Internal Assessment Criteria

 IAC0101 The advantages of cloud automation platforms for BI are explored

10.2.2 PM-10-PS02 : Model data using a cloud automation platform functionality


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

251201005 - Occupational Certificate: Software Developer Page 136 of


184
 PA0201 Create a solution
 PA0202 Create entities and relationships
 PA0203 Import data
 PA0204 Identify use cases and limitations of business rules and process flows
 PA0205 Identify what environments, entities, fields, and relationships are in common data service
Applied Knowledge

 AK0201 cloud automation platform functionalities


Internal Assessment Criteria

 IAC0201 Model data using a cloud automation platform functionality

10.2.3 PM-10-PS03 : Apply the capabilities of cloud automation platform tools and
functionalities to build various Apps
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:


PA0301 Build a canvas app

PA0302 Build a model-driven app

PA0303 Apply portals

PA0304 Create staff canvas app

PA0305 Complete the app

PA0306 Create security canvas app

PA0307 Build a model-driven app
 Customize views and forms
 Create model-driven application
 PA0308 Build a apps portal
 Provision a apps portal
 Create a portal webpage
 Change the portal theme
Applied Knowledge

 AK0301 cloud automation platform functionality


Internal Assessment Criteria

 IAC0301 Apply the capabilities of cloud automation platform tools and functionalities to build various
Apps

10.2.4 PM-10-PS04 : Build an automated solution using automation platform tools and
functionalities
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0401 Build an Automated Solution

251201005 - Occupational Certificate: Software Developer Page 137 of


184
 PA0402
Create Visit Notification flow
 PA0403
Create Security Sweep Flow
 PA0404
Build a simple flow
 PA0405
See how Power Automate works and explore from the user's perspective
 PA0406
Explore and evaluate the business value and features of Power Automate
 PA0407
Explore and evaluate how businesses can leverage Power Automate to improve business
efficiency and productivity
Applied Knowledge

 AK0401 cloud automation platform functionality


Internal Assessment Criteria

 IAC0401 Build an automated solution

10.2.5 PM-10-PS05 : Report and visually present data using a cloud automation platform
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0501 Build a simple dashboard


 PA0502 Create a report
 PA0503 Describe the business value and features of Power BI
 PA0504 See how Power BI works and looks from the user's perspective
Applied Knowledge

 AK0501
Internal Assessment Criteria

 IAC0501 Report and visually present data using a cloud automation platform

10.2.6 PM-10-PS06 : Build a chatbot


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0601 Identify essential components that make up virtual agents and chatbots
 PA0602 Create a new bot
 PA0603 Create topics
 PA0604 Test topics
 PA0605 Change the greeting
 PA0606 Publish the bot
Applied Knowledge

 AK0601 cloud automation platform functionality


Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 138 of


184
 IAC0601 Leverage technology to build chatbot solutions for a business

10.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

10.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 139 of


184
11. 251201-005-00-PM-11, Develop Software using Python, NQF Level 5, Credits 12

11.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to write code that
logically solves a given problem. Learners will learn how to write, debug, maintain and document code

The learner will be required to:

 PM-11-PS01 : Perform operations using data types and operators


 PM-11-PS02 : Control flow with decisions and loops
 PM-11-PS03 : Perform input and output operations using files or from the console
 PM-11-PS04 : Document and structure well-written code
 PM-11-PS05 : Perform troubleshooting and error handling to detect and fix errors in code
 PM-11-PS06 : Perform operations using built-in modules and tools
11.2 Guidelines for Practical Skills

11.2.1 PM-11-PS01 : Perform operations using data types and operators

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0101 Assign data types to variables


 PA0102 Perform data and data type operations
 PA0103 Perform arithmetic, comparison and logical operations
Applied Knowledge

 AK0101 Assign data types to variables


 AK0102 Perform data and data type operations
 AK0103 Perform arithmetic, comparison and logical operations
Internal Assessment Criteria

 IAC0101 use operators and data types to achieve a specified result

11.2.2 PM-11-PS02 : Control flow with decisions and loops

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0201 Construct and analyse code segments that use branching statements
 PA0202 Construct and analyse code segments that perform iterations
 PA0203 Use branching operations
 PA0204 Use iteration operations
 PA0205 Create branching operations
 PA0206 Create iteration operations

251201005 - Occupational Certificate: Software Developer Page 140 of


184
Applied Knowledge

 AK0201 Branching
 AK0202 Iteration
Internal Assessment Criteria

 IAC0201 use control flow and looping operations

11.2.3 PM-11-PS03 : Perform input and output operations using files or from the console
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0301 Create python code segments that perform file input and output operations
 PA0302 Create python code segments that perform console input and output operations
 PA0303 Perform input and output operations using files
 PA0304 Perform input and output operations from the console
Applied Knowledge

 AK0301 input and output operations funtionalies


Internal Assessment Criteria

 IAC0301 Construct input and output operations using files or from the console

11.2.4 PM-11-PS04 : Document and structure well-written code

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0401 Construct and analyse code segments


 PA0402 Document code segments using comments and documentation strings
 PA0403 Create code segments
 PA0404 Document code segments
Applied Knowledge

 AK0401 Programing language


Internal Assessment Criteria

 IAC0401 structure and document well-written code

11.2.5 PM-11-PS05 : Perform troubleshooting and error handling to detect and fix errors in code

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,

251201005 - Occupational Certificate: Software Developer Page 141 of


184
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0501 Analyse, detect and fix code segments that have errors
 PA0502 Analyse and construct code segments that handle exceptions
 PA0503 Create error handling code
Applied Knowledge

 AK0501 Testing techinques


Internal Assessment Criteria

 IAC0501 perform troubleshooting and error handling operations

11.2.6 PM-11-PS06 : Perform operations using built-in modules and tools

Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE), the learner
must be able to:

 PA0601 Use built-in modules to perform basic operations

 PA0602 Use built-in modules to perform complex operations

 PA0603 Use built-in modules to perform operating system, date and mathematical operations

Applied Knowledge

 AK0601 Programming language


Internal Assessment Criteria

 IAC0601 Use built-in modules to perform operating system, date and mathematical operations

11.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

251201005 - Occupational Certificate: Software Developer Page 142 of


184
o RPA 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

 Ethical clearance (where necessary)

11.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 143 of


184
12. 251201-005-00-PM-12, Apply the Development Cycle when Developing Software, NQF
Level 5, Credits 16

12.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to apply development
methodologies and the fundamental principles of software development, including fundamental mathematical
and logical concepts that underpin computational and systems thinking, to plan, design, develop, test,
secure, document and deploy a software system to meet organisational requirements

The learner will be required to:

 PM-12-PS01 : Collect and analyse information on the requirements for the solution
 PM-12-PS02 : Conduct feasibility checks to define and document software needs
 PM-12-PS03 : Apply core business modelling and analysis skills to information systems
development, and core skills in data modelling, database concepts, and design,
to model a solution that meets organisational requirements
 PM-12-PS04 : Create software design documents
 PM-12-PS05 : Design a wireframe of the proposed amendments or new solution
 PM-12-PS06 : Build the entire solution or component by writing code using the chosen
programming language
 PM-12-PS07 : Test and debug the solution during the development process
 PM-12-PS08 : Deploy the build solution and
 PM-12-PS09 : Maintain the deployed solution
12.2 Guidelines for Practical Skills

12.2.1 PM-12-PS01 : Collect and analyse information on the requirements for the solution
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement, the learner must be able to:

 PA0101 Assist in the collection and documentation of user's requirements, development of user
stories, and estimates
 PA0102 Identifying areas for modification in existing programs
 PA0103 Conduct user research to identify either improvements to existing services or where new
services could be developed
 PA0104 Analyse user and convert requirements to design documents
 PA0105 Recognise any risks involved
 PA0106 Plan for the quality assurance requirements
 PA0107 Identify the scope of the project and the
 PA0108 Identify anticipated issues, opportunities, and clarify directives which triggered the project
Applied Knowledge

 AK0101 Critical and analytical thinking


Internal Assessment Criteria

 IAC0101 Detailed and precise requirements are established


 IAC0102 Design documents are developed
 IAC0103 Apply critical analysis and decision-making techniques to solve IT problems and plan
relevant and timely outcomes

251201005 - Occupational Certificate: Software Developer Page 144 of


184
12.2.2 PM-12-PS02 : Conduct feasibility checks to define and document software needs
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement with parameters, the learner must be able to:

 PA0201 Determining operational practicality


 PA0202 Apply critical analysis and decision-making techniques to solve IT problems and provide
relevant and timely outcomes
 PA0203 Conduct economic feasibility checks to ascertain that the project can be completed in the
given budget
 PA0204 Conduct legal feasibility checks to ascertain that the project can be completed within
regulatory compliances
 PA0205 Conduct operation feasibility checks to ascertain that the operations expected by the client
can be created
 PA0206 Conduct technical feasibility checks to ascertain that the current computer system can
support the software
 PA0207 Conduct scheduling feasibility checks to ascertain that the project can be completed within
given schedule
Applied Knowledge

 AK0201 Techniques and methods


Internal Assessment Criteria

 IAC0201 Feasibility checks are conducted and analysed to ascertain that the solution can be
completed within the given parameters

251201005 - Occupational Certificate: Software Developer Page 145 of


184
12.2.3 PM-12-PS03 : Apply core business modelling and analysis skills to information
systems development, and core skills in data modelling, database
concepts, and design, to model a solution that meets organisational
requirements
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement with parameters, the learner must be able to:

 PA0301 Apply a modelling process using UML structure diagrams:

1. Class diagrams showing the structure of a system as related classes and interfaces
with their features, constraints, and relationships.
2. Component diagrams showing components and the dependencies between them.
3. Composite structure diagrams showing the internal structure of a classifier and the
behavior of collaborations the structure makes possible.
4. Deployment diagrams showing a system’s various hardware and the software
deployed on it.
5. Object diagrams showing a real-world example of a structure at a specific time.
6. Package diagrams showing packages and the dependencies between those
packages.
7. Profile diagrams showing custom stereotypes, tagged values, and constraints.

 PA0302 Apply a modelling process using UML behaviour diagrams:

1. Activity diagrams showing business or operational workflows of components in a


system.
2. Use Case diagrams showing how functionalities relate under particular actors.
3. State machine diagrams showing the states and state transitions of a system.
4. Communication diagrams showing the interactions between objects in terms of
sequenced messages.
5. Interaction overview diagrams showing an overview of the flow of control with nodes
that represent interactions or interactions uses.
6. Sequence diagrams showing how objects communicate and the sequence of their
messages.

Timing diagrams showing timing constraints of a system in a given time frame.


Applied Knowledge

 AK0301 Modelling tools and techniques


Internal Assessment Criteria

 IAC0301 A model is created and presented

12.2.4 PM-12-PS04 : Create software design documents


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement with parameters, the learner must be able to:

 PA0401 Create a high-level design which indicates

251201005 - Occupational Certificate: Software Developer Page 146 of


184
 Brief description and name of each module
 An outline about the functionality of every module
 Interface relationship and dependencies between modules
 Database tables identified along with their key elements
 Complete architecture diagrams along with technology details
 PA0402 Create a low-level design which indicates
 Functional logic of the modules
 Database tables, which include type and size
 Complete detail of the interface
 Addresses all types of dependency issues
 Listing of error messages
 Complete input and outputs for every module
Applied Knowledge

 AK0401 Formats and techniques


Internal Assessment Criteria

 IAC0401 The software design documents are created which defines the overall configuration of the
problem

12.2.5 PM-12-PS05 : Design a wireframe of the proposed amendments or new solution


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement with parameters, the learner must be able to:

 PA0501 Conduct research to understand the audience, detail the requirements and defining the use
cases
 PA0502 Prepare research for quick reference
 PA0503 Map out the user flow and the number of screens to produce to ensure positive user
experiences
 PA0504 Draft and sketch to outline and represent features and formats to organise content to
support user goals
 PA0505 Add informational details to the wireframe
 PA0506 Test the wireframe for usability
Applied Knowledge

 AK0501 Wireframe formats and techniques


Internal Assessment Criteria

 IAC0501 A wireframe of the proposed amendments, or new solution, is designed

12.2.6 PM-12-PS06 : Build the entire solution or component by writing code using the chosen
programming language
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
business problem statement with parameters, the learner must be able to:

251201005 - Occupational Certificate: Software Developer Page 147 of


184
 PA0601 Apply predefined coding guidelines
 PA0602 Use programming tools such as compiler, interpreters, debugger to generate and
implement the code
 PA0603 Apply basic algorithmic techniques such as greedy algorithms, binary search, sorting and
dynamic programming for solving various computational challenges and implement
algorithmic coding problems in a programming language of choice. Apply various data
structures such as stack, queue, hash table, priority queue, binary search tree, graph and
string to solve programming challenges
 PA0604 Apply graph and string algorithms to solve real-world challenges: finding shortest paths on
huge maps and assembling genomes from millions of pieces
 PA0605 Apply secure coding practice for developing computer software that guards against the
accidental introduction of security vulnerabilities
 PA0606 Use data structures in computational problems and implement them in different
programming languages and in the programming assignments
Applied Knowledge

 AK0601 Types and uses of algorithms

Internal Assessment Criteria

 IAC0601 Develop and provide software components that operate as part of a large multi-process
system
 IAC0602 Apply the fundamental principles of software development, including fundamental
mathematical and logical concepts that underpin computational and systems thinking, to
plan, create, test and document simple working code

12.2.7 PM-12-PS07 : Test and debug the solution during the development process
Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
solution, the learner must be able to:

 PA0701 Design multiple tests for each algorithm developed and implemented to check its
correctness and running time
 PA0702 Determine what is working and define precisely what is not working and catalogue a set of
operations or behaviours that do not work
 PA0703 Simplify the problem by reproducing the problem in smaller datasets and create test cases
 PA0704 Form and test the hypotheses and document the overall class of bug
 PA0705 Test the bug
 PA0706 Fix the bug, retest and document the fix
Applied Knowledge

 AK0701 Testing and debugging tools and techniques

Internal Assessment Criteria

 IAC0701 The solution is tested and debugging procedures are applied to fix the bug

12.2.8 PM-12-PS08 : Deploy the build solution


Scope of Practical Skill

251201005 - Occupational Certificate: Software Developer Page 148 of


184
Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
solution, the learner must be able to:

 PA0801 Release the final software

 PA0802 Ensure integration with existing software

 PA0803 Check for deployment issues

Applied Knowledge

 AK0801 Deployment strategy


Internal Assessment Criteria

 IAC0801 A solution is deployed, tested, fixed and integrated with the existing program

12.2.9 PM-12-PS09 : Maintain the deployed solution


Scope of Practical Skill

Given a simulated environment where the conditions are typical of those in a working environment including
programming standards and guidelines, programming software, required hardware and its components,
industry standard software development tools and an integrated development environment (IDE) and a
solution, the learner must be able to:

 PA0901 Fix bugs that are reported because of some scenarios which are not tested at all
 PA0902 Upgrade the application to the newer versions of the software
 PA0903 Add some new features into the existing software to enhance performance
Applied Knowledge

 AK0901 Maintenance schedules and tools


Internal Assessment Criteria

 IAC0901 Software solution is maintained over the full life cycle

12.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

251201005 - Occupational Certificate: Software Developer Page 149 of


184
o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

12.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 150 of


184
13. 251201-005-00-PM-13, Participate in a Design Thinking for Innovation Workshop, NQF
Level 4, Credits 4

13.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
participate in a design thinking intervention, apply design thinking methodologies and look for opportunities to
apply the same methodology in world-of-work and personal life

The learner will be required to:

 PM-13-PS01 : Collaborate with team members to apply innovative and problem-solving


strategies
 PM-13-PS02 : Apply design thinking process to solve a problem creatively and innovatively
13.2 Guidelines for Practical Skills

13.2.1 PM-13-PS01 : Collaborate with team members to apply innovative and problem-solving
strategies
Scope of Practical Skill

Given access to a Design Thinking workshop with multidisciplinary team members, the learner must be able
to:

 PA0101 Interact and collaborate with team members


 PA0102 Engage in dialogues as required by the process
 PA0103 Participate in the activities as presented by the facilitator
 PA0104 Actively contribute to the discussions and activities
Applied Knowledge

 AK0101 Design Thinking as a solution-based approach to solving problems


Internal Assessment Criteria

 IAC0101 The ability to collaborate with team members towards a joint goal is demonstrated

13.2.2 PM-13-PS02 : Apply design thinking process to solve a problem creatively and
innovatively
Scope of Practical Skill

Given access to a Design Thinking workshop with multidisciplinary team members and techniques and
equipment, the learner must be able to:

 PA0201 Empathise with users/customers by setting aside own assumptions and formulate real
insights about the user
 PA0202 Define the problem statement and create a point-of-view statement, indicating a specific
user, a need and an insight
 PA0203 Ideate by challenging assumptions and creating ideas for innovative solutions to help
resolve the challenges and needs
 PA0204 Prototype workable ideas
 PA0205 Test the solution applying a reiterative process and using various techniques
Applied Knowledge

 AK0201 Involving five phases: Empathize, Define, Ideate, Prototype and Test
Internal Assessment Criteria

251201005 - Occupational Certificate: Software Developer Page 151 of


184
 IAC0201 The ability to participate in the design thinking phases is demonstrated
 IAC0202 Skills are used to understand users, challenge assumptions, redefine problems and create
innovative solutions in order to prototype and test an innovative and creative solution

13.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

 Ethical clearance (where necessary)

13.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 152 of


184
14. 251201-005-00-PM-14, Function Ethically and Effectively in a Team, NQF Level 4, Credits
4

14.1 Purpose of the Practical Skills Module

The focus of the learning in this module is on providing the learner with an opportunity to acquire the skills to
function ethically and effectively in the workplace

The learner will be required to:

 PM-14-PS01 : Present information to an audience


 PM-14-PS02 : Conduct basic research (gather and explore data and information) on 4IR skills
and application opportunities in the workplace
 PM-14-PS03 : Ensure compliance with the code of conduct and governance in the workplace
 PM-14-PS04 : Collaborate with team members in the workplace
 PM-14-PS05 : Attend and participate in meetings
14.2 Guidelines for Practical Skills

14.2.1 PM-14-PS01 : Present information to an audience

Scope of Practical Skill

Given information on an audience and presentation tools, the learner must be able to:

 PA0101 Analyse the audience and research if needed


 PA0102 Select a topic
 PA0103 Define the objective and conduct research on the topic or gather information from an
available source
 PA0104 Prepare the content and body of the presentation
 PA0105 Visualise the content using suitable technology
 PA0106 Decide on the method of presentation e.g. story telling
 PA0107 Prepare the introduction and conclusion
 PA0108 Prepare for the presentation
 PA0109 Adapt presentation style to the audience and reaction of the audience
 PA0110 Speak from memory, from notes and from text
Applied Knowledge

 AK0101 Presentation principles


 AK0102 Presentation methods and techniques
 AK0103 Presentation technologies appropriate to the information
Internal Assessment Criteria

 IAC0101 Information is presented using tools, techniques and presentation methods appropriate to
the audience

14.2.2 PM-14-PS02 : Conduct basic research (gather and explore data and information) on 4IR
skills and application opportunities in the workplace

Scope of Practical Skill

Given access to the internet, the learner must be able to:

251201005 - Occupational Certificate: Software Developer Page 153 of


184
 PA0201 Gather and explore information on technologies such as Google, Amazon and MS and
identify opportunities to use these tools to improve or reduce development time (e.g.
embed AI APIs)
 PA0202 Gather and explore information on business intelligence (BI) applications and availability of
Big Data (collecting data, converting data into information and turning information into
knowledge, knowledge into intelligence and intelligence into wisdom)
Applied Knowledge

 AK0201 4IR technologies


 AK0202 Impact of 4IR on businesses and individuals.
Internal Assessment Criteria

 IAC0201 The application of future skills and competencies in the workplace is researched and
opportunities to adapt to the requirements of 4IR are identified

14.2.3 PM-14-PS03 : Ensure compliance with the code of conduct and governance in the
workplace

Scope of Practical Skill

Given legislation, industry norms and standards, company policy on governance and code of conduct, the
learner must be able to:

 PA0301 Compare company policy with legislation, industry norms and standards to identify any
shortfalls or opportunities for improvement
 PA0302 Compare code of conduct with the policy and identify any shortfalls or opportunities for
improvement
 PA0303 Compare IT procedures with policy and code of conduct and identify any shortfalls or
opportunities for improvement
Applied Knowledge

 AK0301 Ethics: concept and principles


 AK0302 Function of governance
 AK0303 Compliance vs non-compliance
Internal Assessment Criteria

 IAC0301 Company governance policy and procedures are assessed for compliance with legislation
and industry norms and standards

14.2.4 PM-14-PS04 : Collaborate with team members in the workplace

Scope of Practical Skill

Given access to a communication tool (e.g. Agile) and team members, the learner must be able to:

 PA0401 Use technology to communicate and report on progress


 PA0402 Actively collaborate with team members to achieve shared goals
 PA0403 Resolve conflict (if it occurs) using conflict resolution and other interpersonal skills
 PA0404 Apply time management skills and problem solving skills
 PA0405 Achieve goals timeously in support of team goals
Applied Knowledge

 AK0401 Reporting and communication technology

251201005 - Occupational Certificate: Software Developer Page 154 of


184
Internal Assessment Criteria

 IAC0401 Management and team members are informed about progress through communication
and reporting
 IAC0402 Interpersonal and intrapersonal skills are applied to achieve own and team goals

14.2.5 PM-14-PS05 : Attend and participate in meetings

Scope of Practical Skill

Given role play on meetings, the learner must be able to:

 PA0501 Apply meeting procedures


 PA0502 Prepare the agenda for the meeting
 PA0503 Take notes during the meeting and produce minutes of the meeting
 PA0504 Participate and contribute to the discussions in the meeting
Applied Knowledge

 AK0501 Meeting procedures


Internal Assessment Criteria

 IAC0501 Meeting procedures are observed


 IAC0502 Documentation (agenda and minutes) are produced which give an accurate representation
of the agreements

14.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:

 Lecturer/learner ratio of 1:10 (Maximum)

 Qualification of lecturer (SME):

o NQF 6 industry recognised qualification with 1 year’s experience in the IT industry

o RPA 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

251201005 - Occupational Certificate: Software Developer Page 155 of


184
 Ethical clearance (where necessary)

14.4 Exemptions

 No exemptions, but the module can be achieved in full through a normal RPL process

251201005 - Occupational Certificate: Software Developer Page 156 of


184
SECTION 3C: WORK EXPERIENCE MODULE SPECIFICATIONS

List of Work Experience Module Specifications

Work 251201-005- Technical Requirement Analysis and 5 15


Experience 00-WM-01 Refinement
Work 251201-005- Modelling Processes 5 15
Experience 00-WM-02
Work 251201-005- Programming for Software Solution 5 25
Experience 00-WM-03 Development
Work 251201-005- Capstone Project 5 10
Experience 00-WM-04

251201005 - Occupational Certificate: Software Developer Page 157 of


184
1. 251201-005-00-WM-01, Technical Requirement Analysis and Refinement, NQF Level 5,
Credits 15

1.1 Purpose of the Work Experience Module

The focus of the work experience is on providing the learner with an opportunity to:

Interrogate the specification and problem, interpret it into code and articulate in writing

The learner will be required to:

 WM-01-WE01 :
Attend induction program and familiarise self with company processes,
procedures, tools and culture
 WM-01-WE02 : Observe and assist a software engineer with gathering of information and
analysis of the requirements and problems
 WM-01-WE03 : Under supervision, gather information and analyse the requirements and
problems by conducting the following tasks
1.2 Guidelines for Work Experience

1.2.1 WM-01-WE01 : Attend induction program and familiarise self with company processes,
procedures, tools and culture
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0101 Attend induction program and familiarise self with the culture of the company
 WA0102 Familiarise self with legislation in the workplace
 WA0103 Apply protocols and work etiquette
 WA0104 Attend company specific information sharing sessions (e.g. standing meetings, toolbox
talks, power hours, etc.)
 WA0105 Familiarise self with and apply “working from anywhere” protocols
 WA0106 Comply with governance protocols and code of ethics of the company and ensure legal
compliance by adhering to legal requirements (incl. but not limited to privacy,
confidentiality, security of information and business intelligence, etc.)
 WA0107 Spend time in the various departments of the company, observe process flows and do
modelling of the processes observed using suitable tools and showing the relationships
and influences the respective departments have on each other
 WA0108 Understand management requirements and expectations from software development
and software solutions
 WA0109 Understand business computer system and the support required from the software
development team
 WA0110 Manage timesheets and apply self-management skills
 WA0111 Collaborate with team members throughout the work experience period to achieve
common and individual goals
Supporting Evidence

 SE0101 Attendance register


 SE0102 Modelling

1.2.2 WM-01-WE02 : Observe and assist a software engineer with gathering of information
and analysis of the requirements and problems
Scope of Work Experience

The person will be expected to engage in the following work activities:

251201005 - Occupational Certificate: Software Developer Page 158 of


184
 WA0201 Conduct an analysis of technical application requirements
 WA0202 Assist in the collection and documentation of user's requirements, development of user
stories, and estimates
 WA0203 Conduct user research to identify either improvements to our existing services or where
new services could be developed
 WA0204 Gather information from consumers about program functionality
 WA0205 Analyse user requirements
 WA0206 Analyse and identify requirements related to people, processes and technology
 WA0207 Identifying areas for modification in existing programs and subsequently developing
these modifications
 WA0208 Convert requirements into design documents
 WA0209 The implementation of is assisted with
 WA0210 Conduct economic feasibility checks to ascertain that the project can be completed in
the given budget
 WA0211 Conduct legal feasibility checks to ascertain that the project can be completed within
regulatory compliances
 WA0212 Conduct operational feasibility checks to ascertain that the operations expected by the
client can be created
 WA0213 Conduct technical feasibility checks to ascertain that the current computer system can
support the software
 WA0214 Conduct scheduling feasibility checks to ascertain that the project can be completed
within given schedule
Supporting Evidence

 SE0201 Analysis of the specification and problem

1.2.3 WM-01-WE03 : Under supervision, gather information and analyse the requirements and
problems by conducting the following tasks
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0301 Conduct an analysis of technical application requirements


 WA0302 Assist in the collection and documentation of user's requirements, development of user
stories, and estimates
 WA0303 Conduct user research to identify either improvements to our existing services or where
new services could be developed
 WA0304 Gather information from consumers about program functionality
 WA0305 Analyse user requirements
 WA0306 Analyse and identify requirements related to people, processes and technology
 WA0307 Identifying areas for modification in existing programs and subsequently developing
these modifications
 WA0308 Convert requirements into design documents
 WA0309 The implementation of is assisted with
 WA0310 Conduct economic feasibility checks to ascertain that the project can be completed in
the given budget
 WA0311 Conduct legal feasibility checks to ascertain that the project can be completed within
regulatory compliances
 WA0312 Conduct operational feasibility checks to ascertain that the operations expected by the
client can be created

251201005 - Occupational Certificate: Software Developer Page 159 of


184
 WA0313 Conduct technical feasibility checks to ascertain that the current computer system can
support the software
 WA0314 Conduct scheduling feasibility checks to ascertain that the project can be completed
within given schedule
Supporting Evidence

 SE0301 Analysis of the specification and problem

1.3 Contextualised Workplace Knowledge

1. Organisational policies, procedures and guidelines which relate to data processing

2. Standard templates, documentation and tools

3. Business processes and workflows pertaining to data processing

4. Team members

5. Company specific operating systems

6. Vendor specific software development tools and platforms

7. Company specific best practices, quality standards and security protocols

8. Version control system

9. Sources of information available for designing tests

10. Historical database

11. Approval process

1.4 Criteria for Workplace Approval

Physical Requirements:

 Tools, equipment, systems, e.g.: company systems, documents, data, relevant meetings, teams and
supervisors, design studio, etc.

 Key processes, e.g.: RPA design, testing and deployment processes project on the go or completed

Human Resource Requirements:

 Maximum mentor/learner ratio of 1:3 in the ideal situation

 Supervisor/mentor: 2 years’ software development experience

Legal Requirements:

 Legal (product) licences to use software

 OHS compliance certificate

 Ethical clearance (where necessary)

1.5 Additional Assignments to be Assessed Externally

None

251201005 - Occupational Certificate: Software Developer Page 160 of


184
2. 251201-005-00-WM-02, Modelling Processes, NQF Level 5, Credits 15

2.1 Purpose of the Work Experience Module

The focus of the work experience is on providing the learner with an opportunity to:

Build a logical flow using the framework and methodologies at their disposal to propose possible solutions to
business challenges

The learner will be required to:

 WM-02-WE01 :
Observe and assist a software engineer with the modelling process and
building a logical flow
 WM-02-WE02 : Under supervision, conduct the modelling process and building a logical flow
by conducting the following tasks
2.2 Guidelines for Work Experience

2.2.1 WM-02-WE01 : Observe and assist a software engineer with the modelling process and
building a logical flow
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0101 Model processes using software applications as specified by the organisation


 WA0102 Apply core business modelling and analysis skills to information software development
to implement and maintain a software system that meets organisational requirements
 WA0103 Increase efficiency and service through construction, maintenance, and streamlining of
our computing systems and programs
 WA0104 Enhance the efficiency and cost-effectiveness of software solutions by designing
software programs that are customised to our organisation's needs
 WA0105 Technical specifications and plans are developed based on the analysis of the
requirements and consumer feedback
 WA0106 Technical documentation is developed to guide future software development projects
 WA0107 Apply core business modelling and analysis skills to model a solution that meets
organisational requirements
 WA0108 Design a wireframe of the proposed amendments, or new solution, and prepare for sign
off by client
 WA0109 Create software design documents
Supporting Evidence

 SE0101 Logical flow and models

2.2.2 WM-02-WE02 : Under supervision, conduct the modelling process and building a logical
flow by conducting the following tasks
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0201 Model processes using software applications as specified by the organisation


 WA0202 Apply core business modelling and analysis skills to information software development
to implement and maintain a software system that meets organisational requirements
 WA0203 Increase efficiency and service through construction, maintenance, and streamlining of
our computing systems and programs

251201005 - Occupational Certificate: Software Developer Page 161 of


184
 WA0204 Enhance the efficiency and cost-effectiveness of software solutions by designing
software programs that are customised to our organisation's needs
 WA0205 Technical specifications and plans are developed based on the analysis of the
requirements and consumer feedback
 WA0206 Technical documentation is developed to guide future software development projects
 WA0207 Apply core business modelling and analysis skills to model a solution that meets
organisational requirements
 WA0208 Design a wireframe of the proposed amendments, or new solution, and prepare for sign
off by client
 WA0209 Create software design documents
Supporting Evidence

 SE0201 Logical flow and models

2.3 Contextualised Workplace Knowledge

1. Organisational policies, procedures and guidelines which relate to data processing

2. Standard templates, documentation and tools

3. Business processes and workflows pertaining to data processing

4. Team members

5. Company specific operating systems

6. Vendor specific software development tools and platforms

7. Company specific best practices, quality standards and security protocols

8. Version control system

9. Sources of information available for designing tests

10. Historical database

11. Approval process

2.4 Criteria for Workplace Approval

Physical Requirements:

 Tools, equipment, systems, e.g.: company systems, documents, data, relevant meetings, teams and
supervisors, design studio, etc.

 Key processes, e.g.: RPA design, testing and deployment processes project on the go or completed

Human Resource Requirements:

 Maximum mentor/learner ratio of 1:3 in the ideal situation

 Supervisor/mentor: 2 years’ software development experience

Legal Requirements:

 Legal (product) licences to use software

251201005 - Occupational Certificate: Software Developer Page 162 of


184
 OHS compliance certificate

 Ethical clearance (where necessary)

2.5 Additional Assignments to be Assessed Externally

None

251201005 - Occupational Certificate: Software Developer Page 163 of


184
3. 251201-005-00-WM-03, Programming for Software Solution Development, NQF Level 5,
Credits 25

3.1 Purpose of the Work Experience Module

The focus of the work experience is on providing the learner with an opportunity to:

Programme effectively using a suitable programming language to develop and test new solutions and update
existing solutions

The learner will be required to:

 WM-03-WE01 :
Observe and assist a software engineer with the effective programming using
organisational programming languages to develop and test new solutions and
update existing solutions
 WM-03-WE02 : Under supervision, conduct the effective programming using organisational
programming languages to develop and test new solutions and update existing
solutions
3.2 Guidelines for Work Experience

3.2.1 WM-03-WE01 : Observe and assist a software engineer with the effective programming
using organisational programming languages to develop and test new
solutions and update existing solutions
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0101 Apply design principles and core skills to design and develop an accessible and
responsive information systems prototype, and test for usability, accessibility and user
experience
 WA0102 Apply development methodologies and the fundamental principles of software
development, including fundamental mathematical and logical concepts that underpin
computational and systems thinking, to plan, design, develop, test, secure, document
and deploy a software solution that meets organisational requirement and including
associated change management during the build process and deployment
 WA0103 Apply the fundamentals of software development concepts and practice, including
business concepts, development life cycles, data modelling, to support and enhance
organisational processes and systems
 WA0104 Apply basic algorithmic techniques such as greedy algorithms, binary search, sorting
and dynamic programming for solving various computational challenges and implement
algorithmic coding problems in a programming language of the organisation
 WA0105 Design tests to check the correctness and running time, and debug software solutions
 WA0106 Apply various data structures such as stack, queue, hash table, priority queue, binary
search tree, graph and string to solve programming challenges
 WA0107 Apply graph and string algorithms to solve real-world challenges: finding shortest paths
on huge maps and assembling genomes from millions of pieces
 WA0108 Establish testing requirements in software development according to organisational
guidelines and frameworks related to testing and design, implement and execute a test
procedure and a script using a unit test framework and an integrated development
environment (IDE) and create a test progress report to log and record test results
 WA0109 Use version control systems to build files, create the required directory and track
content and versions as well as maintain a code repository of work in a software
development environments
 WA0110 Apply secure coding practice for developing computer software that guard against the
accidental introduction of security vulnerabilities

251201005 - Occupational Certificate: Software Developer Page 164 of


184
 WA0111 Generate reports, manuals and other documentation on the status, operation and
maintenance of software
 WA0112 Identify organisational requirements to comply with IP, ethics and privacy policy
procedures and comply with the protection and lawful use of intellectual property (IP)
and to implement relevant organisational ethics and privacy policies and identify areas
of potential risk and non-compliance to contribute to non-compliance incident
identification and recommendations
 WA0113 Apply critical analysis and decision-making techniques to solve IT problems and
provide relevant and timely outcomes
 WA0114 Apply professional, legal, and ethical principles and practices in a socially responsible
manner as IT professional
 WA0115 Apply communication, collaboration, teamwork, documentation and customer service
skills to enhance effectiveness in an IT role
Supporting Evidence

 SE0101 Developed solutions


 SE0102 Test plan
 SE0103 Reports and logs

3.2.2 WM-03-WE02 : Under supervision, conduct the effective programming using


organisational programming languages to develop and test new
solutions and update existing solutions
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0201 Apply design principles and core skills to design and develop an accessible and
responsive information systems prototype, and test for usability, accessibility and user
experience
 WA0202 Apply development methodologies and the fundamental principles of software
development, including fundamental mathematical and logical concepts that underpin
computational and systems thinking, to plan, design, develop, test, secure, document
and deploy a software solution that meets organisational requirement and including
associated change management during the build process and deployment
 WA0203 Apply the fundamentals of software development concepts and practice, including
business concepts, development life cycles, data modelling, to support and enhance
organisational processes and systems
 WA0204 Apply basic algorithmic techniques such as greedy algorithms, binary search, sorting
and dynamic programming for solving various computational challenges and implement
algorithmic coding problems in a programming language of the organisation
 WA0205 Design tests to check the correctness and running time, and debug software solutions
 WA0206 Apply various data structures such as stack, queue, hash table, priority queue, binary
search tree, graph and string to solve programming challenges
 WA0207 Apply graph and string algorithms to solve real-world challenges: finding shortest paths
on huge maps and assembling genomes from millions of pieces
 WA0208 Establish testing requirements in software development according to organisational
guidelines and frameworks related to testing and design, implement and execute a test
procedure and a script using a unit test framework and an integrated development
environment (IDE) and create a test progress report to log and record test results
 WA0209 Use version control systems to build files, create the required directory and track
content and versions as well as maintain a code repository of work in a software
development environments

251201005 - Occupational Certificate: Software Developer Page 165 of


184
 WA0210 Apply secure coding practice for developing computer software that guard against the
accidental introduction of security vulnerabilities
 WA0211 Generate reports, manuals and other documentation on the status, operation and
maintenance of software
 WA0212 Identify organisational requirements to comply with IP, ethics and privacy policy
procedures and comply with the protection and lawful use of intellectual property (IP)
and to implement relevant organisational ethics and privacy policies and identify areas
of potential risk and non-compliance to contribute to non-compliance incident
identification and recommendations
 WA0213 Apply critical analysis and decision-making techniques to solve IT problems and
provide relevant and timely outcomes
 WA0214 Apply professional, legal, and ethical principles and practices in a socially responsible
manner as an emerging IT professional
 WA0215 Apply communication, collaboration, teamwork, documentation and customer service
skills to enhance effectiveness in an IT role
Supporting Evidence

 SE0201 Developed solutions


 SE0202 Test plan
 SE0203 Reports and logs

3.3 Contextualised Workplace Knowledge

1. Organisational policies, procedures and guidelines which relate to data processing

2. Standard templates, documentation and tools

3. Business processes and workflows pertaining to data processing

4. Team members

5. Company specific operating systems

6. Vendor specific software development tools and platforms

7. Company specific best practices, quality standards and security protocols

8. Version control system

9. Sources of information available for designing tests

10. Historical database

11. Approval process

12. Key legislation required to evaluate and implement IP in the ICT industry

13. Key policies, procedures and documentation in the ICT industry, including those related to:

a. Organisational IP policies and procedures

b. Codes of ethics pertinent to the ICT industry

c. Privacy

251201005 - Occupational Certificate: Software Developer Page 166 of


184
14. Key organisational communication processes and procedures related to identifying IP, ethics and privacy
policies in ICT environments

15. Distributed and centralised version control systems

16. Branching, pull and push commands local/remote

17. Key policies, procedures and documentation required to use version control systems in development
environments, including those related to:

d. Repositories and working copies

e. Merging and merge tools

f. Working and indiscriminative commits

18. Principles and techniques of creating repositories and branch workflows

19. Version control industry standard best practices

20. Distributed version control industry standard best practices

21. Workflow processes applicable to using version control systems

3.4 Criteria for Workplace Approval

Physical Requirements:

 Tools, equipment, systems, e.g.: company systems, documents, data, relevant meetings, teams and
supervisors, design studio, etc.

 Key processes, e.g.: RPA design, testing and deployment processes project on the go or completed

Human Resource Requirements:

 Maximum mentor/learner ratio of 1:3 in the ideal situation

 Supervisor/mentor: 2 years’ software development experience

Legal Requirements:

 Legal (product) licences to use software

 OHS compliance certificate

 Ethical clearance (where necessary)

3.5 Additional Assignments to be Assessed Externally

None

251201005 - Occupational Certificate: Software Developer Page 167 of


184
4. 251201-005-00-WM-04, Capstone Project, NQF Level 5, Credits 10

4.1 Purpose of the Work Experience Module

The focus of the work experience is on providing the learner with an opportunity to:

Alert the publisher to plagiarism, copyright or defamation issues and obtain permissions

The learner will be required to:

 WM-04-WE01 :
Develop a solution that enhances the efficiency and cost-effectiveness of
systems, resolve errors, and design programs that are customized to the
organisation's needs through:
 : Interrogating the specification and problem and interpret it into code and
articulate in writing
 : Building a logical flow using the framework and methodologies at their disposal
to propose possible solutions to business challenges
 : Programme effectively using a suitable programming language to develop and
test new solutions and update existing solutions
4.2 Guidelines for Work Experience

4.2.1 WM-04-WE01 : Develop a solution that enhances the efficiency and cost-effectiveness of
systems, resolve errors, and design programs that are customized to the
organisation's needs through:
: Interrogating the specification and problem and interpret it into code and
articulate in writing
: Building a logical flow using the framework and methodologies at their
disposal to propose possible solutions to business challenges
: Programme effectively using a suitable programming language to develop and
test new solutions and update existing solutions
Scope of Work Experience

The person will be expected to engage in the following work activities:

 WA0101 Apply core project planning and management skills, including knowledge of project life
cycles, to contribute to managing resources and producing relevant technical
documentation for an information technology (IT) related project
 WA0102 Apply core business modelling and analysis skills to information systems development,
and core skills in data modelling, database concepts, database management and
design, to implement and administer a database management system that meets
organisational requirements
 WA0103 Apply the fundamentals of information systems concepts and practice, including
business concepts, development life cycles, data modelling and administration, to
support and enhance organisational processes and systems
 WA0104 Apply critical analysis and decision-making techniques to solve IT problems and
provide relevant and timely outcomes
 WA0105 Apply design principles and core skills in human computer interaction (HCI) to design
and develop an accessible and responsive information systems prototype, and test for
usability, accessibility and user experience
 WA0106 Apply development methodologies and the fundamental principles of software
development, including fundamental mathematical and logical concepts that underpin
computational and systems thinking, to plan, design, develop, test, quality assure,
secure, document and deploy a software system to meet organisational requirements

251201005 - Occupational Certificate: Software Developer Page 168 of


184
 Learning must include software/systems engineering, architecture, object-oriented
modelling concepts and skills, and associated change management during the build
process and deployment
 WA0107 Apply the fundamental principles of software development, including fundamental
mathematical and logical concepts that underpin computational and systems thinking,
to plan, create, test and document simple working code
 WA0108 Apply professional, legal, and ethical principles and practices in a socially responsible
manner as an emerging IT professional
 WA0109 Apply communication, collaboration, teamwork, documentation and customer service
skills to enhance effectiveness in an IT role
Supporting Evidence

 SE0101 Report(s)
 SE0102 Logs
 SE0103 Solution

4.3 Contextualised Workplace Knowledge

1. Organisational policies, procedures and guidelines which relate to data processing

2. Standard templates, documentation and tools

3. Business processes and workflows pertaining to data processing

4. Team members

5. Company specific operating systems

6. Vendor specific software development tools and platforms

7. Company specific best practices, quality standards and security protocols

8. Version control system

9. Sources of information available for designing tests

10. Historical database

11. Approval process

12. Key legislation required to evaluate and implement IP in the ICT industry

13. Key policies, procedures and documentation in the ICT industry, including those related to:

a. Organisational IP policies and procedures

b. Codes of ethics pertinent to the ICT industry

c. Privacy

14. Key organisational communication processes and procedures related to identifying IP, ethics and privacy
policies in ICT environments

15. Distributed and centralised version control systems

16. Branching, pull and push commands local/remote

251201005 - Occupational Certificate: Software Developer Page 169 of


184
17. Key policies, procedures and documentation required to use version control systems in development
environments, including those related to:

d. Repositories and working copies

e. Merging and merge tools

f. Working and indiscriminative commits

18. Principles and techniques of creating repositories and branch workflows

19. Version control industry standard best practices

20. Distributed version control industry standard best practices

21. Workflow processes applicable to using version control systems

4.4 Criteria for Workplace Approval

Physical Requirements:

 Tools, equipment, systems, e.g.: company systems, documents, data, relevant meetings, teams and
supervisors, design studio, etc.

 Key processes, e.g.: RPA design, testing and deployment processes project on the go or completed

Human Resource Requirements:

 Maximum mentor/learner ratio of 1:3 in the ideal situation

 Supervisor/mentor: 2 years’ software development experience

Legal Requirements:

 Legal (product) licences to use software

 OHS compliance certificate

 Ethical clearance (where necessary)

4.5 Additional Assignments to be Assessed Externally

None

251201005 - Occupational Certificate: Software Developer Page 170 of


184
SOURCES CONSULTED:

https://www.educba.com/algorithm-in-programming/

https://careerfoundry.com/en/blog/web-development/what-is-a-full-stack-web-developer/

https://docs.microsoft.com/en-us/learn/certifications/courses/20480

https://upload.wikimedia.org/wikipedia/commons/7/7e/SDLC-Maintenance-Highlighted.png

https://www.betterteam.com/computer-programmer-job-description

https://www.coursera.org/learn/data-structures?specialization=data-structures-algorithms

https://www.coursera.org/specializations/data-structures-algorithms

https://www.edx.org/professional-certificate/ibm-cloud-application-development-foundations

https://www.upgrad.com/blog/full-stack-coding-project-ideas-topics-for-beginners/

https://www.upgrad.com/blog/skills-to-become-a-full-stack-developer/

251201005 - Occupational Certificate: Software Developer Page 171 of


184
SECTION 4: STATEMENT OF WORK EXPERIENCE

Curriculum Number: 251201005

Curriculum Title: Software Developer

Learner Details

Name:

ID Number:

Employer Details

Company Name:

Address:

Supervisor Name:

Work Telephone:

E-Mail:

251201005 - Occupational Certificate: Software Developer Page 172 of


184
251201005-WM-01, Technical Requirement Analysis and Refinement, NQF Level 5, Credits 15

WM-01-WE01 Attend induction program and familiarise self with


company processes, procedures, tools and culture

Scope of Work Experience Date Signature

WA0101 Attend induction program and familiarise self with


the culture of the company

WA0102 Familiarise self with legislation in the workplace

WA0103 Apply protocols and work etiquette

WA0104 Attend company specific information sharing


sessions (e.g. standing meetings, toolbox talks,
power hours, etc.)

WA0105 Familiarise self with and apply “working from


anywhere” protocols

WA0106 Comply with governance protocols and code of


ethics of the company and ensure legal compliance
by adhering to legal requirements (incl. but not
limited to privacy, confidentiality, security of
information and business intelligence, etc.)

WA0107 Spend time in the various departments of the


company, observe process flows and do modelling
of the processes observed using suitable tools and
showing the relationships and influences the
respective departments have on each other

WA0108 Understand management requirements and


expectations from software development and
software solutions

WA0109 Understand business computer system and the


support required from the software development
team

WA0110 Manage timesheets and apply self-management


skills

WA0111 Collaborate with team members throughout the work


experience period to achieve common and
individual goals

Supporting Evidence Date Signature

SE0101 Attendance register

251201005 - Occupational Certificate: Software Developer Page 173 of


184
SE0102 Modelling

WM-01-WE02 Observe and assist a software engineer with


gathering of information and analysis of the
requirements and problems

Scope of Work Experience Date Signature

WA0201 Conduct an analysis of technical application


requirements

WA0202 Assist in the collection and documentation of user's


requirements, development of user stories, and
estimates

WA0203 Conduct user research to identify either


improvements to our existing services or where new
services could be developed

WA0204 Gather information from consumers about program


functionality

WA0205 Analyse user requirements

WA0206 Analyse and identify requirements related to people,


processes and technology

WA0207 Identifying areas for modification in existing


programs and subsequently developing these
modifications

WA0208 Convert requirements into design documents

WA0209 The implementation of is assisted with

WA0210 Conduct economic feasibility checks to ascertain


that the project can be completed in the given
budget

WA0211 Conduct legal feasibility checks to ascertain that the


project can be completed within regulatory
compliances

WA0212 Conduct operational feasibility checks to ascertain


that the operations expected by the client can be
created

WA0213 Conduct technical feasibility checks to ascertain that


the current computer system can support the
software

WA0214 Conduct scheduling feasibility checks to ascertain


that the project can be completed within given

251201005 - Occupational Certificate: Software Developer Page 174 of


184
schedule

Supporting Evidence Date Signature

SE0201 Analysis of the specification and problem

WM-01-WE03 Under supervision, gather information and analyse


the requirements and problems by conducting the
following tasks

Scope of Work Experience Date Signature

WA0301 Conduct an analysis of technical application


requirements

WA0302 Assist in the collection and documentation of user's


requirements, development of user stories, and
estimates

WA0303 Conduct user research to identify either


improvements to our existing services or where new
services could be developed

WA0304 Gather information from consumers about program


functionality

WA0305 Analyse user requirements

WA0306 Analyse and identify requirements related to people,


processes and technology

WA0307 Identifying areas for modification in existing


programs and subsequently developing these
modifications

WA0308 Convert requirements into design documents

WA0309 The implementation of is assisted with

WA0310 Conduct economic feasibility checks to ascertain


that the project can be completed in the given
budget

WA0311 Conduct legal feasibility checks to ascertain that the


project can be completed within regulatory
compliances

WA0312 Conduct operational feasibility checks to ascertain


that the operations expected by the client can be
created

251201005 - Occupational Certificate: Software Developer Page 175 of


184
WA0313 Conduct technical feasibility checks to ascertain that
the current computer system can support the
software

WA0314 Conduct scheduling feasibility checks to ascertain


that the project can be completed within given
schedule

Supporting Evidence Date Signature

SE0301 Analysis of the specification and problem

Contextualised Workplace Date Signature


Knowledge

Additional Assignments to Date Signature


be Assessed Externally

251201005-WM-02, Modelling Processes, NQF Level 5, Credits 15

WM-02-WE01 Observe and assist a software engineer with the


modelling process and building a logical flow

Scope of Work Experience Date Signature

WA0101 Model processes using software applications as


specified by the organisation

WA0102 Apply core business modelling and analysis skills to


information software development to implement and
maintain a software system that meets organisational
requirements

WA0103 Increase efficiency and service through construction,


maintenance, and streamlining of our computing
systems and programs

WA0104 Enhance the efficiency and cost-effectiveness of


software solutions by designing software programs
that are customised to our organisation's needs

251201005 - Occupational Certificate: Software Developer Page 176 of


184
WA0105 Technical specifications and plans are developed
based on the analysis of the requirements and
consumer feedback

WA0106 Technical documentation is developed to guide future


software development projects

WA0107 Apply core business modelling and analysis skills to


model a solution that meets organisational
requirements

WA0108 Design a wireframe of the proposed amendments, or


new solution, and prepare for sign off by client

WA0109 Create software design documents

Supporting Evidence Date Signature

SE0101 Logical flow and models

WM-02-WE02 Under supervision, conduct the modelling process and


building a logical flow by conducting the following
tasks

Scope of Work Experience Date Signature

WA0201 Model processes using software applications as


specified by the organisation

WA0202 Apply core business modelling and analysis skills to


information software development to implement and
maintain a software system that meets organisational
requirements

WA0203 Increase efficiency and service through construction,


maintenance, and streamlining of our computing
systems and programs

WA0204 Enhance the efficiency and cost-effectiveness of


software solutions by designing software programs
that are customised to our organisation's needs

WA0205 Technical specifications and plans are developed


based on the analysis of the requirements and
consumer feedback

WA0206 Technical documentation is developed to guide future


software development projects

WA0207 Apply core business modelling and analysis skills to


model a solution that meets organisational
requirements

251201005 - Occupational Certificate: Software Developer Page 177 of


184
WA0208 Design a wireframe of the proposed amendments, or
new solution, and prepare for sign off by client

WA0209 Create software design documents

Supporting Evidence Date Signature

SE0201 Logical flow and models

Contextualised Workplace Date Signature


Knowledge

Additional Assignments to Date Signature


be Assessed Externally

251201005-WM-03, Programming for Software Solution Development, NQF Level 5, Credits 25

WM-03-WE01 Observe and assist a software engineer with the


effective programming using organisational
programming languages to develop and test new
solutions and update existing solutions

Scope of Work Experience Date Signature

WA0101 Apply design principles and core skills to design


and develop an accessible and responsive
information systems prototype, and test for usability,
accessibility and user experience

WA0102 Apply development methodologies and the


fundamental principles of software development,
including fundamental mathematical and logical
concepts that underpin computational and systems
thinking, to plan, design, develop, test, secure,
document and deploy a software solution that
meets organisational requirement and including
associated change management during the build
process and deployment.

WA0103 Apply the fundamentals of software development


concepts and practice, including business concepts,

251201005 - Occupational Certificate: Software Developer Page 178 of


184
development life cycles, data modelling, to support
and enhance organisational processes and systems

WA0104 Apply basic algorithmic techniques such as greedy


algorithms, binary search, sorting and dynamic
programming for solving various computational
challenges and implement algorithmic coding
problems in a programming language of the
organisation.

WA0105 Design tests to check the correctness and running


time, and debug software solutions

WA0106 Apply various data structures such as stack, queue,


hash table, priority queue, binary search tree, graph
and string to solve programming challenges.

WA0107 Apply graph and string algorithms to solve real-


world challenges: finding shortest paths on huge
maps and assembling genomes from millions of
pieces.

WA0108 Establish testing requirements in software


development according to organisational guidelines
and frameworks related to testing and design,
implement and execute a test procedure and a script
using a unit test framework and an integrated
development environment (IDE) and create a test
progress report to log and record test results

WA0109 Use version control systems to build files, create


the required directory and track content and versions
as well as maintain a code repository of work in a
software development environments

WA0110 Apply secure coding practice for developing


computer software that guard against the accidental
introduction of security vulnerabilities.

WA0111 Generate reports, manuals and other documentation


on the status, operation and maintenance of software.

WA0112 Identify organisational requirements to comply with


IP, ethics and privacy policy procedures and comply
with the protection and lawful use of intellectual
property (IP) and to implement relevant organisational
ethics and privacy policies and identify areas of
potential risk and non-compliance to contribute to
non-compliance incident identification and
recommendations

WA0113 Apply critical analysis and decision-making


techniques to solve IT problems and provide relevant
and timely outcomes.

251201005 - Occupational Certificate: Software Developer Page 179 of


184
WA0114 Apply professional, legal, and ethical principles and
practices in a socially responsible manner as IT
professional.

WA0115 Apply communication, collaboration, teamwork,


documentation and customer service skills to
enhance effectiveness in an IT role.

Supporting Evidence Date Signature

SE0101 Developed solutions

SE0102 Test plan

SE0103 Reports and logs

WM-03-WE02 Under supervision, conduct the effective


programming using organisational programming
languages to develop and test new solutions and
update existing solutions

Scope of Work Experience Date Signature

WA0201 Apply design principles and core skills to design


and develop an accessible and responsive
information systems prototype, and test for usability,
accessibility and user experience

WA0202 Apply development methodologies and the


fundamental principles of software development,
including fundamental mathematical and logical
concepts that underpin computational and systems
thinking, to plan, design, develop, test, secure,
document and deploy a software solution that
meets organisational requirement and including
associated change management during the build
process and deployment.

WA0203 Apply the fundamentals of software development


concepts and practice, including business concepts,
development life cycles, data modelling, to support
and enhance organisational processes and systems

WA0204 Apply basic algorithmic techniques such as greedy


algorithms, binary search, sorting and dynamic
programming for solving various computational
challenges and implement algorithmic coding
problems in a programming language of the
organisation.

WA0205 Design tests to check the correctness and running


time, and debug software solutions

251201005 - Occupational Certificate: Software Developer Page 180 of


184
WA0206 Apply various data structures such as stack, queue,
hash table, priority queue, binary search tree, graph
and string to solve programming challenges.

WA0207 Apply graph and string algorithms to solve real-


world challenges: finding shortest paths on huge
maps and assembling genomes from millions of
pieces.

WA0208 Establish testing requirements in software


development according to organisational guidelines
and frameworks related to testing and design,
implement and execute a test procedure and a script
using a unit test framework and an integrated
development environment (IDE) and create a test
progress report to log and record test results

WA0209 Use version control systems to build files, create


the required directory and track content and versions
as well as maintain a code repository of work in a
software development environments

WA0210 Apply secure coding practice for developing


computer software that guard against the accidental
introduction of security vulnerabilities.

WA0211 Generate reports, manuals and other documentation


on the status, operation and maintenance of software.

WA0212 Identify organisational requirements to comply with


IP, ethics and privacy policy procedures and comply
with the protection and lawful use of intellectual
property (IP) and to implement relevant organisational
ethics and privacy policies and identify areas of
potential risk and non-compliance to contribute to
non-compliance incident identification and
recommendations

WA0213 Apply critical analysis and decision-making


techniques to solve IT problems and provide relevant
and timely outcomes.

WA0214 Apply professional, legal, and ethical principles and


practices in a socially responsible manner as an
emerging IT professional.

WA0215 Apply communication, collaboration, teamwork,


documentation and customer service skills to
enhance effectiveness in an IT role.

Supporting Evidence Date Signature

SE0201 Developed solutions

251201005 - Occupational Certificate: Software Developer Page 181 of


184
SE0202 Test plan

SE0203 Reports and logs

Contextualised Workplace Date Signature


Knowledge

Additional Assignments to Date Signature


be Assessed Externally

521201005-WM-04, Capstone Project, NQF Level 5, Credits 10

WM-04-WE01 Develop a solution that enhances the efficiency and


cost-effectiveness of systems, resolve errors, and
design programs that are customized to the
organisation's needs through:

Interrogating the specification and problem and


interpret it into code and articulate in writing

Building a logical flow using the framework and


methodologies at their disposal to propose possible
solutions to business challenges

Programme effectively using a suitable programming


language to develop and test new solutions and
update existing solutions

Scope of Work Experience Date Signature

WA0101 Apply core project planning and management skills,


including knowledge of project life cycles, to contribute
to managing resources and producing relevant
technical documentation for an information technology
(IT) related project

WA0102 Apply core business modelling and analysis skills


to information systems development, and core skills in
data modelling, database concepts, database
management and design, to implement and administer
a database management system that meets
organisational requirements

251201005 - Occupational Certificate: Software Developer Page 182 of


184
WA0103 Apply the fundamentals of information systems
concepts and practice, including business concepts,
development life cycles, data modelling and
administration, to support and enhance organisational
processes and systems

WA0104 Apply critical analysis and decision-making techniques


to solve IT problems and provide relevant and timely
outcomes

WA0105 Apply design principles and core skills in human


computer interaction (HCI) to design and develop an
accessible and responsive information systems
prototype, and test for usability, accessibility and user
experience

WA0106 Apply development methodologies and the


fundamental principles of software development,
including fundamental mathematical and logical
concepts that underpin computational and systems
thinking, to plan, design, develop, test, quality assure,
secure, document and deploy a software system to
meet organisational requirements

Learning must include software/systems engineering,


architecture, object-oriented modelling concepts and
skills, and associated change management during the
build process and deployment

WA0107 Apply the fundamental principles of software


development, including fundamental mathematical
and logical concepts that underpin computational and
systems thinking, to plan, create, test and document
simple working code

WA0108 Apply professional, legal, and ethical principles and


practices in a socially responsible manner as an
emerging IT professional

WA0109 Apply communication, collaboration, teamwork,


documentation and customer service skills to enhance
effectiveness in an IT role

Supporting Evidence Date Signature

SE0101 Report

SE0102 Logs

SE0103 Solution

251201005 - Occupational Certificate: Software Developer Page 183 of


184
Contextualised Workplace Date Signature
Knowledge

Additional Assignments to Date Signature


be Assessed Externally

251201005 - Occupational Certificate: Software Developer Page 184 of


184

You might also like