Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
10 views

Sp Curr Java Programmer 453

The document outlines the curriculum for a Skills Programme in Java Programming, designated as Curriculum Code 900102-000-00-00, which consists of both Knowledge/Theory and Application components totaling 53 credits. It details the entry requirements, associated occupations, and the compulsory modules required for completion, including topics such as Object-Oriented Programming and REST API. Additionally, it specifies the accreditation requirements for skills development providers and the purpose of the programme, which is to equip learners with the skills to implement programming solutions effectively.

Uploaded by

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

Sp Curr Java Programmer 453

The document outlines the curriculum for a Skills Programme in Java Programming, designated as Curriculum Code 900102-000-00-00, which consists of both Knowledge/Theory and Application components totaling 53 credits. It details the entry requirements, associated occupations, and the compulsory modules required for completion, including topics such as Object-Oriented Programming and REST API. Additionally, it specifies the accreditation requirements for skills development providers and the purpose of the programme, which is to equip learners with the skills to implement programming solutions effectively.

Uploaded by

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

Skills Programme Curriculum Document

Curriculum Code Curriculum Title

900102-000-00-00 Java Programmer

SP Curr Java Programmer 4 53 Page 1 of 52


Table of content

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


1. Skills Programme Information .....................................................................................................................3
2. Curriculum Information ................................................................................................................................3
SECTION 2: SKILLS PROGRAMME PROFILE ................................................................................................6
1. Skills Programme Purpose .........................................................................................................................6
2. Skills Programme Tasks .............................................................................................................................6
3. Skills Programme Task Details ...................................................................................................................6
SECTION 3: SKILLS PROGRAMME COMPONENT SPECIFICATIONS ..........................................................7
SECTION 3A: KNOWLEDGE/THEORY MODULE SPECIFICATIONS .........................................................7
1. 900102-000-00-KM-01, Introduction to Java Programming, NQF Level 4, Credits 2 .............................8
2. 900102-000-00-KM-02, Principles of Programming with Java, NQF Level 4, Credits 6 ...................... 13
3. 900102-000-00-KM-03, Principles of Object-Oriented Programming with Java, NQF Level 4, Credits 4
.................................................................................................................................................................. 22
4. 900102-000-00-KM-04, Principles of Intermediate Programming with Java, NQF Level 4, Credits 6 . 25
5. 900102-000-00-KM-05, REST API and Modularization, NQF Level 4, Credits 2 ................................ 29
SECTION 3B: APPLICATION MODULE SPECIFICATIONS ...................................................................... 31
1. 900102-000-00-PM-01, Getting started with Java, NQF Level 4, Credits 3 ........................................ 32
2. 900102-000-00-PM-02, Programming with Java, NQF Level 4, Credits 8........................................... 35
3. 900102-000-00-PM-03, Object-Oriented Programming with Java, NQF Level 4, Credits 4 ................ 44
4. 900102-000-00-PM-04, Intermediate Programming with Java, NQF Level 4, Credits 6 ..................... 46
5. 900102-000-00-PM-05, Getting started with REST API and Modularization, NQF Level 4, Credits 4 49
6. 900102-000-00-PM-06, Keystone Project with Java, NQF Level 4, Credits 8 ..................................... 51

SP Curr Java Programmer 4 53 Page 2 of 52


SECTION 1: SKILLS PROGRAMME CURRICULUM SUMMARY

1. Skills Programme Information

1.1 Skills Addressed by this Curriculum

Java Programmer, NQF Level 4, Credits 53

1.2 Skills Programme Entry Requirements

Grade 11 with Maths Lit and English

Access to equipment, internet connectivity and how to work remotely

1.3 Associated Occupations

Software Developer

1.4 Registered Related Qualifications

• Artificial Intelligence Software Developer


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

2. Curriculum Information

2.1 Curriculum Structure

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

2.1.1. Knowledge/Theory Component:

The following Modules are compulsory:

• 900102-000-00-KM-01, Introduction to Java Programming, NQF Level 4, Credits 2

• 900102-000-00-KM-02, Principles of Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-KM-03, Principles of Object-Oriented Programming with Java, NQF Level 4, Credits


4

• 900102-000-00-KM-04, Principles of Intermediate Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-KM-05, REST API and Modularization, NQF Level 4, Credits 2

Total number of credits for Knowledge Component: 20

2.1.2. Application Component:

• 900102-000-00-PM-01, Getting started with Java, NQF Level 4, Credits 3

SP Curr Java Programmer 4 53 Page 3 of 52


• 900102-000-00-PM-02, Programming with Java, NQF Level 4, Credits 8

• 900102-000-00-PM-03, Object-Oriented Programming with Java, NQF Level 4, Credits 4

• 900102-000-00-PM-04, Intermediate Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-PM-05, Getting started with REST API and Modularization, NQF Level 4, Credits 4

• 900102-000-00-PM-06, Keystone project with Java, NQF Level 4, Credits 8

Total number of credits for Application Component: 33

2.2 Skills Development Provider Accreditation Requirements

Knowledge Modules

Physical Requirements:

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

• QCTO/ MICT SETA requirements

Human Resource Requirements:

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

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

Application Modules

Physical Requirements:

• Valid licenses software and application, including OS.

• Internet connection and hardware availability.

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

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

Human Resource Requirements:

• Qualification of lecturer (SME):

SP Curr Java Programmer 4 53 Page 4 of 52


o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

SP Curr Java Programmer 4 53 Page 5 of 52


SECTION 2: SKILLS PROGRAMME PROFILE

1. Skills Programme Purpose

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

2. Skills Programme Tasks

• Describe the fundamentals of Java programming language (NQF Level 4)

• Describe the basic concepts and methods of object-oriented programming and object-oriented
design (NQF Level 4)

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

• Use Git commands for working collaboratively in a team and execute version control (NQF Level 4)

3. Skills Programme Task Details

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

Unique Product or Service:

• Fully functional solutions

Occupational Responsibilities:

• Create fully functional solutions in Java Programming Language

3.2. Use Git commands for working collaboratively in a team and execute version control (NQF Level
4)

Unique Product or Service:

• Collaborative teamwork and version control

Occupational Responsibilities:

• Execute version control with GitHub

SP Curr Java Programmer 4 53 Page 6 of 52


SECTION 3: SKILLS PROGRAMME COMPONENT SPECIFICATIONS

SECTION 3A: KNOWLEDGE/THEORY MODULE SPECIFICATIONS

The following modules are compulsory:

• 900102-000-00-KM-01, Introduction to Java Programming, NQF Level 4, Credits 2

• 900102-000-00-KM-02, Principles of Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-KM-03, Principles of Object-Oriented Programming with Java, NQF Level 4, Credits


4

• 900102-000-00-KM-04, Principles of Intermediate Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-KM-05, REST API and Modularization, NQF Level 4, Credits 2

SP Curr Java Programmer 4 53 Page 7 of 52


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

1.1 Purpose of the Knowledge Module

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

The learning will enable learners to demonstrate an understanding of:

• KM-01-KT01 : Computers 15%


