Reviewed - CIT322 - 3
Reviewed - CIT322 - 3
FACULTY OF SCIENCE
COURSE
GUIDE
CIT 322
INTRODUCTION TO INTERNET PROGRAMMING
i
CIT 322 COURSE GUIDE
Abuja Office
5 Dar es Salaam Street
Off Aminu Kano Crescent
Wuse II, Abuja
e-mail: [email protected]
URL: www.nou.edu.ng
Published by
National Open University of Nigeria
Printed 2013
ISBN: 978-058-196-0
Printed by
For National Open University of Nigeria
ii
CIT 322 COURSE GUIDE
CONTENTS PAGE
Introduction ……………………………………………. v
What you will Learn in this Course …………………… v
Course Aim ……………………………………………. v
Course Objectives ……………………………………… vi
Working through this Course …………………………. vii
Course Materials ………………………………………. vii
Study Units …………………………………………….. vi
Textbooks and References ……………………………. viii
Assignment File ………………………………………… x
Assessment………………………………………………. x
Presentation Schedule ………………………………….. xi
Tutor-Marked Assignment ……………………………… xi
Final Examination and Grading ………………………… xi
Course Marking Scheme ………………………………… xi
Course Overview…………………………………………. xii
How to Get the Most from this Course ………………….. xiii
Facilitation/Tutors and Tutorials......................................... xiv
Summary............................................................................. xiv
iii
CIT 322 COURSE GUIDE
INTRODUCTION
This course will provide you with the necessary skills required to design and deploy
solutions on the Internet. A number of tools for constructing Web application
include Hypertext Markup Language (HTML), Extensible Markup language
(XML), Cascading Style Sheets, JavaScript, and overview of XML, search engines
and tools, and the future web, technologies and development tools have a wide
coverage in this course.
This course is divided into four modules. Module one lays the background for the
entire course. It provides fundamental information on the meaning, origin,
architecture and services offered by the Internet. It also explores network models
and the protocols that work behind the scene to display Web pages. Module two
focuses on Hypertext Markup Language (HTML) Tags and attributes, and
extensible markup language (XHTML) and HTML5 as some of the most recent and
important languages used to construct Web pages. This module concentrates on the
syntax and the various HTML tags, elements and attributes used in developing Web
page. Some of these include anchor, table, form, image, video, and audio. Module
three explores Cascading Style Sheets and JavaScript for formatting text and adding
interactivity respectively to Web pages. The module contains some sample codes in
JavaScript and Cascading Style Sheets that demonstrate their features and
capabilities in making Web pages come alive. Module four contains information on
overview of XML, search engines and tools, and the future web, technologies and
development tools.
COURSE AIMS
The aim of this course is to equip you with the basic skills of studying and
understanding Internet programming as well as lay the foundation of
iv
CIT 322 COURSE GUIDE
the basic knowledge and tools you need to become a proficient Web
content developer /administrator. Specifically, this aims to:
• explore the architecture for Web applications and the tools for
building standard websites
• explore and use various HTML tags for web development
• explore the relevant of XML in web development
• expose you to the techniques for writing Cascading Style Sheet as
a standardised way of imposing style on the content of HTML
tags
• teach you how to write JavaScript which is used for adding
interactivity to static pages
• programming interface for both HTML and XML documents.
• Form validation
COURSE OBJECTIVES
Certain objectives have been set out to ensure that the course achieves its aims. Apart
from the general objectives of this course, each unit of this course has set objectives.
At the end of this course, you should be able to:
• define and discuss the evolution of the Internet and explain the
meaning of Intranet and extranet
• list the devices used to access the Internet and explain the various
means of accessing the Internet
• differentiate between statis and dynamic pages
• describe the term “computer network,” discuss the client-server
model and describe the Web application architecture
• explain the term “HTML,” write simple HTML codes using
popular tags and use Web browsers to display HTML codes
• explain the term “XHTML,” write simple HTML5 codes using
popular tags and use Web browsers to display XTML codes
• outline how to create, modify, process, view and validate XML
document
• write HTML codes to process form information, explain how to
use Form action and Methods and discuss and use various form
elements
• discuss and state the importance of CSS, use CSS format web
pages and add CSS to HTML files
• explain the meaning of JavaScript, write and run simple
JavaScript programs
• and hierarchy of the model
• Form validation
v
CIT 322 COURSE GUIDE
COURSE MATERIALS
1. Course Guide
2. Study Units
3. Recommended Texts
4. A file for your assignments and records to monitor your progress.
STUDY UNITS
There are four modules broken down into 14 study units in this course.
They are listed as follows:
Module1
Module 2
Module 3
vi
CIT 322 COURSE GUIDE
Module 4
Boulton, M. (2009). A Practical Guide to Designing for the Web. United Kingdom: Mark
Boulton Design Ltd.
Deitel, P. J. & Deitel, H.M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Gasston, P. (2013). The Modern Web-Multi-Device Web Development with HTML5,
CSS3 and JavaScript. San Francisco: No Starch Press.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press.
June, C. (2003). The Unusually Useful Web Book. USA: New Ride.
MacBride, K. (2006). Brilliant Internet for the Over 50s: What you
need to know about it. England: Pearson Education Limited.
vii
CIT 322 COURSE GUIDE
Wang, P., & Katila, S. (2003). An Introduction to Web Design and Programming.
Brooks/Cole book/
Nolan, H. (2005). Creating a Web Page in Dreamweaver. USA:
Peachpit Press, Berkeley.
Terry, F-M. (2009). Web Development and Design Foundations with XHTML USA:
Pearson International Edition.
viii
CIT 322 COURSE GUIDE
ASSIGNMENT FILE
An Assignment File and a marking scheme will be made available to you. In the
File, you will find details of the work you must submit to your tutor for marking.
There are two aspects of assessment of this course: the tutor-marked and the
written examination. The marks you obtain in these two areas will make up your
final marks. The assignment must be submitted to your tutor for formal
assessment according to the deadline stipulated in the presentation schedule and
Assignment File. The work you submit to your tutor for assessment will account
for 30 per cent of your total score.
ASSESSMENT
There are two aspects to the assessment of the course. First are the tutor marked
assignments; second, is a written examination. In tackling the assignments, you
are expected to apply information and knowledge acquired during this course.
The assignments must be submitted to your tutor for formal assessment in
accordance with the deadlines stated in the Assignment File. The work you
submit to your tutor for assessment will count for 30 per cent of your total course
mark.
At the end of the course, you will need to sit for a final three-hour examination.
This will also count for 70 per cent of your total course mark.
ix
CIT 322 COURSE GUIDE
PRESENTATION SCHEDULE
The presentation schedule included in your course materials gives you the important
dates for the completion of tutor marked assignments and attending tutorials.
Remember, you are required to submit all your assignments by the due date. You
should guard against lagging behind in your work.
TUTOR-MARKED ASSIGNMENT
There are 14 tutor-marked assignments in this course. You will be assessed on four of
them but the best three performances from the TMAs will be used for your 30 per
cent grading. Assignment questions for the units in this course are contained in the
Assignment File. You should be able to complete your assignments from the
information and materials contained in your set textbooks, reading and study units.
However, you may wish to use other references to broaden your viewpoint and
provide a deeper understanding of the subject. When you have completed each
assignment, send it together with form to your tutor. Make sure that each assignment
reaches your tutor on or before the deadline given.
The final examination for the course will carry 70 per cent of the total
marks available for this course. The examination will cover every aspect
of the course, so you are advised to revise all your corrected assignments
before the examination.
This table shows how the actual course marking is broken down.
Assessment Marks
Assignment 1- 4 Four assignments, best three marks of the
four count at 30% of course marks
Final Examination 70% of overall course marks
Total 100% of course marks
x
CIT 322 COURSE GUIDE
COURSE OVERVIEW
Module 2
1 HTML tags and attributes Week 4 Assignment 4
2 XHTML and HTML5 elements Week 5 Assignment 5
3 Tables Week 6 Assignment 6
4 Input Tags and Form processing Week 7 Assignment 7
Modules 3
1 Cascading Style Sheet Fundamentals Week 8 Assignment 8
2 JavaScript for dynamic statements Week 9 Assignment 9
3 Using statements in control JavaScript Week 10 Assignment 10
Module 4
1 Overview of XML Week 12 Assignment 12
2 Search Engines and Tools Week 13 Assignment 12
Revision Week 15
Examination Week 16
Total 16 weeks
xi
CIT 322 COURSE GUIDE
In distance learning, the study units replace the university lecturer. This is one of the
great advantages of distance learning; you can read and work through specially
designed study materials at your own pace, and at a time and place that suit you
best. Think of it as reading the lecture instead of listening to a lecturer. In the same
way that a lecturer might set you some reading to do, the study units tell you when
to read your textbooks or other material. Just as a lecturer might give you an in-class
exercise, your study units provide exercises for you to do at appropriate points.
Each of the study units follows a common format. The first item is an introduction to
the subject matter of the unit and how a particular unit is integrated with the other
units and the course as a whole. Next is a set of learning objectives. These objectives
enable you to know what you should be able to do by the time you have completed
the unit. You should use these objectives to guide your study. When you have
finished the units, you must go back and check whether you have achieved the
objectives. If you make a habit of doing this, you will significantly improve your
chances of passing the course.
Remember that your tutor‟s job is to assist you. When you need help, do not hesitate
to call and ask your tutor to provide it.
4. Turn to Unit 1 and read the introduction and the objectives for the
unit.
6. Work through the unit. The content of the unit itself has been
arranged to provide a sequence for you to follow. As you work
through the unit, you will be instructed to read sections from your set books or
other articles. Use the unit to guide your reading.
xii
CIT 322 COURSE GUIDE
7. Review the objectives for each study unit to confirm that you have achieved
them. If you feel unsure about any of the objectives, review the study material
or consult your tutor.
8. When you are confident that you have achieved a unit‟s objectives, you can
then start on the next unit. Proceed unit by unit through the course and try to
pace your study so that you keep yourself on schedule.
for its return before starting on the next unit. Keep to your schedule. When the
assignment is returned, pay particular attention to your tutor‟s comments, both
on the tutor-marked assignment form and written on the assignment. Consult
your tutor as soon as possible if you have any questions or problems.
10. After completing the last unit, review the course and prepare yourself for the
final examination. Check that you have achieved the unit objectives (listed at
the beginning of each unit) and the course objectives (listed in this Course
Guide).
There are 12 hours of tutorials provided in support of this course. You will be
notified of the dates, times and location of these tutorials, together with the name
and phone number of your tutor, as soon as you are allocated a tutorial group.
Do not hesitate to contact your tutor by telephone, e-mail, or discussion board if
you need help. You will definitely benefit a lot by doing that. Contact your tutor
if:
• you do not understand any part of the study units or the assigned
readings
• you have difficulty with the self-tests or exercises
• you have a question or problem with an assignment, with your
tutor‟s comments on an assignment or with the grading of an
assignment.
You should make an effort to attend the tutorials. Thus, it is the only opportunity
you have to enjoy face-to-face contact with your tutor and to
ask questions which are answered instantly. You can raise any problem
encountered in the course of your study. To gain the maximum benefit
from course tutorials, prepare a question list before attending them. You
will learn a lot from participating in discussion actively.
SUMMARY
I wish you success with the course and hope that you will find it
both interesting and useful.
xiv
CIT 322 COURSE GUIDE
MAIN
COURSE
CONTENTS PAGE
Module1………………………………………………………….2
Module 2……………………………………………..…..………32
Unit 1 HTML tags and attributed……………………....………..32
Unit 2 XHTML and HTML5 Elements…..….…..…….………..40
Unit 3 Tables………………………………….…….…,,,,……..49
Unit 4 Input Tags and Form processing…..…………,,.….,,........57
Module 3---------------------------------------------------------------------.69
Module 4---------------------------------------------------------------------106
1
CIT 322 COURSE GUIDE
MODULE 1
2
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 The Definition and basic components of the Internet
3.2 Internet Access
3.2.1 Word Wide Web (WWW)
3.2.2 Electronic Mail (email)
3.2.3 File Transfer Protocol (FTP)
3.2.4 Search Engine
3.2.5 Chatting
3.2.6 Video Conferencing
3.2.7 E-Commence
3.2.8 Dial-up Connection
3.2.9 ISDN
3.2.10 Cable TV Connection
3.2.11 Digital Satellite Connection
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
2.0 OBJECTIVES
The Internet also referred to as the net, in simplest terms, consists of large a group of
millions of computers around the world that are connected to one another for the
3
CIT 322 COURSE GUIDE
The Internet originated as a proposal from the Advanced Research Project Agency
(ARPA). The idea was to see how computers connected in a network i.e. (ARPANET)
could be used to access information from research facilities and universities. In 1969,
four computers (located at UCLA, Stanford Research Institute, University of
California Santa Barbara and the University of Utah) were successfully connected. As
time went on, other networks were connected. With four nodes by the end of 1969, the
ARPANET spanned the continental United States (US) by 1971 and had connections
to Europe by 1973. Though the Interconnected Network, or Internet, was originally
limited to the military, government, research, and educational purposes it was
eventually opened to the public. Today there are hundreds of millions of computers
and other devices connected to the Internet worldwide.
Other definitions that are closely related to the term Internet are intranet and extranet.
Intranet
The term “Intranet” is used to describe a network of personal computers (PC) without
any personal computers on the network connected to the world outside of the Intranet.
The Intranet resides behind a firewall; if it allows access from the Internet, it becomes
an Extranet. The firewall helps to control access between the intranet and Internet so
that only authorised users will have access to the Intranet. Usually these people are
members of the same company or organisation. Like the Internet itself, intranets are
used to share information. Secure intranets are now the fastest-growing segment of the
Internet because they are much less expensive to build and manage than private
network based on proprietary protocols.
4
CIT 322 COURSE GUIDE
Extranet
Extranets are becoming a very popular means for business partners to exchange
information. An Extranet is a term used to refer to an intranet that is partially
accessible to authorised outsiders. Privacy and security are important issues in extranet
use. A firewall is usually provided to help control access between the Intranet and
Internet. In this case, the actual server will reside behind a firewall. The level of access
can be set to different levels for individuals or groups of outside users.
In order to have access to the vast resources on the Internet, you need to connect your
computer to a computer system that is already on the Internet, usually one run by an
Internet Service Provider (ISP). There are four major ways of connecting a client
(user) computer to the vast resources on the Internet; these are by a dial-up connection
using a telephone line or an Integrated Services Digital Network (ISDN), a Digital
Subscriber Line (DSL), a cable TV connection or a satellite connection. While rural
users may consider installing a satellite dish for Internet connections, urban users may
have access to wireless connections. In most offices, users connect their computers via
a local area network (LAN) connected to the Internet. Similarly, in many home, users
are beginning to connect their computers into Internet-connected LANs, too. The Dial-
up access gives a low speed connection to the Internet. High-speed Internet
connections, which include DSL, ISDN, leased lines, cable Internet, and satellite, are
called broadband connections.
3.2.5 Chatting
This is the other method of Internet conversation which enables the connection of
people anywhere on the Internet.
Chart sessions allow many users to join in the same free-form conversation which is
usually within a discussion topic. Examples of the charting software are MSN
messengers, Yahoo messengers, IRC, pidgin, WhatsApp among others.
3.2.7 E-Commerce
E-commerce also called electronic commerce is the buying and selling of products or
services over electronic systems such as the Internet. Some of the common
applications which are used in e-commerce are domestic and international payment
systems, group buying, automatic online assistants, online shopping and other
tracking, online banking, shopping cart software among other terms. Example of the
online marketing sites are amoze.com, ebay.com, aliexpress.com, konga.com,
jumia.com among others as seen in figure 1.4
Dial-up Internet access is a form of Internet access that uses the facilities of the public
switched telephone network (PSTN) to establish a dialed connection to an Internet
service provider (ISP) via telephone lines. The user‟s computer or router uses an
attached modem to encode and decode Internet Protocol packets and control
information into and from analog audio frequency signals, respectively. The term
“Dial-up Internet access” was coined during the early days of computer
7
CIT 322 COURSE GUIDE
3.2.9 ISDN
Integrated Services Digital Network (ISDN) is a set of communications standards for
simultaneous digital transmission of voice, video, data, and other network services
over the traditional circuits of the public switched telephone network. It allows dial up
into the Internet at speeds ranging from 64 to 128 kbps. For this connection to be
available, telephone companies would have to install special ISDN digital switching
equipment. The ISDN service intended for residential use is Basic Rate Interface
(BRI). On one ISDN line, BRI provides two 64-Kbps channels, or B (bearer)
channels, and one 16-Kbps channel, or D(data) channel. The D channel is mostly used
for signalling such as to indicate that the line is busy. The B channels are where the
action is. Two B channels can be combined to have a 128-Kbps line to the
Internet. This is roughly twice the speed of the fastest analogue modem, 56 Kbps. To
connect to your ISP via ISDN you need to confirm the availability of the access and
this will require you to have an ISDN adapter. ISDN lines are more expensive than
normal phone lines, so the telephone rates are usually higher.
This is a connection made to the Internet via a Cable TV modem. The modem is
designed to operate over cable TV lines. Since the coaxial cable used by cable TV
provides much greater bandwidth than telephone lines, a cable modem can be used to
achieve extremely fast speed as high as 128 kbps to 10 mbps to the World Wide Web
. This combined with the fact that millions of homes are already wired for cable TV in
developed countries has made the cable modem something of a holy grail for Internet
and cable TV companies. The services offered are usually at low cost for unlimited,
“always connected” access. However, there are a number of technical difficulties in
this type of connection. The problem is that the cable network was designed to move
information in one direction, from the broadcaster to the user. Downstream speeds
have been very impressive such that the line can theoretically bring you data as fast as
30 Mbps but upstream speed depends on line quality. The Internet, however, is a two-
way system where data also need to flow from the client to the server. In addition, it is
8
CIT 322 COURSE GUIDE
still unknown whether the cable TV networks can handle the traffic that would ensue
if millions of users began using the system for Internet access. Large cable companies
are spending money to upgrade their networks to Hybrid Fiber-Coaxial (HFC) to
handle two-way traffic better. Smaller providers cannot afford the upgrade, so they
have to use a phone line at 28.8 Kbps for upstream data. Another issue bothers on
security and the need to either share or not share files amongst users.
Digital Satellite Systems (DSS), or direct broadcast satellite, allows one to get Internet
information via satellite. Satellite Internet systems are an excellent, although rather
costly, option for people in rural areas where Digital Subscriber Line (DSL) and cable
modem connections are not available. A satellite installation can be used even where
the most basic utilities may be lacking, if there is a generator or battery power supply
that can produce enough electricity to run a desktop computer system. The two-way
satellite Internet option offers an always-on connection that bypasses the dial-up
process. In a two-way satellite Internet connection, the upstream data is usually sent at
a slower speed than the downstream data arrives. Thus, the connection is asymmetric.
A dish antenna, measuring about two feet high by three feet wide by three feet deep,
transmits and receives signals. Uplink speeds are nominally 50 to 150 Kbps for a
subscriber using a single computer. The downlink occurs at speeds ranging from about
150 Kbps to more than 1200 Kbps, depending on factors such as Internet traffic, the
capacity of the server. The main advantage of the Satellite technology over cable
modems and DSL is accessibility. Satellite connections are faster than dial up and
ISDN. Although it is not as fast as cable modems or DSL services, which both can
provide more than megabits of bandwidth. In addition, cable and DSL access methods
are cheaper. Figure 1.5 shows a Satellite connection to the Internet.
9
CIT 322 COURSE GUIDE
4.0 CONCLUSION
The Internet has remained a dominant means of communication over the past
decade. It represents one of the most remarkable developments in the technological
history of the world. It began as a medium for exchanging files by academia and has
become a nearly ubiquitous phenomenon that has transformed almost every aspect
of daily life. The Internet has made information available in a quick and easy
manner, publicly accessible and within easy reach via the connection‟s infrastructure
discussed in this unit. In the next unit, we shall look at some of the services available
on the Internet and the enabling protocols.
5.0 SUMMARY
The general rule about the Internet connection is “the faster, the better.” The
bandwidth and transfer rate determine how quickly pictures, sounds, animation and
video clips will be downloaded. Since multimedia and interactivity make the Internet
such an exciting tool for information sharing, the speed is the key. Dial-up access
provides an easy and inexpensive way for users to connect to the Internet, however, it
is a slow-speed technology and most users are no longer satisfied with dial-up or
ISDN connections. The Internet has also made buying and selling very easy.
Fortunately, the broadband access, we once dreamed of, is now possible with TV
cable, DSL and satellite links.
Terry, F-M. (2009). Web Development and Design Foundations with XHTML. USA:
Pearson.
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Basic concepts in computer networking and technology
3.1.2 Local Area Network (LAN)
3.1.3 Wide Area Network (WAN
3.2 The Web and the Internet
3.2.1 Web Browsers and Servers
1.0 INTRODUCTION
The web and the Internet deals with all the preliminaries that you are expected to
know before in the design and development of the static and dynamic pages. This
include the network and the various types, web and browsers, servers and various
types and hosting.
2.0 OBJECTIVES
11
CIT 322 COURSE GUIDE
3.1.1 Local Area Network (LAN): A LAN connects network devices over a
relatively short distance. A networked office building, school, or home usually
contains a single LAN, though sometimes one building will contain a few small
LANs, and occasionally a LAN will span a group of nearby buildings. LANs are
typically owned, controlled, and managed by a single person or organization.
12
CIT 322 COURSE GUIDE
A web server is the program that runs on a computer and is responsible for replying
to web browser requests for files. You need a web server to publish documents on the
Web. When you use a browser to request a page on a website, that browser makes a
web connection to a server using the HTTP protocol. The browser then formats the
information it got from the server. Server accepts the connection, sends the contents of
the requested files and then closes.
Each of these servers provide resources to client devices, such as desktop computers,
laptops, tablets, and smartphones.
Most servers have a one-to-many relationship with clients, meaning a single server
can provide resources to multiple clients at one time.
14
CIT 322 COURSE GUIDE
The network name space is the set of all host names and that changes dynamically
with
time due to addition/deletion of hosts, regrouping of local work groups,
reconfiguration of subparts of the network, maintenance of systems and networks, and
so on.
The domain name system (DNS) provides a distributed database service that
supports dynamic update and retrieval of information contained in the name space.
The fig.2.4 below illustrates the relationship of domain name and IP
Web Hosting is a service to store and serve ready-made files and programs so they
are
accessible on the Web. Hence publishing on the web involves
designing and constructing the pages and writing the programs for a website
placing the completed website with a hosting service
To host a site under a given domain name, a hosting service associates that domain
name to an IP number assigned to the hosted site. The domain-to-IP association is
made through domain name servers (DNS) managed by the hosting service.
Many different types of files can be placed and retrieved on the web. The Web server
and
Web browser use a set of standard designations to indicate file content types in order
to
process different files correctly. Many popular types are associated with standard file
extensions. as indicated in the table below:
16
CIT 322 COURSE GUIDE
As the Web grows explosively, MIT of the USA and INRIA (the French National
Institute for Research in Computer Science and Control) have agreed to become joint
hosts of the W3 Consortium which is supported by industry and will further develop
Web related standards, protocols, and services.
The Web uses Uniform Resource Locators (URLs) to identify (locate) resources
(files and services) available on the Internet. A URL may identify a host, a server port,
and the target file stored on that host. URLs are used, for example, by browsers to
retrieve information and by HTML to link to other resources.
A website or web site is a collection of related network web resources, such as web
pages, multimedia content, which are typically identified with a common domain
name, and published on at least one web server. They may incorporate elements from
other websites with suitable markup anchors.
4.0 CONCLUSION
A LAN connects network devices over a relatively short distance. A networked office
building, school, or home usually contains a single LAN, though sometimes one
building will contain a few small LANs, and occasionally a LAN will span a group of
nearby buildings. LANs are typically owned, controlled, and managed by a single
person or organization. Similarly, a WAN is a geographically-dispersed collection of
17
CIT 322 COURSE GUIDE
LANs. A network device called a router connects LANs to a WAN. WANs differ
from LANs in several important ways. Like the Internet, most WANs are not owned
by any one organization but rather exist under collective or distributed ownership and
management. Others network arrangements may be MAN, SAN, PAN, DAN and
CAN.
5.0 SUMMARY
The unit successfully explained the concepts of the network such as the LAN, WAN
and other types as applied. The Internet is a global system of interconnected
computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve
billions of users worldwide. It is a network of networks that consists of millions of
private, public academic, business, and government networks.
A web browser is the program used to view pages and navigate the World Wide Web.
A wide array of web browsers is available for almost every platform you can imagine.
Microsoft Internet Explorer, for example, is included with Windows and Safari is
included with Mac OS X. Mozilla Firefox, Netscape Navigator, and Opera are all
available for free. A web server is the program that runs on a computer and is
responsible for replying to web browser requests for files. You need a web server to
publish documents on the Web. When you use a browser to request a page on a
website, that browser makes a web connection to a server using the HTTP protocol.
The browser then formats the information it got from the server. Server accepts the
connection, sends the contents of the requested files and then closes.
18
CIT 322 COURSE GUIDE
19
CIT 322 COURSE GUIDE
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 The Client Server Model
3.2 Types of Server
3.3 Web Application
3.3.1 The Web Browser
3.3.2 The Web Server
3.4 OSI Reference Model Concept
3.5 TCP/IP Protocols Suit
3.6 Common Gateway Interface
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
A client may be a program running on the local machine requesting service from
server. A client program is started by the user or another application program and
terminates when the service is complete. A server – can sometimes be a program
running on the remote machine providing service to the clients. When it starts, it opens
the door for incoming request from clients, but it never initiates a service until it is
requested to do so.
A network of networks or “Internet” refers to a group of two or more networks that are
interconnected and physically capable of communication, share data and act together
as a single network. Machine on one network can communicate with machines on
other networks, and data, file and other information back and forth. For this to work,
the systems must follow some set of rules or protocols. This is a “language” or
software that enables different types of machines on separate network to communicate
and exchange information. The Internet uses the TCP/IP protocol. The Internet offers
access to data, graphics, sound, software, text, and people through a variety of services
and tools for communications and data exchange. Some services available on the
Internet are as follows:
20
CIT 322 COURSE GUIDE
2.0 OBJECTIVES
The term “client / server” dates back from (1980‟s) and refers to personal computers
joined by a network. Client/server can also describe a relationship between two
computer programs- the client and the server. The client/server technology evolved as
a result of downsizing of mainframe applications and upsizing of microcomputer
applications.
request
response
Internet
Server Client
The client requests some type of service (such as file or database access) from the
server. The server fulfils the request and transmits the results to the client over a
network. While both the client and the server programs can reside on the same
computer, typically, they run on different computers. Specific types of clients include
web browsers, e-mail clients, and online chat clients. Specific types of servers
include web servers, ftp servers, application servers, database servers, name servers,
mail servers, file servers, print servers, and terminal servers. Most web services are
also types of servers. Where a server is made to handle request from multiple clients
and transaction processing is done on both the server and the client we have
distributed processing. Distributed processing involves the storage of data on
database servers called back-ends from where clients‟ applications called front-ends
21
CIT 322 COURSE GUIDE
access the data needed for their operations. In addition, the client (front–end) does
data presentation and or processing, while the server (back-end) does storage,
security and major data processing. The client / server inter-relationship is given in
terms of layers and tiers. The Internet is a great example of client / server architecture
at work. Consider a scenario where a user accesses his bank from a location away
from the bank‟s computer. The user will require a web browser client to send a
request to a web server at a bank. That program may in turn forward the request to its
own database client program that sends a request to a database server at another bank
computer to retrieve the account information. The balance is returned to the bank
database client, which in turn sends it back to the web browser client displaying the
results to the user. The client–server model has become one of the central ideas of
network computing. Many business applications being written today use the client–
server model. So do the Internet's main application protocols, such as HTTP, SMTP,
Telnet, and DNS.
a) Web server: This is use to store and deliver the elements of web pages.
b) Streaming server: This is used to deliver audio or video to the visitors to a site
real-time.
d) Name server: This is a specialised server that stores huge directories of web
servers. It keeps track of all the registered domain names on the Internet.
e) Secure server: This is a Web server that encrypts data before transmitting it, to
prevent unauthorised access. They are commonly used to secure for financial
transactions in the Internet.
Webapps are applications that are accessed with a web browser over a network such as
the Internet or an intranet. They are popular because of the ubiquity of the browser as a
client (thin client). Similarly, its popularity is equally due to the possibility of updating
and maintaining the application without necessarily distributing and installing it on
every available client. Webapps or web applications as they are sometimes called are
used to implement webmail, online retail sales, online auctions, discussion boards, and
weblogs and so on. Web developers often use client-side scripting to add functionality
to the webapps by creating an interactive site that does not require page reloading.
Webapps generate a series of web pages dynamically in a standard format such as
22
CIT 322 COURSE GUIDE
The middle-tier may be multi-tiered. That is, it can be composed of several other
servers with designated responsibilities, hence the over-all architecture is said to be N-
tier. A fundamental rule in 3-tier architecture is that the client has no direct line of
communication with the data tier. That is, all communications are routed through the
middleware tier.
23
CIT 322 COURSE GUIDE
A web server can be referred to as either the hardware (the computer) or the software
(the computer application) that helps to deliver content that can be accessed through
the Internet. The most common use of Web servers is to host Web sites but there are
other uses like data storage or for running enterprise applications. The primary
function of a web server is to deliver web pages on the request to clients. This means
delivery of HTML documents and any additional content that may be included by a
document, such as images, style sheets and JavaScript. A client, commonly a web
browser or web crawlers, initiates communication by making a request for a specific
resource using HTTP and the server responds with the content of that resource or an
error message if unable to do so. The resource is typically a real file on the server‟s
secondary memory, but this is not necessarily the case and depends on how the web
server is implemented. While the primary function is to serve content, a full
implementation of HTTP also includes ways of receiving content from clients. This
feature is used for submitting web forms, including uploading of files. Many generic
web servers support server-side scripting. The scripting tools used for middleware
development include PHP, JSP, ASP, Servlet, PERL, Python, and so on. These tools
allow the behaviour of the web server to be scripted in separate files, while the actual
server software remains unchanged. Usually, this function used to create HTML
document
24
CIT 322 COURSE GUIDE
Servers are slave programs. They act only when requests are made to them by browsers
running on other computers and the Internet. The most commonly used Web Servers are
Apache, which has been implemented for variety of computer platforms, and
Microsoft‟s Internet Information Server (IIS), which runs under windows operating
systems.
This is most popular web server. It is a free software/open source like Linux, PHP
and MySQL.
Apache runs on Unix, Linux, MS Windows, Novell Netware and some other
platforms. Apache serves over 68 per cent of websites and serves both static and
dynamic contents on the web in a very reliable and secure manner. The name Apache
has nothing to do with the Native American tribe of the same name. Rather, it came
from the nature of its first version, which was patchy version of the http server. As
seen in the usage statistics it is the most widely used server. The primary reasons for
this are as follows: It is an excellent server because it is both fast and reliable.
Furthermore, it is open-sources software, which means it is free and managed by a
large team of volunteers, a process that efficiently and effectively maintains the
systems. Finally, it is one of the best available servers for Unix-based systems.
The Internet information services (IIS) is a server or system-based services for servers
using Microsoft Windows operation system. It is a major component of the Microsoft
Server operating system and particularly, a component of its Active Server Pages
25
CIT 322 COURSE GUIDE
(ASPs). IIS is recommended if both the middleware (ASP) and the database Server
(SQL Server) are Microsoft products. Though the Apache server may be installed on
Windows platforms, it is not the most popular server on those systems. IIS remains
the most popular on Windows platform because it is supplied as part of Windows and
because it is a reasonable good server. Apache and IIS provide similar varieties of
services.
In summary, you can distinguish between Web Client and Web Servers
as follows:
Web Client
• Connected to the Internet when needed
• Usually runs Web browser(client) software such as
Internet Explorer or Netscape
• Uses HTTP
• Request Web pages from a server
• Receives Web Pages and files from as server
Web Server
• Continually connected to the Internet
• Runs Web server software (such as Apache or Internet
Information Services (IIS)
• Uses HTTP
• Receives a request for the Web page
• Responds to the request and transmits the status code,
Web page, and associated files
Another model, the Open Systems Interconnection or OSI, model was designed by the
International Standards Organisation (ISO). It is a seven-layered model. OSI was
never seriously implemented as a protocol stack, however, it is a theoretical model
designed to show how protocols stack should be implemented. The OSI model
simplifies complex networking activities by grouping the steps in the process into
seven separate task layers (The physical, Data Link, Network, Transport, Session,
Presentation, and Application layer). This is shown in Table 3.2 below. By dividing
the process into smaller tasks, it becomes easy for vendors to manage smaller pieces
of the problem.
Layer 2 Data Link This layer packages the data so that it can
Layer be transmitted over the Physical layer
26
CIT 322 COURSE GUIDE
Although the seven layers of the OSI model describe unique tasks
performed during network communications, the demarcation between
the layers and the total number of layers is irrelevant as long as all the
actions are accomplished. Several other models exist apart from the OSI
model.
A new model with only five layers would be a bit easier to understand than the OSI
model. Table 3.3 presents the layered protocol stack that dominates data
communications and networking today. It is a five-layered Internet model sometimes
called the TCP/IP protocol suite. The model is composed of five ordered layers:
physical (layer1), data link (layer 2), network (layer 3), transport (layer 4), and
application (layer 5). Each layer defines a family of functions distinct from those of
other layers.
Within a single machine, each layer calls upon the services of the layer just below it.
Layer 4, for example, uses the services provided by layer 3 and provides services for
layer 5. Between machines, layer Y on one machine communicates with the
corresponding layer Y on another machine. This communication is governed by an
agreed-upon series of rules and conventions called protocols. The processes on each
machine that communicate at a given layer are called peer-to-peer processes. Thus,
the communication between machines is therefore a peer-to-peer process using
appropriate protocols for a given layer.
27
CIT 322 COURSE GUIDE
Application
Transport
Network
Data Link
Physical
Most users of the Internet would always prefer to visit sites that are responsive and
interactive sites. Common Gateway Interface is a standard that permits the addition of
dynamic functionalities to static web pages. Dynamic functionality is a requirement
for site that implements site search, order form, e- mail, database display, or other
type of processing. These applications expect responses from a server based on client
requests. This is when server-side processing is needed, commonly known CGI. CGI
is a thus a standard that defines how Web server software can delegate the generation
of web pages to a client application or an executable file. A technology creates and
handles dynamic documents. CGI defines how a dynamic document should be written,
how input data should be supplied to the program, and how the output result should be
used. The use of „common‟ in CGI connotes that the standard defines a set of rules or
protocols that are common to any language or platform. The term „gateway‟ means
that a CGI program is a gateway that can be used to access other resources such as
databases and graphic packages. While the term „interface‟ implies that there is a set
of predefined terms, variables, calls, etc that can be used in any CGI program. CGI
scripts are preferably written in scripting languages such as PHP, ASP, JSP or PERL
though a common programming language such as C can also be used.
CGI programs
A CGI program in its simplest form is code written in one of the languages supporting
CGI. Once you can encode a sequence of thoughts in a program and you are familiar
with the syntax of one of the above-mentioned languages, writing simple CGI
programs becomes very easy. The program in example 1 below is used to outputs the
systems date to the browser.
Example 1
#!/bin/sh
#The head of the program
echo Content_type:text/html
echo
# The body of the
program echo <HTML>
echo <HEAD><TITLE> Date and Time </TITLE></HEAD> echo
<BODY>
now=‟date‟
28
CIT 322 COURSE GUIDE
Active Document
The program that runs from the client side is known as the active document. This is the
document or page that may make a request to the server. For example, suppose one
wants to complete an online registration form at National Open University‟s site. This
program would certainly need to run at the client (user‟s) site where the online form is
made available. When a browser requests an active document, the server sends a copy
of the document in the form of byte code. The document is then run at the client
(browser) site. An active document is stored in the server in the form of binary code.
However, it does not create any form of overhead for the server in the same way that a
dynamic document does. When a client retrieves an active document from a server it
may store it in its storage area so that should there be a
need for re-use, it would not need to make another request before it can be used. An
active document is transported from the server to the client in binary form. The
compression of an active document at the server side and it decompression at the client
side helps to save bandwidth and transmission time during transportation.
Dynamic Document
Dynamic documents do not exist in a predefined format instead they are created by a
Web server whenever a browser requests the document. When a web browser requests
Web pages and their related files from a Web server, the Web server locates the files
and sends them to the user‟s Web browser. Then the Web browser renders the returned
files and displays the requested Web pages. Because a fresh document is created for
each request, the contents of dynamic document can vary from one request to another.
For example, suppose one wants to get the system‟s time and date from a server at
different times. Time and date values are kinds of information that are dynamic in that
they change from moment to moment. At different instances of such calls, one would
expect to receive different values for time delivered to the client by the server.
29
CIT 322 COURSE GUIDE
file or process
• Web server returns Web page with requested information
or confirmation
of action to the browser.
The location of the script being used must be known for proper referencing
especially
if a third party is involved in Web application development.
4.0 CONCLUSION
5.0 SUMMARY
A server machine is a host that is running one or more server programs, which share
their resources with clients. A client does not share any of its resources, but requests a
server's content or service function. Clients therefore initiate communication sessions
with servers, which await incoming requests. This standard for passing data back and
forth between the server and the client application is called CGI and is part of the
Hypertext Transfer Protocol (HTTP) specification. CGI scripts are written in PHP,
ASP, JSP, ColdFusion, PERL, C or any other related programming languages.
30
CIT 322 COURSE GUIDE
31
CIT 322 COURSE GUIDE
MODULE 2
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Background of HTML
3.2 Browser
3.3 HTML Tags
3.4 The structure of WEB Page
3.5 How to create and run HTML codes
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
HTML stands for Hypertext Mark-up Language. It is the language for building Web
pages and consists of standardised codes or “tags” that are used to define the structure
of information on the Web page. Web pages come in many different varieties. In their
simplest form, they contain static information, which is made up of simple texts. On
the other extreme are pages, which are highly colourful, containing animation, sound
and interactive elements. HTML codes make it possible for web pages to have many
features including bold text, italic text, heading, paragraph breaks, tables, forms etc.
Web pages generally reside on the HTTP server. A user request a web page from an
HTTP (Web) server through a web browser such as, Internet Explorer, Mozilla
Firefox, Safari, Chrome and so on, either by clicking on the hypertext or designating a
particular URL (Uniform Resource Locator). The server then sends the requested
information to the user computer.
In this unit, we shall discuss the background of HTML, Web browsers, tags and
editors.
32
CIT 322 COURSE GUIDE
2.0 OBJECTIVES
HTML is the set of mark-up symbols or codes placed in a file intended for display on
the Web browser page. These mark-up symbol and codes identify structural elements
such as paragraphs, heading, and lists. HTML can be used to place media (such as
graphics, video, and audio) on the Web page and describe fill-in-forms. The browser
interprets the mark-up codes and renders the page. HTML permits the platform-
independent display of information across network. That is, no matter what type of
computer a Web page is created on, any browser running on any operating system can
display the page. The new version of HTML used today is eXtensible HyperText
Mark-up Language (XHTML). XHTML uses the tags and attributes of HTML along
with the syntax of eXtensible Mark-up Language (XML). We shall focus on HTML in
this module.
3.2 Browser
A Web browser is a software program that interprets the coding language of the World
Wide Web in graphic form, displaying the translation rather than the coding. A
browser acts as an interface between the user and the inner working of the web. The
browser software such as the Internet Explorer, Google Chrome, Firefox, Mozilla,
Safari, and so on, interpret HTML codes and presents the information contained in the
web pages in a readable format on the users‟ computer. A browser does not display
HTML tags. Browsers function as client programs by contacting the web server and
sending the request for information received to the users‟ computes.
HTML consists of standardised “tags” that are used to define the structure of
information on the Web pages. The decision about the structure of the text is made by
the browser based on the tags, which are
33
CIT 322 COURSE GUIDE
marks that are embedded into the text. A tag is enclosed in two signs (< and >) and
usually comes in pairs. The beginning tag starts with the name of the tag, and the
ending tag starts with a slash followed by the name of the tag. The use of tags enables
web pages to have many features including bold text, italic text, heading, paragraph
breaks and numbered or bulleted list. Table 2.1 shows a list of common HTML tags
Tags are generally used to specify “mark-up” regions of HTML documents for the web
browser to interpret. Tags are composed of the name of the element, surrounded by
angle brackets. An end tag also has a slash after the opening angle bracket, to
distinguish it from the start tag. For example, p, which is representst a paragraph by p
element, would be written as:
Not all elements require the end tag. An example of an element that does not require
an end tag is the <br> element which forces a line break on the display of interpreted
HTML codes on a browser.
HTML attributes are modifiers of HTML elements. They generally appear as name-
value pairs, separated by "=", and are written within the start tag of an element, after
the element's name:
Where tag names the HTML element, attribute is the name of the attribute, set to the
provided value. An attribute customises or modifies HTML elements.
The basic structure for all HTML documents is simple and should
include the following minimum elements or tags:
• <html>-This is the starting tag of the html which must be closed at the end of
the page
• <head>-The author of the page can insert his/her details here</head>
34
CIT 322 COURSE GUIDE
• <title>-The is used for the title of the page which is published on the title page
of your web browser</title>
• <body>-This is a container of the main body of the page</body>
• </html>
The HTML element is considered the root and container element for the
whole HTML document. That is, its sole purpose is to encapsulate all the
HTML code and describe the HTML document to the web browser. Each
HTML document should have one <html> and each document should
end with a closing </html> tag.
<html>
…..the contents should be here in the order of the head, title and body
</html>
The HEAD tag marks the beginning of the document head element; its contains the
title of the pages and other parameters that the browser will use. Thus, each <head>
element should contain a <title> element indicating the title of the document, and
may also contain any combination of the following elements, in any order:
this tag to define various parameters. Note the <embed> tag can
also be used to include multimedia files as will be discuss later in
this module.
The <title> tag is usually placed within the <head> element to title your page.
Whatever is written between the opening and closing <title></title> tags will be
displayed in the title bar of the WEB browser. Search engines that use its content to
help index pages use the title information. Therefore, it is excellent practice to use a
title that really describes the content of your site.
<html>
<head>
<title>National Open University of Nigeria </title>
</head>
</html>
<body>
Welcome to the official Website of the National Open University of Nigeria
</body>
</html>
Example 5: Codes for HTML, Head, Title and Body Tags put together
<html>
<head>
<title>National Open University of Nigeria </title>
<meta name="Keywords" content="NOUN, Web Pages" />
<meta name="description" content="HTML Basic Tags" />
<base href="http://www.nou.edu.ng " />
<link rel="stylesheet" type="text/css" href="noun.css" />
<script type="text/javascript">
_uacct = "UA-232293";
urchinTracker();
</script>
</head>
<body>
<P>Welcome to the official Website of the National Open University
of Nigeria.</p>
</body>
</html>
Creating an HTML document is easy. HTML allows us use only ASCII characters for
both the main text and formatting instructions. To begin coding HTML you need a
standard text editor. Notepad is readily available on computer systems. You could also
use Dreamweaver or other text editors if installed. It is not advisable to use a word
processor.
Steps
37
CIT 322 COURSE GUIDE
Practice 1
Type in the HTML Codes in Example 5 and follow the steps in section 3.5. Run the
codes by clicking on the filename and see how it appears
4.0 CONCLUSION
38
CIT 322 COURSE GUIDE
HTML uses tags, which allow symbols or codes placed within the
opening, and closing tags to be rendered to a browser. Examples of
browsers include Internet explorer, Google Chrome, Firefox and so on.
Browser interprets mark-up codes and renders the page to displays units.
HTML permits the platform-independent display of information across
network.HTML can be used to place media (such as graphics, video, and
audio) on the Web page and to describe fill-in-forms.
5.0 SUMMARY
39
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Major Differences between XHTML and HTML5
3.2 Presentational Tags
3.3 Multimedia Elements
3.3.1 GIF Image File Format
3.3.2 The JPEG Image File Format
3.3.3 The PNG Image File Format
3.4 Image Element
3.5 HTML Music (audio) and Video Codes
3.6 Anchor Element
3.7 HTML Email Tag
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
Just as in word processor software, one would want to make text bold,
italicised, or underlined and apply other forms of formatting to texts.
With HTML, these are also possible with the tags that will be discussed
in this unit. The major differences between XHTML and HTML5 will be
exposed with various examples. Similarly, we shall also cover how to
embed multimedia (images, audio, and video) elements in Web pages.
2.0 OBJECTIVES
40
CIT 322 COURSE GUIDE
<html>
<head>
<body>
<p><b> National Open University of Nigeria </b> <br><i> National
Open University of Nigeria</i> <br><big> National Open University of
Nigeria</big> <br><small> National Open University of
Nigeria</small> <br><center> National Open University of
Nigeria</center> <br><sub> National Open University of Nigeria</sub>
<br><sup> National Open University of Nigeria</sup> <br><strike>
National Open University of Nigeria</strike> <br><u> National Open
University of Nigeria</u>
</p>
</body>
</head>
</html>
This will produce:
42
CIT 322 COURSE GUIDE
The Joint Photographic Experts Group (JPEG) developed the JPEG image file format.
As the name implies, JPEG is suitable for photographic images containing many
colour, as supports over 16.7 million colors (with 24-bit colour). They are easier to
download than gifs files and saves hard drive space because of the support of high
compression. It is best to use Jpegs for photo galleries, or artwork to allow the viewer
to catch that extra bit of detail.
The Portable Network Graphics (PNG - pronounced “ping”) image file format was
developed in response to several needs such as more efficient format and the
compression algorithm patent controversy associated with GIF format. It was created
as the free, open-source successor to the GIF. It combines the best of GIF and JPEG.
The PNG file format supports true colour (16 million colours) while the GIF supports
only 256 colours. The PNG file excels when the image has large, uniformly coloured
areas.
Images can be included within HTML documents with the IMG element tag <img>.
Images are used to enhance the appearance of web pages. Commonly used attributes
with the image element are shown in the table below:.
44
CIT 322 COURSE GUIDE
Image Src
From the above, src attribute stands for source; that is, the source where the image file
is located. The image may be directly available on your local system, a Web server or
any standard URL. The src attribute must be properly pointed to the local or external
source.
Image:
The alt attribute specifies alternate text to be displayed if for any reason,
the browser does not locate the specified image or if a user has image
files disabled. For browsers that support only text, the alternate attribute
becomes very relevant also.
Example HTML Code:
<img src="http://universitymedia.com/brokenlink/noun.gif" alt="Noun
Logo" />
Music and video can easily be inserted onto web page in a relatively easy
way by using the embed <embed> tags. In the past, multiple tags had to
be used because browsers did not have a uniform standard for defining
embedded media files. A src attribute is required to define the correct
URL (local or global) of the audio or video file in order for it to be
displayed correctly. Other attributes can be set in order to customise your
web pages.
Example: HTML Code for Music (Audio)
<embed src="nounanthems.mid" />
45
CIT 322 COURSE GUIDE
Below is the list of the most commonly used file formats for the internet.
Flash movies (.swf), AVI's (.avi), and MOV's (.mov) file types are supported by the
embed tag. The “.mpeg" files and Macromedia's “.swf” files are the most compact and
widely used for the design of web pages.
The HTML anchor <a> element is used to create a link or hyperlink reference (href)
to a resource such as another web page, a file, a multimedia element, and so on or to a
specific place within a web page. Each hyperlink begins with an <a> tag and ends
with an </a> tag. The opening and closing tags surround the text to click to perform
hyperlink. The anchor tag requires some attribute and value to work.
The href attribute defines reference that the link refers to. This is where the user will
be taken if they wish to click this link. Hypertext references can be Internal, Local, or
Global.
Example
<a href="http://nou.edu.ng">NOUN</a>
<a href="home.html">Home</a>
<a href="contactus.html">Contact Us</a>
<a href="register.html">Register</a>
<a href="login.html">Login</a>
In this example, when you click on NOUN, it will take you to the
website nou.edu.ng
To create e-mail link use a standard HTML anchor tag <a> and set the href property
equal to the email address, rather than specifying a Web URL.
Example: HTML Code
46
CIT 322 COURSE GUIDE
4.0 CONCLUSION
5.0 SUMMARY
This unit described the origin of HTML and the various advancement till
date. It shows how the text content of an HTML document could be
formatted with relevant HTML tags. By formatting, we mean layout and
some presentation details. We also discussed how multimedia elements
can be embedded into HTML documents to enhance their interactivity or
appearance.
Deitel, P. J., & Deitel, H. M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
47
CIT 322 COURSE GUIDE
Terry, F-M. (2009). Web Development and Design Foundations with XHTML. USA:
Pearson.
48
CIT 322 COURSE GUIDE
UNIT 3 TABLES
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 HTML Tables
3.2 Table Attributes
3.2.1 The Border Attribute
3.2.2 Spanning Multiple Rows and Cell
3.2.3 Table Heading – The <th> Element
3.2.4 CellPadding and Spacing
3.2.5 Colspan and Rowspan Attributes
3.2.6 The Width and Height Attributes
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
A table is layout mechanism that allows contents, which include text,
images, links, forms, and even other tables to be arranged into vertical
columns and horizontal rows. The rows and columns do not have to be
visible, nor do they have to be equal in size. Each block of space within a
table is called a table data cell. The size, background colours or
background images, border colours and other formatting can easily be
achieved by using Cascading Style Sheet (CSS). In HTML, tables are
created using the table tag, in conjunction with the tr and td as the basic
tags. Major formatting can be done on table using CSS.
2.0 OBJECTIVES
The <table> tag is used to begin a table. Within a table element are the
<tr> (table rows) and <td> (table columns) tags. Tables are can be used
49
49
CIT 322 COURSE GUIDE
to create site layout and server as container for forms or other elements. To create a
simple table of two rows and two columns the following HTML code can be used:
HTML Code:
<table border="1">
<tr><td>Row 1 Col 1</td><td>Row 1 Col
2</td></tr> <tr><td>Row 2 Col 1</td><td>Row 2
Col 2</td></tr> </table>
Basic Table
Row 1 Col 1 Row 1 Col 2
Row 2 Col 1 Row 2 Col 2
Table rows are defined by <tr> and </tr> while table data is defined by
<td> and </td>.
Let us now examine some attributes that are commonly used with tables.
Commonly used table <table> attributes include align, border, border colour, with,
height, cellspacing, cellpadding, bgcolour
This attribute is used to specify whether and what type of visible border the table will
have. The values specifies range from 0 to 100 with 0 indicating no border will be
visible and 1(relatively thin bother) -100 (very thick border). In the HTML code above,
we specified the value of the border attribute as 1.
The rowspan attribute is used to span multiple rows and while the colspan is used to
span multiple columns. To set headers table you need the <th> tags. Headers are by
default bold to make them different from other content of the table.
HTML Code:
<table border="1">
<tr>
<th>Column1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
50
CIT 322 COURSE GUIDE
Table heading can be defined using <th> element The <th>, or table
heading element is used to add heading to tables and distinguish column
heading from table content. Figure 3.1 shows a table that uses <td>
element.
<table border="1">
<tr>
<th>Name</th>
<th>Department</th>
</tr>
<tr>
<td>Okeke Ayo Sule</td>
<td>Economics</td>
</tr>
<tr>
<td>Etinosa Wada Erujeje </td>
<td>Computer Science</td>
</tr>
</table>
Name Department
Okeke Ayo Sule Economics
Etinosa Wada Erujeje Computer Science
51
51
CIT 322 COURSE GUIDE
The cellspacing Attribute: This attribute specifies the distance between the cells in
pixels. If a value is not specified for the cellspacing attribute, the default value (usually
around 2 pixels) is assumed by the browser.
The cellpadding attribute: This attribute specifies the distance in pixel between the
cell content and the edge of the cell. If you do not specify a value for the cellpadding
attributes, the default value which is 1 pixel is assumed by the browser. An example
with cellpadding set to 10 is shown in Figure 3.2.
HTML Code:
<table border="1" cellspacing="10"
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr><td>Row 1 Col1</td><td>Row 1
Col2</td></tr> <tr><td>Row 2 Col1</td><td>Row
2 Col2</td></tr> </table>
Cellspacing and Padding
Column 1 Column 2
Row 1 Col1 Row 1 Col2
Row 2 Col1 Row 2 Col2
Fig. 3.2a: Cellspacing
Let us now specify a value of 10 for the cellpadding of the table and
remove the cellspacing from the previous example.
HTML Code:
<table border="1" cellpadding="10"
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr><td>Row 1 Column1</td><td>Row 1
Column2</td></tr> <tr><td>Row 2 Column1</td><td>Row
2 Column2</td></tr> </table>
52
CIT 322 COURSE GUIDE
ColPads
Column 1 Column 2
Figure 3.3 shows a table with cellpading of five and cellspacing of five.
Name Department
53
CIT 322 COURSE GUIDE
The colspan Attribute: This attribute specifies the number of columns that a cell will
occupy. It is also used to merge two or more columns into a single column.
The rowspan attribute: This attribute specifies the number of rows that a cell will
occupy. The rowspan attribute is used to merge two or more rows.
<table border="1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
<tr><td rowspan="2">Row 1 Column1</td>
<td>Row 1 Column2</td><td>Row 1 Column3</td></tr>
<tr><td>Row 2 Column2</td><td>Row 2 Column3</td></tr>
<tr><td colspan="3">Row 3 Column1</td></tr>
</table>
The Width Attribute: This attribute specifies the width of the table in pixel or in
percentage of the Web page. The table will stretch to fit the entire width of the page if
100% is used. If width is not specified, the browser assumes the width of a particular
table automatically by using the width of the element and text it contains. The essence
of this attribute is to customize or control the display of tables on the Web page.
The Height Attribute: This attribute specifies the height of the table in either pixel or
the percentage of the Web page. This is more commonly used on <tr> and <td> tags.
54
CIT 322 COURSE GUIDE
Example 3.1
<table border="1" width="300"
height="120"> <tr>
<td>Row 1, Column 1</td>
<td>Row 1, Column 2</td>
</tr>
<tr>
<td>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
</table>
4.0 CONCLUSION
One of the most important features of HTML is its support for tables.
Tables help to present data in more understandable ways in a browser.
HTML tables work in a fashion similar to tables in Microsoft Word in
that it allows authors to build columns and rows containing most of the
other HTML elements and contents.
5.0 SUMMARY
How are tables more useful as layout mechanism than plain HTML?
Give an example that show their usefulness in this regard.
55
CIT 322 COURSE GUIDE
USA McGraw-Hill.
Deitel, P. J., & Deitel, H. M. (2008).Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press.
Terry, F-M. (2009). Web Development and Design Foundations with XHTML. USA:
Pearson.
56
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 The Form Element
3.2 HTML – Text Field /Box
3.3 HTML – Password Field
3.4 HTML – Checkbox Forms
3.5 HTML –Radio Form
3.6 HTML - Textarea
3.7 HTML –Selection Forms and Drop Down Lists
3.8 Submit Button
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
2.0 OBJECTIVES
57
CIT 322 COURSE GUIDE
The <form> tag is used to specify the beginning of a form area on a Web page while
the </form> tag is used to specify the end of a form area. Common attributes used to
the <form> tags are name, method, and action. These attributes are used to specify
what server-side program or file will process the form, how the form information will
be sent to the server, and the name of the form.
Name Attribute: This is an optional attribute and names the form. The name of the
form is required for it to be easily access by client scripting languages, such as
JavaScript (will be treated latter) to edit and verify the form prior to sending its
information for server-side processing
Method Attribute: This attribute is optional. The values GET or POST may be
specified. When GET is specified, it causes the form data to be appended to the URL
and sent to the Web server. When the value POST is specified for the attribute, it
transmits the form data in the body of the HTTP response. This is a more referred and
acceptable method.
Example 4.1 is a sample HTML fragment that defines a simple form that allows the
user to enter a first name, last name, department and the gender of a user. When the
submit button is activated, the form will be processed based on the instructions
contained a PHP script (process.php).
<FORM action="process.php”
method="post"> <P>
First name: <INPUT type="text" name="firstname"><BR>
Last name: <INPUT type="text" name="lastname"><BR>
Department: <INPUT type="text" name="dept"><BR>
<INPUT type="radio" name="gender" value="Male">
Male<BR> <INPUT type="radio" name="gender"
value="Female"> Female<BR>
<INPUT type="submit" value="Send"> <INPUT type="reset"
value=”Reset”>
</P>
58
CIT 322 COURSE GUIDE
</FORM>
Output
Text fields are small rectangles that allow a user to simply input some
text or numeric information, such as names, e-mail addresses, phone
number, and other text and submit the information to the web server. The
form element is configured by the <input /> tag. Common attributes of a
text box are type, size, maxlength, value and password.
You can control the size of the text area by specifying the size attribute.
The example below provides three different sizes for your text fields.
The default size is usually around 20 characters long. See example 2
<html>
<body>
<FORM action="process.php”
method="post"> <P>
First name: <INPUT type="text" name="firstname" size="20"><BR>
Last name: <INPUT type="text" name="lastname" size="19"><BR>
Department: <INPUT type="text" name="dept"
size="15"><BR> </P>
</FORM>
<body>
<html>
Output
59
CIT 322 COURSE GUIDE
First name:
Last name:
Department:
Fig. 4. 2: Textbox
When the value is specified, TextField Maxlength is used to limit the number of
characters a user can type into fields. It is a good programming practice to specify the
maxlength; generally, this should match the size of your field.
Example 3: HTML Code Textbox with Maxlength Attribute <html>
<body>
<FORM action="process.php” method="post"> <P>
First name: <INPUT type="text" name="firstname" size="20"
maxlength="20"><BR>
Last name: <INPUT type="text" name="lastname" size="20" maxlength="20"><BR>
Department: <INPUT type="text" name="dept" size="15" maxlength="15"><BR>
</P>
</FORM>
<body>
1
<html>
Practice 1
Run the program and attempt to enter data more than the maximum length
specified. Write down your experience in a sentence
The value attribute is used to pre-populate your text fields with some information. This
can then be manipulated with any scripting language such as PHP, PERL, etc. See
example 4 below.
Example 4: HTML Code for TextField value
<html>
<body>
1
60
CIT 322 COURSE GUIDE
<FORM action="process.php”
method="post"> <P>
First name: <INPUT type="text" name="firstname" size="20"
maxlength="20" value="Sule"><BR>
Last name: <INPUT type="text" name="lastname" size="20"
maxlength="20" Value="Okeke"><BR>
Department: <INPUT type="text" name="dept" size="15"
maxlength="15" Value="Economics"><BR>
</P>
</FORM>
<body>
<html/>
Sule
First name: Last
Okeke
name:
Economics
Department:
Password fields are a special type of <input /> tag. To implement them,
change the type attribute from text to password. Password field is used to
accept information that need to be hidden as it is entered. When a user
types in information in a password box, asterisks (i.e *) are displayed
instead of the characters that are being typed. This does not mean that the
data entered is encrypted. To encrypt data one must use a scripting
language to process the data captured. See example 5 below.
HTML Code:
<html>
<body>
<FORM action="process.php”
method="post"> <P>
MatNo: <INPUT type="text" name="matno" size="11"
maxlength="11"><BR>
User Name: <INPUT type="text" name="username" size="20"
maxlength="20"><BR>
61
CIT 322 COURSE GUIDE
MatNo: NOU123564
Okeke
User Name:
********
Password:
Checkboxes are another type of <input /> form. They are used for instances where a
user may wish to select some or all-multiple options. The “type” attribute must be set
to checkbox and set the name and value attributes. A sample checkbox code and the
corresponding form are shown in Example 6 and Figure 5 below.
<html>
<body>
<FORM action="process.php”
method="post"> <P>
<p>Please select the courses to register for the semester.</p>
CIT313: <input type="checkbox" name="courses"
value="CIT313" /><br />
CIT314: <input type="checkbox" name="courses"
value="CIT314" /><br />
CIT315: <input type="checkbox" name=" courses"
value="CIT315" /><br />
EDU325: <input type="checkbox" name="courses" value="EDU325"
/><br/>
</P>
</FORM>
<body>
<html>
62
CIT 322 COURSE GUIDE
<p>Please select the courses you want to register for the semester.</p>
CIT313: <input type="checkbox" checked =”yes” name="courses"
value="CIT313" /><br />
CIT314: <input type="checkbox" name="courses" value="CIT314"
/><br />
CIT315: <input type="checkbox" name=" courses" value="CIT315"
/><br />
EDU325: <input type="checkbox" name="courses" value="EDU325"
/><br/>
</P>
Output
Radios are types of input forms that allow a user to select exactly one
item from a group of predetermined items. In order to achieve this, we
must properly name each radio button selection accordingly. Thus, each
radio button in a group is given the same name and a unique value. The
codes for implementing radio buttons and the corresponding output are
shown in example 8 and Figure 6 respectively.
Example 9: HTML Code for Radio Button
63
CIT 322 COURSE GUIDE
Economics:
Computer Science:
Accounting:
By naming these three radios “department,” they are identified as being related by the
browser.
By using the checked attribute, you will be able to configure the radio button to be
selected by default when displayed by the browser. Example 10 shows the codes for
Radio Checked while Figure 7 shows the corresponding output on a browser.
Example 10: HTML Code for Radio Checked
Economics: <input type="radio" name="department” checked="yes" />
Computer Science: <input type="radio" name="department" />
Accounting: <input type="radio" name="department" />
Economics:
Computer Science:
Accounting:
This allows multi text field to be entered by a user. Paragraphs, essays, questions,
descriptions or memos can be cut and pasted into textareas and submitted. Textareas
have an opening tag <textarea> and a closing tag </textarea>. Example 11 and Figure 8
show the codes and the output of textarea on a browser respectively.
Example 3: HTML Code for Textarea
64
CIT 322 COURSE GUIDE
To adjust the size of the appearance of the text area requires two
attributes, cols and rows with numeric values. The larger the value the
larger the field will appear. Example 12 is a sample code for
implementing text area col and row.
Example 12: HTML Code for col and row in textarea
Drop down lists are the basic selection forms. The <select> container tag
along with the <option> tags are used to configure the select list. Other
names used to describe the drop down list are select list, select box, drop-
down box, and option box. Drop down lists have several options a user
can select. A sample code to implement drop down list and the
corresponding output on a browser are shown in example 13 and Figure
9.
Example 13: HTML Code for Drop Down
List <select>
<option>Economic </option>
<option>Computer Science </option>
<option>Accounting </option>
</select>
65
CIT 322 COURSE GUIDE
Submit
Submission buttons are a type of <input /> tag and is used to submit the form. To
achieve form submission, set the type attribute to submit. This creates a special type of
button in forms that will cause the browser to send the form data to the web server
provided there are available server scripting codes to achieve this.
Reset
Reset buttons exist to reset the fields of a form to its initial vales. See the codes in
example 14.
Example 14: HTML Code for Submit and Reset Buttons
Notice that in the above example we also changed what was written on
our button using the value attribute. This can be changed to any value
you wish.
Practice 2
Review the code in example 4.1, make some changes to it and run it.
4.0 CONCLUSION
Forms are important because they help Web page visitors to view data and gather or
submit information to a server. Form elements include text boxes, labels, lists, check
boxes and radio buttons. HTML tags that configure these form elements include the
<input/> and <textarea> tag. Forms usually need to call some type of server-side
processing scripts to perform functions such as updating a database, submitting form
data and sending a mail. The server side script can be written in PHP (Hypertext Pre-
processor) language, JSP (Java Server Pages), ColdFusion, and so on.
5.0 SUMMARY
In this unit, we discussed how to create and use form on Web Pages. You also learnt
how to configure elements of form such as text boxes, labels, checkboxes etc. In the
next module we shall be looking at how to design more attractive and interactive Web
pages.
66
CIT 322 COURSE GUIDE
ii. If you are to conduct a survey and ask your Web page visitors
to vote for their favourite candidate in an election, which of the
following form elements is best to use for this purpose?
a. check box b.
radio button c.
text box
d. scrolling text box.
Deitel, P. J., & Deitel, H. M. (2008).Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
68
CIT 322 COURSE GUIDE
MODULE 3
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Advantages of Cascading Style Sheets
3.2 Syntax of CSS
3.3 CSS Comments
3.4 Types of Cascading Style Sheets
Using CSS Classes
3.6 Style properties
1.0 INTRODUCTION
CSS stands for Cascading Style Sheets. It defines how to display HTML elements.
HTML was never intended to contain tags for formatting a document. It came as an
after thought. HTML was intended to define the content of a document, like:
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
The use of CSS enables all formatting to be removed from HTML document, and
stored in a separate CSS file. CSS helps to control the look and feel of HTML
documents in an organised and efficient manner. Thus with the use of CSS, a designer
will be able to achieve the following:
69
CIT 322 COURSE GUIDE
2.0 OBJECTIVES
Cascading style sheets are made up of rules that describe the styling to be
applied. A CSS rule has two main parts: a selector, and one or more
declarations:
In the above format, the selector is the heart and soul of CSS. It defines
which HTML elements that will be manipulated with CSS code. Each
declaration consists of a property and a value. The property is the style
attribute you want to change and each property has a value. A CSS
declaration always ends with a semicolon, while curly brackets surround
declaration groups.
70
CIT 322 COURSE GUIDE
p {colour:green;text-align:center;}
p
{
colour:green;
text-align:center;
}
Comments are used to explain code, and may help when editing the source code later.
Comments are not executed or run by browsers. The use of comment in CSS is
demonstrated in example 2.
A CSS comment begins with "/*", and ends with "*/", like this:
/*This is a comment*/
p
{
text-align:center;
/*This is another comment*/
color:black;
font-family:arial;
}
Cascading style sheets come in mainly in three flavours: internal, external, and inline.
We shall study these flavours in this unit.
This is defined in the header of a Web page and applies to the Web page document.
To use it, you must add a new tag, <style>, inside the <head>
70
71
CIT 322 COURSE GUIDE
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<p> National Open University of Nigeria
</p> </body>
</html>
The effect of the use of CSS is not easily noticed in this code. The code
style tag just tells the browser that we will be defining some CSS to be
used on this page.
<html>
<head>
<style type="text/css">
p {colour: white; }
body {background-colour: black; }
</style>
</head>
<body>
<p>This displays National Open University using white text on a black
background!</p>
</body>
</html>
Display:
This displays National Open University using white texts on a black
background!
72
CIT 322 COURSE GUIDE
What we did in the above example was to manipulate <p> and <body> which are
common HTML tags. In addition, we went through the following steps:
Stage 1
Stage 2
The use of external CSS helps to keep CSS separate from HTML codes. Placing CSS
in a separate file allows for easier maintenance of web pages. To use external CSS file,
we need to first create the required CSS code and save it with a ".css" file extension.
This CSS file is then referenced in your HTML codes using the <link> instead of
<style> tag.
Practice 1
Open up notepad.exe, or any other plain text editor and type the CSS codes in Example
5 above. Now save the file as a CSS (.css) file. Make sure that you are not saving it as
a text (.txt) file, as notepad likes to do by default. Name the file “test.css” (without the
quotes). Now create a new HTML file and fill it with the following code. Then save
this file as “example6.html” (without the quotes) in the same directory as your CSS
file. Now open your HTML file in your web browser and compare with what we have
in Figure 2.
73
CIT 322 COURSE GUIDE
</head>
<body>
<h3> Displays WELCOME with the style (red colour) specified for h3
</h3>
<p>This displays National Open University using white text on a black
background!</p>
</body>
</html>
Inline style can be coded in the body of the Web pages as an attribute of
HTML tag. Inline CSS has the highest priority out of external, internal,
and inline CSS. This means the inline style can override styles that are
defined in external or internal. To add a style inside an HTML element,
all we need to do is specify the desired CSS properties with the style
HTML attribute. Study Example 7 and Figure 3.
74
CIT 322 COURSE GUIDE
codes. We can demonstrate this by making two paragraphs that behave differently.
First we begin with the CSS, note the red text.
<html>
<body>
<p>This displays National Open University of Nigeria in a normal
paragraph.</p>
<p class="first">This displays National Open University of Nigeria in a
paragraph that uses the p.first CSS code!</p>
<p class="second"> This displays National Open University of Nigeria
in a paragraph that uses the p.second CSS code! </p> ...
Fig.1 4: Display
3.6 Background and Color Properties
background
– background: “color” / “#rrggbb” / url(“*.gif”)
color
– color : “color name” / “#rrggbb”
Eg. BODY{ Background:”red”;} // kindly use the American spelling for
your color or follow the keyboard settings
75
CIT 322 COURSE GUIDE
Font Properties
Properties Values
Font-family Arial, Monospace,
Font-style Normal, italic, oblique
Font-variant normal, small-caps
Font-size x-small, small, medium, large
Font-weight normal, bold, bolder, light, x-
large
CSS measurements
When you manipulate text and other objects with a style sheet, you often must
specify a length or size. CSS supports measurements such as
1) inches (in)
2) centimeters (cm)
3) millimeters (mm)
4) point size (pt)
5) pixels (px)
The background of your website is very important. With CSS, you are able to set the
background color of image of any CSS element. With
CSS, a colour is most often specified by:
a HEX value - like "#ff0000"
Colours can be produced for a number of page elements using the color names or
RGB, or hexadecimal codes as demonstrated in example 10.
h4 { background-colour: white; }
p { background-colour: #1078E1; }
body { background-colour: rgb( 149, 206, 145);
76
CIT 322 COURSE GUIDE
p { background-image: url(myPic.jpg); }
body {background-image:url('logo.gif');}
h4{ background-image: url(http://www.nou.ed.ng /pics/cssPic/logo.gif);
}
CSS allows a great control over the way text is displayed. Thus, one can change the
text size, color, style, and lots more can be achieved.
CSS colours are defined using a hexadecimal (hex) notation for the combination of
Red, Green, and Blue colour values (RGB). The lowest value that can be given to one
of the light sources is 0 (hex 00). The highest value is 255 (hex FF). This is
illustrated in Example 12.
h4 {color: red ;}
h5 {color: #9000A1 ;}
h6 {color: rgb (0,220, 60) ;}
h4{font-family:sans-serif;}
h5{font-family:serif;}
h6 { font-family: arial;}
77
CIT 322 COURSE GUIDE
Font sizes are used to manipulate the size of fonts by using values, percentages, or key
terms. Key terms are not very useful; the common terms are xx-large, x-large, large,
medium, small, x-small, and xx-small. One may use values if one does not want the
user to be able to increase the size of the font. Percentages are used when one wants to
change the default font, but does not want to set a static value. This is illustrated by
Example 14.
p{font-size:120%;}
body{font-size:10px;}
h1{ font-size: x-large;}
By default, texts on any website are aligned to the left. If a different alignment is
required, specify it by using the text-align attribute. This is illustrated in Example 15.
p { text-transform: capitalize; }
h5{ text-transform: uppercase; }
h6{ text-transform: lowercase; }
4.0 CONCLUSION
Cascading style sheets refers to a unique processing approach by which multiple style
sheets may be applied to single Web page but is supported by all style sheet languages.
There are many advantages, which result from using style sheets to apply stylistic
formatting to Web pages. For example, a Web developer can separate documents
available to many pages in a Web site, thus enabling the developer to apply similar
styles
78
CIT 322 COURSE GUIDE
across many documents while having to modify styles in one file when
there is a need.
5.0 SUMMARY
Deitel, P. J., & Deitel, H. M. (2008).Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
79
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Inserting a JavaScript into an HTML page
3.2 JavaScript Comments
3.3 Where to Locate JavaScript in a Program
3.4 JavaScript Statements
3.5 JavaScript Variables
3.6 Arithmetic Operators and Expressions
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 Reference/Further Reading
1.0 INTRODUCTION
2.0 OBJECTIVES
• explain JavaScript
• write simple JavaScript programs
• use arithmetic operators
• use JavaScript to make web pages interactive.
80
CIT 322 COURSE GUIDE
<html>
<body>
<scripttype=”text/javascript”>
document.write(“Welcome to National Open University of Nigeria”);
</script>
</body>
</html>
In this example, the “document.write” command is a standard JavaScript
command for writing output to a page. By entering the document.write
command between the <script> and </script> tags, the browser will
recognise it as a JavaScript command and execute the code line.
81
CIT 322 COURSE GUIDE
To use multi line comments start with /* and end with */. Example 4 is used to
illustrate the use of multi line comments (/* */).
<scripttype="text/javascript">
/*
My details as a student of the National Open University of Nigeria are displayed
in the next three paragraphs
*/
document.write("<p>My Name is Ade Musa Okeke </p>"); document.write("<p>I am
in the School of Science and Technology.</p>");
document.write("<p>My Matriculation Number is NOU031111.</p>"); </script>
<bodyonload="message()">
</body>
</html>
If one does not want a script to be placed inside a function, or if one‟s script should
write page content, it should be placed in the body section.
82
CIT 322 COURSE GUIDE
<html>
<head>
</head>
<body>
<scripttype="text/javascript">
document.write("This message is written by JavaScript");
</script>
</body>
</html>
To use JavaScript as external file, first it has to be written and saved with
a .js file extension. Then point to the .js file in the “src” attribute of the
<script> tag. Example 4 illustrates the use of JavaScript as an external
file.
<html>
<head>
<scripttype="text/javascript"src="extfile.js"></script>
</head>
<body>
</body>
</html>
<scripttype="text/javascript">
document.write("<p>My Name is Ade Musa Okeke </p>");
document.write("<p>I am in the School of Science and
Technology.</p>");
document.write("<p>My Matriculation Number is NOU031111.</p>");
</script>
83
CIT 322 COURSE GUIDE
JavaScript statements can be grouped together in blocks. Blocks start with a left curly
bracket {, and ends with a right curly bracket}. The purpose of a block is to make the
sequence of statements execute together. In Example 6, the three lines of the student‟s
details are treated as a block.
<scripttype="text/javascript">
{
document.write("<p>My Name is Ade Musa Okeke </p>");
document.write("<p>I am in the School of Science and
Technology.</p>");
document.write("<p>My Matriculation Number is NOU031111.</p>");
}
</script>
A variable is declared by preceding it with the keyword var. Example 7 shows valid
declaration of variables in JavaScript.
var examscore
var radius
var greetings;
84
CIT 322 COURSE GUIDE
Assignment Statement
amt =10;
Given that Y=10, the table below explains the arithmetic operators:
85
CIT 322 COURSE GUIDE
The list above is similar to that of basic mathematics. The only symbol that might look
new is the modulus (“%”), which divides one operand by another and returns the
remainder as its result. In addition, the + operator can be used to add string variables or
text values together.
txt1="NationalOpen";
txt2="UniversityofNigeria";
txt3=txt1+txt2;
After the execution of the statements above, the variable txt3 will contain “National
Open University of Nigeria.”
Practice 1
The program below computes the area of a circle. Type the codes ising a text editor
preferably notepad.exe. Save an HTML file and open it with a browser. What is the
result?
<html>
<body>
<scripttype="text/javascript">
varradius=5;
var area =radius * radius * 3.14159
document.write("The Area of the Circle with
radius=5”+area); document.write("<br/>");
}
</script>
</body>
</html>
86
CIT 322 COURSE GUIDE
4.0 CONCLUSION
5.0 SUMMARY
Deitel, P. J., & Deitel, H. M. (2008).Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
87
CIT 322 COURSE GUIDE
Terry, F-M. (2009). Web Development and Design Foundations with XHTML. USA:
Pearson.
88
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Logical Statement
3.2 Decision Making
3.3 Iteration on JavaScript
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References / Further Reading
1.0 INTRODUCTION
JavaScript programs will be executed in the order in which statements are written
except for the use of control statements with the scripts. The use of control statements
can lead to the conditional, repeated and alteration of the normal sequential flow of
control. Control statements in JavaScript are similar to their counterparts in C/C++ and
Java. They are thus easy to learn.
2.0 OBJECTIVES
When writing a program, it may become necessary that some sets of statements to be
executed are based on the outcome of a logical expression iN Comparsion and logical
operators would be required. As the names connote, they allow for comparison of
values. They are used with if, while, switch, and for statements to accomplish
decision or iterative constructs in programming. One may be interested in testing if
one operand is greater than, less than, equal to, or not equal to another operand. The
majority of these operators will probably look familiar as in other programming
languages. The result obtained is usually a true or
89
CIT 322 COURSE GUIDE
false which further determines which statement the computer should execute.
Comparison Operators
Logical Operators
Logical operators are used to determine the logic between variables or values. Given
that X=5 and Y=10, the Table 3 explains the results of the use of logical operator in the
expressions.
One may wish to test the value of a variable, and perform different tasks based on the
outcome of the test. For instance, one may need to check the examination score of a
student to know whether he passed or failed and what grade he made. One can use
conditional statements in one‟s code to achieve this. Conditional statements are used to
perform different actions based on different conditions. The “if and switch” commands
are commonly used to implement the conditional statement.
90
CIT 322 COURSE GUIDE
We shall briefly examine the different construct of the “if and switch” statements.
Syntax
If(condition)
{
code to be executed if condition is true
}
Example 1
<script type="text/javascript">
var examscore = 80;
var result;
if (examscore >= 70)
{
result = “Pass”;
document.write ("<b>Congratulation, You Passed </b>");
}
</script>
If...else Statement
This is used to execute some codes if the condition is true and another
code if the condition is false.
Syntax
if(condition)
{
code to be executed if condition is true
}
else
{
code to be executed if condition is not true
}
Example 2
<script type="text/javascript">
var examscore = 80;
var result;
if (examscore >= 45)
91
CIT 322 COURSE GUIDE
{
result = “Pass”;
document.write("<b>Congratulation, You Passed </b>");
}
else
{
result = “Fail”;
document.write("<b> You Failed, Try again</b>");
}
</script>
Syntax
switch(m)
{ case1:
executecodeblock1
break;
case2:
executecodeblock2
break;
.
.
.
casem:
executecodeblockm
break;
default:
code to be executed if m is different from case 1,Case 2, ...Case m }
It works by evaluating a single expression m (most often a variable). The value of the
expression is then compared with the values for each case in the structure. If there is a
match, the block of code associated
92
CIT 322 COURSE GUIDE
with that case is executed. The break command is used to prevent the
code from running into the next case automatically. We examine this by
looking at a program that displays the day of the week based on a user
selection.
Example 3
<script type="text/javascript">
var dayoftheWeek;
switch (dayoftheWeek)
{
Case 1: document.write("<b>Today is Sunday </b>");
break;
}
Case 2: document.write("<b>Today is Monday </b>");
break;
{
Case 3: document.write("<b>Today is Tuesday </b>");
break;
}
{
Case 4: document.write("<b>Today is Wednesday</b>");
break;
}
{
Case 5: document.write("<b>Today is Thursday </b>");
break;
}
{
Case 6: document.write("<b>Today is Friday</b>");
break;
}
{
Case 7: document.write("<b>Today is Saturday </b>");
break;
}
{
Default: document.write("<b>There are 7 Days in a week
</b>"); break;
}
</script>
93
CIT 322 COURSE GUIDE
Startvalue : This holds the value of the initial state of the variable to be tested. It is
usually done as an assignment.
Condition: The condition to be tested for. The statement keeps processing as long as
it remains true.
Example 4
<html>
<body>
<scripttype="text/javascript">
varnum=0;for(i=0;num<=100;num+)
{
document.write("The Next No is " + num);
document.write("<br />");
}
</script>
</body>
</html>
94
CIT 322 COURSE GUIDE
Example 4 defines a loop that starts with i=0. The loop will continue to
run as long as i is less than, or equal to 100. i will increase by 1 each time
the loop runs. The loop will generate integer numbers from 0 to 100
numbers.
The “while statement” test a condition, and when true, repeatedly runs a
block of code until the condition is no longer true.
While (expression) {
Statements;
}
Example 5
<html>
<body>
<scripttype="text/javascript">
varnum=0;
while(num<=100)
{
document.write("The Next number is " +num); document.write("<br
/>");;
}
</script>
</body>
</html>
Example 6
95
CIT 322 COURSE GUIDE
Example 7
<html>
<body>
<scripttype="text/javascript">
varnum=0;
do
{
document.write("The next number is " + num);
document.write("<br />");
}
while (num<=10);
</script>
</body>
</html>
4.0 CONCLUSION
The normal execution of statements in a program is one after the other in the order in
which they are written. This process is called sequential execution. Programmer can
however, specify the order in which statements should be executed by using control
constructs/statement. Some of these constructs have been covered in this units.
5.0 SUMMARY
In this unit, we have covered the basic statements required to implement Control
Constructs in JavaScript. In the next unit, we shall cover events and events handlers.
ii. Write a script that outputs HTML text that keeps displaying in
the browser
window the multiples of the integer 2, namely 2,4, 8, 16, 32, 64, 128, etc.
Ensure that your loop terminates when the value 2048576 is printed.
96
CIT 322 COURSE GUIDE
Deitel, P. J., & Deitel, H. M. (2008).Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press
97
CIT 322 COURSE GUIDE
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 JavaScript Popup Boxes
3.2 JavaScript Functions
3.3 JavaScript Events
3.4 Events Handlers
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 Reference/Further Reading
1.0 INTRODUCTION
The word “event” as used in relation to computer programming usually signifies some
sort of action or occurrence. As will be further discussed in this unit, an event refers to
a repositioning of the mouse cursor, a mouse click, the filling of a form, or the pressing
of the enter key. JavaScript lets one reacts to these events by specifying the relevant
attribute in the object‟s HTML tag called an event handler. To use an event handler, it
has to be included in the HTML tag. Most times, a function is created to handle an
event. A function is lines of JavaScript code that perform some action or action(s).
2.0 OBJECTIVES
Popup boxes are used to display a message, along with an “OK” button. Depending on
the popup box, it might also have a “Cancel” button, and one might also be prompted
to enter some text JavaScript has three
98
CIT 322 COURSE GUIDE
different types of popup box available for one to use. They are Alert
box, Confirm box, and Prompt box.
An alert box is often used if one wants to make sure information comes
through to the user. When an alert box pops up, the user will have to
click "OK" to proceed.
Syntax
alert("sometext");
Example 1
<html>
<head>
<script type="text/javascript">
function show_confirm()
{
var r=confirm("Press a button");
if (r==true)
{
alert("You pressed OK!");
}
else
{
alert("You pressed Cancel!");
}
}
</script>
</head>
<body>
</body>
</html>
99
CIT 322 COURSE GUIDE
Syntax
confirm("sometext");
Example 2
<html>
<head>
<scripttype="text/javascript">
functionshow_confirm()
{
varr=confirm("Pressabutton");
if(r==true)
{
alert("You pressed OK!");
}
else
{
alert("YoupressedCancel!");
}
}
</script>
</head>
<body>
<input type="button" onclick="show_confirm()" value="Show confirm
box"/>
</body>
</html>
A prompt box is often used if the user is required to input a value before entering a
page. When a prompt box pops up, the user will have to click either “OK” or “Cancel”
to proceed after entering an input value. If the user clicks “OK”, the box returns the
input value. If the user clicks “Cancel,” the box returns null.
Syntax
prompt("sometext","defaultvalue");
100
CIT 322 COURSE GUIDE
Example 3
<html>
<head>
<script type="text/javascript">
function show_prompt()
{
var name=prompt("Please enter your
name","Myname"); if (name!=null && name!="") {
Syntax
functionfunctionname(var1,var2,...,varX)
{
101
CIT 322 COURSE GUIDE
somecode
}
The parameters var1, var2, and so on are variables or values passed into the function.
The {and the} defines the start and end of the function.
Note: A function with no parameters must include the parentheses () after the
function name.
Note the word function is in lower case and when a call is made, it has to be spelt
correctly.
Example 4
<html>
<head>
<scripttype="text/javascript">
functionnounmessage()
{
alert("Welcome to National Open University of Nigeria!");
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick=" nounmessage ()" />
</form>
</body>
</html>
102
CIT 322 COURSE GUIDE
The return statement is used to specify the value that is returned from the
function. Therefore, functions that are going to return a value must use
the return statement.
The example below returns the area of a rectangle that is, length *
breadth
Example 5
<html>
<head>
<scripttype="text/javascript">
functionarea(length,breadth)
{
returnlength*breadth;
}
</script>
</head>
<body>
<scripttype="text/javascript">
document.write(area(10,15));
</script>
</body>
</html>
The script that is used to detect and respond to an event is called an event
handler. Event handlers are among the most powerful features of
JavaScript.
103
CIT 322 COURSE GUIDE
Event Description
Use this to invoke JavaScript upon clicking (a
onclick:
link, or form boxes)
Use this to invoke JavaScript after the page or an
onload:
image has finished loading.
Use this to invoke JavaScript if the mouse passes
onmouseover:
by some link
Use this to invoke JavaScript if the mouse goes
onmouseout: pass some link
Use this to invoke JavaScript right after someone
onunload:
leaves this page.
The onSubmit event is used to validate ALL form
fields before submitting it.
onSubmit
4.0 CONCLUSION
One very simple response to an event is to display a dialog box. JavaScript provides
three types of dialog boxes: alert box, confirmation box, and prompt box. Events allow
scripts to respond to a user who is moving the mouse, entering form data or pressing
keys. Events and event handlers help to make web application more responsive,
dynamic and interactive.
104
CIT 322 COURSE GUIDE
5.0 SUMMARY
Event such as the onclick and onsubmit events can be used to trigger
scripts. JavaScript events, which allow scripts to respond to users‟
interaction and modify the pages, accordingly have been discussed in
this unit.
i. Name three JavaScript event handlers and describe how they are
used. Create a Web page that incorporates them.
ii. What are some practical uses of alert boxes?
Deitel, P. J., & Deitel, H. M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press
105
CIT 322 COURSE GUIDE
MODULE 4
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 XML Basics
3.2 Creating and Modifying XML Documents
3.3 Processing XML Documents
3.4 Validating XML Documents
3.5 Formatting and Manipulating XML Documents
3.6 Viewing an XML Document in Web Browser
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
106
CIT 322 COURSE GUIDE
2.0 OBJECTIVES
XML permits documents authors to create markup (that is, text-based notation for
describing data) for virtually any type of information. This enables document
authors to create entirely new markup languages for describing any type of data,
such as mathematical formula, software configuration instructions, chemical
molecular structures, music, new recipes and financial reports. XML describes data
in a way that both human beings and computer can understand. XML is not a
replacement for HTML. HTML is about displaying information, while XML is
about carrying information. XML uses tags to structure data. The tags are not
predefined- every developer is expected to define his/her tags. XML is designed to
be self-descriptive. Tags are markup construct that begins with "<" and ends with
">". Tags come in three flavours: start-tags, for example <section>, end-tags, for
example </section>, and empty-element tags, for example <line-break />. An
element‟s start and end tags enclose text that represents a piece of data. Every XML
document must have exactly one root element that contains all the other elements.
XML documents may begin by declaring some information about themselves, as in
the following example.
107
CIT 322 COURSE GUIDE
<MailingAddress>
<University>National Open University of Nigeria
</University>
<School>Science and Technology</School>
<Programme>Computer Science</Programme>
</MailingAddress>
</MyPersonalDetails>
From the codes above, XML did nothing at all. It is just information wrapped in tags.
Someone must write a piece of software to send, receive or display it. The first line of
code tells the version and character encoding being used by this XML document. The
second line of code tells what kind of information or XML document. The XML
applications that will use the codes in example 1, will looked at the root or parent tag
in the XML document. Here, it is <MyPersonalDetails >, which is not defined by
XML. XML allows authors to create their own XML tag to be used in each document.
XML, like any other languages, is capable of having two or more child tags or
commonly known as nested tags. The <FullName> tag has three child tags, so on and
so forth. Also, XML tags are case sensitive. Meaning we cannot declare <
MyPersonalDetails > opening tag with a closing tag of </myPersonalDetails >.
Opening and closing tags must be written with the same case:
XML allows one to describe data precisely in a well-formed format. XML document
are highly portable. Any text editor such notepad of software that supports
ASCII/Unicode characters can open XML documents for viewing and editing. An
XML document is created by typing XML codes into a text editor and then save the
document with a filename and a .xml extension. Most Web browsers can display
XML documents in a formatted manner that shows the XML‟s structure.
To process an XML document, you would need an XML parser (or XML processor).
A parser is software that checks that the document follows the syntax rules specified
by the W3C‟s XML recommendation and makes the document‟s data available to
application. A parser would for example check an XML document to ensure that there
is a single root element, a start tag for each element, and properly nested tags (that is,
the end tag for a nested element must appear before the end tag of the enclosing
element). Furthermore, XML is case sensitive, so the proper capitalisation must be
used in elements as in Example 1. A document that conforms to this syntax is
108
CIT 322 COURSE GUIDE
In addition to being well formed, an XML document may be valid. This means that it
contains a reference to a Document Type Definition (DTD) and that its elements and
attributes are declared in that DTD and follows the grammatical rules for them that
the DTD specifies. A DTD is an example of a schema or grammar. Since the initial
publication of XML 1.0, there has been substantial work in the area of schema
languages for XML. Such schema languages typically constrain the set of elements
that may be used in a document, which attributes may be applied to them, the order in
which they may appear, and the allowable parent/child relationships.
109
CIT 322 COURSE GUIDE
how to process, manipulate or display the data. Extensible Stylesheet Language (XSL)
can be used to specify rendering instructions for different platforms. XML-processing
programs can also search, sort and manipulate XML data using XSL. Other popular
XML-related technologies are: XPath XML Path Language (XPath), which is used for
accessing parts of an XML document, XSL Formatting Objects (XSL-FO), which is a
XML vocabulary used to describe document formatting, and XSL Transformations-
language (XSLT) used for transforming XML documents into other documents.
Example 1 shows a simple listing of a text file for detail2.xml. This document does
not contain formatting information for the detail2.xml. This is because XML is a tool
for describing the structure, storage and transferring of data across disparate
format/sources. Formatting and displaying data from an XML document is achieved
in different ways within specific application platform. For instance, when the user
loads detail2.xml in the Internet Explorer, MSXML (Microsoft XML Core Services)
or Firefox, it will be parsed and display the document data. Each browser has a built-
in style sheet to format the data. Note that the resulting format of the data in Example
1 is similar to the format of the listing in Figure 2.1. The XML document will be
displayed with colour-coded root and child elements. A plus (+) or minus sign (-) to
the left of the elements can be clicked to expand or collapse the element structure. To
view the raw XML source (without the + and - signs), select “View Page Source” or
“View Source” from the browser menu. Although these symbols are not part if the
XML document, both browser place them next to every container element. A minus
sign indicates that the browser is displaying the container element child element.
Clicking the minus sign next to an element collapses that element (that is, it causes the
browser to hide the container element‟s children) and replace the minus sign with a
plus). Conversely, clicking the plus sign next to an element expands the elements (that
is, it causes the browser to display the container elements children and replace the plus
sign with a minus sign). This behaviour is similar to viewing the directory structure on
one‟s system in Windows Explorer or another similar directory viewer. In fact, a
directory structure often is modelled as a series of tree structure in which the root of
the tree represents a disk drive for instance C: and nodes in the tree represent
directories. Parsers often store XML data as tree structure to facilitate efficient
manipulation as discussed.
110
CIT 322 COURSE GUIDE
4.0 CONCLUSION
Within the last two decades of the introduction of XML, it has been used to create
hundreds of languages which include XHTML ,WSDL for describing available web
services, WAP and WML as markup languages for handheld devices, RSS languages
for news feeds, RDF and OWL for describing resources and ontology, SMIL for
describing multimedia for the web etc. In addition, XML-based formats have become
the default for most office-productivity tools, including Microsoft Office (Office
Open XML) and Apple's iWork.
5.0 SUMMARY
XML describes data in a way that both human beings and computer can understand.
It enhances the storage and exchange of data amongst disparate computer systems. In
this unit, we covered how to create, modify, validate, format, process and view XML
documents in a browser.
111
CIT 322 COURSE GUIDE
Deitel, P. J., & Deitel, H. M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press
112
CIT 322 COURSE GUIDE
CONTENTS
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Directories
3.1.2 Search Engines
3.2 Components of a Search Engine
3.3 Listing in a Search Engine and Search Index
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
Quite a number of collections of search tools are available today that allow users to
find information on the Web quickly and easily. Two basic approaches have evolved
in response to the need to organise and to locate information on the World Wide
Web. These are directories and search engines. A directory offers a hierarchy
representation of hyperlinks to Web pages and presentation broken down into topics
and subtopics. On the other hand, a search engine is a set of programs that is used to
search for information within a specific realm and collate that information in a
database. Although search engine is really a general class of programs, the term is
often used to specifically describe Internet search engines like Google, Alta Vista and
Excite. They enable users to search for documents on the World Wide Web, FTP
servers and USENET newsgroups. Search engines can also be devised for offline
content, such as a library catalogue, the contents of a personal hard drive, or a
catalogue of museum collections. Generally search engines help people to organise
and display information in a way which makes it readily accessible.
2.0 OBJECTIVES
113
CIT 322 COURSE GUIDE
A search tools is software that enables a user to quickly and easily gain access to
information. The collection of search tools is constantly evolving with new ones
coming on the scene and others disappearing. In this unit, we shall consider two basic
approaches that have evolved in response to the need to organise and locate
information on the World Wide Web: directories and search engines. Both approaches
allow information about Web pages that is contained in some database that already has
been created either manually or using special programs that search the Web pages to be
assess quickly and easily. A request for information is answered by the search tool
retrieving the information from its already-constructed database of indexed Web
details. Other definitions that relate to searching information on the Web are as
follows:
Search Terminology
Search tool: This refers to any mechanism for locating information on the Web.
Examples include search or metasearch engine, and directory.
Metasearch engine: This refers to an all-in-one search engine that performs a search
by calling on more than one other search engine to do the actual work.
Query: This refers to the information entered into a form on a search engine‟s Web
page that describes the information being sought.
Query Syntax: This term is used to describe, the set of rules describing what
constitute a legal query on some search engines, special symbols may be used in a
query.
Query Semantic: This term is used to describe a set of rules that defines the meaning
of a query.
Hit: This refers to a URL that a search engine returns in response to a query.
Relevancy score: This refers to a value that indicates how close a match, a URL
was to a query; usually expressed as a value from 1 to 100, with the higher score
meaning more relevant.
114
CIT 322 COURSE GUIDE
3.1.1 Directories
www.google.com
www.looksmart.com
www.lycos.com
www.dmoz.com
www.yahoo.com
A recent survey ranking the market share of web search engine carried
out by Rapid app 2020, showed
• Google is 90%,
• Bing is 75%
• Yahoo is 6.69%,
• Baidu is 3.39%,
• Yandex is 3.29% and
• Other is 1.98%.
a) User Interface
b) Databases
115
CIT 322 COURSE GUIDE
a) User Interface
The user interface is a mechanism by which users submit queries to the search engine
by typing a keyword or phrases to search into the text box. When the form is
submitted, the data typed into the text box is sent to a server-side script that searches
the database using the keywords entered. Afterwards, search results are displayed in
the browser containing a list of information, such as the URLs for Web pages that meet
the users‟ criteria. This result set is formatted with a link to each page along with
additional information that might include the page title, a brief description, the first
few lines of text, or the size of the page and a relevancy score for each hit. This way,
the user is able to make an informed choice as to which hyperlinks to follow.
Hyperlinks to help files are usually displayed prominently, and advertisement should
not hinder a reader‟s use of the search engine. The order in which pages are displayed
may depend on paid advertisement, alphabetical order, and link popularity. Each
search engine has its own policy for ordering the search results. The policies can
change over time.
b) Database
A database is a collection of information organised so that its contents can easily be
accessed, managed and updated. Databases management systems (DBMSs) such as
Oracle, Microsoft SQL Server, Informix, MySQL or IBM DB2 are used to configure
and manage the database. The databases associated with search engines are extremely
large indexed pages that require a highly efficient search strategy to retrieve
information from them. Computer scientists have spent years developing efficient
several searching and sorting strategies, which are implemented in the search. The
information displayed as results of your search is usually from the database accessed
by the search engine site. Some search engines, such as AOL and Netscape use a
database provided by Google.
c) Robot
A robot (sometimes called a spider) is a program that automatically traverses the
hypertext structure of the Web by retrieving a Web page document and following the
hyperlinks on the page. It moves like a robot spider on the Web, accessing and
documenting Web pages. It requests pages from a website in the same way as
Microsoft Explorer, or Firefox and any other browser does it. Spider does not collect
images or formatting details. It is only interested in text and links and the URL from
which they come. The spider categorises the pages and stores information about the
Web site and the Web pages in a database. Various robots may work differently, but in
general, they access and may store important information on web pages such as title,
meta tag
116
CIT 322 COURSE GUIDE
keyword, meta tag description, and some of the text on the page (usually either the
first few sentences of the text contained in the heading tags). For multimedia
elements in web pages to be indexed, the “alt” tag should be used in order to have
values in the search engines. The spider software works in conjunction with the index
software. This uses the information collected by the spider. The spider takes the
information it has gathered about a web page and sends it to the index software
where it is analysed and stored. The index makes sense of the mass of text, links and
URLs using an algorithm, which refers to a complex mathematical formula that
indexes the words, the pairs of words and so on. The algorithm analyses the pages
and links for word combinations to determine what the web pages are all about that
is, what topics are being covered. Then, scores are assigned that allow the search
engine to measure how relevant or important the web pages (and URLs) might be to
the user or visitor. Major search engines such as Google, Yahoo or Bing use
proprietary algorithm for scoring.
The components of a search engine (robot, database and search form) work together
to obtain information about Web pages, store information about Web pages, and
provide a graphical user interface to facilitate searching for and displaying a list of
Web pages relevant to given key words. In recent times, search engines have become
one of the top methods used to drive traffic to ecommerce sites. Though very
effective, it is not always easy to get listed in a search engine or search directory.
Recently, there is a trend away from free listing in search engines. Current trends
entail paying for listing consideration in a search engine or directory. These
approaches include an express submit or express inclusion, paying for preferential
placement in search engine displays (called sponsoring or advertising), and paying
each time a visitor clicks the search engine‟s link to your site. Yahoo and Google use
the terms Calls its Sponsor Results and Google AdWords respectively. In these
programs, payment is made when the site is submitted for review. If accepted, the
site has a listing usually at the top or right margin of the search results. In addition to
the initial fee, the Web site owners must pay each time a visitor clicks on the search
engine link to their site-this is called a cost-per-click (CPC).
4.0 CONCLUSION
A web search engine is designed to search for information on the World Wide Web,
FTP servers USENET newsgroup, and so on. The search results, which may consist
of web pages, images, information and other types of files, are generally presented in
a list of results and are often called hits. Some search engines also mine data
available in databases or
117
CIT 322 COURSE GUIDE
open directories. Unlike web directories, which are maintained by human editors,
search engines operate algorithmically or are a mixture of algorithmic and human
input.
5.0 SUMMARY
Search engines use automated software programs to survey the Web and build their
databases. Web documents are retrieved by these programs and analysed. Data
collected from each web page are then added to the search engine index. Each search
engine uses a proprietary algorithm to create its indices such that, ideally, only
meaningful results are returned for each query. The best URLs are then returned to the
user as hits, ranked in order with the best results depending on the algorithm used by
the search engine at the top.
Deitel, P. J., & Deitel, H. M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press
119
CIT 322 COURSE GUIDE
1.0 Introduction
2.0 Objectives
3.0 Main Content
3.1 Artificial Intelligence
3.2 Programming languages
3.3 Frameworks
3.4 Voice commands
3.5 Interactivity
3.6 Adaptability
3.7 One-page sites
4.0 Conclusion
5.0 Summary
6.0 Tutor-Marked Assignment
7.0 References/Further Reading
1.0 INTRODUCTION
Advances in Internet technology have led to the release of several tools for Web
development. Many of the tools are easy to use and made available to the public as
open source to aid in development. A popular example is the LAMP (Linux, Apache,
MySQL, PHP) stack, which is usually distributed free of charge. The availability of
free tools has greatly influenced the rate at which many people around the globe setup
new Web sites daily. Easy to use software for Web development include amongst
others: Adobe Dreamweaver, Netbeans, WebDev, or Microsoft Expression Studio,
Adobe Flex, and so on. By using these software, virtually anyone can develop a Web
page in a matter of minutes. Knowledge of Hypertext Markup Language (HTML) or
other programming language is not usually required, but is recommended for
professional results. Newer generation of web development tools use the strong growth
in LAMP, Java Platform, Enterprise Edition technologies and Microsoft .NET
technologies to provide the Web as a way to run applications online. Web developers
now help to deliver applications as Web services, which were traditionally only
available as applications on a desk, based computer. Thus, instead of running
120
CIT 322 COURSE GUIDE
executable code on a local computer, users can now interact with online applications to
create new contents. This has enabled new methods in communication and allowed for
many opportunities to decentralise information and media distribution. In this unit, we
shall discuss other technologies, models and tools that enhance easy development of
Web applications.
2.0 OBJECTIVES
Artificial intelligence (AI) has been described as the future of the world. This has no
restriction to field specification as showed in several decades. This is seen when
physical strength is being replaced by robots, and the greatest minds began to work on
the full automation of our lives.
It is possible to ignore the existence of this for a while in automating the production of
products, consumer goods, cars and other things. Either we like it or not, AI is
sneaking into our lives much deeper than we think. A typical example of the
application of AI is the smart home, voice search, home cleaning robots, autopilot
among others. Each of them already has its embodiment in the market.
121
CIT 322 COURSE GUIDE
up with React in times of popularity and use. Xiaomi is another well known brands that
has completely switched to using Vue.
3.4 VOICE COMMANDS
Voice command is one of the applications of AI. It was not previously noticeable
because the functionality was not perfect. Products with high quality voice input were
disproportionally expensive. Voice search is not as fast as the text input because the
browser needs time for a clear speech recognition. However, it takes on a new look and
influences the development of most web services as seen in figure 3.4.
3.5 INTERACTIVITY
Interactivity if one of the influences of web development. The task of the developer is
to make the most convenient and practical use of all applications. That is why web
services will be more interactive.
One example of an interactive application is the Genesis car dealer website. Instead of
flipping through hundreds of pages, the user can explore the car with a mouse click.
The functionality allows you to collect your car through; colour selection, equipment
selection and wheel selection. In short, the buyer will be able to change everything that
does not affect the characteristics of the car.
3.6 ADAPTABILITY
Decades ago, we visit web pages only from a computer. Recently, the use of
smartphones and tables has taken over because their functionality and performance is
much higher. In web applications, mobile phones are not inferior to computers. The
only difference is the screen size. Ease and convenience of the graphics should not
suffer because of different monitors as graphically seen in figure 3.6.
122
CIT 322 COURSE GUIDE
Cloud computing refers to the use and access of multiple server-based computational
resources via a digital network (WAN, Internet connection using the World Wide Web,
and so on). Cloud users may access the server resources using a computer, netbook,
pad computer, smart phone, PDA, or other devices. In cloud computing, applications
are provided and managed by the cloud server and data are stored remotely in the
cloud configuration. Users do not download and install applications on their own
device or computer; all processing and storage is maintained by the cloud server. The
on- line services are usually offered by a cloud provider or by a private organisation.
Before the advent of cloud computing, tasks such as using word processing would not
be possible without the installation of application software on a user‟s computer. A
user would need to purchase a license for each application from a software vendor and
obtained the right to install the application on one computer system. As computer
technologies advanced, local area networks (LAN) and more networking capabilities,
the client-server model of computing were born, where server computers with
enhanced capabilities and large storage devices could be used to host application
services and data for a large workgroup. In a client-server computing environment, a
network-friendly client version of the application was required on client computers,
which utilised the client system's resources (memory and CPU for processing), even
though the resultant application data files (such as word processing documents) were
123
CIT 322 COURSE GUIDE
stored centrally on the data servers. In this case, many users on a network purchased
multiple user licenses of an application for use. Cloud computing differs from the
classic client-server model discussed in module one of this course material, by
providing applications from a server that are executed and managed by a client's web
browser, with no installed client version of an application required. Cloud computing
provides computation, software, data access, and storage services that do not require
end-user knowledge of the physical location and configuration of the system that
delivers the services. One may compare this scenario with the concept drawn from the
electricity grid, wherein end-users consume power without needing to understand the
component devices or infrastructure required to provide the service. The reason behind
centralisation is to give cloud service providers complete control over the versions of
the browser-based applications provided to clients, which removes the need for version
upgrades or license management on individual client computing devices. In addition,
cloud computing describes a new supplement, consumption, and delivery model for
information technology service based on Internet protocols, and in most cases
typically involves provisioning of dynamically scalable and often virtualised
resources. It is a by-product and consequence of the ease-of-access to remote
computing sites provided by the Internet. This may take the form of web-based tools
or applications that users can access and use through a web browser as if they were
programs installed locally on their own computers. The term “Software as a service”
(SaaS) is at times used to describe application programs offered through cloud
computing.
3.3 Blogs
A blog is a blend of the term “Web log.” It is a type of Website or part of a Website.
Many blogs provide commentary or news on a particular subject; others function as
more personal online diaries. A typical blog combines text, images, and links to other
blogs, Web pages, and other media related to its topic. The ability of readers to leave
comments in an interactive format is an important part of many blogs. Most blogs are
primarily textual, although some focus on art (art blog), photographs (photoblog),
videos (video blogging), music (MP3 blog), and audio (podcasting). Microblogging is
another type of blogging, featuring very short posts. Most blogs are interactive,
allowing visitors to leave comments and even communicate with each other via
widgets on the blogs. This interactivity distinguishes them from other static websites.
Entries are commonly displayed in reverse-chronological order. Many blogs are
hosted at blog communities such as http://blogspot.com.
3.4 RSS
Really Simple Syndication or Rich Site Summary (RSS) is commonly used to create
newsfeed from blog postings and other Web sites. The RSS feeds contain a summary
of new items posted to the site. Web feeds benefit publishers by letting them syndicate
content automatically. They benefit readers who want to subscribe to timely updates
from favoured websites or to aggregate feeds from many sites into one place. RSS
feeds can be read using software called an “RSS reader”, “feed reader”, or
“aggregator”, which can be web-based, desktop-based, or mobile-device-based. Some
browser, such as Firefox, Safari, and Internet 7 can display RSS feeds. A standardised
XML file format allows the information to be published once and viewed by many
different programs. The user subscribes to a feed by entering into the reader the feed‟s
124
CIT 322 COURSE GUIDE
URL or by clicking a feed icon in a Web browser that initiates the subscription
process. The RSS reader checks the user‟s subscribed feeds regularly for new work,
downloads any updates that it finds, and provides a user interface to monitor and read
the feeds. RSS allows users to avoid inspecting all of the websites they are interested in
manually, and instead subscribe to Websites such that all new content is pushed onto
their browsers when it becomes available. By providing up-to-date, linkable content
for anyone to use, RSS enables website developers to draw more traffic. It also allows
users to get news and information from many sources easily and reduces content
developers time. RSS simplifies importing information from portals, weblogs and news
sites. Any piece of information can be syndicated via RSS, not just news.
3.5 Podcasts
Podcasts are typically audio files, delivered by an RSS feed on the Web. They may
also be made available by recording an MP3 file and providing a link on a Web page.
They usually would take the format of an audio blog, interview or radio show. These
files can be saved to your computer or to an MP3 player (such as iPod) for later
listening.
3.6 Wiki
A wiki is a Web site that allows immediate update by visitors using a simple form on a
Web page at any time. Some wikis are designed to serve a small group of people such
as the members of an organisation. The most powerful and popular wiki is Wikipedia
which is accessible at the URL (http:://Wikipedia.org). It is an online encyclopaedia,
which can be updated by any registered user at anytime. Wiki is a form of social
software in action where visitors sharing their collective knowledge can create a
resource freely used by all. Though there have been isolated cases of practical jokes
and occasionally inaccurate information posted at Wikipedia, the information and
resources provided is still good enough as starting point when exploring a topic.
3.7 Microformat
125
CIT 322 COURSE GUIDE
The Resource Description Framework (RDF), developed by the World Wide Web
consortium (W3C) is one way of making the Web more meaningful. It is based on
XML and used to describe content in a way that is understood by computers. RDF
helps connect isolated databases across the web with consistent semantics. The
structure of any expression in RDF is a collection of triples. RDF triples consist of
two pieces of information (subject and object) and linking fact (predicate).
3.9 Ontologies
3.11 Mashups
126
CIT 322 COURSE GUIDE
Widgets are commonly referred to as gadgets. They are mini applications designed to
run either as stand alone or as add-on features in Web pages. Widgets can be used to
for the personalization of a user‟s Internet experience. Some personalised services may
include the display of real-time weather conditions, viewing of maps, receiving event
reminder, providing easy access to search engines, aggregating RSS feeds, and so on.
The robustness of web services, APIs and other related tools make it easy to develop
Widgets. Several catalogs of widgets exist online with the most all-inclusive being
Widgipedia which provides an extensive widgets and gadgets for a variety of platform.
The term “Web 2.0” is associated with Web applications that facilitate participatory
information sharing, interoperability, user-centred design, and collaboration on the
World Wide Web. A Web 2.0 site allows users interact and collaborate with each other
in a social media dialogue as creators (prosumers) of user-generated content in a
virtual community, in contrast to websites where users (consumers) are limited to the
passive viewing of content that was created for them. Examples of Web 2.0 include
social networking sites, blogs, wikis, video sharing sites, hosted services, web
applications, mashups and folksonomies. Web 2.0 websites allow users to do more
than just retrieve information. By increasing what was already possible in Web 1.0,
they provide the user with more user-interface, software and storage facilities, all
through their browser. Users can provide the data that is on a Web 2.0 site and exercise
some control over that data. These sites may have an “Architecture of participation”
that encourages users to add value to the application as they use it. The Web 2.0 offers
all users the same freedom to contribute.
127
CIT 322 COURSE GUIDE
as the sending of requests can complete quicker independent of blocking and queuing
required sending data back to the client. The data fetched by an Ajax request is
typically formatted in XML or JSON (JavaScript Object Notation) format, which
constitute the two widely, used structured data formats. Since both of these formats are
natively understood by JavaScript, a programmer can easily use them to transmit
structured data in their web application. When this data is received via Ajax, the
JavaScript program then uses the Document Object Model (DOM) to dynamically
update the web page based on the new data, allowing for a rapid and interactive user
experience. In short, using these techniques, Web designers can make their pages
function like desktop applications. For example, Google Docs uses this technique to
create a Web based word processor. Adobe Flex is another technology often used in
Web 2.0 applications. Compared to JavaScript libraries like jQuery, Flex makes it
easier for programmers to populate large data grids, charts, and other heavy user
interactions.[ Applications programmed in Flex, are compiled and displayed as Flash
within the browser. Flash is capable of doing many things which were not possible
pre-HTML5, the language used to construct web pages. Out of the many capabilities,
of Flash, the most commonly used in Web 2.0 is its ability to play audio and video
files. This has allowed for the creation of Web 2.0 sites where video media is
seamlessly integrated with standard HTML. In addition to Flash and Ajax,
JavaScript/Ajax frameworks have recently become a very popular means of creating
Web 2.0 sites. At their core, these frameworks do not use technology any different
from JavaScript, Ajax, and the DOM. What frameworks do is smooth over
inconsistencies between web browsers and extends the functionality available to
developers. Many of them also come with customisable, prefabricated “widgets” that
accomplish such common tasks as picking a date from a calendar, displaying a data
chart, or making a tabbed panel. On the server side, Web 2.0 uses many of the same
technologies as Web 1.0. New languages such as PHP, Ruby, Perl, Python, JSP and
ASP are used by developers to dynamically output data using information from files
and databases. What has begun to change in Web 2.0 is the way this data is formatted.
In the early days of the Internet, there was little need for different websites to
communicate with each other and share data. In the new “participatory web”, however,
sharing data between sites has become an essential capability. To share its data with
other sites, a website must be able to generate output in machine-readable formats such
as XML (Atom, RSS, etc) and JSON. When a site‟s data is available in one of these
formats, another website can use it to integrate a portion of that site's functionality into
itself, linking the two together. This is one of the hallmarks of the philosophy behind
the Web 2.0 movement.
128
CIT 322 COURSE GUIDE
3.15 XHTML
4.0 CONCLUSION
The Internet is playing a great role in the delivery of contents to users all across the
world. Many researches are going on every day to make it more accessible, available,
interactive, meaningful and responsive to users‟ needs. Most of the information in this
unit has been presented for you to keep up-to-date with current Internet and Web
programming developments.
5.0 SUMMARY
In this unit, we covered current and emerging topics in Web development, which are
aimed at making web contents easier to develop and having the responsiveness, look
and feel of traditional desktop applications.
i. Web services
ii. Blogs
iii. Cloud Computing
iv. Ontologies
v. Widgets and Gadgets
129
CIT 322 COURSE GUIDE
Deitel, P. J., & Deitel, H. M. (2008). Internet and World Wide Web: How
to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hall.
Idowu, S.A., Maitanmi, S.O. & Adetunji, O. O. (2020). Introductory to Web
Technology and Development. Nigeria: Jamiro Press
130
CIT 322 COURSE GUIDE
131