Module 4 - Programming and The World Wide Web

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 110

LEARNER GUIDE

Programming and the World Wide Web


Module 4

Unit Standard 115374

Unit Standard 115378

Unit Standard 115385

Unit Standard 115391

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p1 of 110
Revision: 1.0 Date: 16 June 2018
M4 Programming and the World Wide Web - Learner Guide p2 of 110
Learner Information:
Details Please Complete this Section
Name & Surname:
Organisation:
Unit/Dept:
Facilitator Name:
Date Started:
Date of Completion:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p3 of 110
Demonstrate an understanding of the use of web-sites in
business (US 115374)

Learner’s Guide
Unit Std # 115374
NQF Level 5
Notional hours 40
Credit(s) 4
Field Field 03 - Physical, Mathematical, Computer and Life Sciences
Sub-Field Information Technology and Computer Sciences
Qualification National Certificate: Information Technology (Systems Development) LEVEL
5- SAQA- 48872- 131 CREDITS

Table of contents

Specific Outcome 1 : Discuss the use of web sites in business.


 The discussion outlines the primary basis on which web sites are designed
 The discussion identifies different uses of the Internet as business tool
Specific Outcome 2 : Demonstrate an understanding of the basic concepts of web-site design for
business use.
 The demonstration identifies the basic concepts to apply to design and production of the web
pages
 The demonstration explains the use of techniques to make the web site accessible and popular
 The demonstration recognises the need to protect a web site

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p4 of 110
NOTIONAL HOURS BREAKDOWN

The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:

TIMEFRAME

Total Notional Hours Contact Time Non contact-


Self-Study/Assessment
Credits (4) x 10 = 40 12HRS 28HRS
1. Learning Programme REFER TO COVER PAGE
Name:
2. SAQA Qualification/Unit REFER TO COVER PAGE
Standard Title:
3. Qualification/ 4 SAQA ID 5 NQF 5 6 Credits 4
Unit Standard . Number . Level .
7. PURPOSE for offering REFER TO NEXT PAGE
this programme to your
learners:

8. TARGET AUDIENCE for REFER TO NEXT PAGE


this specific
programme:

9. Entry/Admission REFER TO NEXT PAGE


Requirements:

10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 12 hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =28 hrs.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p5 of 110
The Learner guide

At the end of this unit standard you will be able to Demonstrate an understanding of the
use of web-sites in business

Purpose:
People credited with this unit standard are able to: 

People credited with this unit standard are able to:


Discuss the use of web sites in business
Demonstrate an understanding of the basic concepts of web-site design for business useThe
performance of all elements is to a standard that allows for further learning in this area.

Specific outcome:

 Discuss the use of web sites in business
 Demonstrate an understanding of the basic concepts of web-site design for
business use

Learning assumed to be in place:


The credit value of this unit is based on a person having prior knowledge and skills to:
Demonstrate PC competency skills (End-User Computing unit Standards, at least up to NQF
level 3.)
 Demonstrate an understanding of the principles of the Internet

Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p6 of 110
Resources (selective resources might be used, depending on the facilitator and venue
circumstances), one or all of the following can be used:
 Your facilitator/mentor
 Learning material
 Learner workbook
 Visual aids
 White board
 Flip chart
 Equipment
 Training venue

Venue, Date and Time:


Consult your facilitator should there be any changes to the venue, date and/or time.
Refer to your timetable.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p7 of 110
Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
 Information for you to read
 Exercises that require you to have a problem-solving approach to communication
 Questions for you to answer
 Case studies with questions that follow

How to do the exercise:

 The facilitator will tell you which exercise you need to complete each day.
 You need to hand in your answers to the facilitator who will mark it for correctness.
 If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
 Ask the facilitator for help, if you do not understand any of the questions asked.
 Always remember to give reasons for your answers

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p8 of 110
SPECIFIC OUTCOME 1:

Discuss the use of web sites in business.


ASSESEMENT CRITERIA
 The discussion outlines the primary basis on which web sites are designed
 The discussion identifies different uses of the Internet as business tool

1.1 Outline the primary basis on which web sites are designed

1.1.1 What is Web Design?


Design is the process of collecting ideas, and aesthetically arranging and implementing them,
guided by certain principles or basics for a specific purpose.

Web design is a similar process of creation, with the intention of presenting the content on
electronic web pages, which the end-users can access through the internet with the help of a
web browser.

1.1.2 Basics of Web Design

Web design uses many of the same key visual elements as all types of design such as:

a) Layout: This is the way the graphics, ads and text are arranged. In the web world, a key
goal is to help the view find the information they seek at a glance. This includes
maintaining the balance, consistency, and integrity of the design.
b) Colour: The choice of colours depends on the purpose and clientele; it could be simple
black-and-white to multi-coloured design, conveying the personality of a person or the
brand of an organization, using web-safe colours. The following principles of design
should be applied to colour.

i. Balance: Balance is the distribution of heavy and light elements on the page.
Larger, darker elements appear heavier in the design than smaller, lighter
elements. The principle of balance shows you how to lay out your pages so that
they work.

ii. Contrast: When most people think of contrast, they typically think of colours or
black and white. But there is more to contrast than colour. You can have

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p9 of 110
contrasting shapes (square vs. circle), or contrasting sizes (large vs. small), or
contrasting textures (smooth vs. rough).

iii. Emphasis: Emphasis is what the eye is drawn to in a design. It's tempting to give
everything equal emphasis or try to emphasize everything in a design, but this
ends up making the design bland and flat. Instead, as a designer you should
determine the hierarchy of the page and then apply the emphasis to the
elements based on that hierarchy.

iv. Rhythm: Rhythm is also called repetition. Rhythm brings an internal consistency
to your Web designs. Patterns are easy for humans to comprehend, and
repetition provides patterns that make your site easier to comprehend.

v. Unity: Unity is also called proximity. It is the principle of keeping like elements
together and diverse elements further apart. Unity pulls elements together.

vi. Harmony: in visual design means all parts of the visual image relate to and
complement each other.

c) Graphics: Graphics can include logos, photos, clipart or icons, all of which enhance the
web design. For user friendliness, these need to be placed appropriately, working with
the colour and content of the web page, while not making it too congested or slow to
load.
d) Fonts:  The use of various fonts can enhance a website design. Most web browsers can
only read a select number of fonts, known as "web-safe fonts", so your designer will
generally work within this widely accepted group.
e) Content: Content and design can work together to enhance the message of the site
through visuals and text. Written text should always be relevant and useful, so as not to
confuse the reader and to give them what they want so they will remain on the site.
Content should be optimized for search engines and be of a suitable length,
incorporating relevant keywords.

1.2 Different uses of the Internet as business tool

The Internet is a powerful tool that can make business more productive and profitable. It has been
observed that when the Internet and email are used effectively, they help streamline business
activities, communicate more efficiently with customers and even generate new customers or clients

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p10 of 110
—while helping to reduce business expenses. The following are different uses of the internet as a
business tool.

i. Reach a worldwide audience The Internet is a worldwide network allowing you to reach


people even very expensive advertising could not.

ii. Provide product information Give customers direct access to information about your
products. Some people prefer to learn about products on their own. The Internet has an
unsurpassed ability to make information about your company's products or services
available to potential customers. It also provides the information when the customer wants
it (now).

iii. Save on literature costs Providing the information online reduces the need to print and mail
product literature, thereby resulting in significant cost reductions.

iv. Augment/replace phone banks Often people staffing phone banks are serving merely as
interfaces to computer databases. In an age of graphical, networked computing, this
function is less necessary. Simple graphical interfaces can be designed to allow customers to
find the information they want quickly and inexpensively.

v. Provide easy access to customer service representatives Human interaction cannot be


totally replaced by even the best graphical interface. When customers have a question, or
would like to speak with a person, provide a list of contacts and phone numbers or allow
them to send e-mail directly to a customer service representative, requesting that they be
contacted.

vi. Level your customer service load How many customers are turned away unsatisfied when
your customer service lines are busy? How often do you have slack times when customer
support personnel are not handling calls but still cost your business money? E-mail provides
"asynchronous communication" that can help level the load. Customers with problems that
do not require immediate attention can send an e-mail message through your Web site
which can be handled when support people are not busy. Telephone-tag is eliminated for
your customers, and you.

vii. Inexpensively create/augment your corporate image It is easy and inexpensive to define
your image on the Internet, whether you are a one-person-company or a large corporation.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p11 of 110
If your company information changes rapidly due to market forces, there is no easier way to
change your image than electronically.

viii. Recruit new employees Many companies (now nearly all), provide current information
about job openings and attract talented people from places they could not reach otherwise.

ix. Provide useful information to attract customers Ski shops often have a board listing local
snow conditions. Search sites like " yahoo " and " Lycos " provide useful search services for
the Web. Providing useful information to potential customers is a good way to get them to
come to your site and return again and again (a property now called "stickiness").
x. Provide your service on-line Many products and services can be delivered over the Internet.
Online services will become an even brighter option for many businesses. Since the
transaction is electronic, billing and inventory control can be automated, increasing accuracy
and reducing your accounting and product storage costs.

xi. Give customers access to searchable information Computers on the Internet allow


companies to post information in the form of static Web pages. But, with some of the latest
software (or some clever programming) , these computers can also help your customers find
the information you are providing quickly. Federal Express created an award winning Web
site that allows customers to track their packages. In doing this, Fed- Ex is providing a useful
customer service while also promoting their product (service).

xii. Help customers understand why they need you Another thing computers do well is provide
artificial intelligence, expertise, or analysis. The Internet allows you to deliver custom
software applications and extend your expertise virtually. Suppose you manufacture
thermopane windows. A spreadsheet application could allow potential customers to
determine how much money they would save in energy costs if they installed your windows.
A financial services company could allow potential customers to analyse their investments in
light of a financial service the company offers.

xiii. Let customers try a sample of your product or service Many new Web tools are becoming
available that will allow consumers to try out a sample of what you have to offer before they
buy. Gain a competitive advantage by offering a "test drive" of your product or service.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p12 of 110
xiv. Eliminate the middleman Middlemen exist in some industries where there are barriers to
direct contact between producers and consumers. The Internet is a vehicle for removing
these barriers. This lowers prices for consumers and increases profits for producers.

xv. On-line commerce This has been much touted in the popular press. Some products and
services are well suited for sales on-line. Rapid growth in this area will occur as secure credit
card transactions become (are now) standardized. Efficiency of shipping and delivery
methods for hard goods is important for typically impatient internet shoppers.

xvi. Consider an Intranet Use the same Internet technology within your company to help
workers communicate better and work more productively. Many companies are finding an
Intranet to be a much more cost effective solution to their network information needs than
proprietary software.

xvii. Reduced Mailing Expenses Using Internet resources for your business can reduce or
eliminate the need for traditional postal mailing and all of the costs associated with that
contact method. The Internet makes it easy to stay in contact with your customers via email
and online networking tools such as discussion boards, chat rooms, and social networking
sites like Facebook.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p13 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p14 of 110
SPECIFIC OUTCOME 2 :
Demonstrate an understanding of the basic concepts of web-site
design for business use.
ASSESEMENT CRITERIA
 The demonstration identifies the basic concepts to apply to design and production of the web
pages
 The demonstration explains the use of techniques to make the web site accessible and popular
 The demonstration recognises the need to protect a web site

2.1 Creating User-Friendly Web Design

Besides the basic elements of web design that make a site beautiful and visually compelling, a
website must also always consider the end user. User-friendliness can be achieved by paying
attention to the following factors.

a) Navigation: Site architecture, menus and other navigation tools in the web design must be
created with consideration of how users browse and search. The goal is to help the user to
move around the site with ease, efficiently finding the information they require.

b) Multimedia: Relevant video and audio stimuli in the design can help users to grasp the
information, developing understanding in an easy and quick manner. This can encourage
visitors to spend more time on the webpage.

c) Compatibility: Design the webpage, to perform equally well on different browsers and


operating systems, to increase its viewing.

d) Technology: Advancements in technology give designers the freedom to add movement and


innovation, allowing for web design that is always fresh, dynamic and professional.

e) Interactive: Increase active user participation and involvement, by adding comment boxes and
opinion polls in the design. Convert users from visitors to clients with email forms and
newsletter sign-ups.

f) Web design professionals create excellent User Interface (UI) Design for a satisfying web
experience. They use critical planning and analysis for the design and they pay attention to

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p15 of 110
individual client specifications, converting the intricate process into a simple and elegant piece
of art.

g) Don’t make users think: According to Krug’s first law of usability, the web-page should
be obvious and self-explanatory. When you’re creating a site, your job is to get rid of
the question marks — the decisions users need to make consciously, considering pros, cons
and alternatives.

If the navigation and site architecture aren’t intuitive, the number of question marks grows
and makes it harder for users to comprehend how the system works and how to get from
point A to point B. A clear structure, moderate visual clues and easily recognizable links can
help users to find their path to their aim.

Let’s take a look at an example. Beyondis.co.uk claims to be “beyond channels, beyond


products, beyond distribution”. What does it mean? Since users tend to explore web-sites
according to the “F”-pattern, these three statements would be the first elements users will
see on the page once it is loaded.

