Lesson Notes By Weeks and Term v3 - Senior Secondary 1

Programming Language

Download the Lessonotes Mobile Nigeria 2025 app for faster lesson access on Android and iPhone.

Subject: Computer & IT

Class: Senior Secondary 1

Term: 3rd Term

Week: 3

Theme: Developing Problem-Solving Skings

Lesson Video

This page supports the lesson note with a companion video and a short classroom-ready summary.

For class groups and homework, share this lesson page so learners also get the summary, objectives, and full lesson context.

Performance objectives

Lesson summary

Define Programminglanguage List levels of programminglanguage Describe the features of each level List exampleofprogramminglanguages Comparevarious levelsofprogramminglanguages

Lesson notes

These languages are very close to the computer's hardware and are directly understood by the computer's processor. They are machine-dependent, meaning a program written for one type of processor will not run on another type without significant modifications.

Definition: High-level languages are designed to be more human-readable and abstract, using syntax similar to natural human languages (like English). They are machine-independent and require a compiler or interpreter to translate them into machine code.

Features: Human-Readable Syntax: Uses English-like words and mathematical symbols, making them easy to understand, write, and debug (e.g., `print("Hello Nigeria")`, `x = y + 5`).

Machine Independent (Portable): Programs can generally run on different types of computers with minimal or no modifications, provided a suitable translator is available.

Requires Translator: Programs must be translated into machine code by either a compiler (translates the entire program before execution) or an interpreter (translates and executes line-by-line).

Slower Execution (than low-level): Due to the translation process, they typically execute slower than low-level languages.

Abstraction: Abstract away the complexities of hardware, allowing programmers to focus on problem-solving rather than machine specifics.

Rich Libraries and Frameworks: Often come with extensive built-in functions and pre-written code modules that simplify development.

Examples: Python: Widely used for web development, data science, AI, scripting. (e.g., `print("Jumia's Sales Report")`)

Java: Used for enterprise applications, Android mobile apps (e.g., Nigerian banking apps), large-scale systems. C++: Used for game development, operating systems, high-performance applications. C#: Developed by Microsoft, used for Windows applications, web development (.NET), game development (Unity).

JavaScript: Essential for interactive web pages (client-side), also used for server-side (Node.js).

PHP: Dominant for server-side web development (e.g., many Nigerian e-commerce sites).

Visual Basic: Easier to learn, used for rapid application development, Windows desktop applications.

COBOL: Historically significant for business applications, especially in finance and government.

FORTRAN: Primarily used for scientific and engineering applications.

Pascal: Used for teaching structured programming and general-purpose applications.

Advantages: Easier to learn, write, and maintain programs. Highly portable across different computer systems. Faster development time due to higher abstraction and rich features. Easier to debug and manage large projects. Offers extensive libraries and frameworks.

Disadvantages: Slower execution speed compared to low-level languages. Less efficient in terms of memory usage. Does not offer direct hardware manipulation. Requires a compiler or interpreter, adding a layer of complexity. Programming languages are generally categorized into two main levels: Low-Level Languages and High-Level Languages. Some classifications further divide Low-Level Languages into Machine Language and Assembly Language. | Feature | Machine Language | Assembly Language | High-Level Language | | :------------------ | :--------------------------------------------- | :-------------------------------------------- | :----------------------------------------------- | | Readability | Extremely difficult (binary 0s and 1s) | Difficult (mnemonics, symbolic codes) | Easy (English-like statements, mathematical symbols) | | Execution Speed | Fastest | Very fast (requires assembler) | Slower (requires compiler/interpreter) | | Portability | Not portable (Machine-dependent) | Not portable (Machine-dependent) | Highly portable (Machine-independent) | | Hardware Control| Direct and complete control | Direct and near-complete control | Limited/Indirect control (abstracted) | | Memory Usage | Very efficient (minimal) | Very efficient (minimal) | Less efficient (requires more memory) | | Development Time| Very long | Long | Short (faster development) | | Debugging | Extremely difficult | Difficult | Easier | | Translator | Not required (natively understood) | Assembler required | Compiler or Interpreter required | | Examples | Binary code | Intel x86 Assembly, ARM Assembly | Python, Java, C++, JavaScript, PHP | | Typical Use | Early computers, specific embedded systems | Device drivers, OS kernels, embedded systems | General purpose, web apps, mobile apps, AI, data science |

Real-life applications

Mobile Banking and E-commerce in Nigeria: High-level programming languages like Java, Kotlin, Swift, Python, and PHP are extensively used to develop the mobile banking applications for Nigerian banks (e.g., GTBank, Access Bank, Zenith Bank) and popular e-commerce platforms like Jumia and Konga. These languages allow for complex user interfaces, secure transactions, database management, and integration with payment gateways, making online financial services and shopping accessible to millions of Nigerians.

Government and Public Service Portals: Many Nigerian government agencies and public service organizations utilize programming languages for their online portals and internal systems. For instance, the JAMB (Joint Admissions and Matriculation Board) portal, INEC (Independent National Electoral Commission) voter registration systems, and e-passport application websites are built using various high-level languages (e.g., PHP, Java, Python, JavaScript) to process applications, manage data, and disseminate information efficiently across the country. Industrial Automation and Embedded Systems: In Nigerian manufacturing industries (e.g., breweries, cement factories) and infrastructure projects (e.g., automated traffic light systems in urban centers like Lagos), low-level languages (like Assembly Language) and C/C++ (a mid-level language often considered high-level) are used to program embedded systems. These systems control machinery, optimize production processes, manage power grids, and regulate traffic flow, requiring precise hardware control and real-time performance.

Teacher activity

Evaluation guide

Reference guide