COMPU
SCIENCE
TER
ACTIVITY
• 1. I’m the invisible brain behind the show,
I tell the hardware where to go.
You can’t touch me, but I’m always there,
Running programs with digital flair. SOFTWARE
What am I?
• 2. I’m the part that thinks and acts so fast,
PROCESSOR
I process data and tasks that last.
Without me, the system is slow,
I’m a part of computer’s CPU — you know!
What am I?
LEARNING OBJECTIVES
• Topic: Hardware and Software, Computer Language
• Learning Outcomes:
• • Differentiate between hardware and software
• • Classify input, output, and storage devices
• • Understand system and application software
CONTENT/ TOPIC:
• Difference between Hardware and Software
• Types of Hardware:
Input, Output, Storage Devices
• Types of Software:
System and Application Software
troduction to Hardware and Software
• Hardware: Physical components of a computer system.
• Software: Programs and OS that run on hardware.
Hardware refers to the physical components of a computer system, like the
monitor, keyboard, and CPU.
Software is a set of instructions or programs that tell the hardware what to do.
Without software, hardware cannot function; and without hardware, software
has no platform to run on.
Hardware is tangible—you can touch and see it—while software is intangible.
Both work together to perform computing tasks efficiently and accurately.
Types of Hardware
• Input Devices: Keyboard, Mouse, Scanner
• Output Devices: Monitor, Printer
• Storage Devices: Hard Drive, SSD
• Processing Devices: CPU, GPU
Input Devices are used to enter data into the computer
(e.g., keyboard, mouse, scanner).
Output Devices display or output the processed data
(e.g., monitor, printer, speakers).
Storage Devices store data permanently or temporarily
(e.g., hard drive, SSD, USB flash drive).
Processing Devices are responsible for executing instructions
(e.g., CPU, GPU).
Communication Devices help computers connect and communicate
Types of Software
System Software manages the hardware and provides a platform for
other software to run (e.g., Windows, Linux).
Application Software helps users perform specific tasks like writing,
editing, or browsing (e.g., MS Word, Chrome).
Utility Software enhances or manages system performance (e.g.,
antivirus, disk cleanup tools).
Programming Software provides tools for programmers to write code
(e.g., compilers, text editors, IDEs).
Middleware connects different software applications or systems, allowing
them to communicate.
Classification of Software
SOFTWARE
SYSTEM APPLICATION
SOFTWARE SOFTWARE
OPERATING DEVICE UTILITY
ASSEMBLER INTERPRETER COMPILER PACKAGE
SYSTEM DRIVERS
RECAP - QUIZ
1. A __________ is any physical part of a computer you can touch.
2. A __________ is a program that tells the computer what to do.
3. The __________ is used to type information into the computer.
4. The __________ displays images and text on the screen.
5. __________ software helps the computer run, like Windows or macOS.
6. __________ software is used for tasks like writing or drawing.
7. __________ software keeps the system clean and running smoothly.
8. Name two examples of hardware:
___________________
___________________
9. Name two examples of system software:
___________________
___________________
10. Why is utility software important?
RECAP
ANSWERS:
- QUIZ
1. Hardware
2. Software
3. Keyboard
4. Monitor
5. System
6. Application
7. Utility
8. Monitor , Mouse
9. Windows 11, Linux
10. Utility software is important because it helps maintain, analyze, and optimize
the performance of a computer.
LEARNING
· To understand and differentiate between Machine Language, Assembly
OBJECTIVES
Language, and High-Level Languages.
· Explain characteristics and examples of each language type.
· Collaborate and participate in fun, hands-on activities to reinforce
understanding.
CONTENT/TOPIC:
COMPUTER LANGUAGES AND ITS TYPES
COMPUTER
A Computer language is a system of
LANGUAGES
commands used to develop programs for
computers.
A computer program is a set of
instructions for the computer.
There are many languages can be used to
create programs to instruct a computer
system.
While writing a program in a particular
computer language, the symbols of the
language must be used as per a set of
rules known as the syntax of the
language.
TYPES OF COMPUTER
Computer Languages
LANGUAGES
Machine language Assembly language
High- level languages
(Low- Level) (Low – Level)
Written using letters of Similar to English
Written in the form of 0s English language language
and 1s
Can only be written by Written using English
Directly understood by expert programmers words, mathematical
the computer symbols, and numbers
Machine-dependent
Machine-dependent Machine- dependent
MACHINE
LANGUAGES
The only language a computer understands directly. It is
made up of 0s and 1s (binary numbers).
🔹 Also called First Generation Language (1GL)
🔹 The only language the computer directly understands
🔹 Written in binary code – 0s and 1s
🔹 Very fast but hard for humans to write or understand
🔹 Different for every computer model
✅ Example:
10110100 00000101
ASSEMBLY
A language thatLANGUAGES
uses symbols and codes called mnemonics to represent
machine instructions. It needs a special program called an assembler to
convert it into machine language.
🔹 Also called Second Generation Language (2GL)
🔹 Uses short words or codes called mnemonics
🔹 Easier than machine language(binary) but still complex
🔹 Needs a program called an assembler to convert it into machine code
🔹 Still hardware-specific, Faster than high-level languages
✅ Example:
MOV A, 05h
ADD A, 02h
HIGH-LEVEL
LANGUAGES
• A language that is closer to human languages. It uses simple English-like words and symbols.
It needs to be translated into machine code using a compiler or interpreter.
• Also called Third Generation Language (3GL), Uses English-like words and symbols and easy
to learn and write.
Works on different types of computers.
Needs a compiler or interpreter to translate into machine code
Same program can work on many computers
✅ Examples: Java, C, C++, C#, Python, Visual Basic, Perl, Ruby etc.,
PYTHON:
print("Hello, world!")
JAVA
System.out.println("Hello, world!");
C++
cout << "Hello, world!";
INDIVIDUAL
ACTIVITY
True or False:
1.High-level languages are the fastest because computers understand them directly. (True / False)
FALSE
TRUE
2. Machine language is different for different computer types. (True / False) –
3. Assembly language uses English-like syntax. (True / False)- FALSE
4. print("Hello") is an example of a high-level language. (True / False)- TRUE
5. All computer programs are written in binary code by programmers. (True / False)- FALSE
SUMMARY-
COMPARISON
ACTIVITY
Apply What You Know
tify the Language Type
at the instructions below and write whether they are Machine, Assembly, or High-Level Lan
Language Type
10110100 00000101 ____________
MOV B, 02h ____________
print("Welcome!") ____________
ADD A, 04h ____________
System.out.println("Hi!") ____________
PEER ACTIVITY -
ANSWERS
Apply What You Know
Identify the Language Type
Look at the instructions below, discuss with your friend and write whether they are
Machine, Assembly, or High-Level Language.
REAL LIFE ANALOGY
GROUP ACTIVITY - "Code
Charades"
tify the Language Type
at the instructions below and write whether they are Machine, Assembly, or High-Level Lan
“Guess the Tool”
“I’m a translator for your machine,
Sometimes fast, sometimes lean.
I help your program run just right,
Turning code into digital light.
What am I?”
LEARNING
✅ Understand the role of a compiler, interpreter, linker, and assembler in programming.
OBJECTIVES
✅ Differentiate between compiler and interpreter.
✅ Identify real-life scenarios where these tools are used.
CONTENT/TOPIC:
CONNECTION WITH PROGRAMS
CONNECTION WITH
The Computer hardware only understands machine language. Therefore, the program written in
high-level language should be converted into machine language before they can be executed.
PROGRAMS
SOURCE CODE – The programs written in a high-level language are known as the source code.
OBJECT CODE – The converted programs in machine language are known as the object code.
The following programs can convert a high-level/assembly language into a machine/binary
language.
• COMPILER
• INTERPRETER
• LINKER
• ASSEMBLER
CONNECTION WITH
PROGRAMS
Compilers - Converts entire program at once into machine code, compilers are
used in software like games and mobile apps
Interpreters - Translates and executes line-by-line. Interpreters are used in
educational programming tools like Python
Assemblers - Converts assembly code to machine code. Assemblers are
essential in microcontrollers (used in cars, elevators)
Linkers - Connects different parts/modules (files/functions) of code together.
Linkers help create big programs from smaller pieces – like apps that connect to
maps or payment systems
ACTIVITY 1
Arrange the given words in the correct sequence of program execution
ASSEMBLER MACHINE CODE
LINKER
COMPILER SOURCE CODE
ACTIVITY 1 - ANSWERS
Correct Sequence with Explanation:
ORDER OF ACTIVITY DESCRIPTION / WHAT IT DOES
Program written in a high-level language (e.g., C,
Source Code
Python)
Compiler Converts source code into assembly language
Assembler Translates assembly code into machine (object) code
Combines object code and libraries to make final
Linker
executable
Machine Code Final program that the computer can run
REAL WORLD APPLICATION
1. Assembler
📌 Definition: Converts assembly language (mnemonics like MOV, ADD) into machine code (binary).
✅ Examples:
NASM (Netwide Assembler) – Used to write and assemble low-level programs on x86 architecture.
MASM (Microsoft Macro Assembler) – Used in Windows-based systems.
GNU Assembler (GAS) – Part of the GNU Project; used with Linux.
🎯 Real-World Use: Microcontroller programming (like Arduino or embedded systems in washing machines).
🔍 2. Interpreter
📌 Definition: Translates high-level code line-by-line and runs it directly.
✅ Examples:
Python Interpreter – Executes Python code (e.g., print("Hello!")).
Ruby Interpreter (MRI) – Used to execute Ruby scripts.
JavaScript Engine (V8) – Runs JavaScript in web browsers like Chrome.
🎯 Real-World Use: Educational platforms (like Scratch), websites, coding games, Python for AI.
REAL WORLD APPLICATION
🛠 3. Compiler
📌 Definition: Converts entire high-level code into machine code at once before running.
✅ Examples:
GCC (GNU Compiler Collection) – Compiles C, C++, and other languages.
Java Compiler (javac) – Converts Java code to bytecode (.class files).
Turbo C – Older compiler for learning C/C++.
🎯 Real-World Use: Software development, game development, creating mobile or desktop apps.
🔗 4. Linker
📌 Definition: Combines multiple object files (small code modules) into a single executable program.
✅ Examples:
LD (Unix/Linux Linker) – Common on Linux systems.
Microsoft Linker (LINK.exe) – Used in Visual Studio to link .obj files into .exe files.
GNU Gold Linker – A faster replacement for traditional linkers.
🎯 Real-World Use: Large software projects, where code is written across many files (e.g., video games, OS
development).
PEER ACTIVITY
COMPARE & CONTRAST: COMPILER VS INTERPRETER
Instructions:
Work with your partner.
Read the two info cards given below carefully.
Discuss your answers with your partner and list the similarities and differences between a compiler and interpreter.
COMPILER INTERPRETER
A compiler translates the entire An interpreter translates and
source code into machine code runs code line-by-line, during
before running the program. program execution.
It checks for all errors at once It stops immediately when it
and creates an executable file finds an error in a line.
(.exe). The program runs slower due to
The program runs faster after repeated translation.
compilation. Used in languages like Python,
Used in languages like C, C++. JavaScript.
PEER ACTIVITY
Compare & Contrast: Compiler vs Interpreter
SIMILARITIES COMPILER INTERPRETER
Both translate high-level
Converts all code at once Converts one line at a time
code to machine code
Both help run programs Shows errors after full scan Stops when it finds an error
Slower due to continuous
Faster after compilation
translation
Languages: Python,
Languages: C, C++
JavaScript
SDG GOALS
The 2030 Agenda for Sustainable Development, adopted
by all United Nations members in 2015, created 17 world
Sustainable Development Goals. The aim of these global
goals
SDG 13: is Climate
"peace Action
and prosperity for people and the planet" –
Efficient
while software
tackling development
climate changetools (like compilers
and working and interpreters)
to preserve
help build optimized programs that use less computational power.
oceans
and forests.
Well-compiled programs run faster and consume fewer system
resources, contributing to energy efficiency.
SDG 15: Life on Land
Students learning how software works can develop programs for
tracking wildlife, monitoring forest health, or mapping
deforestation.
Understanding compilers and interpreters is a foundational step
toward building technology solutions that support conservation efforts
GROUP ACTIVITY
ROLE PLAY – ROBOT PROGRAMMER
Scenario:
Instruction to be given:
✅ Interpreter Mode (Line-by-line
"Take 2 steps forward, turn left, and say ‘Hello’."
instruction):
The "Interpreter" gives one command ✅ Compiler Mode (All at once):
at a time to the "Robot", waits for the The "Compiler" reads all the commands at once,
robot to complete it, then gives the checks them for errors, and then gives them
next. together to the robot to perform in one go.
Step-by-step:
Step-by-step instructions: 1.Compiler reads all:
•“Take 2 steps forward”
1.Interpreter: “Take 2 steps forward” →
•“Turn left”
Robot performs
•“Say Hello”
2.Interpreter: “Turn left” → Robot
performs 2.Compiler gives all at once:
3.Interpreter: “Say Hello” → Robot “Perform: Take 2 steps forward → Turn left → Say
performs Hello”
This shows that an interpreter 3.Robot performs all three actions in sequence.
executes the program line-by-line and This shows that a compiler checks the entire
stops if there’s an error on any line. program first and then executes it.
Summary
English: Understanding functional vocabulary (compile, interpret, link)
Math: Logical sequencing and ordering
Science: Process flow similar to steps in scientific experiments
Which translates the code line by line?
What does an assembler do?
What is the role of a linker?
STAGES OF PROGRAM
•Pre-processing EXECUTION
• Compilation
• Linking
• Loading
STAGES OF PROGRAM
• Pre-processing – A pre-processor processes the source
EXECUTION
code and prepares it for compilation.
• Compilation – The pre-processed source code is passed on
to the compiler. The compiler compiles and checks the
code for errors and generates the object code.
• Linking – The linker converts the object files generated by
the compiler into a single executable program.
• Loading – The program is then loaded onto the primary
memory of the computer system where it gets executed
by the processor.
NUMBER SYSTEMS
NUMBER
A Number SYSTEMS
system is a way
in which numbers can be
represented. There are
many ways of representing
numbers. There are 4
ACTIVITY 1
1. Convert Decimal 13 into Binary
Steps:
Divide the number by 2.
Write down the remainder (0 or 1).
Keep dividing the quotient by 2 until you reach 0.
Write the remainders in reverse order (bottom to top).
Division Quotient Remainder Now write the remainders from
13 ÷ 2 = 6 6 1 bottom to top: 1 1 0 1
6÷2=3 3 0 Thus,
✅ Decimal 13 = Binary 1101
3÷2=1 1 1
1÷2=0 0 1
BINARY NUMBER SYSTEM
2 3
2 2
2 1
2 0
2 -1
2
-2
2
-3
2
-4
1 1 0 1 . 1 0 1 1
OCTAL NUMBER SYSTEM
The Octal number system has a base of 8. It has eigit
digits 0, 1, 2, 3, 4, 5, 6, 7.
Each digit of an octal number can have any value from 0
to 7.
83 82 81 80 8-1 8-2
1 3 5 2 . 1 2
HEXA DECIMAL NUMBER SYSTEM
The hexa decimal number system has a base of 16. It has
10 numeric digits 0,1,2,3,4,5,6,7,8,9 and six letters A, B,
C,D,E,F where A = 10, B = 11, C = 12, D = 13, E = 14, F =
15. The Hexadecimal digit is expressed as the power of
16.
162 161 160 16-1 16-2
A 3 B . 1 2
ACTIVITY 2
1. Convert the following binary numbers into decimal
a. 1101₂ to Decimal
b. 10110₂ to Decimal
a) 1101₂ to Decimal
Binary number = 1101₂
Each digit represents powers of 2 (starting from the rightmost digit):
Position 3 2 1 0
Digit 1 1 0 1
Host: "Welcome everyone to the Number System Language Party! Today, you
will meet four guests. Each one speaks a different language of numbers! Let's
meet them now!“
Decimal (steps forward): "Hi! I am Decimal! I speak using 10 numbers: 0
to 9. It’s easy — just like counting on 10 fingers!“
Binary (steps forward): "Hello! I am Binary! I only know 2 words: 0 and 1.
It’s simple — ON and OFF! I am the favorite of all computers!“
Octal (steps forward): "Hey everyone! I am Octal! I use only 8 symbols: 0
to 7. I'm like a simpler version of Decimal, perfect for quick shortcuts!“
Hexadecimal (steps forward): "Yo! I’m Hexadecimal! I am fancy! I use 16
symbols: 0-9 and A-F. Programmers and designers use me to create cool stuff
like web colors!“
Host (wraps up): "Even though they speak different 'languages', they all
represent numbers in their own special way! Today, let's learn how to
understand all these Number Systems!"
Number System Application
Computers, digital
Binary
electronics, networking
Decimal Daily life, finance, education
Early computers, embedded
Octal
systems, display systems
Computer memory, web
Hexadecimal
design, programming
THANK
YOU!