• KM-01-KT02 : Introduction to Java programming 20%
• KM-01-KT03 : Introduction to suitable IDE (Integrated Development Environment) 15%
• KM-01-KT04 : Java Project Overview, Compilation and Execution 5%
• KM-01-KT05 : Introduction to Java Platform 5%
• KM-01-KT06 : Git commands 15%
• KM-01-KT07 : Java core concepts 15%
• KM-01-KT08 : Java syntax 10%

1.2 Guidelines for Topics

1.2.1. KM-01-KT01 : Computers 15%

Topic elements to be covered include:

• KT0101 Uses and capabilities

• KT0102 Hardware components

• KT0103 Processors + operating systems = platform

• KT0104 8-bit computing: Text, numerical and symbols

• KT0105 Internet connectivity and range of functionalities: e.g. cloud storage, search engines,
etc.

• KT0106 Tools for working remotely

Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of the respective computer elements are stated.

(Weight 15%)

1.2.2. KM-01-KT02 : Introduction to Java programming 20%

Topic elements to be covered include:

• KT0201 Definition of Java

• KT0202 Java history and evolvement

• KT0203 Java uses

SP Curr Java Programmer 4 53 Page 8 of 52


• KT0204 Java platform

• KT0205 Java features

• KT0206 Source code vs machine code

• KT0207 Components of Java platform and respective uses (JDK, JVM, JRE)

• KT0208 Java basic syntax

• KT0209 Introduction to Eclipse

• KT0210 What is a new Java project

Internal Assessment Criteria and Weight

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

(Weight 20%)

1.2.3. KM-01-KT03 : Introduction to suitable IDE (Integrated Development 15%


Environment)

Topic elements to be covered include:

• KT0301 Definition (What is an IDE?)

• KT0302 Purpose of an IDE

• KT0303 Useful features of IDE

• KT0304 Strengths and weaknesses of the IDE

• KT0305 IDEs to use in conjunction with Java

• KT0306 Define refactoring

• KT0307 Define debugging

Internal Assessment Criteria and Weight

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

(Weight 15%)

1.2.4. KM-01-KT04 : Java Project Overview, Compilation and Execution 5%

Topic elements to be covered include:

• KT0401 Simple Java project

• KT0402 Java source and class directories

SP Curr Java Programmer 4 53 Page 9 of 52


• KT0403 Compiling the Java source code

• KT0404 Running the compiled Java code

Internal Assessment Criteria and Weight

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

(Weight 5%)

1.2.5. KM-01-KT05 : Introduction to Java Platform 5%

Topic elements to be covered include:

• KT0501 Overview of Java platform - An Introduction - Java, Javac, Bytecode

• KT0502 Java Class and object

• KT0503 JDK vs JRE vs JVM. JDK (Java Development Kit) is a software development kit
whereas JRE (Java Runtime Environment) is a software bundle that allows Java
program to run, whereas JVM (Java Virtual Machine) is an environment for executing
bytecode

Internal Assessment Criteria and Weight

• IAC0501 Definitions, functions and features of each aspect are stated.

(Weight 5%)

1.2.6. KM-01-KT06 : Git commands 15%

Topic elements to be covered include:

• KT0601 Overview of Git

• KT0602 Version control

• KT0603 Collaboration

• KT0604 Repositories

• KT0605 Branch

• KT0606 Changes

• KT0607 Pull requests

• KT0608 Source code control

• KT0609 Git commands: git clone, git fetch, git checkout, git init, git commit, git push, git diff, git
pull, git add, git branch

Internal Assessment Criteria and Weight

SP Curr Java Programmer 4 53 Page 10 of 52


• IAC0601 Definitions, functions and features of each aspect are stated.

(Weight 15%)

1.2.7. KM-01-KT07 : Java core concepts 15%

Topic elements to be covered include:

• KT0701 Variables

• KT0702 Operations

• KT0703 Classes + Objects

• Fields

• Constructors

• Methods

• KT0704 Interfaces

• KT0705 Packages

Internal Assessment Criteria and Weight

• IAC0701 Definitions, functions and features of Java core concepts are stated.

(Weight 15%)

1.2.8. KM-01-KT08 : Java syntax 10%

Topic elements to be covered include:

• KT0801 Java files

• KT0802 Java syntax

• Package declaration

• Import statements

• Type declaration

• Field declarations

• Class initializers

• Constructors

• Methods

SP Curr Java Programmer 4 53 Page 11 of 52


• Type Declaration end

Internal Assessment Criteria and Weight

• IAC0801 Definitions, functions and features of Java syntax are stated.

(Weight 10%)

1.3 Provider Programme Accreditation Criteria

Physical Requirements:

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

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

1.4 Exemptions

• RPL based

SP Curr Java Programmer 4 53 Page 12 of 52


2. 900102-000-00-KM-02, Principles of Programming with Java, NQF Level 4, Credits 6

2.1 Purpose of the Knowledge Module

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

The learning will enable learners to demonstrate an understanding of:

• KM-02-KT01 : Java Main Method with JVM 4%


• KM-02-KT02 : Introduction to variables 5%
• KM-02-KT03 : Primitive data types and alternatives in Java Programming 5%
• KM-02-KT04 : Arrays and ArrayLists in Java 4%
• KM-02-KT05 : Array of objects 3%
• KM-02-KT06 : ArrayList() Method in Java 3%
• KM-02-KT07 : Reference Types in Java programming 4%
• KM-02-KT08 : Java string 10%
• KM-02-KT09 Java classes 3%
• KM-02-KT10 Java nested classes 3%
• KM-02-KT11 Java abstract classes 3%
• KM-02-KT12 Java wrapper classes 3%
• KM-02-KT13 Java date and time 3%
• KM-02-KT14 Conditionals in Java programming: If, Else, Else If 5%
• KM-02-KT15 Loops in Java Programming 5%
• KM-02-KT16 Java math class 3%
• KM-02-KT17 Algorithms in Java 3%
• KM-02-KT18 Modulus operator 3%
• KM-02-KT19 Introduction to Threads and Concurrency in Java: Multithreading 5%
• KM-02-KT20 Exception handling in Java 10%
• KM-02-KT21 File system and directories in Java 10%
• KM-02-KT22 Programming life cycle 3%
2.2 Guidelines for Topics

2.2.1 KM-02-KT01 : Java Main Method with JVM 4%


Topic elements to be covered include:

• KT0101 A simple Java class declaration


• KT0102 The main() Method
• KT0103 Running the main() Method
• KT0104 Passing arguments to the main() Method
• KT0105 The Java main class
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Java Main Method are stated.

(Weight 4%)

2.2.2 KM-02-KT02 : Introduction to variables 5%


Topic elements to be covered include:

• KT0201 Java variable types

SP Curr Java Programmer 4 53 Page 13 of 52


• KT0202 Java variable declaration
• KT0203 Java variable assignment
• KT0204 Java variable reading
• KT0205 Java variable naming conventions
• KT0206 How are variables stored in memory?
• KT0207 How to name a variable?
• KT0208 Primitive variable types in Java
• KT0209 Choosing a variable type
Internal Assessment Criteria and Weight

• IAC0201 Definitions, functions and features of variables in Java are stated.

(Weight 5%)

2.2.3 KM-02-KT03 : Primitive data types and alternatives in Java Programming 5%


Topic elements to be covered include:

• KT0301 Basics about Java data types


