Certificate / Vocational Level
Comprehensive Summary Notes
Programming Concepts • Algorithms • Flowcharts • Python • Java • JavaScript
Purpose: Learning programming concepts from beginner foundations to practical application.
Prepared as a structured teaching and revision resource. Examples are intentionally presented
in multiple
languages so learners can understand the underlying programming concepts rather than
memorising one language.
Table of Contents
Unit 1: Introduction to Computer Programming
Unit 2: Problem Solving and Computational Thinking
Unit 3: Algorithms
Unit 4: Flowcharts
Unit 5: Pseudocode and Program Design
Unit 6: Programming Languages and Development Tools
Unit 7: Variables, Constants and Data Types
Unit 8: Operators and Expressions
Unit 9: Input and Output
Unit 10: Selection / Decision Making
Unit 11: Iteration / Loops
Unit 12: Functions and Modular Programming
Unit 13: Arrays, Lists and Collections
Unit 14: Strings and Text Processing
Unit 15: Debugging, Errors and Testing
Unit 16: File Handling
Unit 17: Object-Oriented Programming
Unit 18: Introduction to Databases
Unit 19: Introduction to Web Programming
Unit 20: Python Programming
Unit 21: Java Programming
Unit 22: JavaScript Programming
Unit 23: Comparing the Three Languages
Unit 24: Programming Best Practices
Unit 25: Practical Exercises and Mini Projects
Unit 26: Revision, Assessment and Glossary
Computer Programming Notes • Certificate/Vocational Level Page 2
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 1
UNIT 1: INTRODUCTION TO COMPUTER PROGRAMMING
Meaning of programming
Computer programming is the process of designing and writing instructions that a computer can
,execute to solve a
problem or perform a task. A program is a set of ordered instructions expressed in a
programming language.
Why programming is important
Programming is used to automate repetitive work, process information, control devices, build
websites and
applications, analyse data, create games, and solve business and scientific problems.
Program, software and application
A program is a sequence of instructions. Software is a broader term covering programs and
related components. An
application is software designed to perform tasks for users.
Learning objective
By the end of this section, the learner should be able to define programming, explain why
programming is useful,
identify basic programming terms, and describe the stages of solving a programming problem.
Computer Programming Notes • Certificate/Vocational Level Page 3
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 2
UNIT 2: PROBLEM SOLVING AND COMPUTATIONAL
THINKING
Problem definition
A programming problem should first be stated clearly. Identify the required input, expected
output, rules, constraints
and exceptional cases.
Decomposition
Break a large problem into smaller, manageable tasks. Each task can later become an algorithm,
function or
module.
Pattern recognition
Look for repeated structures or operations. Recognising patterns reduces unnecessary work and
helps a
programmer design reusable solutions.
Abstraction
Abstraction means concentrating on important details while temporarily ignoring unnecessary
implementation
details.
Practice
Take a real-world task such as calculating a student's average mark. Identify inputs, processing
steps, output and
possible invalid values.
Computer Programming Notes • Certificate/Vocational Level Page 4
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 3
,UNIT 3: ALGORITHMS
Definition
An algorithm is a finite, ordered set of unambiguous steps used to solve a problem or perform a
computation.
Characteristics
A good algorithm has clear inputs, clearly defined processing, a result or output, definite steps,
and termination.
Algorithm representation
Algorithms can be represented using natural language, pseudocode, flowcharts or structured
diagrams.
Example
To calculate the area of a rectangle: obtain length; obtain width; multiply length by width;
display the result.
Algorithm quality
Consider correctness, clarity, efficiency, simplicity, maintainability and the ability to handle valid
and invalid input.
Computer Programming Notes • Certificate/Vocational Level Page 5
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 4
UNIT 4: FLOWCHARTS
Meaning
A flowchart is a graphical representation of an algorithm. It uses standard symbols connected by
arrows to show the
direction of control.
Common symbols
Oval: start/end. Rectangle: process. Parallelogram: input/output. Diamond: decision. Arrow:
flow direction.
Decision flow
A diamond normally has branches such as YES/NO or TRUE/FALSE. Each branch should lead to a
clearly defined
next step.
Example
A program that checks whether a number is positive can read a number, test whether it is
greater than zero, display
the appropriate message, then end.
Good practice
Keep flowcharts simple, use consistent symbols, label decision branches, avoid unnecessary
crossings, and make
the flow direction easy to follow.
Computer Programming Notes • Certificate/Vocational Level Page 6
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 5
UNIT 5: PSEUDOCODE AND PROGRAM DESIGN
, Meaning
Pseudocode is an informal, structured way of describing an algorithm without depending on the
exact syntax of a
programming language.
Basic structures
Typical pseudocode uses INPUT, OUTPUT, SET, IF/ELSE, FOR, WHILE, REPEAT and FUNCTION-style
statements.
Example
INPUT mark; IF mark >= 50 THEN OUTPUT Pass ELSE OUTPUT Fail ENDIF.
Advantages
Pseudocode allows learners to focus on logic before dealing with language-specific syntax.
Conversion
A sound pseudocode solution can be translated into Python, Java or JavaScript while preserving
the underlying
logic.
Computer Programming Notes • Certificate/Vocational Level Page 7
COMPUTER PROGRAMMING NOTES • Certificate/Vocational • Unit 6
UNIT 6: PROGRAMMING LANGUAGES AND
DEVELOPMENT TOOLS
Language levels
Machine language consists of binary instructions. Assembly language uses symbolic instructions.
High-level
languages provide more human-readable abstractions.
Compiled and interpreted execution
Compilation translates source code into another executable form before or during execution.
Interpretation executes
source or an intermediate representation through a runtime. Modern systems may combine
both approaches.
Python
Python is a high-level language known for readable syntax and broad use in education,
automation, data work and
software development.
Java
Java is a strongly typed, object-oriented language commonly used for enterprise systems,
Android-related
development historically, backend systems and educational programming.
JavaScript
JavaScript is a major language of the web and is used in browsers as well as server-side
environments such as
Node.js.