Foundations of Software Development (FSD)

Foundations of Software Development is an introductory course for individuals who have interest in Information Technology (IT).


Foundations of Software Development is an introductory course for individuals who have interest in Information Technology (IT).
The course covers the most essential aspects of the IT domain, offering introductory modules in hardware, networking, software, and documentation that establishes the organizational and analytical frameworks of most businesses.
It offers a platform for participants to identify and explore interests in specific IT options for career development.


At the end of the Course, participants are expected to:
Have core understanding of computer software and hardware and how the two interact;
Create HTML pages and web forms and manipulate them using JavaScript;
Adopt an analytical approach to solving simple problems;
Understand and demonstrate programming concepts including variable declaration and assignment, condition statements and iteration;
Implement Object Oriented Programming principles in JavaScript.



The target group for the FSD programme includes:

  • Senior High School students and University graduates.
  • Workers who wish to gain practical skills in IT.
  • Professionals in different fields.



Fundamentals of Computing
A computer is an advanced electronic device that takes raw data as input from the user and processes it under the control of set of instructions (called a program), gives the result (output), and saves it for the future use. Fundamentals of Computing covers a foundational understanding of computer hardware and networking, software, operating systems, peripherals and more. Participants will also learn elements of how to get the most value and impact from computer technology. This module is designed to make it simple for everyone to access knowledge on foundational IT.


Fundamentals of Programming with JavaScript
This module will take participants step by step through the fundamentals of Javascript. Participants will learn how to create web pages and forms required for developing relevant websites for institutions, write functions, use data from text boxes, create IF-THEN conditionals, program loops, and generally make your web page “smarter”.


Object-Oriented Programming with JavaScript
Object-oriented programming (OOP) is a programming paradigm that uses abstraction to create models based on the real world. OOP uses several techniques from previously established paradigms, including modularity,  and encapsulation. OOP envisions software as a collection of cooperating objects rather than a collection of functions or simply a list of commands (as is the traditional view). OOP promotes greater flexibility in programming, and is widely popular in large-scale software engineering.


Project (Scratch)
Participants will develop a project using the Scratch language. They will be required to apply their knowledge in programming by developing creative animations, interactive stories, and games to solve problems or enhance productivity.
Scratch helps participants to learn to think creatively, reason systematically, and work collaboratively. These are essential skills for life in the global world.


Fundamentals of Computing: Module outline
Computer applications
Computer generations and types
Components of computers
Operating System
OSI Model


Fundamentals of Programming with JavaScript Module Outline
Operators and Variable Type Conversion
Decision Making
Character Input Processing and Output formatting
Arrays/ Strings/ Functions
Algorithms and implementation in code
Object Oriented Programming with JavaScript: Module Outline
Principles of Object Oriented Programming
UML Class Diagrams
UML Use Case Diagrams
UML Sequence Diagrams
UML Communication Diagrams
Project (Scratch)



4 Weeks