• Primitive data types in Java namely: byte, short, int, long, float, double,
char and Boolean.
• Non-primitive data types in Java: String, Arrays and Classes
• Casting, operators and more
• Octal, hexadecimal, post and pre
• KT0302 Java floating point data types
• Casting, conversion and accuracy
• KT0303 Introduction to BigDecimal Java class
• Adding integers
• Simple interest calculation
• KT0304 Java Boolean Data Type
• Relational and logical operators
• Short circuit operators
• KT0305 Java Character Data Type char - Representation and Conversion
Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions and features of variables in Java are stated.

(Weight 5%)

2.2.4 KM-02-KT04 : Arrays and ArrayLists in Java 4%


Topic elements to be covered include:

• KT0401 Definition
• KT0402 Types
• KT0403 Creating and accessing values
• KT0404 Compare, sort and fill
• KT0405 Total and average
• KT0406 Maximum and minimum
• KT0407 Variable arguments

SP Curr Java Programmer 4 53 Page 14 of 52


• KT0408 Java array length cannot be changed
• KT0409 Array length
Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions and features of arrays and ArrayLists in Java are stated.

(Weight 4%)

2.2.5 KM-02-KT05 : Array of objects 3%


Topic elements to be covered include:

• KT0501 Definition
• KT0502 Function
• KT0503 Features
Internal Assessment Criteria and Weight

• IAC0501 Definitions, functions and features of arrays of objects in Java are stated.

(Weight 3%)

2.2.6 KM-02-KT06 : ArrayList() Method in Java 3%


Topic elements to be covered include:

• KT0601 Definition
• KT0602 Purpose
• KT0603 Characteristics
• KT0604 Syntax
Internal Assessment Criteria and Weight

• IAC0601 Definitions, functions and features of ArrayList() in Java are stated.

(Weight 3%)

2.2.7 KM-02-KT07 : Reference Types in Java programming 4%


Topic elements to be covered include:

• KT0701 Definition
• KT0702 Purpose
• KT0703 Characteristics
• KT0704 Examples of data reference types
• KT0705 Syntax
• KT0706 Stored in memory
Internal Assessment Criteria and Weight

• IAC0701 Definitions, functions and features of reference types in Java are stated.

(Weight 4%)

SP Curr Java Programmer 4 53 Page 15 of 52


2.2.8 KM-02-KT08 : Java string 10%
Topic elements to be covered include:

• KT0801 Internal string representation


• KT0802 Compact strings
• KT0803 String literals
• KT0804 Escape characters
• KT0805 String literals as constants or singletons
• KT0806 Concatenating strings
• KT0807 String concatenation performance
• KT0808 String length
• KT0809 Substrings
• KT0810 Comparing strings
• KT0811 Trimming strings
• KT0812 Replacing characters
• KT0813 Converting numbers to strings
• KT0814 Converting objects to strings
• KT0815 String class
• KT0816 Additional methods
Internal Assessment Criteria and Weight

• IAC0801 Definitions, functions and features of strings and string methods in Java are stated.

(Weight 10%)

2.2.9 KM-02-KT09 : Java classes 3%


Topic elements to be covered include:

• KT0901 Java class building blocks


• KT0902 Defining a class in Java
• KT0903 Classes and objects
Internal Assessment Criteria and Weight

• IAC0901 Definitions, functions and features of Java classes are stated.

(Weight 3%)

2.2.10 KM-02-KT10 : Java nested classes 3%


Topic elements to be covered include:

• KT1001 Static nested classes


• KT1002 Non-static nested classes (inner classes)
• KT1003 Local classes
• KT1004 Anonymous classes
• KT1005 Nested class benefits
Internal Assessment Criteria and Weight

• IAC1001 Definitions, functions and features of Java nested classes are stated.

(Weight 3%)

SP Curr Java Programmer 4 53 Page 16 of 52


2.2.11 KM-02-KT11 : Java abstract classes 3%
Topic elements to be covered include:

• KT1101 Definition
• KT1102 Function and purpose
• KT1103 Features
• KT1104 Rules
Internal Assessment Criteria and Weight

• IAC1101 Definitions, functions and features of abstract classes are stated.

(Weight 3%)

2.2.12 KM-02-KT12 : Java wrapper classes 3%


Topic elements to be covered include:

• KT1201 Definition
• KT1202 Function
• KT1203 Why and what?
• KT1204 Creation - Constructor and valueOf
• KT1205 Classes - Auto boxing and a few wrapper constants - SIZE
Internal Assessment Criteria and Weight

• IAC1201 Definitions, functions and features of Java wrapper classes are stated.

(Weight 3%)

2.2.13 KM-02-KT13 : Java date and time 3%


Topic elements to be covered include:

• KT1301 Introduction to LocalDate, LocalTime and LocalDateTime


• KT1302 Definition
• KT1303 Function
• KT1304 Features
Internal Assessment Criteria and Weight

• IAC1301 Definitions, functions and features of Java date and time are stated.

(Weight 3%)

2.2.14 KM-02-KT14 : Conditionals in Java programming: If, Else, Else If 5%


Topic elements to be covered include:

• KT1401 Functions of conditional statements


• KT1402 Types of conditional statements
• KT1403 Using conditional statements and syntax

SP Curr Java Programmer 4 53 Page 17 of 52


• KT1404 Getting user input in Java
• KT1405 Java Switch statement
• KT1406 Introduction to If Else statement
• Nested If Else
• How to get user input in Java?
• How to get number 2 and choice from the user?
• Implementing with Nested If Else
• KT1407 Java Switch statement
• Default, break and fall through
• Java ternary operation
• KT1408 Conditionals with Java
Internal Assessment Criteria and Weight

• IAC1401 Definitions, functions and features of Java conditionals are stated.

• IAC1402 When to use the different If, Else, If Else and switch statements is understood.

(Weight 5%)

2.2.15 KM-02-KT15 : Loops in Java Programming 5%


Topic elements to be covered include:

• KT1501 Iteration or loop statements are used for repeated processes.

• KT1502 For Loop


• Syntax
• Prime Numbers
• Sum Upto N Numbers and Sum of Divisors
• Print a Number Triangle
• KT1503 While Loop
• Cubes and Squares up to limit
• KT1504 Do While Loop
• Cube while user enters positive n
• Introduction to Break and Continue
• KT1505 Selecting Loop in Java - For vs While vs Do While
Internal Assessment Criteria and Weight

• IAC1501 Definitions, functions and features of loops in Java are stated.

• IAC1502 When to use the different For vs While vs Do While loop is understood.

(Weight 5%)

2.2.16 KM-02-KT16 : Java math class 3%


Topic elements to be covered include:

• KT1601 Definition
• KT1602 Math methods (logarithmic, trigonometric, angular, hyperbolic)
• KT1603 Functions

SP Curr Java Programmer 4 53 Page 18 of 52


• KT1604 Features
Internal Assessment Criteria and Weight

• IAC1601 Definitions, functions and features of Java math class are stated.

(Weight 3%)

2.2.17 KM-02-KT17 : Algorithms in Java 3%


Topic elements to be covered include:

• KT1701 Definition
• KT1702 Function
• KT1703 Features
• KT1704 Types
Internal Assessment Criteria and Weight