Although the design itself is simple and intuitive, to understand what the page is about the
user needs to search for the answer. This is what an unnecessary question mark is. It’s
designer’s task to make sure that the number of question marks is close to 0. The visual
explanation is placed on the right hand side. Just exchanging both blocks would increase
usability.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p16 of 110
Expression Engine uses the very same structure like Beyondis, but avoids unnecessary
question marks. Furthermore, the slogan becomes functional as users are provided with
options to try the service and download the free version.

By reducing cognitive load you make it easier for visitors to grasp the idea behind the system.
Once you’ve achieved this, you can communicate why the system is useful and how users can
benefit from it. People won’t use your web site if they can’t find their way around it.

(h) Don’t squander users’ patience

In every project when you are going to offer your visitors some service or tool, try to keep
your user requirements minimal. The less action is required from users to test a service, the
more likely a random visitor is to actually try it out. First-time visitors are willing to play with
the service, not filling long web forms for an account they might never use in the future. Let
users explore the site and discover your services without forcing them into sharing private
data. It’s not reasonable to force users to enter an email address to test the feature.

As Ryan Singer — the developer of the 37Signals team — states, users would probably be
eager to provide an email address if they were asked for it after they’d seen the feature work,
so they had some idea of what they were going to get in return.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p17 of 110
Stikkit is a perfect example for a user-friendly service which requires almost nothing from the
visitor which is unobtrusive and comforting. And that’s what you want your users to feel on
your web site.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p18 of 110
Apparently, Mite requires more. However the registration can be done in less than 30 seconds
— as the form has horizontal orientation, the user doesn’t even need to scroll the page.

Ideally remove all barriers, don’t require subscriptions or registrations first. A user registration
alone is enough of an impediment to user navigation to cut down on incoming traffic.

(i) Manage to focus users’ attention

As web-sites provide both static and dynamic content, some aspects of the user interface
attract attention more than others do. Obviously, images are more eye-catching than the text
— just as the sentences marked as bold are more attractive than plain text.

The human eye is a highly non-linear device, and web-users can instantly recognize edges,
patterns and motions. This is why video-based advertisements are extremely annoying and
distracting, but from the marketing perspective they perfectly do the job of capturing users’
attention.

Humanized.com perfectly uses the principle of focus. The only element which is directly visible
to the users is the word “free” which works attractive and appealing, but still calm and purely
informative. Subtle hints provide users with enough information of how to find more about
the “free” product.

Focusing users’ attention to specific areas of the site with a moderate use of visual elements
can help your visitors to get from point A to point B without thinking of how it actually is

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p19 of 110
supposed to be done. The less question marks visitors have, the better sense of
orientation they have and the more trust they can develop towards the company the site
represents. In other words: the less thinking needs to happen behind the scenes, the better is
the user experience which is the aim of usability in the first place.

(j) Strive for feature exposure

Modern web designs are usually criticized due to their approach of guiding users with visually
appealing 1-2-3-done-steps, large buttons with visual effects etc. But from the design
perspective these elements actually aren’t a bad thing. On the contrary, such guidelines are
extremely effective as they lead the visitors through the site content in a very simple and
user-friendly way.

Dibusoft.com combines visual appeal with clear site structure. The site has 9 main navigation
options which are visible at the first glance. The choice of colours might be too light, though.

Letting the user see clearly what functions are available is a fundamental principle of
successful user interface design. It doesn’t really matter how this is achieved. What matters is
that the content is well-understood and visitors feel comfortable with the way they interact
with the system.

(k) Make use of effective writing

As the Web is different from print, it’s necessary to adjust the writing style to users’
preferences and browsing habits. Promotional writing won’t be read. Long text blocks without
images and keywords marked in bold or italics will be skipped. Exaggerated language will be
ignored.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p20 of 110
Talk business. Avoid cute or clever names, marketing-induced names, company-specific
names, and unfamiliar technical names. For instance, if you describe a service and want users
to create an account, “sign up” is better than “start now!” which is again better than “explore
our services”.

Eleven2.com gets directly to the point. No cute words, no exaggerated statements. Instead a


price: just what visitors are looking for.

An optimal solution for effective writing is to

 use short and concise phrases (come to the point as quickly as possible),

 use scannable layout (categorize the content, use multiple heading levels, use visual

elements and bulleted lists which break the flow of uniform text blocks),

 use plain and objective language (a promotion doesn’t need to sound like advertisement;

give your users some reasonable and objective reason why they should use your service or
stay on your web-site)

(l) Strive for simplicity

The “keep it simple”-principle (KIS) should be the primary goal of site design. Users are rarely
on a site to enjoy the design; furthermore, in most cases they are looking for the
information despite the design. Strive for simplicity instead of complexity.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p21 of 110
Crcbus provides visitors with a clean and simple design. You may have no idea what the site is
about as it is in Italian, however you can directly recognize the navigation, header, content
area and the footer. Notice how even icons manage to communicate the information clearly.
Once the icons are hovered, additional information is provided.

From the visitors’ point of view, the best site design is a pure text, without any advertisements
or further content blocks matching exactly the query visitors used or the content they’ve been
looking for. This is one of the reasons why a user-friendly print-version of web pages is
essential for good user experience.

Finch clearly presents the information about the site and gives visitors a choice of options
without overcrowding them with unnecessary content.

(m) Don’t be afraid of the white space

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p22 of 110
Actually it’s really hard to overestimate the importance of white space. Not only does it help
to reduce the cognitive load for the visitors, but it makes it possible to perceive the
information presented on the screen. When a new visitor approaches a design layout, the first
thing he/she tries to do is to scan the page and divide the content area into digestible pieces
of information.

Complex structures are harder to read, scan, analyze and work with. If you have the choice
between separating two design segments by a visible line or by some whitespace, it’s usually
better to use the whitespace solution. Hierarchical structures reduce complexity (Simon’s
Law): the better you manage to provide users with a sense of visual hierarchy, the easier your
content will be to perceive.

White space is good. Cameron.io uses white space as a primary design element. The result is a
well-scannable layout which gives the content a dominating position it deserves.

(n) Communicate effectively with a “visible language”

In his papers on effective visual communication, Aaron Marcus states three fundamental


principles involved in the use of the so-called “visible language” — the content users see on a
screen.

 Organize: provide the user with a clear and consistent conceptual structure. Consistency,

screen layout, relationships and navigability are important concepts of organization. The same
conventions and rules should be applied to all elements.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p23 of 110
 Economize: do the most with the least amount of cues and visual elements. Four major

points to be considered: simplicity, clarity, distinctiveness, and emphasis. Simplicity includes


only the elements that are most important for communication. Clarity: all components should
be designed so their meaning is not ambiguous. Distinctiveness: the important properties of
the necessary elements should be distinguishable. Emphasis: the most important elements
should be easily perceived.

 Communicate: match the presentation to the capabilities of the user. The user interface

must keep in balance legibility, readability, typography, symbolism, multiple views, and colour
or texture in order to communicate successfully. Use max. 3 typefaces in a maximum of 3
point sizes — a maximum of 18 words or 50-80 characters per line of text.

(o) Conventions are our friends

Conventional design of site elements doesn’t result in a boring web site. In fact, conventions are
very useful as they reduce the learning curve, the need to figure out how things work. For
instance, it would be a usability nightmare if all web-sites had different visual presentation of
RSS-feeds. That’s not that different from our regular life where we tend to get used to basic
principles of how we organize data (folders) or do shopping (placement of products).

With conventions you can gain users’ confidence, trust, reliability and prove your
credibility. Follow users’ expectations — understand what they’re expecting from a site
navigation, text structure, search placement etc

A typical example from usability sessions is to translate the page in Japanese (assuming your
web users don’t know Japanese, e.g. with Babelfish) and provide your usability testers with a
task to find something in the page of different language. If conventions are well-applied, users
will be able to achieve a not-too-specific objective, even if they can’t understand a word of it.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p24 of 110
Steve Krug suggests that it’s better to innovate only when you know you really have a better
idea, but take advantages of conventions when you don’t.

(p) Test early, test often

This so-called TETO-principle should be applied to every web design project as usability tests
often provide crucial insights into significant problems and issues related to a given layout.

Test not too late, not too little and not for the wrong reasons. In the latter case it’s necessary
to understand that most design decisions are local; that means that you can’t universally
answer whether some layout is better than the other one as you need to analyse it from a
very specific point of view (considering requirements, stakeholders, budget etc.).

Some important points to keep in mind:

 Testing one user is 100% better than testing none and testing one user early in the project

is better than testing 50 near the end. According to Boehm’s first law, errors are most
frequent during requirements and design activities and are the more expensive the later
they are removed.

 Testing is an iterative process. That means that you design something, test it, fix it and then

test it again. There might be problems which haven’t been found during the first round as
users were practically blocked by other problems.

 Usability tests always produce useful results. Either you’ll be pointed to the problems you

have or you’ll be pointed to the absence of major design flaws which is in both cases a
useful insight for your project.

2.2 The need to protect a web site

If you are a website owner or developer, you are probably aware of the threat of hackers. It seems
you cannot go a day without hearing about someone or some group hacking a website or stealing
credit card and other sensitive data from ecommerce sites. Once placed on a website, malware can
then be used to spread viruses, steal personal or financial data, and even hijack computers. It is not
easily detected and may infect your customers' computers after they visit your website. Ultimately,
this negatively affects your company's reputation and can result in lost business.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p25 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p26 of 110
Demonstrate an understanding of advanced object-oriented
programming(US 115378)
Learner’s Guide
Unit Std # 115378
NQF Level 6
Notional hours 14
Credit(s) 140
Field Field 03 - Physical, Mathematical, Computer and Life Sciences
Sub-Field Information Technology and Computer Sciences
Qualification National Certificate: Information Technology (Systems Development) LEVEL
5- SAQA- 48872- 131 CREDITS

Table of contents

Specific Outcome 1 : Demonstrate an understanding of inheritance in object oriented


programming (OOP).
 The demonstration identifies situations from real-life problems where inheritance is
applicable. The demonstration implements inheritance in OOP language.
Specific Outcome 2 : Demonstrate an understanding of polymorphism in object oriented
programming (OOP).
 The demonstration identifies situations from real-life problems where polymorphism is
applicable.
 The demonstration implements polymorphism in OOP language.
Specific Outcome 3 : Analyse problem situations to plan an OOP implementation.
 The analysis describes basic UML standards to identify classes.
 The analysis identifies base and sub-classes in a problem situation.
 The analysis identifies polymorphism in a problem situation.
 The analysis identifies inter-class communication in a problem situation
 Specific Outcome 4 : Use abstract classes to optimise re-usability.
 Describe the purpose of abstract classes in the optimisation of re-usability.
 Describe wrapper classes and their need in OOP design.
 Implement abstract and wrapper classes in OOP language.
 Specific Outcome 5 : Use basic design patterns to optimise re-usability.
 Describes different design patterns.
 Explain the advantages of using the chosen design pattern.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p27 of 110
 Implement the chosen design pattern in an OOP language.
 Specific Outcome 6 : Document the program according to industry standards
 The documentation includes annotation of the program with a description of program purpose
and design specifics.
 The documentation includes the layout of the program code including indentation and other
acceptable industry standards
 The documentation includes full internal and external documentation, with a level of detail
that enables other programmers to analyse the program
 The documentation reflects the tested and implemented program, including changes made
during testing of the program

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p28 of 110
NOTIONAL HOURS BREAKDOWN

The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:

TIMEFRAME

Total Notional Hours Contact Time Non contact-


Self-Study/Assessment
Credits (14) x 10 = 140 42HRS 98HRS
1. Learning Programme REFER TO COVER PAGE
Name:
2. SAQA Qualification/Unit REFER TO COVER PAGE
Standard Title:
3. Qualification/ 4 SAQA ID 5 NQF 6 6 Credits 14
Unit Standard . Number . Level .
7. PURPOSE for offering REFER TO NEXT PAGE
this programme to your
learners:

8. TARGET AUDIENCE for REFER TO NEXT PAGE


this specific
programme:

9. Entry/Admission REFER TO NEXT PAGE


Requirements:

10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 42 hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =98 hrs.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p29 of 110
The Learner guide

At the end of this unit standard you will be able to Demonstrate an understanding of advanced
object-oriented programming

Purpose:
People credited with this unit standard are able to: 
Demonstrate an understanding of advanced object-oriented programming

Specific outcome:
 Analyse problem situations to plan an object oriented programming(OOP) implementation.
 Demonstrate an understanding of inheritance in object oriented programming (OOP).
 Demonstrate an understanding of polymorphism in object oriented programming (OOP).
 Use abstract classes to optimise re-usability.
 Use basic design patterns to optimise re-usability.

Learning assumed to be in place:

Describe the principles of Object Oriented Programming (OOP)


 Apply fundamental principles of Object Oriented Programming (OOP)

Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS COULD
LEAD TO FRAUD.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p30 of 110
Resources (selective resources might be used, depending on the facilitator and venue
circumstances), one or all of the following can be used:
 Your facilitator/mentor
 Learning material
 Learner workbook
 Visual aids
 White board
 Flip chart
 Equipment
 Training venue

Venue, Date and Time:


Consult your facilitator should there be any changes to the venue, date and/or time.
Refer to your timetable.

Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
 Information for you to read
 Exercises that require you to have a problem-solving approach to communication
 Questions for you to answer
 Case studies with questions that follow

How to do the exercise:

 The facilitator will tell you which exercise you need to complete each day.
 You need to hand in your answers to the facilitator who will mark it for correctness.
 If you do not know the answer, you will have to go back to that particular section in you
learner guide and go over it again.
 Ask the facilitator for help, if you do not understand any of the questions asked.
 Always remember to give reasons for your answers

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p31 of 110
SPECIFIC OUTCOME 1:

Demonstrate an understanding of inheritance in object oriented


programming (OOP).
ASSESEMENT CRITERIA
 The demonstration identifies situations from real-life problems where inheritance is
applicable.
 The demonstration implements inheritance in OOP language.

1.1 Demonstrate an understanding of inheritance in object oriented programming

(OOP).

1.1.1 What is Object-Oriented Programming (OOP)?

 Object-oriented programming (OOP) is a programming paradigm, which uses objects and


their interactions for building computer programs. Thus an easy to understand, simple
model of the subject area is achieved, which gives an opportunity to the programmer to
solve intuitively (by simple logic) many of the problems, which occur in the real world.

1.1.2 What Is an Object?

 In the concept of OOP, objects are classified as real-world objects or abstract objects.
Examples of real-world objects are people, cars, goods, purchases, etc. abstract objects are
concepts in an object area, which we have to model and use in a computer program.
Examples of abstract objects are the data structures stack, queue, list and tree.

1.1.3 Fundamental Principles of OOP

In order for a programming language to be object-oriented, it has to enable working


with classes and objects as well as the implementation and use of the fundamental object-oriented
principles and concepts: inheritance, abstraction, encapsulation and polymorphism.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p32 of 110
1.2 What is inheritance in OOP?

In object-oriented programming (OOP), inheritance is when an object or class is based on another


object or class, using the same implementation (inheriting from a class) or specifying
implementation to maintain the same behaviour (realizing an interface; inheriting behaviours). It is a
mechanism for code reuse and to allow independent extensions of the original software via public
classes and interfaces. The relationships of objects or classes through inheritance give rise to a
hierarchy.

Inheritance should not be confused with subtyping in some languages inheritance and subtyping
agree, [a] while in others they differ; in general subtyping establishes an is-a relationship, while
inheritance only reuses implementation and establishes a syntactic relationship, not necessarily a
semantic relationship (inheritance does not ensure behavioural subtyping). To distinguish these
concepts, subtyping is also known as interface inheritance, while inheritance as defined here is
known as implementation inheritance.

1.3 Types of inheritance and their application

There are various types and applications of inheritance, depending on paradigm and specific
language. A fundamental difference is whether one can inherit from only a single other object or
class, which is known as single inheritance, or whether one can inherit from multiple other objects or
classes, which is known as multiple inheritance. The hierarchy in single inheritance is a tree, while in
multiple inheritance it is a lattice.

 Classical inheritance: is used in class-based programming, where objects are defined by


classes, and classes can inherit attributes and implementation (i.e., previously coded
algorithms associated with a class) from pre-existing classes called base classes, super
classes, or parent classes. The resulting classes are known as derived classes, subclasses, or
child classes, and the resulting hierarchy is known as a class hierarchy.

 Differential inheritance: is used in prototype-based programming, where objects inherit


directly from other objects.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p33 of 110

SPECIFIC OUTCOME 2 :
Demonstrate an understanding of polymorphism in object
oriented programming (OOP).
ASSESEMENT CRITERIA
 The demonstration identifies situations from real-life problems where polymorphism is
applicable.
 The demonstration implements polymorphism in OOP language.

2.1 Definition - What does Polymorphism mean?

Polymorphism is an object-oriented programming concept that refers to the ability of a variable,


function or object to take on multiple forms. A language that features polymorphism allows
developers to program in the general rather than program in the specific.

If you think about the Greek roots of the term, it should become obvious.

 Poly = many: polygon = many-sided, polystyrene = many styrenes, polyglot = many


languages, and so on.
 Morph = change or form: morphology = study of biological form, Morpheus = the Greek god
of dreams able to take any form.
2.2 Understanding of polymorphism in object oriented programming (OOP).

 So polymorphism is the ability (in programming) to present the same interface for differing
underlying forms (data types).
 In a programming language that exhibits polymorphism, objects of classes belonging to the
same hierarchical tree (i.e. inherited from a common base class) may possess functions
bearing the same name, but each having different behaviours.
 As an example, let us assume there is a base class named Animals from which the subclasses
Horse, Fish and Bird are derived. Let us also assume that the Animals class has a function
named Move, which is inherited by all subclasses mentioned. With polymorphism, each
subclass may have its own way of implementing the function. So, for example, when the
Move function is called in an object of the Horse class, the function might respond by
displaying trotting on the screen. On the other hand, when the same function is called in an
object of the Fish class, swimming might be displayed on the screen. In the case of a Bird
object, it may be flying.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p34 of 110
 In effect, polymorphism trims down the work of the developer because he can now create a
sort of general class with all the attributes and behaviours that he envisions for it. When the
time comes for the developer to create more specific subclasses with certain unique
attributes and behaviours, the developer can simply alter code in the specific portions where
the behaviours will differ. All other portions of the code can be left as is.

 The primary usage of polymorphism in industry (object-oriented programming theory) is the


ability of objects belonging to different types to respond to method, field, or property calls
of the same name, each one according to an appropriate type-specific behaviour. The
programmer (and the program) does not have to know the exact type of the object in
advance, and so the exact behaviour is determined at run-time (this is called late
binding or dynamic binding).

 The different objects involved only need to present a compatible interface to the clients'
(calling routines). That is, there must be public or internal methods, fields, events, and
properties with the same name and the same parameter sets in all the super
classes, subclasses and interfaces. In principle, the object types may be unrelated, but since
they share a common interface, they are often implemented as subclasses of the same
superclass. Though it is not required, it is understood that the different methods will also
produce similar results (for example, returning values of the same type).

 Polymorphism is not the same as method overloading or method overriding. Polymorphism


is only concerned with the application of specific implementations to an interface or a more
generic base class. Method overloading refers to methods that have the same name but
different signatures inside the same class. Method overriding is where a subclass replaces
the implementation of one or more of its parent's methods. Neither method overloading nor
method overriding are by themselves implementations of polymorphism.
<

 For example, integers and floats are implicitly polymorphic since you can add, subtract,
multiply and so on, irrespective of the fact that the types are different. They're rarely
considered as objects in the usual term.

 But, in that same way, a class like BigDecimal or Rational or Imaginary can also provide those


operations, even though they operate on different data types.

 The classic example is the Shape class and all the classes that can inherit from it (square,
circle, dodecahedron, irregular polygon, splat and so on).

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p35 of 110
 With polymorphism, each of these classes will have different underlying data. A point shape
