A LESSON PLAN FOR WEEKS 2 AND 3 ENDING 26TH MARCH, 2021
Date: 15th March – 26th March, 2021
Class: SS1
Subject: Computer Studies
Lesson Plan Heading Topic: Programming Languages
Age/Level/Number of Learners/Sex ±13/SS1/20 Students/Mixed
Time Fit / Previous Knowledge Students have learnt programming languages in Basic
8
Main Aim(s) At the end of the lesson the students should be able to
explain programming languages and its levels.
Subsidiary Aims By the end of the lesson, the students should be able
to:
(i) Define programming languages
(ii) State the levels of programming languages
(iii) Compare machine language, low-level language
and high-level language
(iv) State the advantages and disadvantages of
machine language, low-level language and high-
level languages
(v) Explain High level languages
Personal Aim To ensure that the content of the topic covered within
4 periods of 40 minutes using the audio and visual
modes of learning,
Assumption / Entry Behaviour The students can differentiate between a program and
programmer
Anticipated Problem The students may not be able to differentiate machine
language from low-level language
Possible Solution The teacher explains to the students that computer
only understand the language of binary (0 and 1)
which is machine language but low level language
uses mnemonic (name suggesting meaning) and
symbols.
Instructional Media Audio and Visual
Procedure Step I: Definition of programming language
Step II: Levels of programming language
Step III: Comparison of machine language, low-level
language and high-level language
Step IV: Advantages and disadvantages of machine
language, low-level language and high-level language
Step V: High Level Language
Step VI: Computer Language Translators
Interaction Pattern Teacher to Student (T-S)
Evaluation (Learners) The teacher evaluates the learners by asking the
following questions:
(i) What is a programming language?
(ii) Outline the levels of programming language.
(iii) State 2 advantages and disadvantages of machine
language, low-level language and high-level
language
Evaluation (Teacher) The teacher evaluates herself based on the responses
of the learners to the evaluation, if the responses are
not satisfactory, the teacher revisits the lesson.
Summary Programming languages are artificial languages
designed to give instructions to a Computer.
Homework Workbook
PROGRAMMING LANGUAGES
A programming language is an artificial language designed to communicate instructions to a machine
particularly a Computer. It is a language whose aim is to issue commands to a computer to carry out a particular
task.
Programming is the act of giving instructions to the computer on how to solve a particular problem. It can also be
defined as the process of converting logical statements into procedural code using specific language to solve a
given problem.
A program is a set of instructions designed to carry out a specific job for a programmer. It is given to a computer
in a language it understands.
A programmer is a person who specializes in using machine language in developing application software. He/she
is a person who writes a program.
LEVELS OF PROGRAMMING LANGUAGE
There are four main developed computer programming languages. Which includes:
1. Machine Language: This is a programming language in which instructions are in the form of binary (0
and 1) which stands for OFF and ON. The language is in-built and it is the only language the computer
understands.
2. Low-Level/Assembly Language: This is a machine oriented language that uses Mnemonic (names
suggesting meaning) and symbols. Before a computer executes a low-level language, it must translate into
machine language done by an Assembler.
3. High-Level Procedural Language: This is a language that is expected to be machine independent.
Instructions are written in language like human language just like English spoken language. Examples of
high level languages include BASIC, FORTRAN, COBOL, PASCAL, C++ etc. The translation is done
with a compiler.
4. Very High-Level Language (Problem Oriented Language): Problem oriented language is designed to
solve specific problems. They are non-procedural and focuses on specifying what the programs is to
accomplish. The very high level languages are best suited for database management and development of
business packages such as Oracle, Paradox, Dbase III and Dbase IV.
COMPARISON OF MACHINE LANGUAGE, LOW LEVEL LANGUAGE AND HIGH
LEVEL LANGUAGES
Machine Language: Advantages: 1. Programs are fast and memory efficient
2. Programming tools of choice are smaller
3. Addresses the computer’s hardware directly.
Disadvantages: 1. Programmer must know the machine’s architecture
2. Machine code must be updated when a component is changed.
Low-Level Language: Advantages: 1. Programmers can utilize processor and memory in
a better way.
2. No need for Compiler or Interpreters to translate the source
3. Provides direct manipulation of computer registers and storage
Disadvantages: 1. Machine dependent
2. Difficult to develop, debug and maintain
3. Error prone
4. Usually results in poor programming productivity.
High Level Language: Advantages: 1. Programmer friendly. They are easy to write, debug
and maintain.
2. It is machine independent.
3. Less error prone, easy to find and debug errors.
4. Easy to learn.
Disadvantages: 1. Takes additional times to translate the source to machine code
2. Comparatively slower than low level programs.
3. Generally less efficient compared to low level languages.
4. Cannot communicate directly with the hardware.
HIGH-LEVEL LANGUAGES
High Level languages abbreviated as HLL are similar to the human language. It is programmer’s friendly, easy to
code, debug and maintain. HLL provides higher level of abstraction from machine languages. They do not interact
directly with the hardware. Rather, they focus more on the complex arithmetic operations, optimal program
efficiently and easiness in coding. Examples include BASIC, FORTRAN, COBOL, PASCAL etc.
The high level languages are grouped into four application areas, namely;
i. Scientific Oriented Languages (ALGOS, FORTRAN, BASIC)
ii. Business Oriented Languages (COBOL, RPG)
iii. General Purpose Oriented Languages (LOGO, PASCAL)
iv. Interactive Oriented Languages
COMPUTER LANGUAGE TRANSLATORS OR PROCESSORS
Computer language processors or translators are programs that converts programs written in human
understandable form to computer understandable form or machine code.
There are three basic classes of computer language translators or processors, namely;
1. Assembler
2. Interpreter
3. Compiler
ASSEMBLER: This is a program which translates assembly language into machine code. Machine instruction is
generated for each source statement. The resulting program can be executed when the assembly process is
completed.
INTERPRETER: The interpreter is a program which translates and executes each source statement in logical
sequence as the program is executed.
COMPILER: This is a program which translates a high-level language into machine oriented language before the
program is executed. Machine instructions are generated for each source statement. The resulting program can
only be executed when the compilation is completed.
The stages in compilation include: Lexical Analysis, Syntax Analysis and Semitic Analysis.
DIFFERENCES BETWEEN USING A COMPILER AND AN INTERPRETER
Interpreters and compilers performs basically the same function in program execution but in different modes or
approaches.
When a program is run, the compiler requires two steps; the first step is to convert the entire program source code
to object code. The second step is to run the object code. The interpreter in contrast converts and runs the program
one line at a time.
The advantage of a compiler is that once the object code has been obtained, the program executes faster while the
advantage of the interpreter language is that programs are easier to develop.