• IAC1701 Definitions, functions and features of algorithms in Java are stated.

(Weight 3%)

2.2.18 KM-02-KT18 : Modulus operator 3%


Topic elements to be covered include:

• KT1801 Definition
• KT1802 Function
• KT1803 Features
• KT1804 Syntax
Internal Assessment Criteria and Weight

• IAC1801 Definitions, functions and features of modulus in Java are stated.

(Weight 3%)

2.2.19 KM-02-KT19 : Introduction to Threads and Concurrency in Java: 5%


Multithreading
Topic elements to be covered include:

• KT1901 Purpose of Threads and Multithreading


• KT1902 What is a single thread
• KT1903 What is multithreading
• KT1904 States of a thread
• KT1905 Thread Life-Cycle in Java
• KT1906 Java Thread Synchronization
• KT1907 Need for controlling the execution of threads
• KT1908 Introduction to ExecutorService
• KT1909 Concurrency models
Internal Assessment Criteria and Weight

SP Curr Java Programmer 4 53 Page 19 of 52


• IAC1901 Definitions, functions and features of Multithreading in Java are stated.

(Weight 5%)

2.2.20 KM-02-KT20 : Exception handling in Java 10%


Topic elements to be covered include:

• KT2001 Definition of Exception in Java


• KT2002 Errors vs exceptions
• KT2003 Types of exceptions
• KT2004 Keywords for exception handling
• KT2005 Function of exception handling
• KT2006 Basics of handling Exception
• Try catch block
• Exception class Hierarchy
• Need for finally block
• KT2007 Checked exceptions vs unchecked exceptions
• KT2008 Hierarchy of errors and exceptions - checked and runtime
• KT2009 Exception handling strategies
Internal Assessment Criteria and Weight

• IAC2001 Definitions, functions and features of exception handling in Java are stated.

(Weight 10%)

2.2.21 KM-02-KT21 : File system and directories in Java 10%


Topic elements to be covered include:

• KT2101 Definition of files and directories


• KT2102 Objective of a File management system
• KT2103 Properties of a file system
• KT2104 File structure
• KT2105 File attributes
• KT2106 File type
• KT2107 Functions of a file
• KT2108 Commonly used terms in file systems
• KT2109 File access methods
• KT2110 Space allocation
• KT2111 File directories
• KT2112 File types: name and extension
Internal Assessment Criteria and Weight

• IAC2101 Definitions, functions and features of file systems and directories in Java are stated.

(Weight 10%)

SP Curr Java Programmer 4 53 Page 20 of 52


2.2.22 KM-02-KT22 : Programming life cycle 3%
Topic elements to be covered include:

• KT2201 Definition and purpose


• KT2202 Principles of programming life cycle
• KT2203 Stages in the life cycle
• KT2204 Function and content of each stage in the life cycle
Internal Assessment Criteria and Weight

• IAC2201 Definitions, functions and stages of the programming lifecycle are described

(Weight 10%)

2.3 Provider Programme Accreditation Criteria

Physical Requirements:

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

• QCTO/ MICT SETA requirements

Human Resource Requirements:

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

2.4 Exemptions

• RPL based

SP Curr Java Programmer 4 53 Page 21 of 52


3. 900102-000-00-KM-03, Principles of Object-Oriented Programming with Java, NQF Level 4,
Credits 4

3.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the fundamentals of
Object-Oriented Programming with Java.

The learning will enable learners to demonstrate an understanding of:

• KM-03-KT01 : Object-Oriented Programming System (OOPS) in Java 30%


• KM-03-KT02 : Object-Oriented Programming in Java concepts 70%
3.2 Guidelines for Topics

3.2.1. KM-03-KT01 : Object-Oriented Programming System (OOPS) in Java 30%


Topic elements to be covered include:

• KT0101 Definition
• KT0102 Concepts:
• Class and types
• Object
• Method and Method passing
• KT0103 Pillars/elements:
• Inheritance
• Abstraction
• Encapsulation
• Polymorphism
• Aggregation
• Association
• Composition
• KT0104 Advantages of OOPS
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Object-Oriented Programming System (OOPS)


in Java are stated.

(Weight 30%)

3.2.2. KM-03-KT02 : Object-Oriented Programming in Java concepts 70%


Topic elements to be covered include:

• KT0201 Basics of Designing a Class - Class, Object, State and Behaviour

• OOP Example - Fan Class - Deciding State and Constructors (exercise)

• OOP Example - Fan Class - Deciding Behaviour with Methods

• KT0202 Object Composition


• Customer Address Example
• Books and Reviews

SP Curr Java Programmer 4 53 Page 22 of 52


• Exercise: Compose a class which addresses all the aspects of being
human
• KT0203 Inheritance is a Method of Code Reuse
• KT0204 Class Hierarchies
• KT0205 Java Inheritance Basics
• What is Inherited?
• Java Only Supports Singular Inheritance
• KT0206 Declaring Inheritance in Java
• KT0207 Inheritance and Type Casting
• Upcasting and Downcasting
• KT0208 Overriding Methods
• The @override Annotation
• Calling Superclass Methods
• KT0209 The instance of Instruction
• KT0210 Fields and Inheritance
• KT0211 Constructors and Inheritance
• KT0212 Nested Classes and Inheritance
• KT0213 Final Classes and Inheritance
• KT0214 Abstract Classes and Inheritance
• KT0215 Java Abstract Class
• Creating Recipes with Template M
• KT0216 Java Interface
• How to think about interface
• Complex Algorithm - API defined by extern
• Unimplemented methods
• KT0217 Java Interface vs Abstract Class - A Comparison
• KT0218 Polymorphism
• KT0219 Introduction to abstraction
• KT0220 Introduction to Java constructors
• Rules for creating a constructor
• Constructor overload in Java
• KT0221 Constructor chaining
• KT0222 Understanding basics of Encapsulation with Setter methods

• Getters and generating getters and setters with <E>

• KT0223 Initialisation of member variables


• KT0224 First advantage of encapsulation
Internal Assessment Criteria and Weight

• IAC0201 Concepts of Object-Oriented Programming in Java are understood.

(Weight 70%)

3.3 Provider Programme Accreditation Criteria

Physical Requirements:

SP Curr Java Programmer 4 53 Page 23 of 52


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

• QCTO/ MICT SETA requirements

Human Resource Requirements:

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

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

3.4 Exemptions

• RPL based

SP Curr Java Programmer 4 53 Page 24 of 52


4. 900102-000-00-KM-04, Principles of Intermediate Programming with Java, NQF Level 4,
Credits 6

4.1 Purpose of the Knowledge Module

The main focus of the learning in this knowledge module is to build an understanding of the principles of
intermediated programming with Java.

The learning will enable learners to demonstrate an understanding of:

• KM-04-KT01 : Java Collections 50%

• KM-04-KT02 : Introduction to Generics in Java Programming 10%

• KM-04-KT03 : Functional programming in Java 30%

• KM-04-KT04 : Concurrency with concurrent collections and atomic operations 10%

4.2 Guidelines for Topics

4.2.1. KM-04-KT01 : Java Collections 50%

Topic elements to be covered include:

• KT0101 Need for Collections

• KT0102 Java collection framework Hierarchy