needs only two co-ordinates (assuming it's in a two-dimensional space of course). A circle
needs a centre and radius. A square or rectangle needs two co-ordinates for the top left and
bottom right corners (and possibly) a rotation. An

2.3 Real-life problems where polymorphism is applicable.

The fundamental principle of Object-Oriented Programming is "Polymorphism". Polymorphism


allows treating objects of a derived class as objects of its base class. For example, big cats (base
class) catch their prey (a method) in different ways. A Lion (derived class) sneaks on it, while a
Cheetah (another derived class) simply outruns it.

Polymorphism allows us to treat a cat of random size just like a big cat and command it "catch your
prey", regardless of its exact size.

Polymorphism can bear strong resemblance to abstraction, but it is mostly related to overriding
methods in derived classes, in order to change their original behaviour inherited from the base
class. Abstraction is associated with creating an interface of a component or functionality (defining a
role). We are going to explain method overriding shortly.

2.4 When Should You Use Polymorphism?

The answer to this question is simple: whenever you want to enable changing a method’s
implementation in a derived class. It’s a good rule to work with the most basic class possible or
directly with an interface. That way, changes in used classes reflect to a much lesser extent on
classes written by you. The less a program knows about its surrounding classes, the fewer changes (if
any) it would have to undergo.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p36 of 110
SPECIFIC OUTCOME 3:
Analyse problem situations to plan an OOP implementation.
ASSESEMENT CRITERIA
 The analysis describes basic UML standards to identify classes.
 The analysis identifies base and sub-classes in a problem situation.
 The analysis identifies polymorphism in a problem situation.
 The analysis identifies inter-class communication in a problem situation.

3.1 Analyse problem situations to plan an OOP implementation

3.1.1 An Overview of UML

UML is a standard language for specifying, visualizing, constructing, and documenting the artefacts
of software systems.

 UML stands for Unified Modelling Language.


 UML is different from the other common programming languages like C++, Java, and COBOL
etc.
 UML is a pictorial language used to make software blue prints.
UML was created by Object Management Group (OMG) and UML 1.0 specification draft was
proposed to the OMG in January 1997.

So UML can be described as a general purpose visual modelling language to visualize, specify,
construct and document software system. Although UML is generally used to model software
systems but it is not limited within this boundary. It is also used to model non software systems as
well like process flow in a manufacturing unit etc.

UML is not a programming language but tools can be used to generate code in various languages
using UML diagrams. UML has a direct relation with object oriented analysis and design. After some
standardization UML is become an OMG (Object Management Group) standard.

3.1.2 Goals of UML:

A picture is worth a thousand words, this absolutely fits while discussing about UML. Object oriented
concepts were introduced much earlier than UML. So at that time there were no standard
methodologies to organize and consolidate the object oriented development. At that point of time
UML came into picture.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p37 of 110
There are a number of goals for developing UML but the most important is to define some general
purpose modelling language which all modellers can use and also it needs to be made simple to
understand and use.

UML diagrams are not only made for developers but also for business users, common people and
anybody interested to understand the system. The system can be a software or non-software. So it
must be clear that UML is not a development method rather it accompanies with processes to make
a successful system.

At the conclusion the goal of UML can be defined as a simple modelling mechanism to model all
possible practical systems in today’s complex environment.

3.1.3 A conceptual model of UML:

To understand conceptual model of UML first we need to clarify what is a conceptual model? and


Why a conceptual model is at all required?

 A conceptual model can be defined as a model which is made of concepts and their
relationships.
 A conceptual model is the first step before drawing a UML diagram. It helps to understand
the entities in the real world and how they interact with each other.
As UML describes the real time systems it is very important to make a conceptual model and then
proceed gradually. Conceptual model of UML can be mastered by learning the following three major
elements:

 UML building blocks


 Rules to connect the building blocks
 Common mechanisms of UML

Object oriented concepts:

UML can be described as the successor of object oriented analysis and design.

An object contains both data and methods that control the data. The data represents the state of
the object. A class describes an object and they also form hierarchy to model real world system. The
hierarchy is represented as inheritance and the classes can also be associated in different manners
as per the requirement.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p38 of 110
The objects are the real world entities that exist around us and the basic concepts like abstraction,
encapsulation, inheritance, polymorphism all can be represented using UML.

So UML is powerful enough to represent all the concepts exists in object oriented analysis and
design. UML diagrams are representation of object oriented concepts only. So before learning UML,
it becomes important to understand OO concepts in details.

Following are some fundamental concepts of object oriented world:

 Objects: Objects represent an entity and the basic building block.


 Class: Class is the blue print of an object.
 Abstraction: Abstraction represents the behaviour of an real world entity.
 Encapsulation: Encapsulation is the mechanism of binding the data together and hiding
them from outside world.
 Inheritance: Inheritance is the mechanism of making new classes from existing one.
 Polymorphism: It defines the mechanism to exist in different forms.

OO Analysis and Design

Object oriented analysis can be defined as investigation and to be more specific it is the investigation
of objects. Design means collaboration of identified objects.

So it is important to understand the OO analysis and design concepts. Now the most important
purpose of OO analysis is to identify objects of a system to be designed. This analysis is also done for
an existing system. Now an efficient analysis is only possible when we are able to start thinking in a
way where objects can be identified. After identifying the objects their relationships are identified
and finally the design is produced.

So the purpose of OO analysis and design can described as:

 Identifying the objects of a system.


 Identify their relationships.
 Make a design which can be converted to executables using OO languages.
There are three basic steps where the OO concepts are applied and implemented.

Now the above three points can be described in details:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p39 of 110
 During object oriented analysis the most important purpose is to identify objects and
describing them in a proper way. If these objects are identified efficiently then the next job
of design is easy. The objects should be identified with responsibilities. Responsibilities are
the functions performed by the object. Each and every object has some type of
responsibilities to be performed. When these responsibilities are collaborated the purpose
of the system is fulfilled.
 The second phase is object oriented design. During this phase emphasis is given upon the
requirements and their fulfilment. In this stage the objects are collaborated according to
their intended association. After the association is complete the design is also complete.
 The third phase is object oriented implementation. In this phase the design is implemented
using object oriented languages like Java, C++ etc.

3.1.4 Role of UML in OO design:

UML is a modelling language used to model software and non-software systems. Although UML is
used for non-software systems the emphasis is on modelling object oriented software applications.
Most of the UML diagrams discussed so far are used to model different aspects like static, dynamic
etc. Now what ever be the aspect the artefacts are nothing but objects.

If we look into class diagram, object diagram, collaboration diagram, interaction diagrams all would
basically be designed based on the objects.

So the relation between OO design and UML is very important to understand. The OO design is
transformed into UML diagrams according to the requirement. Before understanding the UML in
details the OO concepts should be learned properly. Once the OO analysis and design is done the
next step is very easy. The input from the OO analysis and design is the input to the UML diagrams.

3.1.5 What Is a Class?

A class defines abstract characteristics of objects. It provides a structure for objects or a pattern


which we use to describe the nature of something (some object). Classes are building blocks of
OOP and are inseparably related to the objects. Furthermore, each object is an instance of exactly
one specific class.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p40 of 110
We are going to give as an example a class and an object, which is its instance. We have a class Dog
and an object Lassie, which is an instance of the class Dog (we say it is an object of type Dog). The
class Dog describes the characteristics of all dogs whereas Lassie is a certain dog.

Classes provide modularity in object-oriented programs. Their characteristics have to be meaningful


in a common context so that they could be understood by people who are familiar with the problem
area and are not programmers. For instance, the class Dog cannot have (or at least should not) a
characteristic "RAM" because in the context of this class such characteristic has no meaning.

3.1.6 Classes, Attributes and Behaviour

The class defines the characteristics of an object (which we are going to call attributes) and its
behaviour (actions that can be performed by the object). The attributes of the class are defined as
its own variables in its body (called member variables). The behaviour of objects is modelled by the
definition of methods in classes.

We are going to illustrate the foregoing explanations through an example of a real-world definition
of a class. Let’s return to the example with the dog. We would like to define a class Dog that models
the real object "dog". The class is going to include characteristics which are common for all dogs
(such as breed and fur colour), as well as typical for the dog behaviour (such are barking, sitting,
walking). In this case we are going to have attributes breed and four-color, and the behaviour is
going to be implemented by the methods Bark(), Sit() and Walk().

Objects – Instances of Classes

From what has been said till now we know that each object is an instance of just one class and is
created according to a pattern of this class. Creating the object of a defined class is
called instantiation (creation). The instance is the object itself, which is created runtime.

Each object is in instance of a specific class. This instance is characterized by state – set of values,
associated with class attributes.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p41 of 110
In the context of such behaviour the object consists of two things:
current state and behaviour defined in the class of the object. The state is specific for the instance
(the object), but the behaviour is common for all objects which are instances of this class.

Classes in C#

So far we have considered several common characteristics of OOP. A great part of the  modern
programming languages are object-oriented. Each of them has particular features for working with
classes and objects. In this book we are going to focus only one of these languages – C#. It is good to
know that the knowledge of OOP in C# would be useful to the reader no matter which object-
oriented language he uses in practice. That is because OOP is a fundamental concept in
programming, used by virtually all modern programming languages.

What Are Classes in C#?

A class in C# is defined by the keyword class, followed by an identifier (name) of the class and a set
of data members and methods in a separate code block.

Classes in C# can contain the following elements:

-     Fields – member-variables from a certain type;

-     Properties – these are a special type of elements, which extend the functionality of the fields by
giving the ability of extra data management when extracting and recording it in the class fields.
-     Methods – they implement the manipulation of the data.

An Example Class

We are going to give an example of a class in C#, which contains the listed elements. The
class Cat models the real-world object "cat" and has the properties name and colour. The given class
defines several fields, properties and methods, which we are going to use later.

public class Cat

    // Field name

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p42 of 110
    private string name;

    // Field colour

    private string colour;

    public string Name

    {

        // Getter of the property "Name"

        get

        {

            return this.name;

        }

        // Setter of the property "Name"

        set

        {

            this.name = value;

        }

    }

    public string Colour

    {

        // Getter of the property "Colour"

        get

        {

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p43 of 110
            return this. colour;

        }

        // Setter of the property "Colour"

        set

        {

            this. colour = value;

        }

    }

    // Default constructor

    public Cat()

    {

        this.name = "Unnamed";

        this. colour = "gray";

    }

    // Constructor with parameters

    public Cat(string name, string color)

    {

        this.name = name;

        this. colour = colour;

    }

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p44 of 110
    // Method SayMiau

    public void SayMiau()

    {

        Console.WriteLine("Cat {0} said: Miauuuuuu!", name);

    }

The example class Cat defines the properties Name and Color, which keep their values in the hidden
(private) fields name and color. Furthermore, two constructors are defined for creating instances of
the class Cat, respectively with and without parameters, and a method of the class SayMiau().

After the example class is defined we can now use it in the following way:

static void Main()

    Cat firstCat = new Cat();

    firstCat.Name = "Tony";

    firstCat.SayMiau();

    Cat secondCat = new Cat("Pepy", "red");

    secondCat.SayMiau();

    Console.WriteLine("Cat {0} is {1}.",

        secondCat.Name, secondCat.Color);

If we execute the example, we are going to get the following output:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p45 of 110
Cat Tony said: Miauuuuuu!

Cat Pepy said: Miauuuuuu!

Cat Pepy is Red.

System Classes

Calling the method Console.WriteLine(…) of the class System.Console is an example of usage of


a system class in C#. We call system classes the classes defined in standard libraries for building
applications with C# (or another programming language). They can be used in all our .NET
applications (in particular those written in C#). Such are for example the
classes String, Environment and Math, which we are going to consider later.

It is important to know that the implementation of the logic in classes is encapsulated (hidden)


inside them. For the programmer it is important what they do, not how they do it and for this reason
a great part of the classes is not publicly available (public). With system classes the implementation
is often not available at all to the programmer. Thus, new layers of abstraction are created which is
one of the basic principles in OOP.

We are going to pay special attention to system classes later. Now it is time to get familiar with
creating and using objects in programs.

Creating and Using Objects

For now we are going to focus on creating and using objects in our programs. We are going to work
with already defined classes and mostly with system classes from .NET Framework.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p46 of 110
Revision: 1.0 Date: 16 June 2018
M4 Programming and the World Wide Web - Learner Guide p47 of 110
SPECIFIC OUTCOME 4:
Use abstract classes to optimise re-usability.
ASSESEMENT CRITERIA
 Describe the purpose of abstract classes in the optimisation of re-usability.
 Describe wrapper classes and their need in OOP design.
 Implement abstract and wrapper classes in OOP language.

4.1 Use abstract classes to optimise re-usability

4.1.1 Purpose of abstract classes in the optimisation of re-usability

Do you find yourself writing the same methods over and over in different classes? Say your project
needs both a “Dog” class and a “Cat” class — do you end up writing a “sleep” method for both?
What if, in two months, the client needs you to add a “possum” to the system? Do you end up going
in and retyping “sleep” instructions yet again? When you’re modelling a system with many similar
parts, it takes way too much time and effort to keep duplicating code for each class. Imagine how
hard it would be to maintain a large project with thousands of classes! Besides, it violates the DRY
principle of good programming: Don’t Repeat Yourself! There must be a better way.

Thankfully, C# has built-in features for sharing code between classes. One of these is called an
“abstract class”. Just create a new class with the keyword “abstract” (e.g. “public abstract class
Mammal”) and write in its body all the methods you would like your other classes to share in
common. Since an abstract class is still a class, your “Cat” and “Dog” classes can inherit from it using
a colon (e.g. “public Cat : Mammal”). This means that instead of writing a “sleep” method for each
animal, you only need to write it in the “Mammal” class, and the other animals will be able to use it
too.

But if any class can have inheritance, why not just use a regular class? The answer is that abstract
classes have two special features:

1. They cannot be instantiated (made into objects),


2. They can have special methods called “abstract methods”.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p48 of 110
“Wait a minute,” you may be thinking, “Why would I want a class that can’t become an object?!”
Sounds useless, right? However, consider the purpose of an abstract class: it contains common
methods (and fields) that multiple child classes inherit from, but it does not attempt to follow these
directions itself. In fact, a parent class is often missing vital information about the methods and fields
it contains, because each child may use them a little bit differently. The “Mammal” abstract class
only has what is common to all mammals — since some mammals can’t crawl and other mammals
can’t gallop, the “Mammal” class can’t do either one. Imagine what would happen if you tried to
instantiate a “generic” mammal: you’d get a featureless mass of hair, muscle and bone that probably
wouldn’t survive on its own! In the same way, it is undesirable (sometimes dangerous!) to leave a
class open to instantiation when it is simply a placeholder for common features. Guard against this
possibility by using an abstract class.

What if two classes have methods so different that the only common factor is their name? This is
where an abstract method comes in handy. An abstract method looks just like a normal method,
except it has the word “abstract” (e.g. “abstract example Method(args);” ) and a semicolon “;”
instead of body brackets “{}”. What does it do? It basically tells each inheriting class to create its own
method with that same name. For instance, since a dog and a bat both sleep, you could write a
“sleep” method in the “Mammal” class. However, there are very few commonalities between a
dog’s sleep and a bat’s sleep. So instead of trying to account for each individual animal’s sleeping
habits, you would make the “sleep” method abstract. Now the code won’t even compile until each
animal that inherits from “Mammal” has a method called “sleep”, using the “override” keyword to
replace the abstract one (e.g. “public override sleep(args) {}” ).

Now even though all mammals sleep, each individual mammal can sleep in its own way. After this,
you may be wondering, “Why even bother putting that method in the parent class? Each inheritor is
going to have its own version anyway.” You really do want to have that abstract class, not to prevent
syntax errors, but to prevent human memory errors. You may know intellectually that all mammals
sleep, but without a mechanism forcing you to write a “sleep” method for each mammal, it is all too
easy to forget to do so. You may not even realize your mistake until you get a phone call from the
client in the middle of the night. By refusing to compile until each abstract method is implemented
in every inheriting class, the C# compiler is doing you a favour: it’s helping you remember the
obvious.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p49 of 110
Abstract classes help you improve your code not only through what they can do, but also through
what they can’t. They can hold common features for many classes to inherit, without accidentally
becoming objects themselves. They can also force you to write unique implementations of a
common method, preventing human errors of forgetfulness. When you set up a class hierarchy,
seriously consider whether you need a normal class to inherit from, or whether an abstract class will
do. It may end up making the difference between a solid or buggy program.

4.2 Describe wrapper classes and their need in OOP design.

Java is an object-oriented language and can view everything as an object. A simple file can be
treated as an object (with java.io.File), an address of a system can be seen as an object (with
java.util.URL), an image can be treated as an object (with java.awt.Image) and a simple data type
can be converted into an object (with wrapper classes). Wrapper classes are used to convert any
data type into an object.

The primitive data types are not objects; they do not belong to any class; they are defined in the
language itself. Sometimes, it is required to convert data types into objects in Java language. For
example, upto JDK1.4, the data structures accept only objects to store. A data type is to be
converted into an object and then added to a Stack or Vector etc. For this conversion, the designers
introduced wrapper classes.

4.2.1 What are Wrapper classes?

As the name says, a wrapper class wraps (encloses) around a data type and gives it an object
appearance. Wherever, the data type is required as an object, this object can be used. Wrapper
classes include methods to unwrap the object and give back the data type. It can be compared with
a chocolate. The manufacturer wraps the chocolate with some foil or paper to prevent from
pollution. The user takes the chocolate, removes and throws the wrapper and eats it.

Observe the following conversion.

int k = 100;
Integer it1 = new Integer(k);

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p50 of 110
The int data type k is converted into an object, it1 using Integer class. The it1 object can be used in
Java programming wherever k is required an object.

The following code can be used to unwrap (getting back int from Integer object) the object it1.

int m = it1.intValue();
System.out.println(m*m); // prints 10000

intValue() is a method of Integer class that returns an int data type.

List of Wrapper classes

In the above code, Integer class is known as a wrapper class (because it wraps around int data type
to give it an impression of object). To wrap (or to convert) each primitive data type, there comes a
wrapper class. Eight wrapper classes exist in java.lang package that represent 8 data types.
Following list gives.

Primitive data type Wrapper class

Byte Byte

Short Short

Int Integer

Long Long

Float Float

Double Double

Char Character

Boolean Boolean

Following is the hierarchy of the above classes.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p51 of 110
All the 8 wrapper classes are placed in java.lang package so that they are implicitly imported and
made available to the programmer. As you can observe in the above hierarchy, the super class of all
numeric wrapper classes is Number and the super class for Character and Boolean is Object. All the
wrapper classes are defined as final and thus designers prevented them from inheritance.

Importance of Wrapper classes

There are mainly two uses with wrapper classes.

1. To convert simple data types into objects, that is, to give object form to a data type; here
constructors are used.
2. To convert strings into data types (known as parsing operations), here methods of type
parseXXX() are used.

The following program expresses the style of converting data type into an object and at the same
time retrieving the data type from the object.

1 public class WrappingUnwrapping

2 {

3 public static void main(String args[])

4 { // data types

5 byte grade = 2;

6 int marks = 50;

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p52 of 110
7 float price = 8.6f; // observe a suffix of <strong>f</strong> for float

8 double rate = 50.5;

9 // data types to objects

10 Byte g1 = new Byte(grade); // wrapping

11 Integer m1 = new Integer(marks);

12 Float f1 = new Float(price);

13 Double r1 = new Double(rate);

14 // let us print the values from objects

15 System.out.println("Values of Wrapper objects (printing as objects)");

16 System.out.println("Byte object g1: " + g1);

17 System.out.println("Integer object m1: " + m1);

18 System.out.println("Float object f1: " + f1);

19 System.out.println("Double object r1: " + r1);

20 // objects to data types (retrieving data types from objects)

21 byte bv = g1.byteValue(); // unwrapping

22 int iv = m1.intValue();

23 float fv = f1.floatValue();

24 double dv = r1.doubleValue();

25 // let us print the values from data types

26 System.out.println("Unwrapped values (printing as data types)");

27 System.out.println("byte value, bv: " + bv);

28 System.out.println("int value, iv: " + iv);

29 System.out.println("float value, fv: " + fv);

30 System.out.println("double value, dv: " + dv);

31 }

32 }

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p53 of 110
As you can observe from the screenshot, constructors of wrapper classes are used to convert data
types into objects and the methods of the form XXXValue() are used to retrieve back the data type
from the object.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p54 of 110
SPECIFIC OUTCOME 5:
Use basic design patterns to optimise re-usability.
ASSESEMENT CRITERIA
 Describes different design patterns.
 Explain the advantages of using the chosen design pattern.
 Implement the chosen design pattern in an OOP language.

5.1 Describes different design patterns.

In software engineering, a design pattern is a general reusable solution to a commonly occurring


problem within a given context in software design. A design pattern is not a finished design that can
be transformed directly into source or machine code. It is a description or template for how to solve
a problem that can be used in many different situations. Patterns are formalized  best practices that
the programmer can use to solve common problems when designing an application or
system. Object-oriented design patterns typically show relationships
and interactions between classes or objects, without specifying the final application classes or
objects that are involved. Patterns that imply object or more generally mutable state, are not as
applicable in functional programming languages.

Design patterns reside in the domain of modules and interconnections. At a higher level there
are architectural patterns that are larger in scope, usually describing an overall pattern followed by
an entire system.[1]

There are many types of design patterns, for instance

 Algorithm strategy patterns addressing concerns related to high-level strategies describing


how to exploit application characteristics on a computing platform.
 Computational design patterns addressing concerns related to key computation
identification.
 Execution patterns that address concerns related to supporting application execution,
including strategies in executing streams of tasks and building blocks to support task
synchronization.
 Implementation strategy patterns addressing concerns related to implementing source
code to support

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p55 of 110
1. program organization, and
2. the common data structures specific to parallel programming.
 Structural design patterns addressing concerns related to high-level structures of
applications being developed.
 Enumeration design pattern often used when the list of variable is always fixed. For example
the days in a single week.

 Visitor Design Pattern Represent an operation to be performed on the elements of an object


structure. Visitor lets you define a new operation without changing the classes of the elements
on which it operates.

5.2 Explain the advantages of and implement the chosen design pattern.

5.2.1 Enumeration design pattern


Enumeration is often used when the list of variable is always fixed. For example the days in a single
week can be written as:

public enum Day {

SUNDAY, MONDAY, TUESDAY, WEDNESDAY,

THURSDAY, FRIDAY, SATURDAY

However there is often a problem of testing the Enumeration. I have to get back to my codes to
know the violations of using default enum. I believe enum cannot exist as a class and hence you will
have to replicate enum across the class that is using it. I chance upon the following clever get-around
solution using Java object class.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p56 of 110
This is the sample code for Java Enumeration:

class Day{

  private final String name;

  private static int nextOrdinal = 0;

  private final int ordinal = nextOrdinal++;

  protected Day(String name){

    this.name = name;

 }

  public String getName(){

    return this.name;

 }

  public int getOrdinal(){

    return this.ordinal;

 }

  //creating your enum

  public static final Day Mon = new Day("monday");

  public static final Day Tue = new Day("tuesday");

  public static final Day Wed = new Day("wednesday");

  public static final Day Thur = new Day("thursday");

  public static final Day Fri = new Day("friday");

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p57 of 110
  public static final Day Sat = new Day("saturday");

  public static final Day Sun = new Day("sunday");

  //override equals method

  public boolean equals(Object o){

    Day objE =  (Day) o;

    return ( this.ordinal == objE.getOrdinal() );

 }

There are things to take note:

1. The use of protected construction to prevent the instantiation of Day class

2. Use of final ordinal and static nextOrdinal to issue a unique number for a new Enum. Mon
will get ordinal 1, Tue get ordinal 2 and so on....

3. Use of overridden equals method as a more efficient way to compare object instead of using
String

5.2.2 Visitor Design Pattern

Visitor Design Pattern Represent an operation to be performed on the elements of an object


structure. Visitor lets you define a new operation without changing the classes of the elements on
which it operates.

Visitor's primary purpose is to abstract functionality that can be applied to an aggregate hierarchy of
"element" objects. The approach encourages designing lightweight Element classes - because
processing functionality is removed from their list of responsibilities. New functionality can easily be
added to the original inheritance hierarchy by creating a new Visitor subclass.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p58 of 110
Visitor implements "double dispatch". OO messages routinely manifest "single dispatch" - the
operation that is executed depends on: the name of the request, and the type of the receiver. In
"double dispatch", the operation executed depends on: the name of the request, and the type of
TWO receivers (the type of the Visitor and the type of the element it visits).

The implementation proceeds as follows. Create a Visitor class hierarchy that defines a pure
virtual visit() method in the abstract base class for each concrete derived class in the aggregate node
hierarchy. Each visit() method accepts a single argument - a pointer or reference to an original
Element derived class.

Each operation to be supported is modelled with a concrete derived class of the Visitor hierarchy.
The visit() methods declared in the Visitor base class are now defined in each derived subclass by
allocating the "type query and cast" code in the original implementation to the appropriate
overloaded visit() method.

Add a single pure virtual accept() method to the base class of the Element hierarchy.accept() is
defined to receive a single argument - a pointer or reference to the abstract base class of the Visitor
hierarchy.

Each concrete derived class of the Element hierarchy implements the accept() method by simply
calling the visit() method on the concrete derived instance of the Visitor hierarchy that it was passed,
passing its "this" pointer as the sole argument.

Everything for "elements" and "visitors" is now set-up. When the client needs an operation to be
performed, (s)he creates an instance of the Vistor object, calls the accept() method on each Element
object, and passes the Visitor object.

The accept() method causes flow of control to find the correct Element subclass. Then when
the visit() method is invoked, flow of control is vectored to the correct Visitor
subclass. accept() dispatch plus visit() dispatch equals double dispatch.

The Visitor pattern makes adding new operations (or utilities) easy - simply add a new Visitor derived
class. But, if the subclasses in the aggregate node hierarchy are not stable, keeping the Visitor
subclasses in sync requires a prohibitive amount of effort.

An acknowledged objection to the Visitor pattern is that is represents a regression to functional


decomposition - separate the algorithms from the data structures. While this is a legitimate
interpretation, perhaps a better perspective/rationale is the goal of promoting non-traditional
behavior to full object status.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p59 of 110
Structure

The Element hierarchy is instrumented with a "universal method adapter". The implementation
of accept() in each Element derived class is always the same. But – it cannot be moved to the
Element base class and inherited by all derived classes because a reference to this in the Element
class always maps to the base type Element.

When the polymorphic firstDispatch() method is called on an abstract First object, the concrete type


of that object is "recovered". When the polymorphic secondDispatch()method is called on an
abstract Second object, its concrete type is "recovered". The application functionality appropriate
for this pair of types can now be exercised.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p60 of 110
Example

The Visitor pattern represents an operation to be performed on the elements of an object structure
without changing the classes on which it operates. This pattern can be observed in the operation of a
taxi company. When a person calls a taxi company (accepting a visitor), the company dispatches a
cab to the customer. Upon entering the taxi the customer, or Visitor, is no longer in control of his or
her own transportation, the taxi (driver) is.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p61 of 110
Benefits of using Visitor design:

"The Visitor becomes more useful when there are several classes with different interfaces and we
want to encapsulate how we get data from these classes."

o Add functions to class libraries for which you either do not have the source or cannot change
the source
o Obtain data from a disparate collection of unrelated classes and use it to present the results
of a global calculation to the user program
o Gather related operations into a single class rather than force you to change or derive
classes to add these operations
o Collaborate with the Composite pattern

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p62 of 110
SPECIFIC OUTCOME 6:
Document the program according to industry standards.
ASSESEMENT CRITERIA
 The documentation includes annotation of the program with a description of program purpose
and design specifics.
 The documentation includes the layout of the program code including indentation and other
acceptable industry standards
 The documentation includes full internal and external documentation, with a level of detail
that enables other programmers to analyse the program
 The documentation reflects the tested and implemented program, including changes made
during testing of the program

6.1 Document the program according to industry standards.

Programme documentation is written text that accompanies computer software. It both explains


how it operates or how to use it, and may mean different things to people in different roles. Good
programme/software documentation, whether a specifications document for programmers and
testers, a technical document for internal users, or software manuals and help files for end users,
helps the person working with the software understand its features and functions. Good software
documentation is specific, concise, and relevant, providing all the information important to the
person using the programme.

6.2 Writing Software Documentation for Technical Users

6.2.1 Determine what information needs to be included. 

Software specification documents serve as reference manuals for designers of the user interface,
programmers who write the code, and testers who verify that the software works as intended. The
exact information depends on the program in question but may include any of the following:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p63 of 110
o Key files within the application. This may include files created by the development
team, databases accessed during the program's operation, and third-party utility
programs.
o Functions and subroutines. This includes an explanation of what each function or
subroutine does, including its range of input values and output values.
o Program variables and constants, and how they're used in the application.
o The overall program structure. For a disc-based application, this may mean
describing the program's individual modules and libraries, while for a Web
application, this may mean describing which pages use which files.

6.2.2 Decide how much of the documentation should be within the program code and how much
should be separate from it.

The more technical documentation is developed within the program's source code to begin with, the
easier it will be to update and maintain along with the code, as well as to document various versions
of the original application. At a minimum, documentation within the source code needs to explain
the purpose of functions, subroutines, variables, and constants.

o If the source code is particularly lengthy, it can be documented in the form of a help
file, which can be indexed or searched with keywords. This is a particular advantage
for applications where the program logic is fragmented over many pages and
includes a number of supplemental files, as with certain Web applications.
o Some programming languages, such as Java and the .NET Framework (Visual
Basic.NET, C #), have their own standards for documenting code. In these cases,
follow the standards as to how much of the documentation should be included with
the source code.

6.2.3 Choose the appropriate documentation tool. 

To some extent, this is determined by the language the code is written in, be it C++, C#, Visual Basic,
Java, or PHP, as specific tools exist for these and other languages. In other cases, the tool to use is
determined by the type of documentation required.

o Word-processing programs for Microsoft Word are adequate for creating separate
text files of documentation, as long as the documentation is fairly short and simple.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p64 of 110
For long, complex text files, many technical writers prefer a documentation tool
such as Adobe FrameMaker.
o Help files for documenting source code can be produced with any help authoring
tool, such as RoboHelp, Help and Manual, Doc-To-Help, MadCap Flare, or HelpLogix.

6.2.4 Determine the business reasons for your documentation. 

Although the functional reason for documenting software is to help users understand how to use the
application, there are other reasons as well, such as assisting in marketing the software, enhancing
the company image, and most notably, reducing technical support costs. In some cases,
documentation is necessary to comply with certain regulations or other legal requirements.

o In no case, however, should software documentation substitute for poor interface


design. If an application screen requires reams of documentation to explain it, better
to change the screen design to something more intuitive.

6.2.5 Understand the audience you're writing the documentation for. 

In most cases, software users have little knowledge of computers outside of the tasks the
applications they use enable them to do. There are several ways to determine how to address their
needs with your documentation.

o Look at the job titles your prospective users hold. A system administrator is likely
expert with a number of software applications, while a data entry clerk is more likely
to know only the application he or she currently uses to enter data.
o Look at the users themselves. Although job titles generally indicate what people do,
there can be considerable variation in how certain titles are used within a given
organization. By interviewing prospective users, you can get a feel for whether your
impressions of what their job title indicates are accurate or not.
o Look at existing documentation. Documentation for previous versions of software,
as well as functional specifications, provide some indication as to what the user will
need to know to use the program. Keep in mind, however, that end users are not as
interested in how the program works as they are in what it can do for them.
o Identify the tasks needed to do the job, and what tasks need to be done before
those tasks can be done.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p65 of 110
6.2.6 Determine the appropriate format(s) for the documentation. 

Software documentation can be structured in 1 of 2 formats, the reference manual and the user
guide. Sometimes, a combination of formats is the best approach.

o A reference manual format is devoted to explaining the individual features of a


software application (button, tab, field, and dialog box) and how they work. Many
help files are written in this format, particularly context-sensitive help that displays a
relevant topic whenever a user clicks the Help button on a particular screen.
o A user guide format explains how to use the software to perform a particular task.
User guides are often formatted as printed guides or PDFs, although some help files
include topics on how to perform particular tasks. (These help topics are usually not
context-sensitive, although they may be hyperlinked to from topics that are.) User
guides often take the form of tutorials, with a summary of the tasks to be performed
in the introduction and instructions given in numbered steps.

6.2.8 Decide what form(s) the documentation should take. 

Software documentation for end users can take 1 or several of many forms: printed manuals, PDF
documents, help files, or online help. Each form is designed to show the user how to use each of the
program's functions, whether in the form of a walkthrough or a tutorial; in the case of help files and
online help, this may include demonstration videos as well as text and still graphics.

o Help files and online help should be indexed and keyword-searchable to allow users
to quickly find the information they're looking for. Although help file authoring tools
can generate indexes automatically, it is often better to create the index manually,
using terms users are likely to search for.

6.2.9 Choose the appropriate documentation tool. Printed or PDF user manuals can be written with
a word-processing program like Word or a sophisticated text editor like FrameMaker, depending on
their length and complexity. Help files can be written with a help authoring tool like RoboHelp, Help
and Manual, Doc-To-Help, Flare, HelpLogix, or HelpServer.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p66 of 110
Revision: 1.0 Date: 16 June 2018
M4 Programming and the World Wide Web - Learner Guide p67 of 110
Demonstrate an understanding of the principles of
implementing and managing an e-Commerce web site(US
115385)

Unit Std # 115385


NQF Level 5
Notional hours 120
Credit(s) 12
Field Field 03 - Physical, Mathematical, Computer and Life Sciences
Sub-Field Information Technology and Computer Sciences
Qualification National Certificate: Information Technology (Systems Development) LEVEL
5- SAQA- 48872- 131 CREDITS

Table of contents

Specific Outcome 1 : Identify various marketing options for use within e-Commerce web sites.
 The identification lists marketing options which are relevant to the web site
 The identification describes how the marketing options could be used to enhance the web
site.
Specific Outcome 2 : Explain the legal issues concerning the building of an e-Commerce web site.
 The explanation identifies legal issues concerning e-Commerce web sites
 The explanation outlines how these legal issues should be incorporated when building the web
site
 The explanation ensures that all relevant legal issues have been addressed when
implementing the web site
Specific Outcome 3 : Demonstrate an understanding of hosting arrangements for an e-
Commerce web site
 Identify possible service providers for hosting the web site
 Identify the costs involved in order to host the web site
 Understand contractual agreements for hosting the web site
 Specific Outcome 4 : Demonstrate an understanding of providing support for an e-
Commerce web site.
 The provision ensures that a "help facility" is available on the web site
 The provision ensures that any technical difficulties experienced on the web site, can be
resolved timeously and with ease

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p68 of 110
 The provision ensures that telephonic or online (or similar ) assistance is available in the event
of difficulties being experienced.

NOTIONAL HOURS BREAKDOWN

The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:

TIMEFRAME

Total Notional Hours Contact Time Non contact-


Self-Study/Assessment
Credits (12) x 10 = 120 36HRS 84HRS
1. Learning Programme REFER TO COVER PAGE
Name:
2. SAQA Qualification/Unit REFER TO COVER PAGE
Standard Title:
3. Qualification/ 4 SAQA ID 5 NQF 5 6 Credits 12
Unit Standard . Number . Level .
7. PURPOSE for offering REFER TO NEXT PAGE
this programme to your
learners:

8. TARGET AUDIENCE for REFER TO NEXT PAGE


this specific
programme:

9. Entry/Admission REFER TO NEXT PAGE


Requirements:

10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 36 hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =84 hrs.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p69 of 110
The Learner guide

At the end of this unit standard you will be able to Demonstrate an understanding of the
principles of implementing and managing an e-Commerce web site

Purpose:
People credited with this unit standard are able to: 

 Demonstrate an understanding of the principles of implementing and managing an e-


Commerce web site

Specific outcome:
 Identify various marketing options for use within e-Commerce web sites
 Explain the legal issues concerning the building of an e-Commerce web site
 Demonstrate an understanding of hosting arrangements for an e-Commerce web site
 Demonstrate an understanding of providing support for an e-Commerce web site

Learning assumed to be in place:

 Demonstrate an understanding of the principles of designing and building an e-


Commerce web site

Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p70 of 110
Resources (selective resources might be used, depending on the facilitator and venue
circumstances), one or all of the following can be used:
 Your facilitator/mentor
 Learning material
 Learner workbook
 Visual aids
 White board
 Flip chart
 Equipment
 Training venue

Venue, Date and Time:


Consult your facilitator should there be any changes to the venue, date and/or time.
Refer to your timetable.

Assessments:
The only way to establish whether you are competent and have accomplished the specific

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p71 of 110
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
 Information for you to read
 Exercises that require you to have a problem-solving approach to communication
 Questions for you to answer
 Case studies with questions that follow

How to do the exercise:

 The facilitator will tell you which exercise you need to complete each day.
 You need to hand in your answers to the facilitator who will mark it for correctness.
 If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
 Ask the facilitator for help, if you do not understand any of the questions asked.
 Always remember to give reasons for your answers

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p72 of 110
SPECIFIC OUTCOME 1:

Identify various marketing options for use within e-Commerce web sites.
ASSESEMENT CRITERIA
 The identification lists marketing options which are relevant to the web site
 The identification describes how the marketing options could be used to enhance the web site

1.1 Identify various marketing options for use within e-Commerce web sites.

1.1.1 What is E-commerce Marketing?

E-commerce marketing is the practice of guiding online shoppers to an e-commerce website and
persuading them to buy the products or services online. E-commerce marketing can include
practices like:

 Search engine optimization to help a website to rank higher in organic search engine listings

 Affiliation with better-known websites through referral marketing or banner advertising

 Retention of current customers through email marketing

1.1.2 How is an E-commerce Marketing option/plan developed and employed?

 An e-commerce marketing option is developed by focusing on three objectives: helping new


visitors to find the website, turning visitors into customers, and enhancing your website’s
usability and after-sale marketing to encourage repeat visitors.
 Enticing visitors and converting visitors work hand in hand. One without the other
dramatically reduces the opportunities for creating new customers. A website needs to
entice new visitors to visit and then provide sufficient incentive to turn those visitors into a
buying customers.
 Helping new visitors find a company’s e-commerce website is largely dependent on search
engine positioning and banner advertising. A successful e-commerce marketing team needs
to have expertise in search engine optimization, pay-per-click marketing, social media
marketing, and display advertising to reach the top of search results.

- Search engine optimization, better known as SEO, is one of the most critical parts of e-
commerce marketing. It is based on special algorithms that analyze the instances of

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p73 of 110
specific keywords on your website. Because users navigate the Internet through
search engines like Google, these results play a large role in the success of your
website. A good SEO campaign can position your e-commerce website to rise to the
top of the Google rankings. For example, Googling “pretty yarn” brings up Dragon Tale
Yarns sold by the e-commerce branch of Earth Guild, a store based in North Carolina,
as the fourth result. Earth Guild is not a large, well-known craft store, nor does it have
a particularly appealing web presence. What it does have is excellent SEO – because it
shows up so quickly in the search results, it likely experiences much more traffic than
its competitors.

- Pay-per-click advertising operates similarly to SEO since it is based on keywords.


However, whereas search engine optimization works organically (meaning that a
marketing firm doesn’t have to pay for it), PPC results are the results that show up in
yellow boxes on Google. Marketing campaigns pay to be represented by specific
keywords, and owe money each time a user clicks on one of these ‘sponsored’ links.
PPC and SEO campaigns often work very well together, by covering a variety of organic
and paid keywords. (See also  Pay-per-Click Marketing.

- Social media marketing can be very important to e-commerce websites. By creating an


effective Facebook business page and enticing potential customers to ‘like’ your page
with exclusive offers and discounts, you will not only gain immeasurable word-of-
mouth advertising through the network, but will establish yourself as a trustworthy,
reputable Internet business.

 Display advertising can be intimidating to smaller Internet retailers, but it has been
found to be very worthwhile. By buying small banner ads on related blogs, message
boards and other websites, you can showcase your business in front of people who
wouldn’t have found it otherwise.

 Effective, strategic marketing is sometimes enough to attract visitors to a website, but


the work doesn’t end there. Next, an e-commerce marketing campaign will convince
them to purchase the available product or service. Website visitors become customers
because of their experience on your website. While the quality and pricing of the
product is important, the user experience is just as important. The domain name

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p74 of 110
should be easy to spell, it should load quickly, and it should look good and be easy to
read.

 On the product pages, it is essential that all offerings are easy to find, easy to
understand, and are accompanied by extensive details and photos. Online shoppers
are drawn to purchase if they know right away how much your product and shipping
costs, if they can see multiple views of a product, zoom in on your photos, read
reviews from other customers, and save products they’re considering in a shopping
cart. All of these actions mirror the way they shop in a brick and mortar location.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p75 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p76 of 110
SPECIFIC OUTCOME 2 :
Explain the legal issues concerning the building of an e-Commerce
web site.
ASSESEMENT CRITERIA
 The explanation identifies legal issues concerning e-Commerce web sites
 The explanation outlines how these legal issues should be incorporated when building the web
site
 The explanation ensures that all relevant legal issues have been addressed when
implementing the web site

2.1 Legal issues concerning e-Commerce web sites:


There are a variety of legal issues that may relate to your e-Commerce website. These include the
following:

 Minimum information to be provided on websites

 Contact Details must be provided on Websites

 Minimum information to be provided on business emails

 Copyright

 Data Protection

 Opt out or Opt in?

 Email Marketing

 Cannot make a Charge on Returned Goods

 Trade Mark Keyword Online Advertising

 Disability Accessibility

 Disclaimer

2.1.1 Minimum information to be provided on websites:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p77 of 110
Websites, whether involved in e-commerce are legally required to provide at least:

 The name of the service provider. This might differ from the trading name and any such
difference should be explained – e.g. "XYZ.com is the trading name of XYZ Enterprises
Limited."

 Email address of the service provider. It is not sufficient to include a 'contact us' form
without also providing an email address.

 The geographic address of the service provider. A PO Box is unlikely to suffice as a


geographic address; but a registered office address would.

 If the business is a company, the registered office address, the company's registration
number and the place of registration (e.g. "XYZ Enterprises Limited is a company
registered in England and Wales with company number 1234567").

 If the business is a member of a trade or professional association, membership details,


including any registration number.

 If the business has a VAT number, it should be stated.

 Any prices quoted on the website must be clear and unambiguous. Also, state whether
prices are inclusive of tax and delivery costs.

2.1.2 Contact Details must be provided on Websites

 Companies have to provide a means of contact on their websites in addition to their postal
and email addresses. This includes a telephone number, or a contact form that is answered
within 60 minutes, were deemed acceptable. 

2.1.3 Minimum information to be provided on business emails:

If your business is a private or public limited company or a Limited Liability Partnership, the  business
emails must include the following details in legible characters:

 Your company's registered name (e.g. XYZ Ltd)

 Your company registration number;

 Your place of registration and

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p78 of 110
 Your registered office address

2.1.4 Copyright

 Copyright gives the creator of certain types of material rights to control the use or
commercial exploitation of that material. This includes material published on the internet.
 So you cannot use someone else's text copy or photos or images on your website without
their permission. Some creators or authors may allow you to use their material for free
provided they are credited.
 A copyright notice on a website will often set out what you can and can't do with the
material on that site. You may wish to add a suitable copyright notice to your own website.
The absence of a copyright notice does not mean you are free to reuse the material on that
website - by default you should assume that other people's works is covered by copyright
unless stated otherwise.

2.1.5 Data Protection

 Data Protection requires that you notify the Information Commissioner what you are going
to use the personal data you collect for. The Business Link website is helpful should you
want to investigate your Data Protection obligations.
 Out of this requirement comes the website Privacy Policy. The main purpose of these
statements is to fulfil the information disclosure requirements of the Data Protection Act
and inform or reassure your website visitors that the information they provide to you in
website forms etc is going to be used appropriately.

2.1.6 Opt out or Opt in?

 In the past website forms tended to be set up such that if you accepted the defaults you
were assumed to agree to whatever was being asked (eg "Accept new product and
marketing information." or "Agree to information being passed to business partners") So the
boxes were ticked for you already and you had to untick them to "opt out".
 This is no longer acceptable - now the default position must be that the visitor does
something positive (e.g. tick the box) to "opt in" otherwise you do not have their permission
therefore you do not have the right.

2.1.7 Email Marketing

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p79 of 110
 It is illegal to send unsolicited email messages except in limited circumstances. If customers
have consented to receiving information from you in the past, ie opted in, you can send
them information on other things you think they might be interested in. You must give these
people the option to opt out of receiving any further messages from you. 
 The Business Link site provides a detailed list of all your legal obligations regarding email
marketing.

2.1.8 Cannot make a Charge on Returned Goods

 International regulations stipulate that online retailers cannot reclaim some of the purchase
price of goods even if they are returned after a long time and have given the user some
benefit.
 Buyers can return goods and get a full refund in the first one to two weeks of ownership of
goods. Retailers are barred from imposing charges and penalties on people returning goods.
The only charge that may be made to the consumer because of the exercise of his right of
withdrawal is the direct cost of returning the goods. 

2.1.9 Trade Mark Keyword Online Advertising

The world's largest flower delivery firm has sued Marks and Spencer at the High Court in London for
sponsoring the word 'Interflora' as a search engine keyword. The case could be an important test of
how UK trade mark laws apply to keyword advertising. From Out-Law.com

2.1.10 Disability Accessibility

 It is illegal for web sites to discriminate against a disabled person. Traditional web design
techniques create web sites that do actively discriminate against disabled persons by making
it harder for them to use the web site than it needs to be. Typically graphic design
techniques put more emphasis on making a web site look the way it is designed to look
rather than allowing for the different requirements of the end user. So in most cases
Accessibility features are disregarded or ignored completely as they are an inconvenience
that may be restricting the web site designer. The web site owner is often" none the wiser".

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p80 of 110
 One of the simplest tests you can do to see if your website follows the most basic of
Accessibility requirements is to see if your web site text size changes if you reset the text size
in the IE Browser (View/Text Size) - all your text should change size.
 Web sites must make "reasonable adjustments" to the way in which they work to enable the
disabled to use them. If you own a commercial website which is inaccessible to the disabled,
you could be sued as a result, and damages could be awarded against you.

2.1.11 Disclaimer

Here is a standard disclaimer: ‘Please note the pages on this website contain general information
only - nothing here constitutes legal advice. We make no warranties about the content of our own
site or of sites to which we link.’

My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p81 of 110
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p82 of 110
SPECIFIC OUTCOME 3:
Demonstrate an understanding of hosting arrangements for an e-
Commerce web site.
ASSESEMENT CRITERIA
 Identify possible service providers for hosting the web site
 Identify the costs involved in order to host the web site
 Understand contractual agreements for hosting the web site

3.1 Understanding of hosting arrangements for an e-Commerce web site.

3.1.1 What is web-hosting?

A web hosting service is a type of Internet hosting service that allows a web host (often an internet
service provider) to maintain clients' websites on its computers and provides related services. These
services may include leasing of hard-disk space, maintenance of hardware and software, provision of
backup and security, content integrity, credit card processing, email boxes, and high speed internet
connection.

3.1.2 Possible service providers for hosting an e-Commerce web site.

Web hosting is often provided as part of a general Internet access plan; there are many free and paid
providers offering these types of web hosting.

A customer needs to evaluate the requirements of the application to choose what kind of hosting to
use. Such considerations include database server software, scripting software, and operating system.
Most hosting providers provide Linux-based web hosting which offers a wide range of different
software. A typical configuration for a Linux server is the LAMP platform: Linux, Apache, MySQL, and
PHP/Perl/Python. The web hosting client may want to have other services, such as email for their
business domain, databases or multimedia services. A customer may also choose Windows as the
hosting platform. The customer still can choose from PHP, Perl, and Python but may also use ASP
.Net or Classic ASP. Web hosting packages often include a Web Content Management System, so the
end-user does not have to worry about the more technical aspects.

3.1.3 What should be your primary concerns when searching for Ecommerce hosting?

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p83 of 110
When searching for Ecommerce hosting providers there are many aspects you should consider to
ensure you have the best possible service. While all hosting requirements should be looked at, there
are a few that are especially important to

 Security – Remember that your customers are giving you personal information and sensitive
information that needs to be protected. Credit card numbers, name, address, username and
password are information that may be deal with on an Ecommerce site. If it is not protected
you risk identity theft of your customers. Therefore, it is imperative to ensure any
Ecommerce hosting you choose provides the maximum security options available.

 Uptime – When you rely on your customers’ business to generate your income to stay in
business it is important to make sure your website is available to them as much as possible.
If your site is slow or unavailable your customers will go elsewhere due to sheer frustration
and a sense that you are not reliable. Therefore, it is important to be sure your potential
Ecommerce web hosting account has an uptime guarantee. 99.9% uptime is the standard
and you should look for a host that guarantees uptime in this range.

 Dedicated, Cloud and VPS – When considering Ecommerce web hosting, you may want to
choose another option over shared. While shared hosting may be sufficient for a small start-
up business, as your business grows and the popularity of your site increases you may
experience some degradation of services. If your business projections indicate the potential
for a highly successful site you may want to consider dedicated, cloud or VPS hosting off the
bat. These will allow you better scalability and accessibility when you grow. If you outgrow a
shared environment and need to move from your server you may experience downtime
which will adversely affect your business.

 Shopping carts – Shopping carts are a way for your customers to choose your products or
services throughout your site and then check out when they are done. If you use a particular
shopping cart make sure your potential new host is compatible with your shopping cart.

 Payment systems – Almost all web hosts will be compatible with the main payment
gateways so you can accept PayPal and major credit cards. However, make sure to verify
that your payment gateway is compatible with all payment means you plan to accept.

3.3 Contractual agreements for hosting the web site

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p84 of 110
A Contractual agreements is a legal agreement between a web host and its customer, specifying the
mutual rights and obligations of the web host and the customer.

A hosting agreement should cover not just hosting services, but all the ancillary services that a web
host provides. These may include control panels, email services, domain name services, SSL
certificates, and so on.

Where a host is reselling the hosting services of another company, the reseller will want to ensure
that its hosting agreement is "back-to-back" with the hosting agreement of the ultimate service
provider. This will help the reseller to pass on to the customer any liabilities it incurs as a result of
the actions of the customer in relation to the ultimate service provider.

Key terms in a hosting agreement will typically include:

 the specification of the services to be provided (including details of specific technologies


offered, or at least a reference to the specific technologies offered);
 the specification of the resources (usually storage capacity, bandwidth and processor power)
available to the customer, how those resources may be varied, and the consequences of the
customer using excessive resources;

 limitation on the kinds of content a customer may submit for hosting;


 a data processor clause in respect of personal data;

 warranties and indemnities for the benefit of the host in respect of unlawful content;


 the other responsibilities of the customer;

 arrangements for the termination of the hosting agreement; and a service level agreement
(where appropriate).

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p85 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
____

SPECIFIC OUTCOME 4:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p86 of 110
Demonstrate an understanding of providing support for an e-
Commerce web site.
ASSESEMENT CRITERIA
 The provision ensures that a "help facility" is available on the web site
 The provision ensures that any technical difficulties experienced on the web site, can be
resolved timeously and with ease
 The provision ensures that telephonic or online (or similar) assistance is available in the event
of difficulties being experienced.

4.1 Providing support for an e-Commerce web site.

Your customer support service policy should incorporate the following best practices:

a) Provide a customer service phone number. A phone conversation is the best substitute to a
face-to-face interaction and you must make it available to both customers and visitors to
your website. Make sure that the following requirements are met:
o Display your customer service number on each page of your website. Most visitors
and customers will land directly on an internal page, rather than your home page. Make
it easy for them to locate your phone number by displaying it prominently in your
website’s header.
o Adequately staff your customer service department. A prominently displayed
customer service phone number will do you no good if there is no one to pick up the
incoming calls. Make sure that you have enough people to do that.

b) Provide a customer service email. Some customers will prefer using email to contact you, so
you will have to accommodate them. Consider implementing the following best practices:
o Display your customer service email on each page of your website. The same
considerations apply as with the phone number.
o Provide a separate customer service email address. In other words, make an email
address available specifically for customer service inquiries (e.g.
support@example.com).
c) Set a response time for email inquiries. Customers need to know how soon they should
expect their issue to be addressed. Implement the following procedures:

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p87 of 110
o Acknowledge email inquiries with auto-respond emails. In addition to
acknowledging receipt of the inquiry with auto-responders, inform your customers how
soon they should expect a complete response.
o Stick to the stated time frame. You will need to staff your customer service
department sufficiently, so that all emails are responded to within the promised time
frame.

d) Set inquiry response goals to ensures that any technical difficulties experienced on the
web site, can be resolved timeously and with ease
You need to set goals for how quickly technical problems on the website are resolved. The
following procedures will help you achieve that:
o Set a goal for responding to all inquiries. For example, set a goal of 1 business day.
Similarly, you may set shorter time frames for addressing, say 75 percent or 90 percent
of the inquiries.
o Monitor performance on a weekly and monthly basis. Monitoring on a regular basis
is the only way to find out whether your response rate meets the stated goal. If not, you
will have to make adjustments and typically that means increasing the number of your
customer service staff.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p88 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p89 of 110
Demonstrate an understanding of the principles of the
internet and the world-wide-web(US 115391)

Unit Std # 115391


NQF Level 4
Notional hours 30
Credit(s) 3
Field Field 03 - Physical, Mathematical, Computer and Life Sciences
Sub-Field Information Technology and Computer Sciences
Qualification National Certificate: Information Technology (Systems Development) LEVEL
5- SAQA- 48872- 131 CREDITS
Table of contents

Specific Outcome 1 : Explain the principles of the internet and the world-wide-web.
 The explanation outlines the origins and history of the internet
 The explanation identifies the major applications of the internet
 The explanation demonstrates the use of major internet applications
 The explanation describes the history and development of the world-wide-web
Specific Outcome 2 : Explain how the world-wide-web incorporates the various internet
applications.
 The explanation provides a comprehensive understanding of the physical context of web pages
 The explanation identifies how the world-wide-web can be applied in an intranet and extranet
 The explanation describes the latest internet applications, including web-based email, instant
messaging and Voice-over-IP (VoIP)

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p90 of 110
NOTIONAL HOURS BREAKDOWN

The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:

TIMEFRAME

Total Notional Hours Contact Time Non contact-


Self-Study/Assessment
Credits (4) x 10 = 30 9HRS 21HRS
1. Learning Programme REFER TO COVER PAGE
Name:
2. SAQA Qualification/Unit REFER TO COVER PAGE
Standard Title:
3. Qualification/ 4 SAQA ID 5 NQF 4 6 Credits 3
Unit Standard . Number . Level .
7. PURPOSE for offering REFER TO NEXT PAGE
this programme to your
learners:

8. TARGET AUDIENCE for REFER TO NEXT PAGE


this specific
programme:

9. Entry/Admission REFER TO NEXT PAGE


Requirements:

10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 9hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =21 hrs.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p91 of 110
The Learner guide

At the end of this unit standard you will be able to Demonstrate an understanding of the
principles of the internet and the world-wide-web

Purpose:
People credited with this unit standard are able to: 

 The performance of all elements is to a standard that allows for further learning in this
area.

Specific outcome:
 Explain the principles of the internet and the world-wide-web
 Explain how the world-wide-web incorporates the various internet applications

Learning assumed to be in place:


 Demonstrate PC competency skills (End-User Computing unit Standards, at least up
to NQF level 3.)

Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p92 of 110
Resources (selective resources might be used, depending on the facilitator and venue
circumstances), one or all of the following can be used:
 Your facilitator/mentor
 Learning material
 Learner workbook
 Visual aids
 White board
 Flip chart
 Equipment
 Training venue

Venue, Date and Time:


Consult your facilitator should there be any changes to the venue, date and/or time.
Refer to your timetable.

Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
 Information for you to read
 Exercises that require you to have a problem-solving approach to communication
 Questions for you to answer
 Case studies with questions that follow

How to do the exercise:

 The facilitator will tell you which exercise you need to complete each day.
 You need to hand in your answers to the facilitator who will mark it for correctness.
 If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
 Ask the facilitator for help, if you do not understand any of the questions asked.
 Always remember to give reasons for your answers

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p93 of 110
SPECIFIC OUTCOME 1:

Explain the principles of the internet and the world-wide-web.


ASSESEMENT CRITERIA
 The explanation outlines the origins and history of the internet
 The explanation identifies the major applications of the internet
 The explanation demonstrates the use of major internet applications
 The explanation describes the history and development of the world-wide-web

1.1 Explain the principles of the internet and the world-wide-web

What is The Internet?

The Internet is a massive network of networks, a networking infrastructure. It connects millions of


computers together globally, forming a network in which any computer can communicate with any
other computer as long as they are both connected to the Internet. Information that travels over the
Internet does so via a variety of languages known as protocols.

What is The Web (World Wide Web)?

The World Wide Web, or simply Web, is a way of accessing information over the medium of the
Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the
HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services,
which use HTTP to allow applications to communicate in order to exchange business logic, use the
the Web to share information. The Web also utilizes browsers, such as Internet Explorer or Firefox,
to access Web documents called Web pages that are linked to each other via hyperlinks. Web
documents also contain graphics, sounds, text and video.

The Web is just one of the ways that information can be disseminated over the Internet. The
Internet, not the Web, is also used for e-mail, which relies on SMTP, Usenet news groups, instant
messaging and FTP. So the Web is just a portion of the Internet, albeit a large portion, but the two
terms are not synonymous and should not be confused.

The Internet is a global network of networks.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p94 of 110
People and organizations connect into the Internet so they can access its massive store of shared
information.

The Internet is an inherently participative medium. Anybody can publish information or create new
services.

The Internet is a cooperative endeavor -- no organization is in charge of the net.

How Big is the Internet?

 As of Jan. 2000, there were over 72 million hosts on the


Internet.

 About 48% of the people in the United States and Canada


have access to the Internet.

 About 5% of the world's population has access to the


Internet.

How Do I Connect to the Internet?

 Computer

 Connection - Phone Line, Cable, DSL, Wireless, ...

 Modem

 Network Software - TCP/IP

 Application Software - Web Browser, Email, ...

 Internet Service Provider (ISP)

What Can I Do on the Internet?

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p95 of 110
 Send and receive email messages.

 Download free software with FTP (File Transfer Protocol).

 Post your opinion to a Usenet newsgroup.

 Yack it up on IRC (Internet Relay Chat).

 Surf the World Wide Web.

 And much, much more.

 There is no charge for most services.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p96 of 110
SPECIFIC OUTCOME 2 :
Explain how the world-wide-web incorporates the various internet
applications.
ASSESEMENT CRITERIA
 The explanation provides a comprehensive understanding of the physical context of web pages
 The explanation identifies how the world-wide-web can be applied in an intranet and extranet
 The explanation describes the latest internet applications, including web-based email, instant
messaging and Voice-over-IP (VoIP)

2.1 Explain how the world-wide-web incorporates the various internet applications

What is the World Wide Web?

 The Web was invented in 1991 by


Tim Berners-Lee, while consulting at
CERN (European Organization for
Nuclear Research) in Switzerland.

 The Web is a distributed information


system.

 The Web contains multimedia.

 Information in the Web is connected by hyperlinks.

Browsing the Web

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p97 of 110
 A web page is a document on the
World Wide Web.

 A web browser is the computer


program you use to retrieve and
view web pages.

 The most popular browsers


are Microsoft Internet
Explorer and Netscape Navigator.

Serving the Web

 Web pages are stored in computers called web servers.

 Any organization can setup a web server.

 A web site is a collection of web pages.

 The starting point for a web site sometimes is called a home


page.

Hyperlinks

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p98 of 110
 Hyperlinks typically appear as
highlighted (underlined and colored)
phrases.

 Your mouse cursor will turn to a


"pointing finger" when you've found
a hyperlink.

 Click once to follow a hyperlink.

 Graphics can be hyperlinks.

You Can't Get Lost on the Web

 Your browser remembers where you've


been.

 Use the Back and Forward buttons to
retrace your path.

 Use the Home button to return to your


start page.

 Power Skill: Press and hold down on the


Back or Forward buttons to see the list of
web pages you visited.

What's the URL, Earl?

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p99 of 110
 The uniform resource locator (URL) is the
unique identifier of a web page.

 The location window displays the URL of


the current page.

 You can go directly to a web page if you


know its URL: click once in the location
window and type it in.

What's on the Web Page?

 Some sites use advertising to subsidize


free content.

 Most large web sites have some


navigation scheme to find information.

 Links on the home page will bring you


directly to featured content.

web Page Load Status

 The logo animates during page load.

 The progress bar illustrates page load progress.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p100 of 110
 The status bar displays page load status.

Stop & Reload

 The Stop button stops page loading.

 The Reload button fetches a fresh copy


of the page.

 If the page is already loaded, the Stop


button freezes the animations.

Bookmarks

 A bookmark marks your place on the


Web.

 Press the Bookmark button for the


bookmarks menu.

 Select "Add Bookmark" to create a


bookmark for the current page.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p101 of 110
 Bookmarks stay on the computer where you make them.

Web Security

 Secure web pages use encryption to


protect from eavesdroppers.

 Secure web pages use https.

 The lock icon closes on a secure page.

 The privacy policy should tell you what


the recipient will do with that
information

Now You're a Real Web Browser

That's everything you need to know to browse the Web.

Now, an even bigger challenge lies ahead:


learning how to find the information you want.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p102 of 110
2.1.1 The explanation identifies how the world-wide-web can be applied in an intranet and
extranet

An extranet is a computer network that allows controlled access from the outside, for specific
business or educational purposes. In a business-to-business context, an extranet can be viewed as an
extension of an organization's intranet that is extended to users outside the organization, usually
partners, vendors, and suppliers, in isolation from all other Internet users. In contrast, business-to-
consumer (B2C) models involve known servers of one or more companies, communicating with
previously unknown consumer users. An extranet is similar to a DMZ in that it provides access to
needed services for channel partners, without granting access to an organization's entire network.

Advantages

 Exchange large volumes of data using Electronic Data Interchange (EDI)

 Share product catalogs exclusively with trade partners

 Collaborate with other companies on joint development efforts

 Jointly develop and use training programs with other companies

 Provide or access services provided by one company to a group of other companies, such as
an online banking application managed by one company on behalf of affiliated banks

Disadvantages

 Extranets can be expensive to implement and maintain within an organization (e.g.,


hardware, software, employee training costs), if hosted internally rather than by
an application service provider.

 Security of extranets can be a concern when hosting valuable or proprietary information.

Intranets and Extranet

Intranet/ Extranet form a major part of the information systems of many corporates. A lot of
companies use intranets/ extranets as a powerful tool to manage their resources and work in a
systematic manner. One of our most valued services is helping companies enhance their business
and communication channels by using Intranet and Extranet technology. An Intranet is a use of
Net and Web technology that happens inside your own organization. An Extranet is an Intranet

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p103 of 110
that people outside your formal organization have access to.
 
What could you use an intranet for in a business environment? Some ideas include
 Document distribution - reducing cost improving timeliness of distributed information
 Provide a secure medium for the distribution of confidential information
 Interactive services - surveys, etc.
 Training
 Database access
 Inter-company communication
 Customer support
 
What is an intranet?
An intranet is a private computer network based on the communication standards of the Internet.
It is smaller version of the Internet that only the members of an organization can see. Companies
can create, within their walls, a manageable, secure version of the World Wide Web. Using
Intranets (and extranets) will change the culture of an organisation. By making a lot of information
easily available, you empower staff to make informed decisions. Intranets allow an organization to
spend less time on things that bring no value such as chasing down the right information to solve a
problem. Productivity increases as corporate knowledge is more accessible and the data is more
accurate.
 Flexibility in time of delivery of knowledge is gained as information is always a click away
 Intranets allow for a place where boundaries are lowered and information exchange is
encouraged. This leads to more informed employees with the ability to make better,
faster decisions. This in turn leads to better productivity and more time for revenue
generation.
 Extranets
 Having all of your key business information easily and quickly accessible will help your
business to prosper. Providing those on your supply chain, including your customers, with
all the information they need to improve their business relationship with you will help
your business to grow and develop. Intranets and extranets make use of all the
technology of the internet to supply these things through secure managed channels so
helping you to monitor and control your business in a cost-effective way. If used properly
they can drastically speed up the pace with which you can communicate within a
geographically dispersed community.
 Just as there are many internal uses for web technology, companies often need to find
better ways to communicate with external customers and suppliers. Extranets can

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p104 of 110
improve your sales, marketing, supplier and customer service channels by allowing these
groups of users to access your extranet and obtain the information they need.
 
Extranet application areas for customers, partners, and dealers include:
 Product brochures & specifications
 Product pricing
 Frequently asked questions
 Ordering information
 Distributor/sales contact list
 Customer support contact numbers
 Details of warranties/support documents
 Employee recruitment
 

2.1.2 The explanation describes the latest internet applications, including web-based email,
instant messaging and Voice-over-IP (VoIP)

The term Webmail (or Web-based email) is used to describe two things. One use of the word is to
describe a Webmail client: an email client implemented as a web application accessed via a web
browser. This article focuses on this use of the term.

The other use of the word is to describe a Web-based email service: an email service offered
through a web site (a webmail provider) such as:

  Gmail,

  Yahoo! Mail, 

 Hotmail and

  AOL Mail.

 Practically every webmail offers email access using a webmail client, and many of them also offer
email access by a desktop email client using standard email protocols, while many internet service
providers provide a webmail client as part of the email service included in their internet service
package.

As with any web application, webmail's main advantage over the use of a desktop email client is the
ability to send and receive email anywhere from a web browser. Its main disadvantage is the need to

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p105 of 110
be connected to the internet while using it (Gmail offers offline use of its webmail client through the
installation of Gears.. There exist also other software tools to integrate parts of the webmail
functionality into the OS (e.g. creating messages directly from third party applications via MAPI).

Instant messaging (IM) is a form of communication over the Internet, that offers quick transmission


of text-based messages from sender to receiver. In push mode between two or more people using
personal computers or other devices, along with shared clients, instant messaging basically
offers real-time direct written language-based online chat. The user's text is conveyed over
a network, such as the Internet. It may address point-to-point communications as well
as multicast communications from one sender to many receivers. More advanced instant messaging
allows enhanced modes of communication, such as live voice or video calling, video chat and
inclusion of hyperlinks to media.

1.1 An introduction to VoIP

VoIP is a set of technologies that enable voice calls to be carried over the Internet (or other networks
designed for data), rather than the traditional telephone landline system—the Public

Switched Telephone Network, or PSTN.

The term VoIP was coined by the VoIP Forum which was set up in May 1996 as an industry group
concerned with promoting and developing product interoperability and a high quality of service for
Internet telephony products

1. Initially, one of the main drivers in developing VoIP was the potential to cut the cost of telephone
calls. Traditional voice calls, running over the

PSTN, are made using circuit switching, where a dedicated circuit or channel is set up between two
points before the users talk to one another—just like old-fashioned operators, plugging in the wires
to connect two callers. The advantage of this is that once the circuit is set up, the call quality is very
good, because it is running over a dedicated line. But this type of switching is expensive because the
network needs a great deal of (mostly under-used) capacity.

The development of VoIP represents a major change in telecommunications. VoIP uses IP protocols,
originally designed for the Internet, to break voice calls up into digital ‘packets’. In order for a call to
take place the separate packets travel over an IP network and are reassembled at the far end. The
breakthrough was in being able to transmit voice calls, which are much more sensitive to any time
delays or problems on the network, in the same way as data.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p106 of 110
Whereas calls over the PSTN are metered, so the user pays for the amount of time taken by their
call, Internet usage is not metered. The user pays a set fee for their Internet service and their VoIP
service and can then use the Internet to get free phone calls to other users on the same VoIP service,
or pay a small fee to call users on other VoIP services or on the PSTN.

Packetised voice also enables much more efficient use of the network because bandwidth is only
used when something is actually being transmitted. Also, the network can handle connections from
many applications and many users at the same time, unlike the dedicated circuit-switch approach.
This greater efficiency is one of the main reasons that all major carriers, such as BT with its 21CN
(21st Century Network) project

2 are changing their own networks so that they are IP-enabled.

1.2 How VoIP works

1.2.1 The Basics

The basic process involved in a VoIP call is as follows:

1. Conversion of the caller’s analogue voice signal into a digital format

2. Compression and translation of the digital signal into discrete Internet Protocol packets

3. Transmission of the packets over the Internet or other IP-based network

4. Reverse translation of packets into an analogue voice signal for the call recipient

1.2.2 What you need to make a VoIP call

To make a VoIP call, the consumer user requires VoIP software and a broadband connection to the
Internet. The software will handle the call routing to make sure the call reaches the intended
destination as well as providing the codec. The software can be installed on a variety of hardware
devices including traditional telephone handsets (using an adaptor that plugs into the telephone

3) or a PC or wireless device such as a Personal Digital Assistant (PDA). This use of software-
enhanced end-user devices is one of the key distinguishing features of VoIP.

Whereas the traditional telephone system contains its 'intelligence' within the network, VoIP makes
use of the Internet model of intelligence at the edge of the network. This is often known as the end-
to-end principle.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p107 of 110
In order to make a call, an account with a VoIP service provider is also required. Different types of
VoIP service are available, including services from traditional telephone carriers such as BT, and from
specialised VoIP providers such as US firm Vonage and Luxembourg-based Skype. Some VoIP
providers provide support only for PC-to-PC calls, while others provide the ability to make and
receive calls from IP-enabled devices to users on the PSTN and on mobile networks.

The emergence of social networking (2000 - 2004)

PHOTO: Mark
Zuckerberg launched Facebook as a social networking site for students at his university. The site now
has over 1.23 billion users worldwide. (Flickr: Niall Kennedy)

By 2001, online information hub Wikipedia emerged. Initially hosting a similar number of entries to a
children's encyclopaedia, the website grew when the Encyclopaedia Britannica 1911 edition entered
the public domain, Mr Pesce said.

"There was a noticeable upslope in 2002-03 when it starts taking off," he said.

Apple's iTunes soon provided music enthusiasts with a legal alternative to downloading their
favourite commercial tunes. Despite launching with just 200,000 songs, it reached sales of 250,000
within 24 hours.

Building on the concept of peer-to-peer networks such as Napster, Skype was soon born. Using
similar technology, it allows users to make free calls to others using the program.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p108 of 110
It later branched out to include video messaging, videoconferencing and began offering an
alternative telecommunications service for users wanting to call regular phone numbers.

Video technology was soon considered for use in other industries, such as medicine, allowing
doctors to examine and in some cases treat patients thousands of kilometres away.

While chat rooms and instant messaging proved popular in the preceding years, social networking
sites started to emerge offering an alternative.

Professional networking site LinkedIn launched in May 2003, followed by MySpace in August.

Meanwhile, Harvard student Mark Zuckerberg introduced his peers to The Facebook, a social
networking site he built for students at the university in 2004. More than 1,000 students signed up
in the first day.

With web-based mail proving popular, Gmail entered the market enticing users with greater storage
than many existing mail providers at the time.

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p109 of 110
My notes

__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
_________________________________________________________________________________

Revision: 1.0 Date: 16 June 2018


M4 Programming and the World Wide Web - Learner Guide p110 of 110

You might also like