SS1 2ND TERM LESSON NOTES
WEEK: 3
TOPIC: Developing Problem-Solving Skills – Programming Language
Topic Overview
Programming languages are tools used to communicate instructions to a computer. They play a
crucial role in solving computational problems, building software, and driving technological
advancements. Understanding the levels and features of programming languages enables
efficient problem-solving in various contexts.
Key Concepts
1. Definition of Programming Language
A programming language is a structured set of instructions that enables humans to communicate
with computers and command them to perform specific tasks. Programming languages can be
used to:
Create software applications.
Automate repetitive tasks.
Analyze and manipulate data.
Develop websites, games, and more.
2. Levels of Programming Languages
Programming languages are categorized into three main levels based on their complexity and
proximity to machine code:
a. Machine Language (Low-Level)
The lowest level of programming languages, consisting of binary code (0s and 1s).
Directly executed by the computer’s hardware.
Extremely fast but hard to write and understand.
Example: 10100110 11001100 (binary code for specific machine instructions).
b. Assembly Language (Low-Level)
Uses mnemonic codes and symbols instead of binary, making it more readable.
Requires an assembler to translate it into machine code.
Hardware-specific and used for system-level programming.
Example: MOV AX, BX (moves data from one register to another).
c. High-Level Languages
Closer to human language and easier to learn and use.
Portable across different hardware platforms.
Requires a compiler or interpreter to translate into machine code.
Examples: Python, Java, C++, JavaScript.
Features of Each Level
Level Features Examples
Machine Fast, hardware-specific, difficult to debug and Binary code (e.g.,
Language maintain. 101010).
Assembly Easier than binary, hardware-dependent, ARM Assembly, x86
Language requires assembler. Assembly.
High-Level
Portable, user-friendly, supports abstraction. Python, Java, JavaScript.
Language
Comparison of Programming Language Levels
Criterion Machine Language Assembly Language High-Level Language
Hard to learn and Easier than binary but
Ease of Use Easy to learn and use.
debug. complex.
Fast but hardware- Slower but optimized with
Performance Fastest execution.
specific. compilers/interpreters.
Not portable
Portability Not portable. Highly portable.
(hardware-specific).
System-level
Applications Embedded systems. Application and web development.
programming.
Examples
1. Machine Language Example
Binary code: 10110000 01100001 (represents a specific operation on hardware).
2. Assembly Language Example
Mnemonic: MOV AX, BX (copies data from register BX to AX).
3. High-Level Language Example
Python code: print("Hello, World!") (displays the text "Hello, World!").
Java code: System.out.println("Hello, World!");