• KT0103 List Interface

• Position/order is advisable

• Immutability and Introduction of Implementations – Array

• Implementations - ArrayList vs LinkedList

• Implementations - ArrayList vs Vector

• Methods to add, remove and change elements and lists

• KT0104 • List and ArrayList

• Iterating around elements

• Choosing iteration approach for printing and display

• Type safety and removing integers

• Sorting - introduction to collections sort static

• Sorting - implementing comparable interface

• KT0105 Data Structures

• Array, LinkedList and Hashing

SP Curr Java Programmer 4 53 Page 25 of 52


• Tree - Sorted Order

• KT0106 Set Interface

• Hands-on - HashSet, LinkedHashSet and TreeSet

• Find Unique Characters in a List

• TreeSet - Methods from NavigableSet - floor, lower, upper, subSet, head

• Queue Interface - Process Elements in Order

• KT0107 Introduction to PriorityQueue - Basic Methods and Customized Priority

• KT0108 Map Interface

• Key and Value

• Implementations - HashMap, HashTable, LinkedHashMap

• Basic Operations

• Comparison - HashMap vs LinkedHashMap vs TreeMap

• Count occurrences of characters and words

• TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntry

Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of Collections in Java are stated.

(Weight 50%)

4.2.2. KM-04-KT02 : Introduction to Generics in Java Programming 10%

Topic elements to be covered include:

• KT0201 Definition

• KT0202 Purpose

• KT0203 Features

• KT0204 Uses

• KT0205 Benefits

• KT0206 Restrictions with extends and generic methods

• KT0207 Symbols

Internal Assessment Criteria and Weight

SP Curr Java Programmer 4 53 Page 26 of 52


• IAC0201 Definitions, functions, features, uses and benefits of Java generics are stated.

(Weight 10%)

4.2.3. KM-04-KT03 : Functional programming in Java 30%

Topic elements to be covered include:

• KT0301 Functional Programming:

• The value of functions

• First Example with Function as Parameter

• Exercise - Loop a List of Numbers

• Filtering - Exercises to print odd and even n

• Collect - Sum of Numbers in a List

• Functional Programming vs Structural Programming - A Quick Comparison

• Functional Programming Terminology - Lambda Expression, Stream and


Operations

• KT0302 Stream Intermediate Operations:

• Sort, Distinct, Filter and Map

• KT0303 Stream Terminal Operations

• 1 - max operation with Comparator

• 2 - min, collect to List

• KT0304 Optional class in Java - An Introduction

• KT0305 Behind the Screens with Functional Interfaces

• Implement Predicate Interfaces

• Implement Consumer Interfaces

• Implement Function Interfaces

• KT0306 Simplify Functional Programming code with Method References

• KT0307 Functions are First Class Citizens

Internal Assessment Criteria and Weight

• IAC0301 Definitions, functions, features, uses and benefits of functional programming in Java are
stated.

(Weight 30%)

SP Curr Java Programmer 4 53 Page 27 of 52


4.2.4. KM-04-KT04 : Concurrency with concurrent collections and atomic operations 10%

Topic elements to be covered include:

• KT0401 Synchronized

• KT0402 Problem with synchronized

• KT0403 Atomic classes

• KT0404 Need for ConcurrentMap

• KT0405 ConcurrentHashMap uses different locks for different regions

• KT0406 CopyOnWrite concurrent collections

Internal Assessment Criteria and Weight

• IAC0401 Definitions, functions, features, uses and benefits of concurrency in Java are stated.

