SCHEME OF WORK FOR THIRD TERM
WEEK
|
TOPIC
|
1
|
· REVIEW OF 2ND TERM EXAM QUESTION
· WRITING THE SCHEME OF WORK
|
2-4
|
PROGRAM DEVELOPMENT
·
Definition of program
·
Characteristics of a good
program
·
Steps in program development
·
Description of the steps in
program development
·
Compilation and
interpretation of program
·
How compiler and interpreter
works
|
5-6
|
ALGORITHM AND FLOWCHART
·
Definitions of algorithm and
flowchart
·
Functions of algorithm
·
Characteristics of algorithm
·
Writing algorithm for problem
solving
·
Flowchart symbols and their
uses
·
Flowchart examples
|
7-8
|
INTERNET
·
Definition of internet
·
Definition of terms – browse,
browser, chat room, cyber café, download, home page, e-mail, html, http,
internet service provider etc.
·
Internet services – e-mail,
search engine, telnet, ftp, www etc
·
Benefits of the internet
·
Problems of the internet
|
TOPIC ONE: PROGRAM DEVELOPMENT
Meaning of a Program
A computer program is
a general term used to describe the set of instructions that the computer use
to performs a specific task. A computer
program is usually written by a computer programmer using a programming
language.
Characteristics of a Good Program
A
good computer program should have following characteristics:
- Portability:
Portability refers to the ability of an application to run on different
platforms (operating systems) with or without minimal changes.
- Readability:
The program should be written in such a way that it makes other
programmers or users to follow the logic of the program without much
effort.
- Efficiency:
Every program requires certain processing time and memory to process the
instructions and data. A program should be laid out in such a manner that
it utilizes the least amount of memory and processing time.
- Structural:
To develop a program, the task must be broken down into a number of
subtasks which are developed independently, and each subtask is able to
perform the assigned job without the help of any other subtask. If a
program is developed structurally, it becomes more readable, and the
testing and documentation process also gets easier.
- Flexibility:
A good program should allow changes without having to rewrite the entire
program. Most programs are developed for a certain period and they require
modifications from time to time.
- Accuracy/Correctness:
Accuracy ensures that the program does what it is meant to do according to
the design specification.
- Generality:
Generality means that if a program is developed for a particular task,
then it should also be used for all similar tasks of the same domain. For
example, if a program is developed for a particular organization, then it
should suit all the other similar organizations.
- Maintainability: Maintainability is the ease with which changes can be made to the program to satisfy new requirements. Maintainability allows the program to be upgraded or revised when the need arises.
- Reusability: Reusability is the ease with which a program can be reused in developing other program. By reusing existing program, developers can create more complex program in a shorter amount of time.
- Clarity: The program should be clear enough to be understood by others.
- Security: This ensures that the software protects the information it is responsible for.
- User-friendliness: It ensures that the program is easy to use by the intended users. It should have a sensitive user interface that will enable the user to interact with the program without any difficulty.
- Robustness: The program should be provided with the mechanism to respond to unexpected conditions, e.g., if wrong input is entered into it.
Steps In Program Development
Before coding of a good program, there
must be a proper planning and steps on how the problem or program will be
stored.
The steps include the following:
- 1. Problem definition
- 2. Problem analysis
- 3. Algorithm/Flowcharting
- 4. Desk checking
- 5. Program coding
- 6. Program compilation
- 7. Program testing and debugging
- 8. Program documentation.
- Problem Definition: Entails defining and understanding the problem statement and deciding the boundaries of the problem. In this phase we need to understand the problem statement, what is our requirement, what should be the output of the problem solution? These are defined in this first phase of the program development life cycle.
- Problem Analysis: The requirements like variables, functions, or resources to solve the problem are gathered.
- Algorithm/Flowcharting: During this phase, a step by step procedure to solve the problem using the specification given in the previous phase is developed.
- Desk checking: This involves manual checking of the logic of a program for correctness
- Coding: This phase involves using a programming language to write or implement actual programming instructions for the steps defined in the previous phase. In this phase, we construct actual program. That means we write the program to solve the given problem using programming languages like C, C++, Java etc.,
- Program compilation: Compilation is the process whereby the source program (program written in other language different from machine language), is translated into machine readable code. A compiler does the job of compilation.
- Testing & Debugging: During this phase, we check whether the code written in previous step is solving the specified problem or not, i.e. check whether input data will provide desired output or not.
- Maintenance: During this phase, the program is actively used by the users. If the user encounters any problem or wants any enhancement, then we need to repeat all the phases from the starting, so that the encountered problem is solved or enhancement is added.
- Documentation: Program documentation includes hard-copy or electronic manuals that enable users, program developers, and operators to interact successfully with a program, e.g. user manual (a description of software commands and troubleshooting guide).
Compilation
and interpretation of program
A compiler translates the entire
program (source code/program) written in a high level language into an
intermediate form called (object code/program), which can be directly executed
by the machine. On the other hand, an
interpreter does not produce an object code but translate the source program
line by line directly into machine language.
Examples
of compiled programs languages are: C, C++, C#, Ada, ALGOL, Java, COBOL,
Visual Basic, Lisp, FORTRAN, Pascal
Examples
of interpreted languages are: QBASIC, JavaScript, PHP, ASP, APL
How
a compiler works
The brain of the compiler is the
parser. It knows the syntax (rule) of the source language or the grammatical
rules that determine how the source statements are written. Whenever the parser
needs more of the source program statements to work on, it calls upon the
scanner. The scanner reads in the source program statement and breaks it into a
sequence of tokens – words, numbers, identifiers, operators etc. It hands them
one at a time to the parser whenever the parser calls for the next one.
The parser also
knows the semantics (meaning) of the source language. The parser’s knowledge of
the semantics enables it to call the code generator to produce the object code,
which performs the operation specified by the instruction. This continues until
the entire program has been read in and translated.
How
an interpreter works
Just like the
compiler, an interpreter also has a parser that controls it. Its scanner does
the same job as that of the compiler. However, an interpreter has an executor
instead of the code generator.
TOPIC TWO: ALGORITHM
AND FLOWCHART
Algorithm can also be defined as a procedure
consisting of a series of steps which specify a sequence of operations that
provides the solution to a problem.
An
algorithm is a finite set of an instruction that specifies a sequence of
operations to be carried out in order to solve a specific problem. It is a detailed sequence of simple
steps that are needed to solve a problem.
Pseudocode is a detailed yet readable description of an
algorithm, expressed in a formally-styled natural language rather than in a
programming language. It is very similar to everyday English.
A flowchart is a pictorial
representation of an algorithm in which the steps are drawn in the form of
different shapes of boxes and the logical flow is indicated by interconnecting
arrows.The boxes represent operations and the arrows represent the sequence in
which the operations are implemented.
A flowchart
is a diagrammatical representation of an algorithm.
Functions of
algorithm
- It provides a step-by-step solution to a problem
- It is used to prove that a problem has a solution
- It is used to give a sense of direction to the steps of solving a problem
- It may also be used to show that a problem does not have a solution
Characteristics
of an algorithm
- Finiteness: it specifies an exact number of steps to be taken and has an end
- Absence of ambiguity: it shows that every instruction is clearly and precisely specified
- Sequence of execution: it shows how the instructions are performed from top to bottom
- Effectiveness: it ensures that the solution prescribed is guaranteed to give a correct answer and that the specified process is faithfully carried out.
- Input and output: these defines the unknowns of the problem specified and the expected output
- Scope definition: it specifies precisely the problem or class of problem
- Independence: algorithm is language independent
ALGORITHM
Examples
Example 1: Calculate the Interest of a
Bank Deposit
Algorithm:
Step 1: Start
Step 2: Read
amount,
Step 3: Read
years,
Step 4: Read
rate,
Step 5: Calculate
the interest with formula “Interest=Amount*Years*Rate/100
Step 6: Print interest
Step 7: Stop
Example 2: Algorithm to Determine and
Output Whether Number N is Even or Odd
Algorithm:
Step 1: Start
Step 2: Read number N,
Step 2: Read number N,
Step 3: Set
remainder as N modulo (divide) 2,
Step 4: If
remainder is equal to 0 then number N is even, else number N is odd,
Step 5: Print
output.
Step 6: Stop
Example 3: Algorithm to Print 1 to 20:
Algorithm:
Step 1: Start
Step 2: Initialize
X as 0,
Step 3: Increment
X by 1,
Step 4: Print X,
Step 5: If X is
less than 20 then go back to step 2.
Below are the corresponding flowcharts
Flowchart for example 1: Calculate the Interest of a Bank Deposit
Flowchart for example 2: Determine and Output Whether Number N is
Even or Odd
Flowchart for example3: Print 1 to 20
TOPIC THREE: INTERNET
The Internet is the global system of
interconnected computer networks that use the Internet protocol suite (TCP/IP)
to link billions of devices worldwide. It is an international network for communication,
where millions of computers are connected together. It is the largest computer
network in the world.
Definition of
some basic terms
- Home page: is an introductory page of a website, typically serving as a table of contents for the site. It is an initial page or point of entry to all information stored within.
- Web page: is a single page of information on a website.
- Website: is a collection of related web pages (document that are accessed through the internet), typically identified with a common web address or domain name or URL (Uniform Resource Locator), published on at least one web server. Examples are https://google.com, https://isi.ui.edu.ng, https://facebook.com etc.
- HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages. Web browsers can read HTML files and render them into visible and audible web pages.
- A protocol can be defined as set of rules and regulations that determine how data is transmitted in telecommunications and computer networking
- HyperText Transfer Protocol, HTTP is the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
- Upload: this is the process of transferring files from a local computer to another (remote) computer on the World Wide Web.
- Cyber cafe: this is a place to use computer to access the internet, create document, chat with friends using voice and video as well as a number of other computer related tasks.
- Browser: A browser or a web browser is an application program with a graphical user interface for displaying HTML files, used to navigate the World Wide Web. Technically, a Web browser is a client program that uses HTTP (Hypertext Transfer Protocol) to make requests of Web servers throughout the Internet on behalf of the browser user. Examples include Mozilla Firefox, Apple safari, Opera Mini, Lynx , Flock, Microsoft Internet Explorer, Netscape Navigator, UC browser, Google Chrome, Microsoft Edge etc.
- Internet Service Provider (ISP): an organization that provides individuals and other companies’ access to the internet. Examples include MTN, Airtel, 9mobile, Smile etc.
Internet services
- · E-mail (Electronic mail): this is a message sent from one person to another, or many others through the internet connected computers.
- · Telnet is a user command and an underlying TCP/IP protocol for accessing remote computers.
- · Usenet (Users network) is an early non-centralized computer network for the discussion of particular topics and the sharing of files via newsgroups. Newsgroups are Internet discussion forums where groups of users with common interests gather to talk about everything from software to comic books to politics.
- · File Transfer Protocol (FTP) is a standard network protocol used to transfer computer files from one host to another host over a TCP-based network, such as the Internet.
- · World Wide Web (WWW) is a network of online content that is formatted in HTML (connected by hyperlinks and URL) and accessed via HTTP. A system of Internet servers that support specially formatted documents. The documents are formatted in a markup language called HTML.
- · Search engine: this is a computer program that retrieves documents or data from a database or from a computer network (especially from the internet). It is an utility for finding information on the internet.
Benefits of the
internet
- · It provides quick access to almost any kind of information
- · It is a fast, cheap and effective means of communicating and exchanging information all over the world
- · E-commerce: buying and selling has been made possible through the internet
- · Job opportunities such as graphic designing, blogging, freelance writing etc. have been made possible
- · It is an avenue for advertisement of goods and services
- · Online training and seminar called WEBINARS are made possible
- · Online degree/E-learning: the internet provides us the opportunity to learn and earn degree/certificates by taking online classes.
- · Online banking
Abuse of the
internet
- · Hacking: using the internet to gain unauthorized access to people’s computers
- · Fraud: fraudulent activity involves any attempt to unlawfully obtain money from unsuspecting users
- · Copyright violation: someone’s electronic content can be copied without due reference or permission
- · Virus distribution: internet users are prone to downloading virus and other malicious program when downloading software/files from illegitimate website on the internet.
- · Pornography: the internet is flooded with websites that are pornographic in nature
- · Cyber bullying: using the internet to threaten and bully someone
- · Spamming: sending unsolicited messages to individual or network groups through the internet.