(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 application.

• QCTO/ MICT SETA requirements

Human Resource Requirements:

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

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

4.4 Exemptions

• RPL based

SP Curr Java Programmer 4 53 Page 28 of 52


5. 900102-000-00-KM-05, REST API and Modularization, NQF Level 4, Credits 2

5.1 Purpose of the Knowledge Module

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

The learning will enable learners to demonstrate an understanding of:

• KM-05-KT01 : REST API (Application Programming Interface) for Java 50%


• KM-05-KT02 : Java Modularization 50%
5.2 Guidelines for Topics

5.2.1. KM-05-KT01 : REST API (Application Programming Interface) for Java 50%

Topic elements to be covered include:

• KT0101 Definition
• KT0102 Functions
• KT0103 Features
• KT0104 Understanding REST API - 10000 feet overview
• KT0105 Using Docker to Launch MySQL - An Overview
Internal Assessment Criteria and Weight

• IAC0101 Definitions, functions and features of REST API in Java are stated.

(Weight 50%)

5.2.2. KM-05-KT02 : Java Modularization 50%


Topic elements to be covered include:

• KT0201 Definition
• KT0202 Functions
• KT0203 Features
• KT0204 Java New Features
• Local Variable Type Inference
• Switch Expression
• Text Blocks
• Records
Internal Assessment Criteria and Weight

• IAC0201 Definitions, functions and features of Java modularization are stated.

(Weight 50%)

5.3 Provider Programme Accreditation Criteria

Physical Requirements:

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

SP Curr Java Programmer 4 53 Page 29 of 52


• QCTO/ MICT SETA requirements

Human Resource Requirements:

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

• Qualification of lecturer (SME):

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

o Cybersecurity vendor certification

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

5.4 Exemptions

• RPL based

SP Curr Java Programmer 4 53 Page 30 of 52


SECTION 3B: APPLICATION MODULE SPECIFICATIONS

The following Application Modules are compulsory

• 900102-000-00-PM-01, Getting started with Java, NQF Level 4, Credits 3

• 900102-000-00-PM-02, Programming with Java, NQF Level 4, Credits 8

• 900102-000-00-PM-03, Object-Oriented Programming with Java, NQF Level 4, Credits 4

• 900102-000-00-PM-04, Intermediate Programming with Java, NQF Level 4, Credits 6

• 900102-000-00-PM-05, Getting started with REST API and Modularization, NQF Level 4, Credits 4

• 900102-000-00-PM-06, Keystone project with Java, NQF Level 4, Credits 8

SP Curr Java Programmer 4 53 Page 31 of 52


1. 900102-000-00-PM-01, Getting started with Java, NQF Level 4, Credits 3

1.1 Purpose of the Application Module

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

The learner will be required to:

• AM-01-PS01 : Use basic computer skills


• AM-01-PS02 : Java basics: download, install, run and create first Java program
• AM-01-PS03 : Get started with an IDE
• AM-01-PS04 : Create and run a Java class
• AM-01-PS05 : Get started with Git commands
1.2 Guidelines for Applications

1.2.1. AM-01-PS01 : Use basic computer skills


Scope of Application Topic:

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

• PA0101 Operate computers using a range of functionalities:


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

• AK0101 Fundamentals of the basics of programming with Java, IDE and Git.
Internal Assessment Criteria

• IAC0101 A range of basic computer functionalities are used successfully.

1.2.2 AM-01-PS02 : Java basics: download, install, run and create first Java program
Scope of Application Topic:

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

• PA0201 Download and install Java JDK 8


• PA0202 Troubleshoot Java Installation
• PA0203 Download and install IDE to run Java
• PA0204 Create a new Java project with IDE
• PA0205 Hello world: create a first Java program
• PA0206 Create a new package
Applied Knowledge

• AK0201 Fundamentals of the basics of programming with Java, IDE and Git commands.
Internal Assessment Criteria

• IAC0201 Java JDK 8 is downloaded and installed.

SP Curr Java Programmer 4 53 Page 32 of 52


• IAC0202 Eclipse is downloaded, installed and up and running with installation problems
solved.
• IAC0203 “Hello world” is created.

1.2.3. AM-01-PS03 : Get started with an IDE


Scope of Application Topic:

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

• PA0301 Installing IDE and familiarise self with IDE functionalities


• PA0302 Create a new Java project with IDE
• PA0303 Create a first class or a first-order class with IDE
• PA0304 Write a multiplication table in a Java Program with IDE
• PA0305 Add more methods for the multiplication table program
• PA0306 Save actions
• PA0307 Make the code more efficient and maintainable with refactoring with IDE
• PA0308 Perform debugging with IDE
Applied Knowledge

• AK0301 Fundamentals of the basics of programming with Java, IDE and Git.
Internal Assessment Criteria

• IAC0301 IDE is installed and successfully used for creating a new Java project using
mentioned functionalities.

1.2.4. AM-01-PS04 : Create and run a Java class


Scope of Application Topic:

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

• PA0401 Create a method in a Java class (example) using main() Method


• PA0402 Run the main() Method
• PA0403 Create and compile Java class
• PA0404 Run class with Java - Using a main method
• PA0405 Play and learn with various classes
• PA0406 Correct and debug errors
Applied Knowledge

• AK0401 Fundamentals of the basics of programming with Java, IDE and Git commands.
Internal Assessment Criteria

• IAC0401 Java class is created and run using applicable functionalities.

1.2.5. AM-01-PS05 : Use Git commands


Scope of Application Topic:

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

• PA0501 Create and use a repository


• PA0502 Start and manage a new branch
• PA0503 Make changes to a file and push them as commits

SP Curr Java Programmer 4 53 Page 33 of 52


• PA0504 Open and merge a pull request
• PA0505 Apply Git commands: git clone, git fetch, git checkout, git init, git commit, git push,
git diff, git pull, git add, git branch
Applied Knowledge

• AK0501 Fundamentals of the basics of programming with Java, IDE and Git.
Internal Assessment Criteria

• IAC0501 Git commands are correctly used.

1.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS.

• Internet connection and hardware availability.

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

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

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

1.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 34 of 52


2. 900102-000-00-PM-02, Programming with Java, NQF Level 4, Credits 8

2.1 Purpose of the Application Module

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

The learner will be required to:

• AM-02-PS01 : Declare and run a main() Method

• AM-02-PS02 : Declare variables and assign a value

• AM-02-PS03 : Create and use primitive data types

• AM-02-PS04 : Use arrays in Java

• AM-02-PS05 : Create an array of objects

• AM-02-PS06 : Use ArrayList() Method in Java

• AM-02-PS07 : Use reference types in Java

• AM-02-PS08 : Create a string

• AM-02-PS09 : Java classes

• AM-02-PS10 : Declare Java nested classes

• AM-02-PS11 : Declare Java abstract classes

• AM-02-PS12 : Use Java wrapper classes

• AM-02-PS13 : Use Java date and time

• AM-02-PS14 : Use conditionals in Java Programming

• AM-02-PS15 : Use loops in Java programming

• AM-02-PS16 : Use numbers in Java

• AM-02-PS17 : Use algorithms in Java

• AM-02-PS18 : Use modulus operator

• AM-02-PS19 : Multithreading in Java

• AM-02-PS20 : Use exception handling functions to find and mitigate exceptions

• AM-02-PS21 : Use the list() method of File Class

• AM-02-PS22 Apply the programming lifecycle to develop a solution for a problem

SP Curr Java Programmer 4 53 Page 35 of 52


2.2 Guidelines for Applications

2.2.1. AM-02-PS01 : Declare and run a main() Method


Scope of Application Topic:

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

• PA0101 Declare a simple Java class without variables, methods or any other instructions
• PA0102 Declare a main() Method
• PA0103 Run a main() Method
Applied Knowledge

• AK0101 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0101 A main() Method is declared and run

2.2.2 AM-02-PS02 : Declare variables and assign a value


Scope of Application Topic:

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

• PA0201 Declare variables


• PA0202 Initialise variables
• PA0203 Name variables
• PA0204 Assign a value
Applied Knowledge

• AK0201 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0201 The declaring of variables and assigning of a value are completed.

2.2.3. AM-02-PS03 : Create and use primitive data types


Scope of Application Topic:

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

• PA0301 Demonstrate understanding of all datatypes through the creation of a simple


calculator to convert words to numbers, dates or operations with numbers
inclusive of the use of Modulus functions.
Applied Knowledge

• AK0301 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0301 Spelling, use of capital letters and lowercase letters and abbreviations are
correctly applied.
• IAC0302 Programming of instruction is demonstrated.

2.2.4. AM-02-PS04 : Use arrays in Java


Scope of Application Topic:

SP Curr Java Programmer 4 53 Page 36 of 52


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

• PA0401 Declare an array variable


• PA0402 Instantiate an array
• PA0403 Use array literals
• PA0404 Iterate arrays
• PA0405 Insert elements into an array
• PA0406 Remove elements from an array
• PA0407 Find minimum and maximum values in an array
• PA0408 Copy an array
• PA0409 Convert arrays to strings with Arrays.toString() method
• PA0410 Sort arrays
• PA0411 Fill arrays with Arrays.fill() method
• PA0412 Search Arrays with Arrays.binarySearch() method
• PA0413 Check if Arrays are Equal with Arrays.equals() method
• PA0414 Construct an array
• PA0415 Initialise an array
Applied Knowledge

• AK0401 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0401 Arrays are used in Java

2.2.5. AM-02-PS05 : Create an array of objects


Scope of Application Topic:

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

• PA0501 Create an array of objects


Applied Knowledge

• AK0501 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0501 An array of objects is created

2.2.6. AM-02-PS06 : Use ArrayList() Method in Java


Scope of Application Topic:

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

• PA0601 Use ArrayList add() Method to add elements to the Array List

• PA0602 Use ArrayList remove() Method to remove a specified element from the list and
reduce size accordingly
• PA0603 Use Java array size
• PA0604 Use ArrayList contains() Method
Applied Knowledge

• AK0601 Functionalities of Java programming language


Internal Assessment Criteria

SP Curr Java Programmer 4 53 Page 37 of 52


• IAC0601 Elements are added to the Array List using ArrayList.add() Method
• IAC0602 A specified element is removed from the list using the ArrayList.remove() Method

2.2.7. AM-02-PS07 : Use reference types in Java


Scope of Application Topic:

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

• PA0701 Declare a variable using a reference type


• PA0702 Compare the reference type
• PA0703 Copy reference types
• PA0704 Pass reference types into a method
Applied Knowledge

• AK0701 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0701 Expected results with Java data and time are achieved.

2.2.8. AM-02-PS08 : Create a string


Scope of Application Topic:

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

• PA0801 Use string Length() Method in Java


• PA0802 Use string indexOf() Method in Java
• PA0803 Use string charAt() method
• PA0804 Use string compareTo() method
• PA0805 Use string contains() method
• PA0806 Use string endsWith() method
• PA0807 Use Java string replace() method
• PA0808 Use string toLowercase() and toUppercase() method
• PA0809 Use Convert String to int
• PA0810 Use Java trim() method
• PA0811 Use Java valueOf() method
• PA0812 Use Java toString() method
Applied Knowledge

• AK0801 Functionalities of Java programming language


Internal Assessment Criteria

• IAC0801 Various string methods are used.

2.2.9. AM-02-PS09 : Java classes


Scope of Application Topic:

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

• PA0901 Declare and use a class in a programme


• PA0902 Programme a simplistic class and use in a programme
Applied Knowledge

SP Curr Java Programmer 4 53 Page 38 of 52


• AK0901 Functionalities of Java programming language
Internal Assessment Criteria

• IAC0901 A simplistic class is programmed and use in a programme

2.2.10. AM-02-PS10 : Declare Java nested classes


Scope of Application Topic:

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

• PA1001 Declare a static nested class


• PA1002 Declare non-static (inner) classes
• PA1003 Declare local classes
• PA1004 Declare anonymous classes
Applied Knowledge

• AK1001 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1001 Expected results are achieved.

2.2.11. AM-02-PS11 : Declare Java abstract classes


Scope of Application Topic:

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

• PA1101 Declare an abstract class


• PA1102 Declare an abstract method
Applied Knowledge

• AK1101 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1101 Expected results are achieved.

2.2.12. AM-02-PS12 : Use Java wrapper classes


Scope of Application Topic:

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

• PA1201 Convert a primitive type to Wrapper object


• PA1202 Convert wrapper class object to primitive
Applied Knowledge

• AK1201 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1201 Expected results with conversions are achieved.

2.2.13. AM-02-PS13 : Use Java date and time


Scope of Application Topic:

SP Curr Java Programmer 4 53 Page 39 of 52


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

• PA1301 Create a variable based on LocalDate, LocalTime and LocalDateTime


• PA1302 Compare dates and create specific examples to demonstrate understanding of
LocalDate, LocalTime and LocalDateTime
• PA1303 Explore Java API for date and times with IDE
Applied Knowledge

• AK1301 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1301 Expected results with Java date and time are achieved.

2.2.14. AM-02-PS14 : Use conditionals in Java Programming


Scope of Application Topic:

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

• PA1401 Exercise demonstrating branching knowledge of a decision tree


• PA1402 Exercise demonstrating an understanding of date data type to convert backwards
and forwards between original types and numerical data
• PA1403 Know when to use the different If/Else/If Else and switch statements
• PA1404 Demonstrate understanding and application of Java ternary operation
Applied Knowledge

• AK1401 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1401 Conditionals in Java are used

2.2.15. AM-02-PS15 : Use loops in Java programming


Scope of Application Topic:

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

• PA1501 Write a programme which prints the even numbers between 1 and 100 in an
increasing order
• PA1502 Solve a simple FizBuz problem
Applied Knowledge

• AK1501 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1501 Loops in Java are used.

2.2.16 AM-02-PS16 : Use numbers in Java


Scope of Application Topic:

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

SP Curr Java Programmer 4 53 Page 40 of 52


• PA1601 Programme a workable calculator that can execute the following methods:
logarithmic, trigonometric, angular, hyperbolic
Applied Knowledge

• AK1601 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1601 Expected results with the calculator are achieved.

2.2.17 AM-02-PS17 : Use algorithms in Java


Scope of Application Topic:

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

• PA1701 Apply sorting algorithm


• PA1702 Apply shuffling algorithm
• PA1703 Apply routine data manipulation algorithm
• PA1704 Apply searching algorithm
• PA1705 Apply composition algorithm
• PA1706 Apply finding extreme values algorithm
Applied Knowledge

• AK1701 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1701 Expected results with algorithms in Java are achieved.

2.2.18 AM-02-PS18 : Use modulus operator


Scope of Application Topic:

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

• PA1801 Use modulus syntax in Java programming


• PA1802 Use the modulus operator in finding whether a number is even or odd.
Applied Knowledge

• AK1801 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1801 Expected results with modules operation in Java are achieved.

2.2.19 AM-02-PS19 : Multithreading in Java


Scope of Application Topic:

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

• PA1901 Create a Thread for - Extending Thread Class


• PA1902 Create a Thread for <T> (generic type)
• PA1903 Implement Runnable Interface
• PA1904 Place priority requests for threads
• PA1905 Use join() method
• PA1906 Use synchronized keyword in Java thread

SP Curr Java Programmer 4 53 Page 41 of 52


• PA1907 Control the execution of threads
• PA1908 Use ExecutorService function
• Customise number of Threads
• Return a Future from Thread using Callable
• Use invoke() (invoke the task and make it run)
• Wait for only the fastest task using invokeAny (execute multiple tasks)

Applied Knowledge

• AK1901 Functionalities of Java programming language


Internal Assessment Criteria

• IAC1901 Expected results with multithreading in Java are achieved.

2.2.20 AM-02-PS20 : Use exception handling functions to find and mitigate exceptions
Scope of Application Topic:

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

• PA2001 Throw an exception - currencies do not match runtime exception


• PA2002 Throw a checked exception - throws in method signature and handling
• PA2003 Throw a custom exception - currenciesdonotmatchexception
• PA2004 Catch exceptions
Applied Knowledge

• AK2001 Functionalities of Java programming language


Internal Assessment Criteria

• IAC2001 Expected results with exception handling in Java are achieved.

2.2.21 AM-02-PS21 : Use the list() method of File Class


Scope of Application Topic:

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

• PA2101 List files and folders in directory with files list() method
• PA2102 Recursively list and filter all files and folders in a directory with ST (stack trace)

• PA2103 Read content from a file using files readAllLines and line methods

• PA2104 Write content to a file using the files write method


Applied Knowledge

• AK2101 Functionalities of Java programming language


Internal Assessment Criteria

• IAC2101 Expected results with file systems and directories in Java are achieved.

2.2.22 AM-02-PS22 : Apply the programming lifecycle to develop a solution for a problem
Scope of Application Topic:

SP Curr Java Programmer 4 53 Page 42 of 52


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

• PA2201 Apply the various stages in the programming lifecycle to develop a programming
solution
Applied Knowledge

• AK2201 Functionalities of Java programming language


Internal Assessment Criteria

• IAC2201 Expected results with the programming lifecycle in Java are achieved.

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:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

2.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 43 of 52


3. 900102-000-00-PM-03, Object-Oriented Programming with Java, NQF Level 4, Credits 4

3.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to programme using
OOP with Java.

The learner will be required to:

• AM-03-PS01 : Object-Oriented Programming (OOP) in Java


3.2 Guidelines for Applications

3.2.1. AM-03-PS01 : Object-Oriented Programming in Java


Scope of Application Topic:

Given a text/graphic containing plagiarised material, the learner must be able to:

• PA0101 Design a class


• PA0102 Apply Inheritance and Overriding - with toString() method
• PA0103 Create a Java Class and a couple of objects
• PA0104 Book class and three instances
• PA0105 Introduce state of an object with speed variable
• PA0106 Create a constructor programme in Java, Save, run and compile the constructor
program in Java and observe the output
• PA0107 Design a rectangle Class
Applied Knowledge

• AK0101 OOP functionalities


Internal Assessment Criteria

• IAC0101 Expected results with file systems and directories in Java are achieved.

3.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS.

• Internet connection and hardware availability.

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

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

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

SP Curr Java Programmer 4 53 Page 44 of 52


• OHS compliance certificate

• Ethical clearance (where necessary)

3.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 45 of 52


4. 900102-000-00-PM-04, Intermediate Programming with Java, NQF Level 4, Credits 6

4.1 Purpose of the Application Module:

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

The learner will be required to:

• AM-04-PS01 : Create Java collections


• AM-04-PS02 : Apply Generics in Java Programming
• AM-04-PS03 : Functional programming in Java
• AM-04-PS04 : Concurrency with concurrent collections and atomic operations
4.2 Guidelines for Applications

4.2.1. AM-04-PS01 : Create Java collections


Scope of Application Topic:

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

• PA0101 Create a list of information in an array, make an array list and search for information
(e.g. all students in a school, search for students with distinctions, students in Gr 10)
• Sort random data alphabetically
• Sort random data numerically
• Display information in acceptable order or presentation
• PA0102 Exercise for TreeSet: Write a Java script to find the learner with the highest marks
and display all the relevant information
• PA0103 In the ArrayList – map information accordingly – where to find student name, find ID
number, find name, find surname, cell number – cannot fill out the same key and
value
Applied Knowledge

• AK0101 Functions and uses of Java collections


Internal Assessment Criteria

• IACA0101 Expected results with collections in Java are achieved.

4.2.2 AM-04-PS02 : Apply Generics in Java Programming


Scope of Application Topic:

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

• PA0201 Implement generics for the custom list


• PA0202 Extend custom list with a generic return method
• PA0203 Use WildCards - upper bound and lower bound
Applied Knowledge

• AK0201 Functions and uses of generics in java programming


Internal Assessment Criteria

• IAC0201 Expected results with generics in Java are achieved.

4.2.3. AM-04-PS03 : Functional programming in Java

SP Curr Java Programmer 4 53 Page 46 of 52


Scope of Application Topic:

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

• PA0301 Build interfaces onto object classes

• PA0302 Pass an object to a function


• PA0303 Create an object using a function
• PA0304 Squares of First 10
• PA0305 Map
Applied Knowledge

• AK0301 Functions and principles of functional programming in Java


• Deeper understanding of thought processes
Internal Assessment Criteria

• IAC0301 Expected results with functional programming in Java are achieved.

4.2.4. AM-04-PS04 : Concurrency with concurrent collections and atomic operations


Scope of Application Topic:

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

• PA0401 Getting started with synchronized


• PA0402 Enter locks with ReEntrantLock
• PA0403 Use ConcurrentMap
• PA0404 Apply AtomicInteger
• PA0405 Implement an example with ConcurrentHashMap and use in different regions
• PA0406 CopyOnWrite concurrent collections - when reads are more than writes
Applied Knowledge

• AK0401 Functions and uses of concurrent collections and atomic operations


Internal Assessment Criteria

• IAC0401 Expected results with concurrency and concurrent collections and atomic operations
in Java are achieved.

4.3 Provider Programme Accreditation Criteria

Physical Requirements:

• Valid licenses software and application, including OS.

• Internet connection and hardware availability.

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

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

Human Resource Requirements:

SP Curr Java Programmer 4 53 Page 47 of 52


• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

4.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 48 of 52


5. 900102-000-00-PM-05, Getting started with REST API and Modularization, NQF Level 4,
Credits 4

5.1 Purpose of the Application Module:

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

The learner will be required to:

• AM-05-PS01 : Get Started with REST API for JAVA


• AM-05-PS02 : Get Started with Java Modularization
5.2 Guidelines for Applications

5.2.1. AM-05-PS01 : Get started with REST API for JAVA


Scope of Application Topic:

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

• PA0101 Get started with JDBC (Java Database Connectivity): Using JDBC to connect Java
application to databases
• PA0102 Map course entity and populate data with data SQL
• PA0103 Create repository to manage entity and integrate with GET REST API

• PA0104 Build REST API to retrieve details of a course - GET


• PA0105 Build REST API to create a new course - POST
• PA0106 Build REST API to update a course - PUT
• PA0107 Build REST API to delete a course - DELETE
• PA0108 Install Docker
• PA0109 Use Docker to Launch MySQL
Applied Knowledge

• AK0101 Principles and functionalities of REST API in Java


Internal Assessment Criteria

• IAC0101 Expected results with REST API in Java are achieved.

5.2.2 AM-05-PS02 : Get started with Java Modularization


Scope of Application Topic:

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

• PA0201 Java Modularization


• Build Service and Consumer
• Split Service and Consumer into JARs
• Split Service and Consumer into Modules
• PA0202 Explore New Java API
• List Set and Map - copyOf methods
• Files - readString and writeString methods
• Predicate - not method
• String Utility Methods

SP Curr Java Programmer 4 53 Page 49 of 52


Applied Knowledge

• AK0201 Principles and functionalities of Java Modularization


Internal Assessment Criteria

• IAC0201 Expected results with modularization in Java are achieved.

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:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

5.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 50 of 52


6. 900102-000-00-PM-06, Keystone Project with Java, NQF Level 4, Credits 8

6.1 Purpose of the Application Module:

The focus of the learning in this module is on providing the learner with an opportunity to complete a
Keystone project using Java programming language.

The learner will be required to:

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

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

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

• PA0101 Write a Hello World programme using Java (exercise)


• PA0102 Run a Java Application
• PA0103 Add Numbers
• PA0104 Add All Elements in Array
• PA0105 Sum Numbers From Array of Data Objects
• PA0106 Sum Numbers From Array of Data Objects Conditionally
• PA0107 Sum Numbers From Array of Data Objects by Code
Applied Knowledge

• AK0101 Java programming functionalities


Internal Assessment Criteria

• IAC0101 Expected results are achieved.

6.2.2 AM-06-PS02 : Use a known framework (of own preference) with functions to build a
game
Scope of Application Topic:

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

• PA0201 Build a basic game using Java (compulsory)


Applied Knowledge

• AK0201 Java programming functionalities


Internal Assessment Criteria

• IAC0201 Expected results are achieved and the basic game is operable.

SP Curr Java Programmer 4 53 Page 51 of 52


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

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

• PA0301 Build a GUI application using Java (compulsory) which encompasses any of these
below:
• Build a web application using Java
• Build an IoT application using Java
• Build a Cloud-based application using Java
• Build a mobile application using Java
• Build a network application using Java
Applied Knowledge

• AK0301 Java programming functionalities


Internal Assessment Criteria

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

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.

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

Human Resource Requirements:

• Qualification of lecturer (SME):

o NQF 5 industry recognised qualification with 1 year relevant experience

• Assessors and moderators: accredited by the MICT SETA

Legal Requirements:

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

• OHS compliance certificate

• Ethical clearance (where necessary)

6.4 Exemptions

• None, but the module can be achieved through RPL

SP Curr Java Programmer 4 53 Page 52 of 52

You might also like