Uploaded by Юлия Ждакаева

учебник англ

advertisement
Федеральное агентство по образованию Российской Федерации
Томский политехнический университет
И.Л. Пичугова
ПРОФЕССИОНАЛЬНЫЙ АНГЛИЙСКИЙ ЯЗЫК
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ
СИСТЕМ
Учебное пособие
Издательство ТПУ
Томск 2006
ББК Ш 143.21-923.81
УДК 802.0:681.324 (07)
П-364
П-364
Пичугова И.Л.
Проектирование информационных систем. Учебное пособие по
профессиональному английскому языку. – Томск: Изд-во ТПУ, 2006.
– 144 с.
ISBN
Учебное пособие «Проектирование информационных систем»
состоит из 12 разделов. В каждый раздел включены аутентичные тексты,
содержащие
интересную
и
познавательную
информацию
о
программировании, языках программирования, базах данных, системах
управления базами данных, интерфейсах и т.д. Каждый раздел содержит
ряд упражнений, нацеленных на усвоение научно-технической лексики.
Также в пособии использованы материалы для аудирования. Пособие
ориентированно как на занятия в аудитории, так и на самостоятельную
работу.
Учебное пособие подготовлено на кафедре английского языка №1
совместно с кафедрой вычислительной техники ТПУ и предназначено
для студентов старших курсов факультета автоматики и вычислительной
техники.
Учебное пособие рассмотрено и одобрено на заседании Научнометодического Совета кафедры АЯ №1, протокол №7 от 15.11.2006г.
УДК 802.0:681.324 (07)
Рекомендовано к печати Редакционно-издательским советом
Томского политехнического университета
Рецензенты
Кандидат филологических наук,
доцент кафедры английской филологии ТГУ
И.А. Галкина
Кандидат педагогических наук,
старший преподаватель кафедры английской филологии ТГУ
С.В. Кузнецова
Кандидат технических наук,
доцент кафедры вычислительной техники ТПУ
Е.А. Мирошниченко
ISBN
© Томский политехнический университет, 2006
© Оформление. Изд-во ТПУ, 2006
1
Contents
Map of the book
3
Unit 1.
Computer Programming
5
Unit 2.
Program Design
12
Unit 3.
Programming Languages
19
Unit 4.
Comparing Programming Languages
26
Unit 5.
Structured Programming
34
Unit 6.
Object Oriented Programming
41
Unit 7.
Databases
50
Unit 8.
Database Management Systems
57
Unit 9.
Graphical User Interface
65
Unit 10. User Interface Guidelines
73
Unit 11. Web Page Design
83
Unit 12. Extensible Markup Language
93
Pairwork Student A
101
Pairwork Student B
103
Visuals for Speaking
105
Progress Check 1 (Units 1 - 6)
111
Progress Check 2 (Units 7 - 12)
116
Listening Script
121
Glossary
132
Bibliography
143
2
Map of the Book
Unit
1.
Title
Computer programming
2.
Program design
3.
Programming languages
4.
Comparing programming
languages
5.
Structured programming
6.
Object oriented programming
7.
Databases
8.
Database management
systems
9.
Graphical user interface
10.
User interface guidelines
11.
Web page design
12.
Extensible Markup Language
Vocabulary
Program, algorithm, process,
operation, connector, input,
output, decision, flowchart,
system/syntax/logic errors
Flowchart, documentation,
testing, debugging, program,
machine code, programming
tools, compilation, coding
Source code, object module,
compiler, instructions,
machine code, load module,
linkage editor, algorithm
Library, compilation speed,
portability, development
time, implementation,
popularity, safety, runtime
Sequential execution, loop,
spaghetti code, control
structure, sequence, selection,
iteration, function
Inheritance, class, entity,
procedure, property, value,
intelligence encapsulation,
library, property, attribute
Database, file, record, field,
data model, hierarchical,
network and relational
approaches, sort, update
Logical record, field,
physical record, internal
schema, external schema,
conceptual schema, query
Pointer, desktop, windows,
icon, menus, system tray,
buttons, commands, tooltips,
GUI, multimodal interface,
recognition, hover, select
Appearance, density of
controls, capabilities, errorfree navigation, intuitive,
application, feedback
Metalanguage, character,
markup, XML processor,
parse, customized, authoring
environment, entity, HTML
Algorithm, technology,
standard, designer, syntax,
procedure, namespace
mechanism, tool, support
3
Grammar
General and special questions
Modal verbs
Compound nouns
Relative clauses with a
participle
The Infinitive of purpose
Constructions:
verb + object + infinitive,
verb + object + to-infinitive
with such verbs as allow,
permit, let, enable, help
Phrasal verbs
The Passive
The Gerund
Map of the Book
Listening
Matching flowchart
symbols and spoken
output; listening for
detail
Writing a dictation
Reading
Scanning; reading
and note-taking
Speaking
Talking about computer
programming, different
types of errors
Writing
Drawing a flowchart
Scanning
Talking about computer
program design, its main
steps
Describing a process;
Translating sentences
Listening for specific Reading for main
information; noting
ideas
specific information
Exchanging options and
information about
programming languages
Reading for specific
information
Talking about the main
criteria for comparing
programming languages
Writing an essay
comparing programming
and natural languages
Reading for specific
information
Talking about the main
rules of structured
programming
Translating the text about
algorithm development
and pseudocode
Listening for specific Reading for specific
information; noting
information
specific information
Talking about basic
features of object oriented
programming; developing
a software package
Reading for main
Talking about databases,
ideas and for specific structuring data model
information
Translating the text about
object oriented
programming
Noting specific
information
Writing an argumentative
essay
Listening for specific Reading for main
Talking about database
information
ideas and for specific management systems;
information
describing a process
Listening for specific Reading diagrams;
information, noting
reading for main
specific information ideas and for specific
information
Reading for specific
information
Talking about common
features of graphical user
interface; providing
explanation of different
actions
Talking about the basic
principles to design a user
interface
Writing an argumentative
essay; translating the text
about database
management systems
Writing instructions
Completing a table with
relevant information;
preparing a leaflet; writing
a summary
Listening for specific Reading for main
Talking about top 10 web
information, noting
ideas and for specific page annoyances;
specific information information
basic concepts of XML
Reading for main
ideas
Exchanging information
4
Translating the text about
XML
Unit 1. Computer Programming
Warm-up
Task 1. What do you know about programming? Answer the
Internet Quiz.
1.
2.
3.
4.
5.
6.
Programmers use algorithms when writing programs.
Programmers write programs using the numbers 1 and 0.
We can only find computer programs in computers.
Any given program, if running, is obsolete.
Any given program costs more, and takes longer.
The most harmful error of any program will not be
discovered until the program has been in production for at
least six months.
7. Profanity is the one language that all programmers know
the syntax of.
8. There is always one more bug.
9. Real programmers never work from 9 to 5. If any real
programmer is around at 9 a.m., it’s because they were up
all night.
10. It is easier to change the specification to fit the program
than vice versa.
5
T/F
T/F
T/F
T/F
T/F
T/F
T/F
T/F
T/F
T/F
11. Any program will expand and fill all of available memory
– plus one byte.
12. Disk errors occur only after you've done several hours of
work without making a backup.
T/F
T/F
Listening
Task 2. Programmers sometimes use flowcharts when planning
a program. Listen to the recording and identify these symbols
used in flowcharts. One symbol is not mentioned.
a) ____________
b) ____________
c) ____________
d) ____________
e) ____________
f) ____________
Task 3. Listen again to the recording and write below a typical
example of an instruction often found there in flowcharts. One
symbol has no words.
a)
b)
c)
d)
e)
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
Reading
Task 4. Look at the algorithmic flowchart on the next page and
answer the questions.
1.
2.
3.
4.
Which computer commands does it show?
How many decisions does the computer make?
After the user clicks Save, how many times does the user input
data?
How many ways of developing the events are possible here?
Now describe this algorithmic flowchart.
6
User clicks Save.
The program reads the file name,
format and location.
YES
Is there an existing file
with the same file
name, format and
location?
Save file.
END
NO
Program shows the
Save As dialog box.
User enters the file
name, format and
location.
User clicks on Save in
the Save As dialog box.
Program reads the file name,
format and location.
YES
Is there an existing file
with the same file
name, format and
location?
NO
Save file.
END
7
A dialog box appears
with the message,
‘The file already
exists. Do you want
to replace it?’
Task 5. Read the text about computer programming. Write the
number of the paragraph that gives you the information.
a.
b.
c.
d.
e.
f.
g.
h.
i.
why high-level languages are easy to learn
a description of machine language
the greatest problem for computer programmers
the names of three high-level computer languages
a description of an algorithm
different uses of computers in our lives
a description of a computer program
what computers do with code
a description of the binary system
_____
_____
_____
_____
_____
_____
_____
_____
_____
1.
The diagram on the right shows part of a simple algorithmic flow chart
for the Save command in a computer program. An algorithm is a set of
logical rules that we use to solve a problem. Computer programmers
often use algorithms to plan their programs, but the only language a
computer understands without translation is machine language. This
uses the binary system of 1 and 0, which matches the electrical
positions ‘on’ and ‘off’. We can also show these numbers in English by
Yes/No or True/False.
2.
Machine language is a low-level language and is very difficult to write.
Over the years, computer scientists have developed many high-level
languages, such as BASIC, C++ and Java. These languages use a
computer code that is similar to English, which makes them easier to
learn. A computer program is just a set of coded instructions. A
computer translates the code into machine language to complete a
specific task. A computer receives input, processes data and produces
results, or output, according to the program code.
3.
We use computers in many parts of our lives, and not just in schools or
for the Internet. There are computers in all kinds of electrical devices,
from mobile phones to washing machines. We can find them in banks,
supermarkets and cars. When programmers write programs, they have
to plan carefully for every possible kind of error a computer user can
input into the computer. It is planning for the random behaviour of
humans that makes programming so much fun.
8
Speaking
Task. 6. Work in groups and discuss the following questions.
1.
2.
3.
Have you ever had any problems with the computer?
What kind of errors do you make with computers?
How do you behave when things go wrong with a computer?
Listening
Task 7. Listen to the interview with Colin who is a programmer
and answer these questions.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Is programming stressful?
What does Colin do as a break from programming?
Where do the team do much of the design work?
How many people are there in the team?
What do they do?
How long did Dante take to write?
Why was it easy to split?
What languages does he mention?
How does he keep up with developments in his field?
Why does he hate to go home sometimes?
9
Reading
Task 8. Work in groups of three: A, B and C. Read your text
below and complete this table.
Text A
Text B
Text C
Type of error
Definition
Example
Ways to avoid
or deal with this
kind of error
A. System errors affect the computer or its peripherals. For example, you
might have written a program which needs access to a printer. If there
is no printer present when you run the program the computer will
produce a system error message. Sometimes a system error makes the
computer stop working altogether and you will have to restart the
computer. A sensible way of avoiding system errors is to write code to
check that peripherals are present before any data is sent to it. Then the
computer would warn you by a simple message on the screen, like
‘printer is not ready or available’.
B. Syntax errors are mistakes in the programming language (like typing
PRNIT instead of PRINT). Syntax errors cause the program to fail.
Some translator programs won’t accept any line that has syntax errors.
Some only report a syntax error when they run the program. Some
languages also contain special commands such as debug, which will
report structural errors in a program. The programming manual for the
particular language you’re using will give details of what each error
message means.
C. Logic errors are much more difficult to detect than syntax errors. This
is because a program containing logic errors will run, but it won’t work
10
properly. For example, you might write a program to clear the screen
and then print ‘hello’. Here is a code for this:
10//
20
30
40
Message
PRINT ‘Hello’
CLS
END
The code has a logic error in it, but the syntax is right so it will run. You can
get rid of logic errors from simple programs by ‘hand-testing’ them or doing
a ‘dry run’ which means working through each line of the program on paper
to make sure it does what you want it to do. You should do this long before
you type in the code.
Task 9. Now share information orally about your text with others
in your group to complete the table for each of the errors
described.
Writing
Task 10. Draw a flowchart like one in Task 4 for one of these
activities. Follow these steps:
•
•
•
•
•
Choose a simple procedure from the ones in the box below (or a
simple one of your own).
Break the procedure down into all the steps that you have to
follow. Think about where the process starts and ends, and the
input from you and from the outside. When you make a decision,
think of when you say ‘yes’ and when you say ‘no’, and what
happens next.
Write exactly what happens at each stage.
Draw the flowchart, putting your text into the different shapes in
Task 2.
Show your flowchart to another student. Does he/she agree with
your steps?
Making a cup of tea or coffee
Making a telephone call
Sending a text message
Answering the door
Planning a holiday
Choosing a new computer
Preparing for an important exam
Playing a cassette or a CD
11
Unit 2. Program Design
Warm-up
Task 1. In pairs, try to think of an answer for the question:
What is programming?
Decide which of the definitions below is the most appropriate?
Give a reason for your choice.
1.
2.
3.
4.
The process of writing and testing programs for computers.
The process by which a set of instructions is produced for a
computer to make it perform a specified task. The task can be
anything from the solution to a mathematical problem to the
production of a graphics package.
The act of writing a computer program.
It is the craft of implementing one or more interrelated abstract
algorithms using a particular programming language to produce a
concrete computer program. Programming has elements of art,
science, mathematics, and engineering.
Reading
Task 2. Put these five stages of programming in the correct
sequence.
a)
b)
c)
d)
e)
Design a solution
Code the program
Document and maintain the program
Clarify the problem
Test the program
1. _____
2. _____
3. _____
4. _____
5. _____
Task 3. To which stage does each of these steps belong?
1.
2.
3.
4.
5.
Clarify objectives and users
Debug the program
Write programmer documentation
Do a structured walkthrough
Select the appropriate programming language
12
_____
_____
_____
_____
_____
Task 4. Read the text and compare your answers for Tasks 2
and 3.
Steps in Computer Program Development
The steps in the development of
each of the computer programs that make
up the computer program component of a
system are:
1. define the function of the program;
2. plan the logic of the program;
3. code the program;
4. test and debug the program;
5. complete the documentation.
Although the programmer is
responsible for writing the computer program, the system analyst must
communicate the computer program requirements to the programmer. The
function of each program was defined for the programmer when functions
were allocated during system design. Detailed data flow diagrams (DFD)
are prepared for each program from the decomposed DFDs created during
the design phase. These DFDs define the function of each program.
In program planning, the logic to be used to solve the problem is
developed. Algorithms, computer program logic flowcharts, and structure
charts are useful tools for program planning. Algorithms are sets of rules or
instructions used to accomplish tasks. They may be stated as formulas,
decision tables, or narratives.
The next step, writing, or coding, a program, is the actual writing of
computer instructions. These instructions will be translated to machine code
and followed by the computer; they should follow the steps of the program
logic plan.
Several programming languages, particularly COBOL, PL/I, and
RPG, are commonly used to solve business problems. In addition to these
traditional languages, organizations using database management systems
may choose to generate programs using the query language of the DBMS.
These query languages are part of a package of programming tools known
as fourth-generation languages. Each language has its advantages and
disadvantages. Most computer installations have a standard language used
by their programmers. Programmers usually are not given a choice of
language unless some special circumstances exist.
Testing and debugging a program involve:
1. translating the coded program into machine language, a process called
13
compilation;
2. testing the translated program with sample data and checking the result.
If the results of testing are not correct, the program is said to have
"bugs". Debugging is the process of correcting computer programs to obtain
correct results.
The last step is to complete the documentation for the program. The
documentation must include a statement of the purpose of the program, a
description of the solution logic, a listing of the program instructions, and
sample outputs from the completed programs. Information provided to the
programmer by the analyst, such as descriptions of program inputs, outputs,
and files, should be included. Instructions to operators explaining how the
program is to be used must be written before the program documentation is
completed.
Language work
General and Special Questions
Word order in general questions: auxiliary verb + subject + verb
e.g. Have you ever used a computer?
Word order in special questions is as following:
question word + auxiliary verb + subject + verb
e.g. How long have you been restoring the data?
If there is more than one auxiliary verb, we put only the first
auxiliary in front of the subject: e.g. How long has this program been used?
Task 5. There are answers to questions about the text. Write the
questions.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
There are five main steps in the computer program development.
For writing the computer program.
It is developed in program planning.
As formulas, decision tables, or narratives.
Yes, it is the actual writing of computer instructions.
No, programmers usually are not given a choice of languages.
It is called compilation.
When the results of testing are not correct.
To obtain correct results.
They must be written before the program documentation is
complete.
14
Task 6. Choose the correct word to complete each sentence.
You may have to change some words slightly.
1.
compilation, compiler, compile, compiled
a) It took weeks __________ the new customer database.
b) A source program cannot be directly processed by the
computer until it has been __________.
c) If the errors are removed and the program re-run, the
process of __________ starts all over again, but this time
the __________ program will be executed.
d) A computer needs its own __________ for the various
high-level languages if it is expected to accept programs
written in those languages.
2.
program, programmer, programming, programmable
a) The __________ CD-player allows the user to change the
order tracks are played in.
b) She __________ the VCR to come on at eight.
c) Most computer __________ make a plan of the program
before they write it. This plan is called a flowchart.
d) It is unusual for a __________ to work correctly the first
time it is tested.
3.
bug, debug, debugger debugging
a) The best compilers usually include an integrated
__________ which detects syntax errors.
b) New programs need __________ to make them work
properly.
c) Once you have written your program you have to test it
with sample data to see if there are any __________ or
errors.
4.
instruction, instruct, instructed, instructor
a) The next step is to design an algorithm, which is a stepby-step plan of __________ used to solve the problem.
b) We have been __________ that a decision will not be
made before the end of the week.
c) Our maths __________ explained to us the principles of
binary arithmetic.
15
Speaking
Task 7. Say what has happened in the cartoon. What do you
think this cartoon is about? Write a caption for the last picture.
Translate each caption into English.
Как было предложено
организатором разработки
Как было описано в
техническом задании
Как было спроектировано
ведущим системным
специалистом
Как было реализовано
программистами
Как было внедрено
____________________
16
Task 8. Work in pairs and discuss the following:
Many would argue that computer’s actions are merely consequences of how
it was programmed, and thus a computer cannot possess free will. In turn, a
computer shouldn’t be held responsible for its actions. Is human’s mind a
computer? Are humans programmed at birth? Are humans responsible for
their actions?
Writing
Task 9. Look at the scheme below and describe activities and
connections of the evolutionary development.
Evolutionary development concurrent activities
Initial
version
Specification
Outline
description
Development
Intermediate
versions
Validation
Final
version
Discuss whether it is possible for engineers to test their own
programs in an objective ways.
Listening
Task 10. You will hear Lucy Boyd, a software developer,
explaining how a program is produced. Listen and write down
what you hear.
17
Translation
Task 11. Translate the following sentences into English.
1.
Если вам удалось написать программу, в которой транслятор
не обнаружил ошибок, обратитесь к системному
программисту – он исправит ошибки в трансляторе.
2. В природе программирования лежит то, что нет соотношения
между "размерами" самой ошибки и проблем, которые она
влечет.
3. Я пишу все свои критические программы на ассемблере, а
комедийные – на фортране.
4. Если
отладка
–
процесс
удаления
ошибок,
то
программирование должно быть процессом их внесения.
5. Машинная программа выполняет то, что вы приказали ей
делать, а не то, что бы вы хотели, чтобы она делала.
6. Законы машинного программирования.
a) Любая действующая программа устарела.
b) Любая программа обходиться дороже и требует
больше затрат времени, чем предполагалось.
c) Если программа полностью отлажена, ее нужно
будет скорректировать.
d) Любая программа стремится занять всю доступную
память.
e) Ценность программы прямо пропорциональна весу
ее "выдачи".
f) Сложность программы растет до тех пор, пока не
превысит способности программиста.
7. Если бы архитекторы строили здания так, как программисты
пишут программы, то первый залетевший жук разрушил бы
цивилизацию.
8. Никогда не выявляйте в программе ошибки, если вы не знаете,
что с ними делать дальше.
9. Создайте систему, которой сможет пользоваться даже глупец,
и только глупец захочет ею пользоваться.
10. Большинство
существующих
программ
создается
исключительно для нужд компьютера – для того, чтобы
работало нужное человеку меньшинство.
18
Unit 3. Programming Languages
Warm-up
Task 1. Read the saying below and mull it over in pairs.
Alan Perlis once said: “A language that does not affect the way you think
about programming is not worth knowing”.
Task 2. Can you identify these programming languages?
A.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
REM Program to compute integer sum
MAXINT% = 32767
TOTAL# = 0#
PRINT “This program calculates the sum of all integers”
PRINT “from 1 to whatever integer you specify.”
PRINT “Enter any positive integer up to “MAXINT%”:”;
INPUT NUMBER
IF (NUMBER > 0) AND (NUMBER <= MAXINT) THEN GOTO 90 ELSE GOTO 150
FOR COUNT% = 1 TO NUMBER
TOTAL# = TOTAL# + COUNT%
NEXT COUNT%
PRINT “The sum of all integers from 1 to ”NUMBER
PRINT “is “TOTAL#
GOTO 160
PRINT “This number is out of bounds!”
END
B.
C.
/*numbercount.c*/
#include <stdio.h>
#define MAXINT 32767
Program Number Count (input, output);
var count,
number: integer;
total: real;
main ()
{
int count, number;
long int total;
begin
total :=0.0;
write|n (‘This program calculates the sum of all
integers’);
write|n (‘from 1 to whatever integer you specify.’);
write (‘Enter any positive integer up to ’,maxint,’:’);
read|n (number);
if (number > 0) and (number <=maxint) then
begin
for count = 1 to number do
total := total + count;
write|n (‘The sum of all integers from 1 to
‘,number);
write|n (‘is ‘,total)
end
else writein (‘This number is out of bounds!’)
end.
total = 0;
printf(“This program calculates the sum of all integers\n”);
printf(“from 1 to whatever integer you specify.\n”);
printf(“Enter any positive integer up to %d:”,MAXINT);
scanf(“%d”,&number);
if (number > 0 && number <= MAXINT)
for (count = 1; count <=number; count++)
total = total + count;
printf(“The sum of all integers from 1 to
%d\n”,number);
printf(“is % d\n”,total);
else printf(This number is out of bounds! \n”);
}
19
Reading
Task 3. Read the text and fill in the gaps using the list of words
below.
Programming languages
Computers can deal with different kinds of problems if they are given
the right 1) …… for what to do. Instructions are first written in one of the 2)
……, e.g. FORTRAN, COBOL, PASCAL, C++, Visual Basic, etc.,
depending on the type of problem to be solved. A program written in one of
these languages is often called a 3) ……, and it cannot be directly processed
by the computer until it has been compiled, which means interpreted into 4)
…….
In some languages, an interpretable p-code binary is generated, rather
than machine language. It is also possible for the 5) …… to write directly in
machine code, but this is hardly ever done anymore: instead, when complete
low-level control of the target computer is required, programmers resort to
6) ……, whose instructions are mnemonic one-to-one transriptions of the
corresponding machine language instructions.
Different programming languages support different styles of
programming (called 7) ……), some of which are better suited for a
particular task than others. They also require different levels of detail to be
handled by the programmer when implementing algorithms, often resulting
in a compromise between ease of use and performance.
The program produced after the source program has been converted
into machine code is referred to as an 8) …… or object module. This is
done by a computer program called the 9) ……, which is unique for each
computer.
The compiler is a system program which may be written in any
language, but the computer’s operating system is a true systems program
which controls the central processing unit, the input, the output, and the
secondary memory devices. Another systems program is the 10) ……,
which fetches required systems routine and links them to the object module
(the source program in machine code). The resulting program is then called
the 11) ……, which is the program directly executable by the computer.
Although systems programs are part of the software, they are usually
provided by the 12) …… of the machine.
1.
2.
programming paradigms
assembly language
3.
4.
20
high-level languages
source program
5.
6.
7.
8.
linkage editor
machine code
object program
load module
9.
10.
11.
12.
programmer
manufacturer
instructions
compiler
Listening
Task 4. You are going to hear a lecture about programming
languages. Listen carefully and decide whether the following
statements are true (T) or false (F) in relation to the information
in the recording.
1.
2.
All languages discussed are high level languages.
A computer program is a sequence of instructions which are
executed simultaneously.
3. One can hardly understand a machine code.
4. Assembly languages are very useful when one requires a high
speed of command execution.
5. FORTRAN 77 was designed to write highly structured programs.
6. FORTRAN is quite suitable to be used in business environment.
7. Only the originator can make changes in a program written in
COBOL.
8. COBOL instructions are of the same size as FORTRAN ones.
9. Originally the major application of BASIC was in education.
10. Manufacturers started using BASIC after the introduction of
microcomputers.
Task 5. Now listen again to the recording and complete the table
below.
Language
Date of
introduction
Type
FORTRAN
Advantages
1.
2.
3.
1.
2.
1.
2.
3.
4.
COBOL
BASIC
21
Disadvantages
1.
2.
1.
2.
1.
Speaking
Task 6. Work in pairs, A and B. You each have information
about some programming languages. Together decide what
would be the most appropriate language to use for each of
these situations.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
A schoolteacher wants his young pupils to learn some basic
mathematics by controlling a simple robot.
The owner of a small business wants to create a simple database
program to keep track of his stock.
A professional programmer wants his software to run on any type
of computer system.
An engineer wants to develop a program for calculating the
stresses in a mechanical device.
A student wants to create webpages for a personal website.
A systems programmer wants to add some new modules to an
operating system.
A website designer wants to include simple animation in a site.
A programmer working for the US army wants to create a program
for controlling a new type of weapon.
A finance company needs to process data from its branch offices
on its mainframe computer.
A website designer wants to enable the data on his website to be
easily processed by a number of different programs.
A student studying artificial intelligence wants to write some
programs for a course project.
A college lecturer wants his students to learn the principles of
programming.
A professional programmer wants to create and sell a program for
use in language learning.
A website designer wants to password-protect a section of a
website.
A computing student wants to write a general purpose program as
a college project.
Student A: Your languages are on page 101.
Student B: Your languages are on page 103.
22
Language work
Modal Verbs
Modal verbs are followed by the
infinitive without particle to. They
add extra meaning to the main verb.
The modal verbs are: can (could),
may (might), must, should, ought to,
need. The modal expressions to
be+Infinitive and to have+Infinitive
also belong here.
Can
Theoretical possibility: Programs
written in any programming
language can be translated into
machine language.
Permission: Can I use your
computer for a while?
Ability: Swarming robots can work
together to perform searches.
Could
Possibility or ability in hypothetical
situations: We could buy a DVD, if
you had more money.
Geneal ability in the past: Early
computers could not operate at high
speeds.
Permission: Could I just interrupt a
minute?
May
Factual possibility: Algorithms may
be stated as formulas, decision
tables, or narratives.
Permission: May I use the fax now?
In this case may is more formal than
can.
Might
Weak possibility: The prices of
CPUs might go down next time.
Must
Obligation: The system analyst must
communicate the computer program
requirements to the programmer.
Prohibition: You must not open
e-mail attachments from strangers.
Logical necessity: This look wrong
– there must be a mistake.
We use cannot to express a negative
conclusion.
Should/ ought to
There is hardly any difference
between them but we say ought to
do (with to).
Advice: You should update your
web site. Or: You ought to update
your web site.
Need
Necessity: New programs need
debugging to make them work
properly.
To be + Infinitive
Arrangement, agreement or part of
a plan: Instructions to operators
explaining how the program is to be
used must be written before the
program documentation is complete.
To have + Infinitive
Obligation or necessity arising out
of circumstances: Once you have
written your program you have to
test it with sample data to see if
there are any bugs or errors.
23
Task 7. Tick the modal verbs that complete each of the
sentences in this passage. One, two or all of them may be
possible.
There shouldn’t / might not / ought not (1) be a comma before the ‘who’ in
this sentence, Kostas. Oh yes, you may well / might well / will well (2) say
that writing English is not important for you. But you could / may / might
(3) have to write a dissertation in English one day. Punctuation and spelling
should / could / may (4) be quite a serious problem for you. But it can /
should / could (5) always be possible for you to get full stops in the right
place. And it can’t / shouldn’t / mustn’t (6) be that difficult to spell most
short words more or less correctly. You may / must / might (7) not have
realised how flexible English is. For example, you may / should / can (8)
find ‘organisation’ spelt with an ‘s’ or ‘z’. It makes life easier, doesn’t it?
Task 8. Complete the sentences using modal verbs.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Before you start to make a web site, you ….. decide how to
organize the content.
A source program …… be directly processed by the computer until
it has been compiled.
The documentation …… include a statement of the purpose of the
program, a description of the solution logic, a listing of the
program instructions, and sample outputs from the completed
programs.
…… I use your laptop? I need to print out this report.
With a web page editor you …… create a web document easily.
If I knew the Java language, I …… include some attractive banners
on my web page.
I …… to make a back-up copy.
The logical structure of the data …… be different from the way it
is physically represented on backing store media.
No goto statements …… to be used in writing code.
A graphical user interface saves a lot of time: you don't need to
memorize commands in order to execute an application; you only ……
to point and click so that its content appears on the screen.
The instructions …… follow the steps of the program logic plan.
Organizations using data base management systems …… choose
to generate programs using the query language of the DBMS.
Computer consultants …… specialize in too narrow a field.
Programmers …… to know a range of up-to-date languages.
24
15. Before IBM set the standard for PCs, software houses …… write
different versions of their programs for every make of computer.
16. When he was a schoolboy, Bill Gates …… write programs in
BASIC.
17. Most website designers …… use HTML and XML.
18. You …… learn COBOL unless you want to work with business
software.
Speaking
Task 9. Work in pairs and both look at the pictures on pages 105
and 106.
1.
In this activity, Student A and Student B will each talk about
different pictures showing a process of creating a computer
program.
•
•
Describe the scene in the picture fairly briefly, suggesting
what problem might occur.
Comment on the steps in computer program development,
different types of errors and ways to avoid or deal with these
kinds of errors.
Student A should talk about picture A on page 105.
Student B should talk about picture B on page 106.
2.
When you have both finished speaking, you should comment on
what your partner has said, saying if you agree or disagree.
25
Unit 4. Comparing Programming Languages
Warm-up
Task 1. Answer the
following questions:
1.
2.
3.
What types of
programming
languages do you
know?
How does one
compare
programming
languages?
What are the main
criteria? Make a list.
Reading
Task 2. Before reading the text, match the terms with the correct
definition or explanation.
a.
Debugging
1.
b.
Compilation
2.
c.
Portability
3.
d.
Platform
4.
e.
Support
5.
f.
Library
6.
the ability to use hardware in different places or
software on different types of computer
a type of computer or program used as a standard
for a particular computer system
the rate of translating a high-level language into
machine code
a collection of subroutines and functions stored in
one or more files, usually in compiled form, for
linking with other programs.
the process of correcting errors in a program or
system
the help offered to the user by a company who
makes or sells a computer
26
Task 3. Read the text below to check your answers to Task 1
and 2.
Comparing Programming Languages
Technical factors
• Application requirements: Languages tend to be suited to particular
applications. For example, C is widely used for operating system
development (UNIX, Linux, and Windows, to name a few), while Perl is
useful for text processing, HTTP server CGI programs, and system
administration work.
• Platform requirements: The platform on which an application is to
be executed may have a limited choice of language implementations
available.
• Development time: How quickly could the application be
developed in a particular language? (The technical side of this question
depends on how understandable the language is, and how easily an
application's design can be coded in it; the political side of this question
depends on the knowledge of programming staff, training available, or
whether programmers with experience in the language can be hired.)
• Portability: Execution platforms for programs tend to change over
time (e.g., from DOS to Windows to Windows NT, just to trace the
''Wintel'' lineage). Is the language closely tied to a particular machine, or is
the language clearly portable (e.g., Java's clear independence of any
particular machine's quirks or implementation)?
Political factors
• Popularity of the language: Popularity, in terms of the size of the
marketplace and number of programmers using a language, clearly affects
the choice of a language. The choice of a well-known, popular language,
such as C, or a lesser-used language, such as Ada, will influence hiring
and/or training requirements.
• Economic: Which language tends to be cheapest or most cost
effective in previous, similar development efforts? Is the language wellsupported by commercial organizations or freeware development
communities (i.e., will the language's compilers and development
environment be available for the foreseeable future)?
Language vs Compiler for the Language
There are sometimes distinctions between a language and the
compilers that implement the language. One compiler made by a given
27
vendor may add extra features to the language they implement that another
vendor may not include.
The quality of a language's compilers can also influence the decision.
If a language's existing compilers do not produce correctly executing or
highly-optimized machine code, the language may not be a good choice for
a development effort. We also need to consider what new language features
the compiler supports. For example, in C++, the compiler should support
the latest additions to the Standard Template Library.
Tool Support and Documentation
Tool support tends to be a critical factor in a language choice.
Development tools that help organize a project, quickly locate on-line
documentation and examples, and debug programs are extremely useful in
the coding and debugging stages of programs. Also, tools that generate code
from high-level specifications (such as user interface development or lexical
analyzer tools) and tools that verify code or find common mistakes are
useful, in our experience. Editors that can parse and format the language
syntax are useful as well. Good tools and documentation seem to be driven
by popularity, e.g. Visual C++ has good tool support and documentation.
Criteria for Comparing Programming Languages
We have previously discussed many criteria important to comparing
or evaluating general purpose programming languages. We will summarize
them here:
• Simplicity of language constructs, which relates to ease of
programming
• Readability, which relates to maintainability, an important factor as
many programs greatly outlive their expected lifetimes (witness the Y2K
software crisis)
• How tuned a language's features are for a particular application
(e.g., Perl relates well to text processing)
• Compilation speed
• Runtime efficiency, in terms of speed and machine resources
• Library support
• Debugging help
• Language safety
• Longevity of language and compiler tools
• Portability across platforms and machine architectures
The criteria are equally important because they affect the
development cost and effort required over the lifetime of the program, and
also affect the usefulness and quality of the developed program.
28
Our experience indicates that these criteria (or the subset which is
applicable) also apply to other components that support program
development, including object-oriented class libraries and designs for
abstract data types. The use of appropriate, useful components external to
the language, and the use of designs that result in higher quality, more
generalized code improve readability, maintainability, and quality of the
product while improving development speed.
Task 4. Look back at the text to find out if the following
statements are true (T) or false (F) according to the information
in the text.
1.
2.
3.
4.
5.
Each language should be suitable for a particular application.
Perl relates well to operating system development.
Execution platforms for programs are changing all the time.
The more popular the language is the more often it is used.
You can have problems if a compiler and a language were made by
different vendors.
6. When choosing a compiler, it is important to know what new
language features it supports.
7. It is not necessary for C++ to support the latest additions to the
standard template library.
8. Tool support is the most crucial factor in a language choice.
9. Editors that can parse and format the language syntax are the most
useful in our experience.
10. The criteria are fairly even since they affect the development cost
and effort required over the lifetime of the program, and also affect
the usefulness and quality of the developed program.
Task 5. Choose the correct word to complete each sentence.
You may have to change some words slightly.
1.
application, apply, applicable, applied, applicability
a) It is known that some translators have tried to __________
commercial PC-based software to their needs.
b) Languages tend to be suited to particular __________.
c) The new approach had wide __________ to all sorts of
different problems.
d) The process is based on some very basic scientific principles
__________ in an exceptionally innovative way.
29
2.
requirement, require, required, requisite
a) The criteria are equally important because they affect the
development cost and effort __________ over the lifetime
of the program.
b) Hardware control always __________ some kind of specialpurpose system.
c) Each independent computer in the system can have software
specifically tailored to fit its user’s exact needs and
__________.
d) She lacks the __________ experience for the job
3.
develop, development, developer, developmental
a) If a language's existing compilers do not produce correctly
executing or highly-optimized machine code, the language
may not be a good choice for a __________ effort.
b) The company __________ and markets new software.
c) How quickly could the application be __________ in a
particular language?
d) The iterative approach allows __________ to progressively
identify components and decide which ones to develop,
which ones to reuse, and which ones to buy.
e) The product is still at a __________ stage.
4.
technical, technically, technician, technicality, technique
a) A knowledge engineer is a computer scientist who knows
how to design and implement programs that incorporate
artificial intelligence __________.
b) In those days recording sound was not __________
possible.
c) He described the process in broad terms without going into
the __________.
d) We offer free __________ support for those buying our
software.
e) It is true that robots can cause unemployment by replacing
human workers but robots also create jobs: robot
__________, salesmen, engineers, programmers and
supervisors.
30
Language work
Compound Nouns
The language of computing in
English contains an ever-increasing
number of compound nouns, that is,
a group of two or more nouns which
act as a single noun. For example:
Sometimes there are more than
two nouns together. For example:
user interface development
system administration work
freeware development
community
language syntax
machine architecture
development cost
program development
The first noun
adjective – it tells
second noun is made
for, or what it is
example:
Sometimes a noun+noun is not
appropriate and instead we use
noun+’s+noun. For example:
is like an
us what the
of, what it is
part of. For
a language’s feature
a language’s compiler
an application’s design
a machine’s quirks
machine architecture – the
architecture of a machine
development cost – cost of
developing
It is important to be able to
recognize how such compounds are
formed in order to understand what
they mean.
The exact relationship between
the words depends on the particular
expression, but all these expressions
have one thing in common: the last
word in chain says what the thing is,
while the preceding word or group
of words describes the thing. So
when we read compound nouns, we
have to start with the last word and
work backwards.
Often the first words end in –
ing. The –ing form usually says
what function the following noun
has. For example:
operating system
programming languages
programming staff
debugging help
31
Task 6. Use one word from each box to make a compound noun.
Box A
machine application’s
analyzer
program
tool
development
language’s
language
application
Box B
design requirement
support
implementation
tools
effort
support
features
development
Task 7. What do you call...?
1.
The act or process of translating text from one natural language
into another using a computer.
2. The boundary between a user and a computer or program.
3. A book of instructions for the user that explains how to use a
computer or a computer program.
4. A computer system that allows useful information to be recorded,
stored and used by managers without the help of a computer
specialist.
5. The process of designing, installing and perhaps testing a computer
system.
6. A language that can be used for writing instructions that a
computer can process and execute.
7. Rules followed by computer programmers who are working in a
team so that their work can be understood by other programmers.
8. A person who writes applications program.
9. A programming technique that allows the creation of ‘objects’
which can be reused, or used as the foundation of others.
10. The study of computers and their use.
Task 8. Michael Warren is at an interview for a job in a film
production company. He has been asked why he wants the job,
and this is part of his answer. Suggest compound nouns to fill
in the spaces in this text. One of the parts of the compound is
given in brackets. Choose the other part from the –ing forms
below.
advertising
making
answering
recording
breathing
selling
cutting
losing
mailing
turning
waiting
Just after I left university, I met an old friend who offered me the
opportunity to join his company, Phono, selling a new type of mobile
32
phone. I organized a(n) (1) advertising campaign (campaign) and set up
a(n) (2) ………. (list) with the names and addresses of people who might be
interested in it. The main (3) ………. (point) of the phone was that it
included a(n) (4) ………. (machine), and was the only one of its kind on the
market at the time. At first the demand was so great that there was a(n) (5)
………. (list) of people wanting to buy one. Unfortunately, a year later
Sonex brought out its new video phone, and this was the (6) ………. (point)
for Phono. Demand for our phone plummeted. We did a lot of (7) ……….
(cost) to try to save money, but it wasn’t long before we knew we were
fighting a(n) (8) ………. (battle) and decided to close the company. I’ve
been out of work for a few months now. But this has given me the (9)
………. (space) to decide what I want to do next. When I worked for
Phono, I helped produce a(n) (10) ………(video) to advertise the product. I
enjoyed this a lot, and that’s why I’d now like to get into (11) ……….
(film).
Speaking
Task 9. Read the statements below. Which do you agree with
more? Why?
‘Learning a programming language is like learning any natural language.
The only difference is that you are communicating with a machine instead
of another person.’
‘I get annoyed when I hear people comparing programming languages with
natural languages. They have almost nothing in common.’
Writing
Task 10. Write an essay (120 – 180 words) summarizing all your
ideas in Task 9.
33
Unit 5. Structured Programming
Warm-up
Task 1. Answer the
following questions:
1.
2.
3.
What is structured
programming?
What structured
programming languages
do you know?
What are the main rules
of structured
programming?
Reading
Task 2. Read the text
below to find answers
to
the
following
questions:
1.
What was the approach to writing software in the early days of
programming?
2. Where does the term ‘spaghetti code’ come from?
3. What are the five tenets of structured programming?
4. What is the role of the control structure?
5. What control structures are necessary to write programs?
6. What does the sequence refer to?
7. What levels of selection does C++ provide?
8. What loop structures does C++ provide?
9. What control structures are the most flexible and powerful for
problem-solving?
10. What control structures are the most common in C++ code?
Structured Programming
Up to this point in your study of computer science and C++, you have
created programs which used only sequential execution. So far function
main() consisted of a sequence of lines which are executed once, line-by34
line. As we add the power of loops and selection, we need to use these tools
in a disciplined manner.
In the early days of programming (1960's), the approach to writing
software was relatively primitive and ineffective. Much of the code was
written with goto statements which transferred program control to another
part of the code. Tracing this type of code was an exercise in jumping from
one spot to another, leaving behind a trail of lines similar to spaghetti. The
term "spaghetti code" comes from trying to trace code linked together with
goto statements.
The research of Bohm and Jacopini has led to the rules of structured
programming. Here are five tenets of structured programming.
a. No goto statements are to be used in writing code.
b. All programs can be written in terms of three control
structures: sequence, selection, and iteration.
c. Each control structure has one entrance point and one exit
point. We will sometimes allow for multiple exit points from a
control structure using the break statement.
d. Control structures may be stacked (sequenced) one after the
other.
e. Control structures may be nested inside other control
structures.
The control structures of C++ encourage structured programming.
Staying within the guidelines of structured programming has led to great
productivity gains in the field of software engineering.
There are only three necessary control structures needed to write
programs: sequence, selection, and iteration.
Sequence refers to the line-by-line execution as used in your programs
so far. The program enters the sequence, does each step, and exits the
sequence.
Selection is the control structure allowing choice among different
directions. C++ provides different levels of selection:
• One-way selection with an if structure
• Two-way selection with an if-else structure
• Multiple selection with a switch structure.
Iteration refers to looping. C++ provides three loop structures:
• while loops
• do-while loops
• for loops
Of the seven control structures, the if-else and while loop are
the most flexible and powerful for problem-solving. The other control
35
structures have their place, but if-else and while are the most
common control structures used in C++ code.
Task 3. Complete the following text using the list of words
below:
Back in the 1960s, computer programs were difficult to read. The 1)
…… languages (FORTRAN and often even assembly languages) frequently
used if and 2) …… statements, resulting in "spaghetti-like" 3) …… .
Programs were essentially networks of statements, where the execution
could 4) …… freely from one statement to another, using 5) …… or
unconditional jump statements. This situation led the entire industry to use
flow charts. The flow chart was a 6) …… which represented the program as
a directed graph that connected 7) …… sections of the code. The execution
could branch at the if statements, or could jump to any other 8) …… of the
code, using the goto 9) ……. Flow charts helped programmers understand
the 10) …… of their code.
statement
conditional
primitive
sequential
code
goto
diagram
section
logic
jump
Language work
Relative clauses with a participle
Relative clauses with a
participle are often used in technical
descriptions. They allow you to
provide a lot of information about a
noun using as few words as
possible.
We often use –ing and –ed
clauses after there is/ there are. For
example:
There
are
only
three
necessary control structures needed
to write programs: sequence,
selection, and iteration.
A clause is a part of a
sentence. Some clauses begin with –
ing or –ed.
Study these examples from
the text:
1. Function main() consisted
of a sequence of lines
2. The most common control
structures used in C++ code
3. A control structure using the
break statement
The control structure allowing
choice among different directions
36
We can use the active
participle as in examples 3 and 4.
We can use the passive
participle as in examples 1 and 2.
3.
A control structure using the
break statement
= structure which uses the break
statement
4. The control structure allowing
choice
among
different
directions
= structure which allows choice
among different directions
1.
Function main() consisted of
a sequence of lines
= function which is consisted
2. The most common control
structures used in C++ code
= control structures which are
used
Task 4. Complete these definitions with the correct participle of
the verb given in brackets.
1.
2.
3.
4.
5.
6.
Software engineering is the processes (involve) in writing
computer software such as designing, coding and testing programs.
Programming standards are rules (follow) by computer
programmers who are working in a team so that their work can be
understood by other programmers.
Iteration is the process of a computer (execute) a command or
statement again and again until a result is obtained.
GOTO instruction is a high-level programming language
instruction (cause) a jump to another place in the program.
While loop is a block of statements in a computer programming
language (execute) again and again if a test at the start of the block
shows that the execution should happen.
Control structure is one or more statements in a programming
language (control) how the program is executed.
Task 5. Link these statements using a relative clause with a
participle.
1.
2.
3.
The software company sent me a brochure. The brochure contained
all the information I needed.
High-level languages are more efficient. High-level languages
allow the programmer to express with one statement what would
take several commands in machine language.
External documentation is the printed set of instructions. They
describe how to operate the program.
37
4.
Most computer installations have a standard language. It is used by
their programmers.
5. In addition to the traditional languages, organizations may choose
to generate programs. The organizations use data base management
systems. The programs use the query language of the DBMS.
6. Many organizations have a substantial number of computers in
operation. Computers are located far apart.
7. Expert systems are software packages. They are designed to assist
humans in situations in which an expert in a specific area is
required.
8. Expert systems will be able to infer answers from sets of data.
They emulate humanlike thought processes.
9. Graphics was an esoteric specialty. It involves expensive display
hardware, substantial computer resources, and idiosyncratic
software.
10. The letters are stored in a subdirectory. This subdirectory is called
‘correspondence’ on the C drive.
Translation
Task 6. Match the terms with the correct definition or
explanation:
a.
Structured
programming
b.
Implementation
c.
Algorithm
d.
Description
e.
Pseudocode
f.
Subdirectory
g.
Computer
program
h.
Code
1.
2.
3.
4.
5.
6.
7.
8.
a set of unambiguous rules to solve a
problem in a definite number of steps
code that contains a combination of a
programming language such as C, and natural
language such as English
a directory that is inside another directory
the act of starting to use a plan or computer
system
a general term for computer programming
instructions
a statement that explains what something
looks like, or how it behaves
a method of designing a computer program
so that it is easy to understand, change and
maintain
a set of instructions that can be understood by
a computer and perform a certain task or
function
38
Task 7. Translate the following text into Russian. Check the
meaning of any unfamiliar technical words in the dictionary.
Algorithm Development and Pseudocode
An algorithm is a solution to a problem. Computer scientists are in the
problem-solving business. They use techniques of structured programming
to develop solutions to problems. Algorithms will range from the easier
"finding the average of two numbers" to the more difficult "visiting all the
subdirectories on a hard disk, searching for a file."
A major task of the implementation stage is the conversion of rough
designs into refined algorithms which can then be coded in the
implementation language of choice.
Pseudocode refers to a rough-draft outline of an answer, written in
English-like terms. We will probably use phrases and words which are close
to programming languages, but avoid using any specific language. Once the
pseudocode has been developed, translation into code occurs more easily
than if we had skipped this pseudocode stage.
Stepwise refinement is the process of gradually developing a more
detailed description of an algorithm. Problem solving in computer science
involves overall development of the sections of a program, expanding each
section with more detail, later working out the individual steps of an
algorithm using pseudocode, then finally writing a code solution.
Word-play
Task 8. Complete the crossword puzzle and find the key word in
15 down.
Across
1. a statement that explains what something looks like, or how it
behaves
2. the process of writing and testing programs for computers
3. a pejorative term for code with a complex and tangled control
structure, especially one using many GOTOs, exceptions, or other
"unstructured" branching constructs
4. the rate of translating a high-level language into machine code
5. a group of items that are in a certain order
6. a human-readable notation for the machine language that a specific
computer architecture uses
7. the control structure allowing choice among different directions
39
8.
9.
the information that explains how to use software or hardware
a product review performed by a formal team. A number of such
reviews may be held during the lifetime of a software project,
covering, for example, requirements specification, program
specifications, design, and implementation.
…… editor - a program that combines one or more files
containing object code from separately compiled program modules
into a single file containing loadable or executable code
part of a computer program, which tells the computer what to do at
that stage
a set of rules that must be followed when solving a particular
problem
a way of writing a description of a computer program using a
mixture of natural language and computer language code
the period of time during which a program is executed
10.
11.
12.
13.
14.
Down
15. the act of starting to use a plan or computer system, etc.
1
15
2
3
4
5
6
7
8
9
10
11
12
13
14
40
Unit 6. Object Oriented Programming
Warm-up
Task 1. Answer the following questions:
1.
2.
3.
4.
What is object oriented programming?
What are the basic features of object oriented programming?
What are object oriented languages? Give any examples.
What are they used for?
Reading
Task 2. Now read the text and decide on a suitable title for it.
One of the principal motivations for using OOP is to handle
multimedia applications in which such diverse data types as sound and
video can be packaged together into executable modules. Another is writing
program code that’s more intuitive and reusable; in other words, code that
shortens program-development time.
41
The object oriented programming paradigm entails the development
of active program units called objects, each of which contains procedures
describing how that object should respond to various stimuli. These internal
procedures are called methods (or member functions in the C++
vernacular). The object oriented approach to a problem is to identify the
objects involved and describe them and their associated methods as selfcontained units. In turn, object oriented programming languages provide
statements for expressing these ideas.
To simplify the description of objects with similar yet different
characteristics, most object oriented languages allow one class to
encompass the properties of another through a system as inheritance.
The existence of a variety of objects with similar yet different
characteristics leads to a phenomenon reminiscent of overloading, which is
the use of a single symbol, such as +, for representing different operations
depending on the type of its operands. Suppose that an object oriented
graphics package consists of a variety of objects, each representing a shape
(circle, rectangle, triangle, etc.). A particular image consists of a collection
of these objects. Each object knows its size, location, and colour as well as
how to respond to messages telling it, for example, to move to a new
location or to draw itself on the monitor screen. To draw an image, we
merely send a ‘draw yourself’ message to each object in the image.
However, the routine used to draw an object varies according to the shape
of the object – drawing a squire is not the same process as drawing a circle.
This customized interpretation of a message is known as polymorphism; the
message is said to be polymorphic.
Another characteristic associated with object oriented programming
is encapsulation, which refers to restricting access to an object’s internal
properties. To say that certain features of an object are encapsulated means
that only the object itself is able to access them. Features that are
encapsulated are said to be private. Features that are accessible from outside
the object are said to be public.
Vocabulary
diverse – very different from each other and of various kinds
paradigm – a type of smth, a model
to entail – to involve sth that cannot be avoided
vernacular – the language spoken in a particular area or by a particular
group, especially one that is not the official or written language
to encompass – to include a large number or range of things
reminiscent – reminding you of sb/sth
42
to customize – to make or change sth to suit the needs of the owner
Task 3. When you read the text to decide on a suitable title,
which of the following did you do?
Did you:
-
read the text slowly and try to understand every word?
read quickly and try to understand the main theme?
underline or mark sentences that you thought were
important?
make notes about important points?
Which of these reading strategies do you think is most appropriate for this
kind of task? Which do you think is least appropriate?
Task 4. Match the terms with the correct definition or
explanation:
a)
Object-oriented
programming
b) Inheritance
c)
Class
d) Entity
e)
Procedure
f)
Property
1.
2.
3.
4.
5.
6.
g) Encapsulation
7.
h) Library
8.
i)
9.
Attribute
a set of programmed functions that are made
available for use by any program
a quality or characteristic that something has
in programming, any item, such as data item or
statement, that can be named or denoted in a
program
a means by which characteristics of objects can
be replaced and instantiated in other objects
a programming technique that combines data,
abstraction, inheritance, and dynamic type
binding
a facility introduced in the programming
language SIMULA. It provides a form of
abstract data type
a way of performing a task that usually does not
change each time the task is performed
a restriction on access to an object’s internal
properties
a named value or relationship that exists for
some or all instances of some entity and is
directly associated with that instance
43
Task 5. Look back at the text and find the answers to these
questions:
1.
What advantages of using object-oriented programming are
mentioned in the text?
2. What are the three key features of OOP?
3. What are called ‘methods’?
4. What approach is adopted in OOP?
5. What is ‘overloading’?
6. What information does each object contain?
7. What do you need to draw an image?
8. Is there a difference between drawing a squire and a circle?
9. What feature refers to restricting access to an object’s internal
properties?
10. What features are said to be encapsulated?
Language work
The Infinitive of Purpose
e.g. A better approach is to
accept the idea that programming
languages, or processes can not “Be
Object Oriented.”
We use to… to say what can be
done or must be done with
something:
e.g. In program planning, the
logic to be used to solve the problem
is developed.
Also:
money/time/opportunity/energy/cour
age etc. to (do something):
e.g. A window manager gave
the user an opportunity to do any
operations with windows.
The Infinitive of purpose is
often used in technical descriptions:
We use to… to say why
somebody does something (= the
purpose of action):
e.g. Programming is the craft of
implementing
one
or
more
interrelated abstract algorithms
using a particular programming
language to produce a concrete
computer program.
We use to… to say why
something exists or why somebody
has/wants/needs something:
Task 6. Look through the text again and find examples of the
infinitive of purpose.
44
Task 7. Complete these sentences. Choose from the box.
to define the layout of a document
to show the logical steps (2)
to be used in many different programs
to solve business problems
to develop programs in conversational mode
to keep in mind
to accomplish tasks
to obtain correct results
to create files
to write systems software
1.
2.
Algorithms are sets of rules or instructions used ……
Extensible markup language is used …… that are programindependent, platform-independent and able to be used with
different languages.
3. Flowchart is a kind of diagram used by programmers …… in a
program or by systems analysts …… in the design of a system.
4. Several programming languages, particularly COBOL, PL/I, and
RPG, are commonly used ……
5. Debugging is the process of correcting computer programs ……
6. It is important …… 3 principles when dealing specifically with
programming, and programming languages.
7. Libraries are often supplied by the operating system or software
development environment developer ……
8. Page-description language uses tags ……
9. BASIC is a general purpose high-level programming language,
originally designed ……
10. C was originally designed …… but is now considered a generalpurpose language.
Task 8. Complete these sentences using a suitable verb.
1.
2.
3.
4.
5.
6.
7.
8.
Bill Gates has a team of bodyguards ………. him.
I did not have enough time ………. the program today.
I came home by taxi. I did not have the energy ………. .
Would you like something ……….? Yes, please. A cup of coffee.
We need a box ………. these devices in.
There will be a meeting next week ………. the problem.
I wish we had enough money ………. the computer.
I saw him at the meeting but we did not have a chance ………. to
each other.
9. They have just passed their exam in computer science. They are
having a party ………. .
10. I cannot do all this work alone. I need somebody ………. me.
45
11.
12.
13.
14.
Do you have much opportunity ………. your English?
We need more time ………. a decision.
You need a lot of experience ………. this job.
A class is a template used ……… multiple objects with similar
features.
Translation
Task 9. Translate the following text into English. You may use
the dictionary if it is necessary.
В середине 80-х годов в программировании возникло новое
направление, основанное на понятии объекта.
Реальные объекты окружающего мира обладают тремя
базовыми характеристиками: они имеют набор свойств, способны
разными методами изменять эти свойства и реагировать на события,
возникающие как в окружающем мире, так и внутри самого объекта.
Именно в таком виде в языках программирования и реализовано
понятие объекта, как совокупности свойств (структур данных,
характерных для этого объекта), методов их обработки (подпрограмм
изменения свойств) и событий, на которые данный объект может
реагировать и которые приводят, как правило, к изменению свойств
объекта.
Объекты могут иметь идентичную структуру и отличаться
только значениями свойств. В таких случаях в программе создается
новый тип, основанный на единой структуре объекта. Он называется
классом, а каждый конкретный объект, имеющий структуру этого
класса, называется экземпляром класса.
Важнейшая характеристика класса – возможность создания на
его основе новых классов с наследованием всех его свойств и методов
и добавлением собственных. Класс, не имеющий предшественника,
называется базовым.
46
Listening
47
Task 10. You are going to hear a lecture about Java, an objectoriented programming language. As you listen, choose the
correct answer for each question.
1.
What is not mentioned about Java in the recording?
a) architecture neural
b) robust
c) meta-markup
d) high-performance
2.
As a programmer you should
a) give attention to data and methods
b) take procedures into accounts
c) adjust to the new paradigm
3.
Most things in Java are
a) objects
b) the primitive numeric types
c) character types
d) Boolean types
4.
If you are a C++ programmer, you’ll have
a) no difficulties with Java as the syntax is similar to C++
b) difficulties with Java as the behaviour is not analogous
c) to study the object-oriented constructs in Java thoroughly
5.
Java is an interpreted language because its compiler generates
a) native machine code
b) byte-codes
c) malicious code
6.
Java is a secure language because
a) users cannot download code from a random site on the Internet
b) users cannot run untrusted programs
c) it provides several layers of security control
7.
Java is a robust language because
a) any untrusted code cannot be loaded
b) any direct access to memory is not allowed
c) corrupted byte-codes cannot take advantage of implementation
weakness in a Java interpreter
48
Task 11. Read the extract from the tapescript and fill in each
gap with an appropriate word.
In an object-oriented system, a class is a 1) __________ of data and
methods that operate on that data. Taken together, the data and methods
describe the state and 2) __________ of an object. Classes are arranged in a
3) __________, so that a subclass can 4) __________ behavior from its
superclass. A class hierarchy always has a 5) __________ class; this is a
class with very 6) __________ behavior.
Java comes with an 7) __________ set of classes, arranged in 8)
__________, that you can use in your programs. For example, Java 9)
__________ classes that create graphical user interface 10) __________
(the java.awt package), classes that 11) __________ input and output (the
java.io package), and classes that support networking 12) __________ (the
java.net package). The Object class (in the java.lang package) serves as the
root of the Java class hierarchy.
Now listen again and compare your answers.
Speaking
Task 12. Work in pairs and discuss the following questions:
If you were a developer of software:
1.
What kind of software package would you develop? Why?
a) educational software
b) musical software
c) multimedia application
d) an integrated package
e) a game
2.
What programming language would you choose? Justify your choice.
49
Unit 7. Databases
Warm-up
Task 1. Answer the following questions:
1.
2.
3.
4.
What is a database?
What are the major advantages of databases?
Which tasks can be performed by using a database? Make a list of
possible applications.
What is the difference between the terms file, record and field?
Reading
Task 2. Read the text about databases and underline the basic
features of a database:
Basic Features of Database Programs
With a database you can store, organize and retrieve a large collection
of related information on computer. If you like, it is the electronic
50
equivalent of an index filling cabinet. Here are some features and
applications.
Information is entered on a database via fields. Each field holds a
separate piece of information, and the fields are collected together into
records. For instance, a record about an employee might consist of several
fields which give his address, phone number, name etc. Records are
grouped together into files which hold large amounts of information. Files
can easily be updated: you can always change fields, add new records and
delete old ones. With the right database software, you are able to keep track
of stock, sales, market trends, orders, invoices and many more details that
can make your company successful.
Another feature of database programs is that you can automatically
look up and find records containing particular information. You can also
search on more than one field at a time. For instance, if a managing director
wanted to know all the customers that spent more than $7.000 per month,
the program would search on the name field and the money field
simultaneously.
A computer database is much faster to consult and update than a card
index system. It occupies a lot less space, and records can be automatically
stored into numerical and alphabetical order using any field.
The best packages also include networking facilities, which add a new
dimension of productivity to business. For instance, managers of different
departments can have direct access to a common database, which represents
an enormous advantage. Thanks to security devices, you can share part of
your files on a network and control who sees the information. Most aspects
of the program can be protected by user defined passwords. For example, if
you wanted to share an employee’s personal details, but not their
commissions, you could protect the commission field.
In short, a database manager helps you control the data you have at
home, in the library or in your business.
Task 3. Using the information in the text, complete these
sentences:
1.
2.
3.
4.
5.
6.
A database is used to ……
Information is entered on a database via ……
With the right database software, you ……
Each field holds ……
‘Updating’ a file means ……
The advantages of a database program over a manual filling system
are ......
51
7.
8.
Access to a database can be protected by a ……
A database manager helps …...
Listening
inoculate - to protect a person or an animal from catching a particular
disease by injecting them with a mild form of the disease
unattended – automatic
miscellaneous - consisting of many different kinds of things that are not
connected and do not easily form a group
Task 4. You will hear a lecture about databases. As you listen,
match the words on the left with those on the right:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
filing
labourious
card
filing
comprehensive
dedicated or customized
software
eventual
purchasing
simultaneous
relational
self-adhesive
statistical
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
presentations
search
data managers
end user
procedures
indexing
houses
cabinet
inquiries
database
packages
labels
system
Task 5. Listen again and fill in the missing information in the
table below:
1.
2.
Database: electronic _____________________________________
Advantages: ___________________________________________
______________________________________________________
3. Levels of program available
a) _______________________
b) _______________________
4. Main feature of database – ability to ________________________
e.g.___________________________________________________
5. Most programs allow design layout
decide textual display
e.g.___________________________________________________
52
6.
Working database – more than a file
e.g. mail order rare-book business files include ________________
______________________________________________________
7. Relational database – capable of ___________________________
Print-out in form of _____________________________________
Other features of stationery _______________________________
advantage _____________________________________________
______________________________________________________
8. Database programs allow export of data into other programs
e.g. __________________________________________________
______________________________________________________
9. Statistical presentations gt. advantage.
Data illustrated by means of _______________________________
______________________________________________________
Speaking
Task 6. Make up a dialogue:
You are the owner of:
Œ
Œ
Œ
a bookshop
a department store
a movie house
Your business is growing and you need a good database system.
Discuss the problems you’re facing with a programmer and try to find a
solution.
Reading
Task 7. Before reading the text, try to answer the following
questions:
1.
2.
3.
What is ‘data model’?
What approaches to the structuring of a data model do you know?
Make a list.
What is the difference between these approaches?
Now read the text and check your answers.
53
Data Models
Although a database is a single collection of data, the data must
appear to be different when viewed from different parts of the database
system. Each user of the database must see a set of data suited to the
particular application. Furthermore, the logical structure of the data might
be different from the way it is physically represented on backing store
media.
The way around these problems is the idea of a data model. A data
model is the logical structure of the data as it appears at a particular level of
the database system. Each user of the database has a different data model.
Structuring the Data Model
The central decision in the design of a database system is the
structure of the data model. Almost every other aspect of a database system
depends on this structure. Because the database is large, and there are many
relationships existing between individual data items, a satisfactory
structuring of the data is very difficult to achieve. Objectives of a well
structured data model include efficiency of storage, ease of transformation
to other models, speed of access to data and ease of modification of the
model
Three approaches to the structuring of data models are discussed.
These are the hierarchical, network and relational approaches. Historically,
these approaches have been developed in this order, with relational
databases being the most recent, and rapidly becoming the most popular.
The Hierarchical Approach
The hierarchical approach involves creating a tree structure for the
data. Different data items are stored at different levels, with some levels
being 'below' others in the tree. The problem with the hierarchical approach
is that not all databases fit naturally into a tree structure.
The Network Approach
In an attempt to overcome the rigidity of the hierarchical approach,
the network approach to structuring a data model has been developed. In
this approach, data items are linked to other data items by pointers, forming
a network. Information is extracted by traversing the network in various
ways.
The Relational Approach
The relational approach is the newest and most promising method of
structuring a data model. Using this approach, the data is presented as a set
of tables, each table representing a relationship existing between two or
more data items. The model can be transformed by combining relationships
via a common data item and deleting unwanted data items.
54
The relational data model has the benefits of simplicity of concept,
economy of storage, and a wide variety of applications which seem to fit
naturally onto its structure. It is being used as the basis of fourth generation
software development tools and is likely to be used extensively in fifth
generation systems.
Task 8. Look through the text again and answer the questions
below:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Why is it difficult to achieve a satisfactory structuring of the data?
What are the main aims of a well-structured data model?
One of the data models has been given the name 'hierarchical'
(from 'hierarchy'). What quality or characteristic does it possess
that accounts for the name?
What feature of the hierarchical approach was the network system
designed to overcome?
How is data obtained from a network model?
How successful is the relational approach said to be?
What possibilities are there for the transformation of this model?
Mention two qualities possessed by the network data model.
Could you make a prediction for the future of the network model?
Speaking
Task 9. Work in pairs and discuss the following:
Suppose a software analyst, while working for a particular company,
develops a data organisation that allows for efficient manipulation of that
data in a particular application. He or she is then hired by another company
and assigned a similar project. Should the analyst be allowed to implement
the same data organisation for the second company?
You can use the following phrases:
-
to express your personal opinion
In my opinion, ……
I personally believe/ think ……
Not everyone will agree with me, but ……
To my mind, ……
-
thinking about a problem
In a case like this, ……
55
In a situation like this, ……
In this sort of situation, ……
-
arguments and counter-arguments
Yes, but ……
Yes, but don’t forget ……
Even so, ……
Even if that is so, ……
That may be so, but ……
Possibly, but ……
Writing
Task 10. Write an argumentative essay (120 – 180 words)
summarizing all your ideas in Task 9. Use the information below
to help you.
•
•
•
-
An argumentative composition is always a formal, impersonal piece of
writing in which you are expected to consider a topic from opposing
points of view and give a balanced consideration or your opinion.
Personal expressions such as I believe or I think should only be used in
the final paragraph where you can give your opinion.
A good argumentative essay (for/against) should consist of:
a) an introduction in which you state topic
b) a main body which consists of two paragraphs. The points for, with
your justification, appear in one paragraph and the points against,
with your justification, appear in another paragraph.
c) a final paragraph in which you sum up the arguments and give a
balanced consideration or your own opinion.
The use of linking words is absolutely necessary when writing an
argumentative composition:
To introduce points: Firstly/To begin with/In the first place, One point
in favour of/against is, etc.
To add more points: Secondly/What is more/Furthermore/Moreover,
etc.
To make contrasting points: However/On the other hand/Although/In
spite of, etc.
To conclude: To sum up, In conclusion/On balance/All things
considered, etc.
56
Unit 8. Database Management Systems
Warm-up
Task 1. Try to answer the following questions.
1.
2.
3.
4.
5.
What does DBMS stand for?
What types of DBMSs from a technical standpoint do you know?
What is a relational database?
What is a network database?
What is a hierarchical database?
57
Task 2. Read the text and fill in the gaps using the list of words
below.
Database management system is a collection of programs that 1) ……
you to store, modify, and extract information from a database. There are
many different types of DBMSs, ranging from small systems that run on 2)
…… to huge systems that run on mainframes. The following are examples
of database 3) ……:
•
•
•
•
computerized library systems
automated teller machines
flight reservation systems
computerized parts inventory systems
From a technical standpoint, DBMSs can differ widely. The terms
relational, network, flat, and 4) …… all refer to the way a DBMS organizes
information internally. The internal organization can affect how quickly and
flexibly you can extract information.
Requests for information from a database are made in the form of a 5)
……, which is a stylized question. For example, the query
SELECT ALL WHERE NAME = "SMITH" AND AGE > 35
requests all 6) …… in which the NAME 7) …… is SMITH and the AGE
field is greater than 35. The set of rules for constructing queries is known as
a 8) ……. Different DBMSs 9) …… different query languages, although
there is a semi-standardized query language called SQL (structured query
language). Sophisticated languages for managing 10) …… are called
fourth-generation languages, or 4GLs for short.
The information from a database can be presented in a variety of 11)
……. Most DBMSs include a 12) …… program that enables you to 13)
…… data in the form of a 14) ……. Many DBMSs also include a 15) ……
component that enables you to output information in the form of graphs and
charts.
a)
b)
c)
d)
e)
database systems
graphics
hierarchical
applications
field
f)
g)
h)
i)
j)
report writer
query language
personal computers
query
output
58
k)
l)
m)
n)
o)
formats
records
report
support
enables
Reading
Task 3. Match the terms with their definitions:
1.
2.
3.
4.
5.
6.
logical record
field
physical record
internal schema
external schema
conceptual
schema
a)
b)
c)
d)
e)
f)
the collection of data transferred as a unit
the user’s permitted view of the data
the logical design of the database
an item of data such as a number, a name, or
an address
the way that the data is physically held
the collection of data relating to one subject
Task 4. Before reading the text, try to answer the following
questions:
1.
2.
How many medical uses of a database can you think of?
What is the main function of DBMS?
Now compare your answers with the information in the text.
Database Management Systems
Databases are used within a medical context for many purposes. For
example, they are used to hold patient details so they can be accessed from
anywhere within a hospital or network of hospitals. With the recent
improvements in image compression techniques, X-rays and scan output
can also be held in databases and accessed in the same way.
These multi-user databases are managed by a piece of software called a
database management system (DBMS). It is this which differentiates a
database from an ordinary computer file. Between the physical database
itself (i.e. the data as actually stored) and the users of the system is the
DBMS. All requests for access to data from users – whether people at
terminals or other programs running in batch – are handled by the DBMS.
One general function of the DBMS is the shielding of database users
from machine code (in much the same way that COBOL shields
programmers from machine code). In other words, the DBMS provides a
view of the data that is elevated above the hardware level, and supports
user-requests such as “Get the PATIENT record for patient Smith”, written
in a high-level language.
59
The DBMS also determines the amount and type of information that
each user can access from a database. For, example, a surgeon and a
hospital administrator will require different views of a database.
When a user wishes to access a database, he makes an access request
using a particular data-manipulation language understood by the DBMS.
The DBMS receives the request, and checks it for syntax errors. The DBMS
then inspects, in turn, the external schema, the conceptual schema, and the
mapping between the conceptual schema and the internal schema. It then
performs the necessary operations on the stored data.
In general, fields may be required from several logical tables of data
held in the database. Each logical record occurrence may, in turn, require
data from more than one physical record held in the actual database. The
DBMS must retrieve each of the required physical records and construct the
logical view of the data requested by the user. In this way, users are
protected from having to know anything about the physical layout of the
database, which may be altered, say, for performance reasons, without the
users having their logical view of the data structures altered.
Task 5. The steps below show how a DBMS deals with an
access request. Find the relevant section in the text, and then
put the steps in the correct order.
The DBMS:
1.
2.
3.
4.
5.
6.
inspects the mapping between the conceptual schema and the
internal schema
checks for syntax errors
inspects the external schema
receives the request
performs operations on the stored data
inspects the conceptual schema
Speaking
Task 6. The diagram below represents a simplified database. In
pairs, use the diagram to explain to your partner the following:
Student A: what a DBMS is and how it works
Student B: how an access request is processed
Try not to refer to the text. Use your own words.
60
Database management system (DBMS)
Listening
Task 7. Listen to this extract from a programme called Science
Made Simple, in which a hospital administrator answers
questions about the hospital database. As you listen, choose
the correct answer for each question.
1.
How many characters of stored information are generated each
year by the database at Grovemount Hospital?
a) More than 500,000.
b) More than 50,000,000.
c) More than 500,000,000.
d) More than 500,000,000,000.
2.
What is not mentioned in the recording about the database at
Grovemount Hospital?
a) Medical treatment.
b) Laboratory reports.
c) Drugs and supplies.
d) Staff records.
61
3.
How is the database organized?
a) Like all other databases.
b) Like any hospital database.
c) Differently from any other database.
4.
How is information on patient stored?
a) Each patient has a named file.
b) Each patient has a record.
c) Each patient has a number of records within a personal
file.
5.
The file called PATIENT does not contain:
a) National Health Service number.
b) A unique identifier.
c) Date of birth.
6.
What do fixed-format records contain?
a) Types of data that cannot be changed.
b) A long string of text.
c) Different types of data stored separately.
7.
What happens when two people try to access the same data at the
same time?
a) The database management system cancels both queries.
b) One user has to wait until the other has finished.
c) The Database Manager processes both queries at the same
time and updates the database accordingly.
Task 8. Read the extract from the tapescript and fill in each gap
with an appropriate word.
INTERVIEWER: I see. Now, can you tell us what happens when the
database is 1) __________?
ALEX COLLINS: Yes. Each 2) __________ 3) __________ is called a
transaction. When a transaction enters the system for processing, the
computer must 4) __________ related data from the database. At the end of
the processing, the computer stores 5) __________ data to reflect the
changes caused by the transaction.
INTERVIEWER: Could you give an example?
ALEX COLLINS: Yes, of course. Each time a patient is admitted to the
hospital, the database must be updated to show his or her details. This is
62
obvious. However, the database must also be updated to show that there is
one less bed 6) __________. This will, in turn, affect summary 7)
__________ data, such as bed 8) __________ for the month, and so on.
INTERVIEWER: OK. But you have lots of different people accessing the
database at the same time, don’t you?
ALEX COLLINS: It’s a 9) __________ system, yes.
INTERVIEWER: Right. But what happens if two people access the same
data at 10) __________ the same time?
ALEX COLLINS: It can’t happen. In that situation, the database
management system would 11) __________ access to one of the 12)
__________ only.
Now listen again and compare your answers.
Speaking
Task 9. Work in pairs and both look at the pictures on pages 107
and 108.
1.
2.
Student A: You should talk about the pictures on page 107. They show
different ways of storing information. You should
a) describe the similarities and differences between them, and
b) comment on the changes that have taken place since the first
database system was developed. Talk about various uses of a
database. You have about one minute.
Student B: When Student A has finished, comment on what he/she has
said. Say if you agree or disagree.
Student B: You should talk about the pictures on page 107. They each
show a way of finding the required information.
a) compare and contrast them, and
b) comment on what life would be like if there were not database
management systems. Talk about different types of DBMS. You
have about one minute.
Student A: When Student B has finished, comment on what he/she has
said. Say if you agree or disagree.
Writing
Task 10. Write an argumentative essay (120 – 180 words) on the
topic below. Use the information in Unit 7 (Task 10, p. 56) to
help you.
63
In the USA, DNA (deoxyribonucleic acid) records of all federal prisoners
are now stored in a database for use in criminal investigations. Would it be
ethical to release this information for other purposes, e.g. for genetic
research? If so, for what purposes? If not, why not?
Translation
Task 11. Translate the following text into English.
Системы управления базами данных.
Базами данных называют огромные массивы данных,
организованных в табличные структуры. Основными функциями
систем управления базами данных являются:
• создание пустой (незаполненной) структуры базы данных;
• предоставление средств ее заполнения или импорта
данных из таблиц другой базы:
• обеспечение возможности доступа к данным, а также
предоставление средств поиска и фильтрации.
Многие системы управления базами данных дополнительно
предоставляют возможности проведения простейшего анализа данных
и их обработки. В результате возможно создание новых таблиц баз
данных на основе имеющихся. В связи с широким распространением
сетевых технологий к современным системам управления базами
данных предъявляется также требование возможности работы с
удаленными и распределенными ресурсами, находящимися на
серверах всемирной компьютерной сети.
64
Unit 9. Graphical User Interface
Warm-up
Task 1. Answer the following questions:
1.
2.
3.
4.
5.
6.
What does the GUI stand for?
How do you pronounce this abbreviation?
What is special about a GUI? Why were GUIs developed?
What common features of the GUI do you know? Can you make a
list of them?
Why the GUI is popular among users? Give reasons.
What other types of user interface do you know? What are their
character features?
Reading
Task 2. Read the text and compare your answers in Task 1:
Abbreviated GUI (pronounced GOO-ee). A program interface that
takes advantage of the computer's graphics capabilities to make the program
easier to use. Well-designed graphical user interfaces can free the user from
learning complex command languages. On the other hand, many users find
that they work more effectively with a command-driven interface,
especially if they already know the command language.
Graphical user interfaces, such as Microsoft Windows and the one used
by the Apple Macintosh, feature the following basic components:
• pointer: a symbol that appears on the display screen and that you move
to select objects and commands. Usually, the pointer appears as a small
angled arrow. Text-processing applications, however, use an I-beam
pointer that is shaped like a capital I.
• pointing device: a device, such as a mouse or trackball, that enables
you to select objects on the display screen.
• icons: small pictures that represent commands, files, or windows. By
moving the pointer to the icon and pressing a mouse button, you can
execute a command or convert the icon into a window. You can also
move the icons around the display screen as if they were real objects on
your desk.
• desktop: the area on the display screen where icons are grouped is
often referred to as the desktop because the icons are intended to
represent real objects on a real desktop.
65
•
windows: you can divide the screen into different areas. In each
window, you can run a different program or display a different file.
You can move windows around the display screen, and change their
shape and size at will.
• menus: most graphical user interfaces let you execute commands by
selecting a choice from a menu.
The first graphical user interface was designed by Xerox Corporation's
Palo Alto Research Center in the 1970s, but it was not until the 1980s and
the emergence of the Apple Macintosh that graphical user interfaces became
popular. One reason for their slow acceptance was the fact that they require
considerable CPU power and a high-quality monitor, which until recently
were prohibitively expensive.
In addition to their visual components, graphical user interfaces also
make it easier to move data from one application to another. A true GUI
includes standard formats for representing text and graphics. Because the
formats are well-defined, different programs that run under a common GUI
can share data. This makes it possible, for example, to copy a graph created
by a spreadsheet program into a document created by a word processor.
Many DOS programs include some features of GUIs, such as menus,
but are not graphics based. Such interfaces are sometimes called graphical
character-based user interfaces to distinguish them from true GUIs.
Listening
Task 3. You are going to hear a lecture about graphical user
interfaces. Listen carefully and decide whether the following
statements are true (T) or false (F) in relation to the information
in the recording.
1.
2.
3.
4.
5.
6.
7.
8.
Some time ago only experts could use computers.
If you want to use a program easily, a good user interface is
critical.
You have to memorize commands in order to execute an
application.
From the first, Macintosh computers had a user-friendly interface
based on graphics and intuitive tools.
WIMP stands for Windows, Image, Mouse and Pointer.
The creation of applications with a high level of consistency is
impossible.
You can launch the desired program by clicking its icon.
GUIs stimulate users to be more creative and productive.
66
Task 4. Read the extract from the tapescript and fill in each gap
with an appropriate word.
Today, the most 1) __________ GUIs are the Macintosh, Microsoft Windows
and IBM OS/2 Warp. These three platforms include similar 2) __________:
a desktop with icons, windows and 3) __________, a printer selector, a file 4)
__________, a control panel and various desk 5) __________. Doubleclicking a folder opens a window which contains programs, documents or
further nested folders. At any time within a folder, you can 6) __________ the
desired program or document by 7) __________ the icon, or you can 8)
__________ it to another location.
The three 9) __________ differ in other areas such as device installation,
network 10) __________ or compatibility with application programs.
Task 5. Study this diagram of a graphical user interface. Identify
these features:
1.
2.
window
icon
3.
4.
menu
system tray
5.
6.
67
taskbar
submenu
7.
8.
desktop
button
Language work
Verbs + object + infinitive; Verbs + object + to-infinitive
New developments in computing
are often designed to make
something easier. These verbs are
often used to describe such
developments:
allow
let
enable
3.
4.
permit
help
Allow, enable and permit are
used with this structure:
Study these examples:
1.
2.
The X Window System
enables Unix-based computers
to have a graphical look and
feel.
Voice recognition software
helps disabled users (to)
access computers.
A GUI lets you point to icons
and click a mouse button to
execute a task.
A GUI allows you to use a
computer without knowing any
operating system commands.
verb + object + to-infinitive
Let is used with this structure:
verb + object + infinitive
Help can be used with either
structure.
Task 6. Complete the gap in each sentence with the correct form
of the verb in brackets.
1.
2.
3.
4.
5.
6.
7.
8.
The Help facility enables users ………… (get) advice on most
problems.
Adding more memory lets your computer ………… (work) faster.
Windows allows you ………… (display) two different folders at
the same time.
The operating system provides several of its own commands that
help you ………… (use) the computer.
The Shift key allows you …………. (type) in upper case.
The MouseKeys feature enables you ………… (use) the numeric
keypad to move the mouse pointer.
ALT + TAB allows you ………… (switch) between programs.
The StickyKeys feature helps disabled people ………… (operate)
two keys simultaneously.
68
9.
ALT + PRINT SCREEN lets you ………… (copy) an image of an
active window to the Clipboard.
10. Trackball enables you ………… (select) objects on the display
screen.
11. Most graphical user interfaces let you ………… (execute)
commands by selecting a choice from a menu.
12. Computer graphics help users ………… (understand) complex
information quickly by presenting it in a clear visual form.
Task 7. Describe the function of these features using ‘enabling’
verbs:
1.
2.
3.
4.
In a window, the vertical
scroll bar
The find command
The Undo command
Cut and paste
5.
6.
7.
8.
9.
Print Screen
Menus
Recycle bin
Tooltips
Insert table
Speaking
Task 8. Work in groups. Complete the questionnaire for
yourself. Then take turns in your group to explain how to
perform each of these actions. You may need these verbs:
choose
right/left/double-click on
drag and drop
pull down
Do you know how to:
1. create a new document?
2. quit a program?
3. shut down the system?
4. save a file onto a floppy disk?
5. arrange the icons?
6. display the time?
7. pull down a menu?
8. in Windows, show Tooltips?
9. download information from the Internet?
10. print out a document?
69
hover
select
Yes
No
Writing
Task 9. Study these instructions for moving a file from one
folder to another using Windows Explorer. Then write your own
instructions for one of the actions in Task 7.
To move a file
1
2
3
4
If you want to move a file that was saved in a
different folder, locate and open the folder.
Right-click the file you want to move; then click
Cut on the shortcut menu.
Locate and open the folder where you want to put
the file.
Right-click the folder; then click Paste on the
shortcut menu.
Word-play
Task 10. Solve the crossword puzzle using the clues below.
Across
1. a list of options displayed on a computer screen
2. drag and ……
3. a set of instructions written in a computer language that control the
behaviour of a computer
4. a label that appear on the screen when the user holds the mouse
pointer over an icon in a Microsoft Windows system
5. the hardware or software that connects two systems and allows
them to communicate with each other
6. a Microsoft Windows desktop component that indicates what
programs are currently being used and allows the user to switch
between them
7. using light for reading or storing information
8. the main output device used to display the output from a computer
on a screen
9. to move data from one location to another with a mouse
10. to press and release the button on a mouse
70
Down
1.
2.
3.
4.
5.
6.
7.
the main graphical user interface background screen that dislays
icons for other programs
optical …… recognition
an arrow-shaped cursor
the act of identifying what something is
a computer program designed to be used for a particular purpose
the layout of a document including page numbers, line spaces,
margins, paragraph alignment, headers and footers, etc.
a stationary device that works like a mouse turned upside down
1
1
2
5
3
4
3
5
4
2
7
6
7
8
10
9
71
Task 11. Translate the following text into English. You may use
the dictionary if it is necessary.
Графический интерфейс пользователя
Графический интерфейс пользователя в вычислительной
технике - система средств для взаимодействия пользователя с
компьютером, основанная на представлении всех доступных
пользователю системных объектов и функций в виде графических
компонентов экрана (окон, значков, меню, кнопок, списков и т. п.).
При этом, в отличие от интерфейса командной строки, пользователь
имеет произвольный доступ (с помощью клавиатуры или устройства
координатного ввода — вроде мыши) ко всем видимым экранным
объектам.
Комбинация монитора и мыши обеспечивает наиболее
современный тип интерфейса пользователя. Пользователь наблюдает
на экране графические объекты и элементы управления. С помощью
мыши он изменяет свойства объектов и приводит в действие элементы
управления компьютерной системы, а с помощью монитора получает
от нее отклик в графическом виде.
Впервые концепция графического интерфейса пользователя
(ГИП) была предложена учеными из исследовательской лаборатории
Xerox PARC в 1970-х, но получила коммерческое воплощение лишь в
продуктах корпорации Apple Computer. В настоящее время ГИП
является стандартной составляющей большинства доступных на рынке
операционных систем и приложений.
72
Unit 10. User Interface Guidelines
Warm-up
Task 1. Look at the pictures A and B below and discuss these
questions:
1.
2.
3.
4.
What is a user interface?
What types of user interfaces do you know? What is the difference
between them?
Can you define what type the two interfaces (pictures A and B) below
belong to?
Can you think of any basic principles to design a user interface? Make
a list.
A.
73
B.
Reading
Task 2. Read the text and compare your answers to question 3
in Task 1.
User Interface Guidelines
When designing a user interface, there are some basic principles
and guidelines that you should adhere to. Most of these are common sense,
but some may not be so obvious. The following list summarizes the main
guidelines to be aware of. Note that these are not presented in any particular
order.
• Meet the user’s expectations — An application that enables a user to
perform a specific task should function the way the user would expect. If
you meet the user’s expectations, he will be comfortable using the interface.
74
• Keep the interface clear and simple — An interface’s appearance
should convey its function in an obvious manner and allow easy navigation
from one part of the interface to another. Simple and clear interfaces don’t
distract the user’s attention from key tasks. Group related controls together
but avoid areas with a high density of controls. Also, ensure that controls
that receive mouse input are of a reasonable size; this encourages error-free
navigation. Similarly, don’t have very large distances between frequently
used controls. Both situations will make the user tired, the first because
excessive concentration is required and the second because excessive mouse
movement is required.
• Make the interface intuitive and familiar to use — Try to make it
possible for users to figure out how to perform a task without having to be
taught. Few users will be totally familiar with your interface, so you are
guaranteed that at some time they will come across something unfamiliar. If
this happens early in the learning process and the user cannot overcome his
lack of knowledge, he may choose not to use your application. On the other
hand, if you provide users with an intuitive interface, they will learn how to
use it in less time and experience the more advanced capabilities of your
application sooner. This is important when a user is trying to identify how
powerful your application is and whether or not it is suitable for his needs.
An additional consideration is to ensure that tasks in your interface are
logically sequenced; in other words, your interface should function in an
order that makes sense to the user. This will help make the user feel
comfortable with your application.
• Keep the interface friendly — If you provide the user with a friendly
interface, he won’t mind spending time learning and using it. If the user
spends more time doing something, he will become more accomplished at
it. A willingness to spend time using an interface that is familiar and
intuitive will affect the learning curve of your application, allowing
productive use in as short a time as possible.
• Provide the user with feedback — Providing feedback to the user can
help build his confidence and reassure him of what he is doing. It can also
help keep the user’s interest when mundane or long tasks are being carried
out. This is a very important facet of any interface, and you should endeavor
to provide feedback that is as useful and accurate as possible. Feedback can
take many forms, some of which are taken for granted, such as a button that
looks pressed when it is clicked. Details such as these should not be
considered optional. At a more fundamental level, your whole interface is
feedback for the user. By adding extra feedback, you simply enhance what
the user already experiences. In some cases, additional feedback may be
75
essential, such as when the user has some form of disability (the subject of
the next point).
• Make your interface as accessible as possible — This means
providing varied types of feedback and varied forms of input to meet the
needs of users who may have difficulty with normal approaches. For
example, you could provide additional audio feedback for users with
impaired sight, or you could provide speech recognition–driven input for
users who have difficulty manipulating the standard input devices.
• Provide help — Sometimes a user will get stuck. To cope with this,
you can do two things: Provide useful documentation and provide support.
You should always provide some form of documentation for your
application, as either online help or printed documentation. If possible, you
should also provide some form of support. The kind of support you provide
can range from simple email-based support to 24-hour manned support,
either telephone-based or on-site. Providing at least email-based support
should be considered mandatory.
• Allow customization — Let the user customize the interface to his
liking. Simple things such as choice of color can have a significant effect on
whether a user likes an interface. The use of system colors, such as clMenu
(for menus), can help your interface take on an appearance the user likes.
But customization is not just letting the user move things around so the
interface looks good. It is about allowing the user to access functionality
that he uses frequently in a way that is most convenient for him. Not
everyone will use your application in the same way. Allowing a user to
modify the interface to reflect his normal usage patterns can help make your
application become the user’s preferred tool.
• Provide an escape route for the user — Even the most experienced
user will take a misstep. Provide some form of escape to let him backtrack.
In its most common form, this means providing an undo function, which is
now almost a standard feature of all editing-type interfaces.
• Inform the user of errors in an understandable way — No matter
how foolproof you might think your interface is, some user somewhere will
cause an error to occur. When that happens, the normal response is to
display a message box to the user indicating what the error is and how to
avoid it. Sometimes you may even give the user a second chance to
complete the operation that caused the error. One of the single most
annoying things to do in this situation is to display a message box that
provides only a cryptic message that even the developer may not
understand. From the user’s point of view, the interface will appear broken,
and this is certainly not a comfortable feeling. You should therefore
endeavor to provide constructive information regarding any errors that may
76
arise. In fact, if possible, try to prevent the error from affecting the user at
all by catching it when it occurs. A problem with all this is that it is very
difficult to identify all possible sources of errors and either insulate the user
from the error or provide constructive feedback about the error. Good error
handling in an interface is often an area of continual improvement.
• Use symbols, images, and color to make the interface more
interesting and easier to navigate — Symbols make an interface quicker to
navigate because it is quicker to recognize a symbol than it is to read text. A
common approach to using symbols is to provide them alongside text. Users
will initially rely on the text descriptions to aid navigation, but as familiarity
with the related symbols grows, the user can use them instead. Symbols
must be consistent throughout an interface to achieve the maximum benefit,
and they should also be carefully designed so that their meaning is obvious.
Images can also be used to enhance an interface, either as graphical
elements that provide a function or simply to make the interface interesting.
Careful thought is required when adding images. Color can be used to group
related controls, provide visual separation, or carry additional information,
such as syntax highlighting in an IDE.
• Make use of all input devices — Different users like to do things in
different ways. Some find different methods of input more convenient than
others. Your interface should respond to both pointing input (such as the
mouse) and keyboard input. You should also try to adhere to common
conventions. For example, if your interface provides a copy function, a user
will assume that he can use the keyboard to perform the copy and will
expect that the keyboard shortcut is Ctrl+C.
Vocabulary
to adhere – to obey sth; to hold or follow a set of principles, course of
actions
to be aware of – to have knowledge of sb/sth; to realize sth
to enable – to make sth possible
to distract – to take sb’s attention away from sth
excessive – greater than what is normal or necessary; extreme
to overcome – to succeed in dealing with or controlling sth
accomplished – skilled
mundane – ordinary and with little excitement
facet – a particular part or aspect of sth
to endeavor – to try to do sth
to enhance – to increase or improve further the good quality, value or status
of sb/sth
77
impaired - damaged or made weaker
stuck – unable to find an answer or solution to sth
cryptic – with a meaning that is hidden or not easily understood
to insulate – to protect sb/sth from unpleasant effect of sth
IDE – Integrating Development Environment
Task 3. Use the table below to note down the basic principles
and guidelines to design a user interface and the reason for
each principle.
Principle
Reason
1. ___________________________
2. ___________________________
3. ___________________________
4. ___________________________
5. ___________________________
6. ___________________________
7. ___________________________
8. ___________________________
9. ___________________________
10. __________________________
11. __________________________
12. __________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
Task 4. Decide whether the following statements are true (T) or
false (F) in relation to the information in the text. If you think a
statement is false, change it to make it true.
1.
2.
3.
4.
5.
When designing a user interface, you should follow some basic
principles and guidelines in a particular order.
The interface should be simple, so that the user can navigate
without being tired.
If the interface is intuitive and tasks are logically sequenced, it will
make sense to the user.
Feedback is one of the most important features as it makes the user
more confident and interested in what he is doing.
When designing an interface, you shouldn’t forget about people
with limitations of vision and mobility.
78
6.
If you want your application to become the user’s preferred tool,
let him customize the interface to his liking.
7. An undo function is a standard feature for all interfaces.
8. When the user causes an error, the obvious response is to display a
message box that provides a cryptic message to indicate what the
error is and how to avoid it.
9. If you provide constructive feedback about errors, you can insulate
the user from them.
10. The interface should respond to different input devices to be used
by as many users as possible.
Task 5. Choose the correct word to complete each sentence.
You may have to change some words slightly.
1.
user, usage, use, useful, useless
a. When designing a __________ interface, there are some
basic principles and guidelines that you should adhere to.
b. The quality ranged from acceptable to worse than
__________.
c. Computer __________ is predicted to increase.
d. You should always provide __________ documentation
and support for your application.
e. Have you ever __________ this software before?
2.
variable, vary, various, variety, varying
a. New techniques were introduced with __________
degrees of success.
b. With so many __________ to consider, it is difficult to
calculate the cost.
c. There is a wide __________ of patterns to choose from.
d. She took the job of a computer operator for __________
reasons
e. The real strength of word processors is their ability to edit
and format documents, and they __________ in the
strength and variety of these functions.
3.
customization, customer, customized, customize
a. You can __________ the software in several ways.
b. But __________ is not just letting the user move things
around so the interface looks good.
79
c.
d.
XML is extensible because it lets website developers
create their own set of __________ tags for documents.
They know me – I’m a regular __________.
4.
access (v), access (n), accessible
a. These documents are not __________ to the public.
b. Each record must obviously have a unique identifier so
that it can be __________ in the database.
c. For __________ a server, basic PCs already suffice.
d. You need a password to get __________ to the computer
system.
5.
design (v), design (n), designer
a. This course is primarily __________ as an introduction to
the subject
b. Graphics can be developed for a variety of uses including
presentations,
desktop
publishing,
illustrations,
architectural __________ and detailed engineering
drawings.
c. In cooperative environments, several __________ might
work on the same project.
d. XML is a set of rules for __________ text formats.
Language work
Phrasal Verbs
A phrasal verb is a verb +
preposition
combination.
For
example, look up, take on, rely on.
Phrasal verbs are common in
informal, spoken English.
Sometimes they have a more
formal one word equivalent, for
example, work out = determine.
Often phrasal verbs have two
meanings.
One we can work out from the
meaning of the two words
separately:
e.g. She looked up at the roof.
A special meaning which does
not easily relate to the separate
meanings of the words:
e.g. She looked up a word in the
dictionary.
80
Task 6. Look back in the text, find words in italics and guess the
meaning of these phrasal verbs in your own language:
1.
2.
3.
4.
to figure sb/sth out
to come across sb/sth
to carry sth out
to take sb/sth for granted
5.
6.
7.
8.
to cope with sth
to take on sth
to rely on sb/sth
to respond to sth
Task 7. Match each of the phrasal verbs above with the
expression that has a similar meaning:
a)
b)
c)
d)
to react quickly or favourably
to begin to have a particular characteristic, quality or appearance
to understand sth/sb by thinking about them/it
to be so familiar with sb/sth that one no longer appreciates their
full value
e) to need or to be dependent on sb/sth
f) to do sth as required or specified; to fulfil sth
g) to meet or find sb/sth by chance
h) to have the capacity to deal with sth successfully
Task 8. Complete the sentences using a suitable phrasal verb
from the list given. Use the correct form of the verb each time:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
There was too much work for our computer …… .
… you …… what’s wrong with your printer?
Nowadays we … increasingly … computers to regulate the flow of
traffic in the town.
These insects can …… the colour of their backgrounds, so that
their enemies can’t see them.
We all have certain duties and jobs …… .
Yesterday she …… a computer manual in a drawer.
Why … you … it … that you will fail?
The mechanism … well … the controls.
Extensive tests …… on the patient.
I can't …… how to do this.
She seemed ……. that I would go with her to the computer
exhibition.
He wasn't able …… the stresses and strains of the job.
His voice …… a more serious tone.
These days we … heavily … computers to organize our work
81
15. You can rely on him …… a challenge.
16. The instructions …… (not) because of a syntax error.
Speaking
Task 9. Work in pairs using the information in the text above.
Student A: You are interested in installing software for your PC. Describe
your machine to the salesperson and ask about the various options available,
prices, etc.
Student B: You work for a company that sells hardware and software. Find
out what your customer wants. Give him information about advantages of
your operating system (more particularly about user interface) and try to
persuade the customer to buy one of your products.
Writing
Task 10. Work in pairs. You manage a company specializing in
software. Prepare a leaflet to inform companies of the potential
benefits of using your operating system (especially about user
interface). Invite them to contact you for a free consultation.
Task 11. Write a summary of the text. You should aim to limit
your summary to about 200 words. Start by underlining the
important ideas in the text. Try, where possible, to combine
more than one idea in each sentence.
82
Unit 11. Web Page Design
Warm-up
Task 1. Work in pairs and discuss the following questions:
1.
2.
3.
4.
Why do people have
personal websites?
Have you visited anyone’s
personal home page? What
was it like?
What sites do you usually
surve?
What things don’t you like or
annoy you about websites.
Make a list.
Speaking
Task 2. Look at the Top 10 List of Web page annoyances. Which
ones are similar to the annoyances you talked about in Task 1?
Why are they annoying?
Top 10 List of Web Page Annoyances
Easy navigation and usability are one of the most important aspects of
creating a "user friendly" website. However, there are still a "plethora" of
web-sites out there that are, to be politically correct, "functionally
challenged." Does your website keep people captivated, or does it send
them fleeing as soon as they get to the first page? Do you offend your
visitors with the following annoyances?
1.
2.
3.
4.
Music or any voice recording that automatically plays when you
enter a site, without giving the option of turning it off.
A page full of dead links and constant "Page Not Found" error
messages.
Solid blocks of text with no breaks between paragraphs. People not
only want their information quick, but they also want to read it in
smaller, ‘bit size’ portion of content.
Pop-up ads – the horrible advertisement that suddenly appear.
83
5.
Bad design – too many buttons and links on different parts of the
page are confusing and make it too hard to navigate the site.
6. Blinking fonts – brightly-coloured texts are difficult to read, but
fonts that blink on and off?
7. Flash – these animations are good if they download quickly, but
make them relevant to the website, and not just there to make the
site look pretty.
8. Cursing or using worn out phrases – it maybe an excellent
marketing headline, but it’s a total turn-off.
9. Counters – it’s not interesting to know that you’re visitor number
365,765,014.
10. Downloading plug-ins – the little program that you have to
download to get an audio or video message before you can enter
the site.
Listening
Task 3. You are going to hear an interview with Nathan Ward, a
web designer, describing what makes a good website. Listen to
the first part of the interview and answer the following
questions.
1.
2.
3.
4.
5.
6.
Why do people want websites?
What kind of information is distributed free?
What sort of clients is a website particularly useful for?
What is the first thing Nathan Ward asks from a client?
What danger might a web designer face?
What are the essential points to be discussed?
Task 4. Listen to the second part of the interview and complete
the sentences below.
1.
2.
3.
4.
The first basic principle is that there should never be __________
____________________.
The second principle is to ______________________________
that have to be taken from the home page to any other page.
The third principle is not ____________________ to scroll
through on one page.
The more multimedia features you have, the more time
______________________________.
84
5.
6.
7.
Another aspect of designing pages is to ____________________
__________.
It’s a big strength to _____________________________.
Your website should have on the front page __________
_____________________ to attract the reader.
Reading
Task 5. Before reading the text, try to match the following terms
with their definitions:
1.
Metalanguage
2.
Entity
3.
Character
4.
Markup
5.
XML processor
6.
Parse
a) an item that has data stored with it
b) a language that is used for describing the
structure of other languages
c) a software module that is used to read XML
documents and provide access to their content
and structure
d) to separate a high-level programming language
statement into parts that will be processed as
individual units when it is converted into
machine code
e) a method of adding information to the text
indicating the logical components of a
document, or instructions for layout of the text
on the page
f) a distinctive significant mark or feature
Task 6. Read the text about XML and find answers to the
following questions.
1.
2.
3.
4.
5.
6.
7.
8.
9.
What is SGML? What languages were derived from SGML?
What does XML stand for? What is meant by the term
‘extensible’?
What is a metalanguage? Name two metalanguages.
What is XML intended for?
Is it possible to use XML in metadata applications?
What is the initial purpose of the language?
What do entities contain?
What is used to provide access to XML documents?
What is the connection between the two modules mentioned in the
text?
85
XML: Basic Concepts
Extensible Markup Language, abbreviated XML, describes a class of
data objects called XML documents and partially describes the behavior of
computer programs which process them. XML is an application profile or
restricted form of SGML, the Standard Generalized Markup Language. By
construction, XML documents are conforming SGML documents.
It is called extensible because it is not a fixed format like HTML (a
single, predefined markup language). Instead, XML is actually a
`metalanguage' - a language for describing other languages - which lets you
design your own customized markup languages for limitless different types
of documents. XML can do this because it's written in SGML, the
international standard metalanguage for text markup systems (ISO 8879).
XML is primarily intended to meet the requirements of large-scale Web
content providers for industry-specific markup, vendor-neutral data
exchange, media-independent publishing, one-on-one marketing, workflow
management in collaborative authoring environments, and the processing of
Web documents by intelligent clients. It is also expected to find use in
certain metadata applications. XML is fully internationalized for both
European and Asian languages, with all conforming processors required to
support the Unicode character set in both its UTF-8 and UTF-16 encodings.
The language is designed for the quickest possible client-side processing
consistent with its primary purpose as an electronic publishing and data
interchange format.
XML documents are made up of storage units called entities, which
contain either parsed or unparsed data. Parsed data is made up of characters,
some of which form the character data in the document, and some of which
form markup. Markup encodes a description of the document's storage
layout and logical structure. XML provides a mechanism to impose
constraints on the storage layout and logical structure. A software module
called an XML processor is used to read XML documents and provide
access to their content and structure. It is assumed that an XML processor is
doing its work on behalf of another module, called the application. This
specification describes the required behavior of an XML processor in terms
of how it must read XML data and the information it must provide to the
application.
This summary in 10 points attempts to capture enough of the basic
concepts.
86
Language work
The Passive
Passive are very common in
technical writing where we are more
interested in facts, processes, and
events than in people. We form the
passive by using the appropriate
tense of the verb to be followed by
the past participle of the verb we are
using. For example:
PROLOG were designed for
research into Artificial Intelligence.
Present Perfect: Computers and
microchips have become part of our
everyday lives: We visit shops and
offices which have been designed
with the help of computers, we read
magazines which have been
produced on computers.
Past Perfect: By this time
Microsoft made its operating system
Windows 95, graphic user interface
had widely been used by Macintosh.
Present
Continuous:
BASIC
enables the user to interact with the
program while it is being executed,
which means that data can be input
while the program is running.
Past Continuous: All computers
were being brought to a virtual
standstill by the mysterious bug.
Future Simple: If the market for
possible computers grows, prices
will be reduced.
Future Perfect: By the year 2030
human labour in industry will have
been replaced by robots.
Active
1. The
CPU
processes
instructions. (simple present)
2. Charles Babbage invented the
computer. (simple past)
Passive
1. Instructions are processed by
the CPU. (simple present)
2. The computer was invented
by Charles Babbage. (simple
past)
Passive verb forms:
Present Simple: When a particular
program is run, the data is processed
by the computer very rapidly.
Past Simple: In the 1970s, new
languages such as LISP and
Task 7. Rewrite the following sentences using the Passive.
1.
2.
3.
4.
Last Thursday we appointed a new system analyst.
Portable PCs will be replacing desktop PCs in a few years time.
They have fully computerized the factory.
Smith Ltd is supplying our company with computers.
87
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Professor Niklaus Wirth and his colleagues developed the Pascal
language.
No-one has seen the Senior Programmer since the day of the
exhibition.
They program the computer to warn users before it deletes
information.
They are installing the new computer system next month.
The computer didn’t carry out the instructions because of a syntax
error.
We’ll complete the testing of the new computer program by next
week.
Computer Services Engineer Technician has been restoring the
data for several hours.
She offered me the job as a hardware engineer but I refused it.
We use computers to process our sales information.
Local businesses have provided technical support.
The CPU processes instructions.
Governments can take measures against computer crime.
Software manufactures will have made hundreds of new programs
by this time next year.
Scientists may discover new electronic components.
Task 8. Here is the beginning of a report of an experiment.
Rewrite it, putting verbs in the passive where appropriate and
making any other necessary changes.
I conducted the test in the college library to minimize noise. I took the students
out of their normal lessons and I tested them in groups of four. I carried out all the
tests in January 1996. The test consisted of two components. First, I showed the
students a design (I presented it in Chapter 3) and I asked them to describe what
they saw. I tape recorded all their answers. I then gave them a set of anagrams
(words with jumbled letters) which I instructed them to solve in as short time as
possible. I remained in the room while the students did this…
Task 9. Fill in the gaps in the following sentences using the
appropriate form of the verbs in brackets.
1.
2.
The first digital computer …… (build) by the University of
Pennsylvania in 1946.
Instructions written in a high-level language …… (transform) into
machine code.
88
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
The operating system is always present when a computer ……
(use).
The contractor who had developed a computerized circulation
system inserted a logic bomb that would disable the system on a
certain date unless the contractor …… (pay).
All computer languages must …… (translate) into binary
commands.
A new version of TurboPascal …… (just/release).
In the next century, computers …… (program) in natural
languages like English or French.
All the activities of the computer system …… (coordinate) by the
central processing unit.
By 2020, new technology …… (revolutionize) communications.
Previously those business presenters who wanted to make an
impression handed round copies of reports that ……
(professionally/ produced).
During that period, enormous advances …… (make) in computer
technology.
In some modern systems information ….. (hold) in optical disks.
Software can …… (hold) in the memory of the computer or ……
(record) on floppy disk.
Microsoft …… (find) on the basis of the development of MS/DOS.
As the MT systems designed for diffusion purposes are
computationally very heavy, they …… (develop) on mainframes.
The interface is called WIMP: Window, Icon, Mouse and Pointer and
software products for the Macintosh …… (design) to take full
advantage of its features using this interface.
Task 10. Read the texts and match them with the headings
below.
1.
2.
3.
4.
XML is text, but isn’t meant to be read
XML is for structuring data
XML is verbose by design
XML looks a bit like HTML
a) _______________
Structured data includes things like spreadsheets, address books,
configuration parameters, financial transactions, and technical drawings.
XML is a set of rules (you may also think of them as guidelines or
conventions) for designing text formats that let you structure your data.
89
XML is not a programming language, and you don't have to be a
programmer to use it or learn it. XML makes it easy for a computer to
generate data, read data, and ensure that the data structure is unambiguous.
XML avoids common pitfalls in language design: it is extensible, platformindependent, and it supports internationalization and localization. XML is
fully Unicode-compliant.
b) _______________
Like HTML, XML makes use of tags (words bracketed by '<' and '>') and
attributes (of the form name="value"). While HTML specifies what
each tag and attribute means, and often how the text between them will look
in a browser, XML uses the tags only to delimit pieces of data, and leaves
the interpretation of the data completely to the application that reads it. In
other words, if you see "<p>" in an XML file, do not assume it is a
paragraph. Depending on the context, it may be a price, a parameter, a
person, a p... (and who says it has to be a word with a "p"?).
c) _______________
Programs that produce spreadsheets, address books, and other structured
data often store that data on disk, using either a binary or text format. One
advantage of a text format is that it allows people, if necessary, to look at
the data without the program that produced it; in a pinch, you can read a text
format with your favorite text editor. Text formats also allow developers to
more easily debug applications. Like HTML, XML files are text files that
people shouldn't have to read, but may when the need arises. Compared to
HTML, the rules for XML files allow fewer variations. A forgotten tag, or
an attribute without quotes makes an XML file unusable, while in HTML
such practice is often explicitly allowed. The official XML specification
forbids applications from trying to second-guess the creator of a broken
XML file; if the file is broken, an application has to stop right there and
report an error.
d) _______________
Since XML is a text format and it uses tags to delimit the data, XML files
are nearly always larger than comparable binary formats. That was a
conscious decision by the designers of XML. The advantages of a text
format are evident, and the disadvantages can usually be compensated at a
different level. Disk space is less expensive than it used to be, and
compression programs like zip and gzip can compress files very well and
very fast. In addition, communication protocols such as modem protocols
and HTTP/1.1, the core protocol of the Web, can compress data on the fly,
saving bandwidth as effectively as a binary format.
90
Task 11. Read the text again and find answers to these
questions:
1.
2.
3.
4.
5.
What is structured data?
Do you need to be a programmer to use XML? Why?
What are the basic character features of XML?
What are the similarities and differences between XML and
HTML?
What are pros and cons of using text format?
Task 12. Look back in the text and find words or phrases which
mean the following:
1. to put sth together in an organized way (§A)
2. clear in meaning; that can only be understood in one way (§A)
3. a danger or difficulty, especially one that is hidden or not obvious
at first (§A)
4. to decide what the limits of sth are (§B)
5. the particular way in which sth is understood or explained (§B)
6. to think or accept that sth is true but without having proof of it
(§B)
7. used to say that sth could be done or used in a particular situation if
it is really necessary (§C)
8. clearly and exactly (§C)
9. similar to sb/sth else and able to be compared (§C)
10. using or containing more words than are needed (§D)
11. deliberate or controlled (§D)
12. to provide sth good to balance/reduce the bad effects of damage,
loss, etc. (§D)
Task 13. Read the text below. Use the words in the box to the
right of the text, listed 1-12, to form a word that fits in the same
numbered space in the text. There is an example (0).
XML is a family of technologies
e. g. 0) specification
XML 1.0 is the 0) …… that defines what "tags"
and "attributes" are. Beyond XML 1.0, "the
XML family" is a 1) …… set of modules that
offer 2) …… services to accomplish important
and
3) …… demanded tasks. XLink 4)
…… a standard way to add hyperlinks to an
91
0)
SPECIFIC
1)
GROWTH
2)
USE
XML file. XPointer is a syntax in 5) …… for
pointing to parts of an XML document.An
XPointer is a bit like a URL, but instead of
pointing to documents on the Web, it points to
pieces of data inside an XML file. CSS, the
style sheet language, is 6) …… to XML as it is
to HTML. XSL is the advanced language for
7) …… style sheets. It is based on XSLT, a 8)
…… language used for rearranging, adding and
deleting tags and attributes. The DOM is a
standard set of function calls for 9) …… XML
(and HTML) files from a 10) …… language.
XML Schemas 1 and 2 help developers to 11)
…… define the structures of their own XMLbased formats. There are several more modules
and tools 12) …… or under development. Keep
an eye on W3C's technical reports page.
3)
FREQUENT
4)
DESCRIPTIVE
5)
DEVELOPER
6)
APPLY
7)
EXPRESSIVE
8)
TRANSFORM
9)
MANIPULATION
10)
PROGRAMMER
11)
PRECISE
12)
AVAILABILITY
Speaking
Task 14. Work in pairs and both look at the pictures on pages
109 and 110.
1.
2.
Student A: You should talk about the pictures on page 109. They show
different types of user interface. You should
a) describe common features of user interfaces, and
b) comment on the basic principles to design a user interface. You
have about one minute.
Student B: When Student A has finished, comment on what he/she has
said. Say if you agree or disagree.
Student B: You should talk about the pictures on page 110. They show
different websites.
a) compare and contrast them, and
b) comment on the basic principles to design a website. What features
make a good website? Talk about features that annoy users. You
have about one minute.
Student A: When Student B has finished, comment on what he/she has
said. Say if you agree or disagree.
92
Unit 12. Extensible Markup Language
Warm-up
Task 1. Read the explanations and write the term from the text
below in the crossword puzzle.
1.
a set of unambiguous rules to solve a problem in a definite number
of steps
2.
scientific knowledge used in practical ways in industry, for
example in designing new machines
3.
a unit of measurement that is officially used; an official rule used
when producing sth
4.
a person whose job is to decide how things such as tools,
machines, etc. will look or work by making drawings, plans or
patterns
5.
the rules that state how words and phrases must be used in a
computer language
93
6.
a way of performing a task that usually does not change each time
the task is performed
7.
a set of instructions that can be understood by a computer and
perform a certain task or function
8.
a store of facts and information held in a computer
9.
a program that is used by a programmer to write other programs
10. the help offered to the user by a company who makes or sells a
computer
Reading
Task 2. Read the texts and match them with the headings below.
1.
2.
3.
4.
5.
XML is the basis for RDF and the Semantic Web
XML is modular
XML is license-free, platform-independent and well-supported
XML is new, but not that new
XML leads HTML to XHTML
a) _______________
Development of XML started in 1996 and it has been a W3C
Recommendation since February 1998, which may make you suspect that
this is rather immature technology. In fact, the technology isn't very new.
Before XML there was SGML, developed in the early '80s, an ISO standard
since 1986, and widely used for large documentation projects. The
development of HTML started in 1990. The designers of XML simply took
the best parts of SGML, guided by the experience with HTML, and
produced something that is no less powerful than SGML, and vastly more
regular and simple to use. Some evolutions, however, are hard to distinguish
from revolutions... And it must be said that while SGML is mostly used for
technical documentation and much less for other kinds of data, with XML it
is exactly the opposite.
b) _______________
There is an important XML application that is a document format: W3C's
XHTML, the successor to HTML. XHTML has many of the same elements
94
as HTML. The syntax has been changed slightly to conform to the rules of
XML. A format that is "XML-based" inherits the syntax from XML and
restricts it in certain ways (e.g, XHTML allows "<p>", but not "<r>"); it
also adds meaning to that syntax (XHTML says that "<p>" stands for
"paragraph", and not for "price", "person", or anything else).
c) _______________
XML allows you to define a new document format by combining and
reusing other formats. Since two formats developed independently may
have elements or attributes with the same name, care must be taken when
combining those formats (does "<p>" mean "paragraph" from this format or
"person" from that one?). To eliminate name confusion when combining
formats, XML provides a namespace mechanism. XSL and RDF are good
examples of XML-based formats that use namespaces. XML Schema is
designed to mirror this support for modularity at the level of defining XML
document structures, by making it easy to combine two schemas to produce
a third which covers a merged document structure.
d) _______________
W3C's Resource Description Framework (RDF) is an XML text format that
supports resource description and metadata applications, such as music
playlists, photo collections, and bibliographies. For example, RDF might let
you identify people in a Web photo album using information from a
personal contact list; then your mail client could automatically start a
message to those people stating that their photos are on the Web. Just as
HTML integrated documents, images, menu systems, and forms
applications to launch the original Web, RDF provides tools to integrate
even more, to make the Web a little bit more into a Semantic Web. Just like
people need to have agreement on the meanings of the words they employ
in their communication, computers need mechanisms for agreeing on the
meanings of terms in order to communicate effectively. Formal descriptions
of terms in a certain area (shopping or manufacturing, for example) are
called ontologies and are a necessary part of the Semantic Web. RDF,
ontologies, and the representation of meaning so that computers can help
people do work are all topics of the Semantic Web Activity.
e) _______________
By choosing XML as the basis for a project, you gain access to a large and
growing community of tools (one of which may already do what you need!)
and engineers experienced in the technology. Opting for XML is a bit like
choosing SQL for databases: you still have to build your own database and
95
your own programs and procedures that manipulate it, but there are many
tools available and many people who can help you. And since XML is
license-free, you can build your own software around it without paying
anybody anything. The large and growing support means that you are also
not tied to a single vendor. XML isn't always the best solution, but it is
always worth considering.
Task 3. Decide whether the following statements are true (T) or
false (F) in relation to the information in the text. If you think a
statement is false, change it to make it true.
1.
2.
3.
4.
5.
6.
7.
8.
XML is an immature technology.
SGML is a precursor of XML.
XML is hardly ever used for technical documentation.
Document format is the major application of HTML.
One should be careful when combining formats because of name
confusion.
RDF stands for Research Description Framework.
There must be mechanisms to agree on the meaning of terms for
computers to interact effectively.
You have to pay money to use XML.
Task 4. Look back at the text and find the English equivalents
for:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
новая технология (§ A)
преемник чего/кого-либо (§ B)
подчиняться/ соответствовать правилам чего-либо (§ B)
наследовать; перенять что-либо (§ B)
исключать путаницу по совпадению имен (§ C)
механизм пространства имен (§ C)
отражать/показывать поддержку модульности (§ C)
совмещенная структура документа (§ C)
структура/основа описания ресурсов (§ D)
использование метаданных (§ D)
запускать первоначальный Web (§ D)
применять/ употреблять в общении (§ D)
растущая группа инструментальных средств (§ E)
опытный/ сведущий в чем-либо (§ E)
96
Language work
Gerunds
5.
We can use the –ing form of
the verb as a noun. It can be the
subject, object or complement of a
sentence. For example:
1. Opting for XML is a bit like
choosing SQL for databases.
2. The operating system starts
running the user interface as
soon as the PC is switched on.
3. His favourite pastime is playing
computer games.
The –ing form is also used after
prepositions. This include to when it
is a preposition and not part of the
infinitive. For example:
4. You can build your own
software around it without
paying anybody anything.
You gain access to a large and
growing community of tools
and engineers experienced in
the technology by choosing
XML as the basis for a project.
We can use the – ing form after
the
certain
expressions.
For
example:
6. There is nothing you can do
about the situation, so it’s no
use worrying about it.
7. There is no point in having a
computer if you never use it.
8. XML isn't always the best
solution, but it is always worth
considering.
9. I had difficulty in writing this
program.
Task 5. Rewrite each of these sentences like this:
An important function of the operating system is to manage the
computer’s resources.
Managing the computer’s resources is an important function of the
operating system.
1.
2.
3.
4.
One task of the supervisor program is to load into memory nonresident program as required.
The role of the operating system is to communicate directly with
the hardware.
One of the key functions of the operating system is to establish a
user interface.
An additional role is to provide services for application software.
97
5.
6.
7.
8.
9.
Part of the work of mainframe operating system is to support
multiple programs and users.
The task in most cases is to facilitate interaction between a single
user and a PC.
One of the most important functions of a computer is to process
large amounts of data quickly.
The main reason for installing more memory is to allow the
computer to process data faster.
The last step in computer program development is to complete the
documentation for the program.
Task 6. Complete the following sentences with the correct form
of the verb: infinitive or –ing form.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Do not switch off without (close down) your PC.
You can find information on the Internet by (use) a search engine.
I would like (upgrade) my computer.
How old were you when you learn (use) a computer?
She had no difficulty (get) a job.
XML Schema is designed (mirror) the support for modularity by
(make) it easy to combine two schemas to produce a third which
covers a merged document structure.
You need not learn how to (program) in HTML before (design)
webpages.
How do you make this machine (work)? – I’m not sure. Try (press)
that button and see what happens.
Since two formats may have elements or attributes with the same
name, care must be taken when (combine) those formats.
I look forward to (input) data by voice instead of (use) a keyboard.
Before (print) a document, the user should decide on the layout.
It would cost too much money to repair this printer. It is not worth
(repair).
XML allows you to define a new document format by (combine)
and (reuse) other formats.
The hard disk needs (repaire).
The speed of a microprocessor is important in (process)
information.
CAD programs are very fast at (perform) drawing functions.
98
Speaking
Task 7. You are planning to create webpages for a personal
website. Work in pairs and discuss all pros and cons of using
XML.
What features make a good website? You can discuss the
following points:
1.
2.
3.
4.
5.
6.
7.
Design
Navigation
Ease of use
Accuracy
Up to date
Helpful graphics
Compatibility
Translation
Task 8. Translate the text into English.
XML - это язык разметки,
описывающий целый класс объектов
данных,
называемых
XMLдокументами. Этот язык используется
в качестве средства для описания
грамматики других языков и контроля
за
правильностью
составления
документов. Т.е. сам по себе XML не
содержит
никаких
тэгов,
предназначенных для разметки, он
просто определяет порядок их
создания.
Таким
образом,
у
разработчиков появляется уникальная
возможность определять собственные
команды, позволяющие им наиболее
эффективно
определять
данные,
содержащиеся в документе. Автор
документа создает его структуру,
строит необходимые связи между элементами, используя те команды,
которые удовлетворяют его требованиям, и добивается такого типа
99
разметки, которое необходимо ему для выполнения операций
просмотра, поиска, анализа документа.
Еще одним из очевидных достоинств XML является
возможность использования его в качестве универсального языка
запросов к хранилищам информации.
XML позволяет также осуществлять контроль за корректностью
данных, хранящихся в документах, производить проверки
иерархических соотношений внутри документа и устанавливать
единый стандарт на структуру документов, содержимым которых
могут быть самые различные данные. Это означает, что его можно
использовать при построении сложных информационных систем, в
которых очень важным является вопрос обмена информацией между
различными приложениями, работающими в одной системе.
100
Pairwork: Student A
Java
Java is a high-level language which has been developed
specifically for the Web and is well suited to networked applications. It is
based on C++ and was originally developed by Sun Microsystems in the
mid-1990s. Java is widely used for developing interactive applications for
the Internet.
Ada
Ada (named after Countess Ada Lovelace - one of the first
programmers) was developed from the foundation of Pascal, and is
primarily used in the defense industry for developing weapons systems and
in industrial environments for controlling real-time systems and automation.
Ada is very highly structured, which forces programmers to use a standard
procedural approach for program design. This programming language is still
primarily used in the defense industry, with its larger computer systems.
Because of its highly structured approach, however, it is gaining popularity
in other areas.
Logo It is an easy-to-use language designed for use in schools to
encourage children to experiment with programming. Logo is flexible – that
is, it can do maths, make lists, construct graphs, etc. Also, its drawing
capabilities allow children to construct simple graphics programs.
LISP Stands for LISt Processor; LISP is designed to process nonnumeric data – that is, symbols such as characters or words. It is primarily
used for artificial intelligence research and the development of expert
systems. It is also used for some commercial applications, such as
databases. LISP has not become very popular on microcomputers yet, but
that may change as the hardware becomes increasingly sophisticated and
thus better able to handle the processing demands of the language.
FORTRAN Stands for FORmula TRANslator; FORTRAN was designed
by scientists in 1954 and is oriented toward manipulating formulas for
scientific, mathematical, and engineering problem-solving applications.
FORTRAN has gone through several stages of standardized revision since
its creation, keeping it up-to-date with advances in programming techniques
and hardware development.
HTML Stands for HyperText Markup Language; HTML is used to create
hypertext documents that can be displayed on the Web. HTML codes
control the use of fonts and images on a webpage and specify the links to
101
other Internet sites. HTML files are viewed with a client program called a
‘browser’. It is a language that is all about the presentation of your
information, not what the actual data is. You can, therefore, say that HTML
is a presentation language.
Perl
Its name comes from Practical Report and Extraction Language. It
first appeared in 1987 as a Unix-based tool for producing reports but is now
widely used for creating interactive webpages.
Delphi It is similar to Visual Basic. It is also a programming environment
for developing programs for the Windows operating system. It has
predefined objects that can be chosen from a toolbox. In Delphi, however,
the code attached to the objects is written in a form of Pascal. You can think
of Delphi as a kind of ‘Visual Pascal’. Like Visual Basic, it is often used for
general purpose programs.
102
Pairwork: Student B
Prolog Stands for PROgramming LOGic; Prolog is used to develop
applications in the field of artificial intelligence. It is a popular tool for
natural-language programming.
XML Stands for eXtensible Markup Language; XML is a metalanguge
for creating webpages with meaningful data that can be used by a variety of
programs. In fact, because XML is an extensible language, you don’t even
have to have a browser to interpret the page. Applications can parse the
XML document and read the information without any human intervention.
C++
C++ is an object-oriented superset of C which combines the best
features of a structured high-level language and an assembly language – that
is, it’s relatively easy to code and uses computer resources efficiently. C
was originally designed to write systems software but is now considered a
general-purpose language.
Visual Basic
BASIC stands for Beginners’ All-purpose Symbolic
Instruction Code; Visual Basic is a simple-to-use language that has a
graphical interface. It makes it particularly easy for an inexperienced
programmer to create database programs. It is also used in educational and
multimedia packages.
Pascal Pascal, named after the French mathematician Blaise Pascal, was
created in the late 1960s and early 1970s primarily to fill the need for a
teaching vehicle that would encourage structured programming. It has
algorithmic features designed for fast execution of the object program. It is
often used in colleges and universities to teach programming. It is
commonly used to write programs for a wide variety of applications,
including programs for numeric scientific calculations, for business data
processing, and for text editing, as well as to write various systems
programs, including compilers.
COBOL Stands for Common Business-Oriented Language; it is used for
business applications such as accounting, inventory control, payroll, and
banking systems. Initially developed in 1959 by a panel of government and
business experts, COBOL was designed around the needs of common
business reporting. It has been around for a long number of years but is still
an important transaction-processing language used to process the records of
large organisations on mainframe computers.
103
SQL
Stands for Structured Query Language; it was introduced by Oracle
Corp. in 1979. It is designed to instruct the computer to retrieve and
manipulate database information and can be used to develop specific
applications based on databases, such as database publishing and project
management. It is also supports databases, which run on several computer
systems. It allows various users on a LAN to access the same database at
the same time.
JavaScript
It is a scripting language. It is powerful and easy to use.
Scripts are small programs that can be used to perform simple tasks or tie
other programs together. JavaScript is designed for use inside webpages. It
can enable a webpage to respond to a mouse click or input on a form. It can
also provide a way of moving through webpages and produce simple
animation.
104
Visuals for Speaking
Unit 3. Focus on Speaking Task 9 (page 25)
Student A
105
Unit 3. Focus on Speaking Task 9 (page 25) Student B
106
107
A.
Student A
B.
Unit 8. Focus on Speaking Task 9 (page 63)
108
A.
Student B
Unit 8. Focus on Speaking Task 9 (page 63)
B.
Unit 11. Focus on Speaking Task 14 (page 92) Student A
A.
B.
109
Unit 11. Focus on Speaking Task 14 (page 92) Student B
A.
B.
110
Progress Check 1
Units 1- 6
I.
Choose the correct variant
1.
The system analyst …… communicate the computer program
requirements to the programmer.
a) need
b) must
c) can
2.
Iteration is the process of a computer …… a command or statement
again and again until a result is obtained.
a) execute
b) executed
c) executing
3.
Page-description language uses tags …… the layout of a document.
a) to define
b) defining
c) define
4.
A program which processes images of documents is a …… .
a) document processing image program
b) process image document program
c) document image processing program
5.
You …… be an expert in hardware to become a programmer.
a) needn’t
b) mustn’t
c) shouldn’t
6.
A class is a template used …… multiple objects with similar features.
a) create
b) creating
c) to create
7.
…… is a feature that allows one interface to be used for a general class
of actions.
a) Polymorphism
b) Encapsulation
c) Inheritance
8.
…… is a person who designs or modifies information systems to meet
users’ requirements.
a) IT engineer
b) system analyst
c) software developer
9.
The program produced after the source program has been converted
into machine code is referred to as an …… .
a) linkage editor
b) load module
c) object program
111
10. There are only three necessary control structures needed to write
programs in structured programming. Which of the following does not
belong here?
a) sequence
b) compilation
c) selection
II.
Read the text and fill in the gaps using the list of words
below.
Object Oriented Programming
The object oriented programming 1) …… entails the development of
active program units called objects, each of which contains 2) ……
describing how that object should respond to various stimuli. These internal
procedures are called 3) …… (or member functions in the C++ vernacular).
The object oriented approach to a problem is to identify the objects involved
and describe them and their associated methods as self-contained units. In
turn, object oriented programming languages provide 4) …… for expressing
these ideas.
To simplify the description of objects with similar yet different
characteristics, most object oriented languages allow one class to
encompass the properties of another trough a system as 5) …….
The existence of a variety of objects with similar yet different
characteristics leads to a phenomenon reminiscent of 6) ……, which is the
use of a single symbol, such as +, for representing different operations
depending on the type of its operands. Suppose that an object oriented 7)
…… package consists of a variety of objects, each representing a shape
(circle, rectangle, triangle, etc.). A 8) …… image consists of a collection of
these objects. Each object knows its size, location, and colour as well as
how to respond to 9) …… telling it, for example, to move to a new location
or to draw itself on the monitor screen. To draw an image, we merely send a
‘draw yourself’ message to each object in the image. However, the routine
used to draw an object varies according to the 10) …… of the object –
drawing a squire is not the same process as drawing a circle. This
customized interpretation of a message is known as 11) ……; the message
is said to be polymorphic.
Another 12) …… associated with object oriented programming is
13) ……, which refers to restricting access to an object’s internal 14) …….
To say that certain features of an object are encapsulated means that only
the object itself is able to access them. Features that are encapsulated are
112
said to be private. Features that are 15) …… from outside the object are
said to be public.
a.
b.
c.
d.
e.
polymorphism
encapsulation
inheritance
characteristic
overloading
III.
f.
g.
h.
i.
j.
procedures
accessible
messages
statements
paradigm
k.
l.
m.
n.
o.
particular
properties
methods
graphics
shape
Mark if the following definitions or explanations of the
terms are correct (T) or not (F):
1.
Structured programming is a programming technique that combines
data, abstraction, inheritance, and dynamic type binding.
2. Object module is the program which is directly executable by the
computer.
3. Assembly language is a human-readable representation of machinecode programs.
4. Inheritance is a key feature of object-oriented programming by which
different objects can receive the same instructions but deal with them in
different ways
5. Platform is a type of computer or program used as a standard for a
particular computer system
6. Source program is a computer program written in a high-level
language, designed to perform a specific function
7. Systems analyst is a person who designs or modifies information
systems to meet users’ requirements. This includes investigating
feasibility and cost-producing documentation and testing prototypes of
the system.
8. Support is the help offered to a company by the user who makes or
sells a computer
9. Selection is the control structure allowing choice among different
directions
10. Flowchart is a kind of diagram used by programmers to show the
logical steps in a program or by systems analysts to show logical steps
in the design of a system
IV.
Read the text below. Use the words in the box to the right
of the text, listed 1-10, to form a word that fits in the same
numbered space in the text.
113
Structured Programming
Back in the 1960s, computer programs were
e. g. 0) assembly
difficult to read. The primitive languages
(FORTRAN and often even 0) …… languages)
frequently used if and goto statements, 1) …… in
0) ASSEMBLE
"spaghetti-like" code. Programs were 2) ……
1) RESULT
networks of statements, where the 3) …… could
2) ESSENTIAL
jump freely from one statement to another, using
3) EXECUTE
4) …… or unconditional jump statements.
4) CONDITION
This situation led the entire 5) …… to use flow charts. 5) INDUSTRIAL
The flow chart was a diagram which 6) ……
6) REPRESENT
the program as a directed 7) …… that connected
7) GRAPHIC
8) …… sections of the code. The execution could
8) SEQUENCE
branch at the if statements, or could jump to any other 9) USE
section of the code, 9) …… the goto statement. Flow
10) PROGRAM
charts helped 10) …… understand the logic of their code.
V.
Translate the text about object-oriented programming into
Russian. You may use the dictionary if it is necessary.
Object-oriented programming (OOP)
One of the principal motivations for using OOP is to handle
multimedia applications in which such diverse data types as sound and
video can be packaged together into executable modules. Another is writing
program code that’s more intuitive and reusable; in other words, code that
shortens program-development time.
Perhaps the key feature of OOP is encapsulation – bundling data and
program instructions into modules called ‘objects’. Many industry observers
feel that the encapsulation feature of OOP is the natural tool for complex
applications in which speech and images are integrated with text and
graphics. With moving images and voice built into the objects themselves,
program developers avoid the sticky problem of deciding how each separate
type of data is to be integrated and synchronized into a working whole.
A second feature of OOP is inheritance. This allows OOP developers
to define one class of objects and a specific instance of this class.
Inheritance is a useful property in rapidly processing business data. For
instance, consider a business that has a class called ‘Employees at the
Dearborn Plant’ and a specific instance of this class, ‘Welders’. If
employees at the Dearborn Plant are eligible for a specific benefits package,
114
welders automatically qualify for the package. If a welder named John
Smith is later relocated from Dearborn to Birmingham, Alabama, where a
different benefits package is available, revision is simple. An icon
representing John Smith – such as John Smith’s face – can be selected on
the screen and dragged with a mouse to an icon representing the
Birmingham plant. He then automatically ‘inherits’ the Birmingham benefit
package.
115
Progress Check 2
Units 7 - 12
I.
Choose the correct variant
1.
Most graphical user interfaces let you …… commands by selecting a
choice from a menu.
a) execute
b) executing
c) to execute
2.
The instructions …… because of a syntax error.
a) were not relied on
b) were not taken on
c) were not carried out
3.
By the time Microsoft made its operating system Windows 95, graphic
user interface … widely …by Macintosh.
a) has been used
b) had been used
c) was used
4.
XML isn't always the best solution, but it is always worth …….
a) to consider
b) considering
c) consider
5.
If the market for possible computers grows, prices …… .
a) would reduce
b) will reduce
c) will be reduced
6.
Yesterday she …… a computer manual in a drawer.
a) took for granted b) came across
c) coped with
7.
A distinctive significant mark or feature is called …… .
a) character
b) markup
c) sign
8.
The use of system colors can help your interface …… an appearance
the user likes.
a) rely on
b) take on
c) respond to
9.
The data …… by Computer Services Engineer Technician for several
hours.
a) have been restored
b) are being restored
c) has been restored
116
10. There is nothing you can do about the situation, so it’s no use ……
about it.
a) to worry
b) worrying
c) worry
11. It would cost too much money …… this printer.
a) to repair
b) repair
c) repairing
12. BASIC enables the user to interact with the program while it ……
a) is being executed
b) is executed
c) has been executed
II.
Read the text and fill in the gaps using the list of words
below.
The Graphical User Interface Problem
Graphical User Interfaces (GUIs) use icons, 1) ……, windows and
other non-textual devices to enhance communication between 2) …… and
the people who are using them. 3) ……, such as the mouse, are an integral
part of the GUI. Such interfaces, as found on Macintoshes, PCs running
Windows and OS/2 and almost all of the more 4) …… workstations, have
proven to be a boon for many computer users including those with many
types of 5) ……. Blind users, however, are an exception. For them, rather
than improving access, the GUI has made computers less 6) …… than they
were before. Screen reading programs for 7) …… computers are mature
products which do a good job of automatically transcribing text from the
screen into 8) …… or Braille. Similar screen access programs for
Windows-based computers are still in the early stages of 9) …… and are
not yet able to provide comparable performance or ease of use.
Screen reading programs for Windows 3.1 took more than four years
to develop. Soon after they became 10) ……, many businesses moved to
Windows 95, requiring another lengthy round of development to catch up.
While there are many 11) …… for translating text-based screens into
alternative sound or tactile 12) ……, strategies for representing GUI screens
are still quite primitive and difficult to use, and keeping up with GUI
innovations is a never-ending cycle. The scope of the GUI problem for
blind computer users increases as 13) …… become standard not only for
computers, but for 14) …… of all sorts, video access to telephones, the
Internet and interactive 15) …….
117
a.
b.
c.
d.
e.
f.
g.
h.
III.
successful systems
cable television
synthesized speech
pull-down menus
pointing devices
representations
GUI interfaces
development
i.
j.
k.
l.
m.
n.
o.
appliances
disabilities
computers
accessible
available
powerful
text-based
Mark if the following definitions or explanations of the
terms are correct (T) or not (F):
1.
Automated teller machine is a machine which you connect to your
telephone to answer your calls and record any message left by the
person calling.
2. Command line interface is a method of interaction with a computer
whereby the user types specific commands in order to achieve his
requirements.
3. Desktop is the main graphical user interface background screen
that displays icons for other programs.
4. Database management system refers to software that allows the
user to store, update and retrieve information held in a computer.
5. XML is a programming language that allows developers to create
their own set of customized tags that identify the meaning and
structure of data.
6. External schema concerns the way that the data is physically held.
7. Metalanguage is a language that is used for describing the structure
of other languages
8. Pop-up menu is a list of choices that appear below a menu title on
a display screen when the user clicks on the menu title using a
mouse
9. XML processor is a software module that is used to read XML
documents and provide access to their content and structure
10. SQL is a language used for searching databases.
IV.
Read the text below. Use the words in the box to the right
of the text, listed 1-10, to form a word that fits in the same
numbered space in the text.
118
A database is 1) …… to a data file in that it is a
2) ……place for data. Like a data file, a database
does not 3) ……information 4) …… to a user; the
user runs an application that accesses data from the
database and presents it to the user in an 5) ……
format. Database systems are more 6) …… than
data files in that data is more highly 7) ……. In
a well-designed database, there are no 8) ……
pieces of data that the user or 9) …… must update
at the same time. Related pieces of data are
grouped 10) ……together in a single or record,
and relationships can be defined between these
structures and records.
V.
1. SIMILARITY
2. STORE
3. PRESENTATION
4. DIRECTOR
5. UNDERSTAND
6. POWER
7. ORGANIZER
8. DUPLICATION
9. APPLY
10. STRUCTURAL
Translate the text about XML into Russian. You may use
the dictionary if it is necessary.
XML Takes on HTML
Standard Generalized Markup Language (SGML) is the language
that spawned both HTML (HyperText Markup Language) and XML
(eXtensible Markup Language). SGML is not a true language, it is a
metalanguage, which is a language from which you can create other
languages. In this case, it is the creation of a markup language (a system of
encoded instructions for structuring and formatting electronic document
elements).
HTML is an application-specific derivation of SGML. It is a set of
codes, generally used for webpages, that creates electronic documents
according to rules established by SGML. HTML is a language that is all
about the presentation of your information, not what the actual data is. You
can, therefore, say that HTML is a presentation language.
XML is a subset of SGML, but it is also, like SGML, a
metalanguage. XML defines a specific method for creating text formats for
data so that files are program independent, platform independent, and
support internationalization (able to read different languages, etc.) In fact,
because XML is an extensible language, you don’t even have to have a
browser to interpret the page. Applications can parse the XML document
and read the information without any human intervention.
XML, unlike HTML, is concerned with the identity, meaning and
structure of data. XML is extensible because it lets website developers
create their own set of customized tags for documents. This ability to define
119
your own tags is the main feature of XML, and it is what gives developers
more flexibility.
XML will do to the Web and e-commerce what HTML originally did
to the Internet. XML and its associated applications have the potential to
blow the roof off the Internet and how we do business.
120
Listening Script
Unit 1. Computer Programming. Task 2.
The circle is a CONNECTOR symbol. It appears when two separate
paths through a process come together. It is always empty. You don’t find
any text, numbers, or symbols in it. Just the circle.
The parallelogram is the INPUT or OUTPUT symbol. It looks like a
rectangle with two sloping sides. We use it when data has to be input or
output. It contains words like Input or Print.
The ellipse is the START or STOP symbol. It looks like a rounded
rectangle. It’s used at the beginning and end of a flowchart, so it will
contain the word Start or the word Stop.
The diamond shape is the DECISION symbol. It’s used whenever a
decision has to be made. Often it contains comparison functions such as less
than or greater than. It has a Yes or True branch at one corner and a No or
False branch at another.
The ordinary rectangle is the OPERATION or PROCESS symbol. It
indicates the kind of operation. It will contain words like add, subtract,
multiply, divide or make equal to.
Unit 1. Computer Programming. Task 7.
INTERVIEWER: Is programming quite stressful?
COLIN: Very. But I’m often asked to fix something on the network. So that
gives me a break. We never spend a whole day, 9 to 5, programming. It’s
impossible.
INTERVIEWER: Do you work on paper at all?
COLIN: Yes, at the design stage it’s better to get as far away from
computers as you can. We’ve got a canteen and we go through to the
canteen with a pad of paper and cup of coffee and work it out.
INTERVIEWER: You say ‘we’. Do you work as part of a team?
COLIN: Yes, there’s myself and three developers, and two who work on
graphics. Dante would have been impossible for one person to write. It took
us six months to develop it properly. It was quite a good project because it
was easy to divide up the work. There were the modules to do, the database
design, and the database access. There was the client interface and the
students interface so people were assigned to different sections.
INTERVIEWER: How many computer languages do you normally work
in?
121
COLIN: Normally? C plus plus, we’re using Active Server pages which
involves HTML and JavaScript. You can use VB, Visual Basic, but if you
use Visual Basic you’re tying yourself to Microsoft and we want anybody to
be able to run our programs. And Dante was written in Delphi.
INTERVIEWER: How do you keep up? Things are changing amazingly
quickly.
COLIN: Well, I subscribe to two magazines, PCPro and Byte. I also pick up
Dr Dobb’s Journal when I can. Oh, and at work we subscribe to Microsoft
Developer. We get two CDs from them four times a year. It’s basically an
electronic library with manuals, articles, and everything you need.
INTERVIEWER: This must take up your free time as well as work time.
COLIN: Yeah, it does, but I enjoy it, especially at the end of the day when
things are beginning to go well. I hate it when you’ve got to go home,
because you might lose it the next day.
Unit 2. Program Design. Task 10. Dictation.
First of all, you have to understand exactly what the problem is, and
define it clearly. This means you have to decide in a general way how to
solve the problem.
The next step is to design an algorithm, which is a step-by-step plan
of instructions used to solve the problem. You do this in a flowchart. You
use special symbols to show how the computer works through your program
– where it makes decisions, where it starts and ends, and things like that.
Then you translate the steps in the flowchart into instructions written
in a computer language. You usually write these in a high-level language
like BASIC or Pascal. You have to then use something called a compiler
which translates the instructions into machine code, which is the only
language understood by the processor.
Once you’ve written your program you have to test it with sample
data to see if there are any bugs or errors. Usually there are, so the program
has to be cleared of them or ‘debugged’.
And then last of all you have to write instructions explaining to
people how to use it. A great program is not much use unless people know
how to use it.
Unit 3. Programming Languages. Task 4.
Good day! Today I am going to talk about programming languages –
in particular, those which are known as High Level Languages.
122
In this talk several programming languages will be named, Assembly
Language, FORTRAN, COBOL, and BASIC. In each case the attributes of
the language will be identified, advantages and disadvantages of each will
be given and some typical uses of the languages will be suggested.
Complete the worksheet as you listen.
First we must understand the basic features of a computer program.
A computer program is a sequence of instructions which are carried out one
after the other. These instructions may cause data to be either input or
output, carry out some arithmetic operation, control the sequence in which
the instructions are obeyed, move data around the computer’s store, carry
out comparisons or format the input or output.
The instructions executed by the computer must be in a form called
machine code. However, this form of coding is difficult to understand and
so the computer scientists have developed languages which enable users to
write their own programs in a form which is as far as possible independent
of the computer they are using and may be ‘read’ by another programmer or
user. Such languages are said to be high-level.
Before discussing some high-level languages I will give an example
of a low-level language. Most computers have a language which uses
symbolic notation to represent machine code instructions. These languages,
known as assemblers, are closely related to the machine language and the
hardware of the computer.
An assembly language is very efficient in term of execution time and
memory requirements. However, it is machine dependent, requires a lot of
instructions to carry out a given task and is more difficult to write, read and
modify than a program written in a high-level language. Assembly
languages are used when fast execution times are required. For example,
when graphics are required in an interactive package such as a computer
game.
Let us now discuss three high level languages – one scientific, one
business and one general purpose.
The FORTRAN language developed by IBM in 1955 was designed
to be used by mathematicians, scientists and engineers. The language is
particular suitable for processing mathematical expressions. A single
FORTRAN statement can cause many machine code commands to be
executed and the program can be read by another user fairly easily. In its
origin form it was not possible to write structured programs in FORTRAN
but over the years the language has been developed and the form most
commonly implemented today, FORTRAN-77, allows highly-structured
programs to be written.
123
FORTRAN does not have the flexibility or speed of an assembly
language in the manipulation of data characters. Nor is it suited to the type
of applications required in a business environment.
COBOL, the first language designed specifically for business, was
introduced in 1959. COBOL statements are close to the written form of the
first English language but with a very precisely defined set of words. It is
self-documenting and machine independent. COBOL has very good filehandling capabilities and is easily understood by other programmers,
enabling modifications to be made by someone other than the originator of
the program. COBOL instructions are longer than the equivalent code in
FORTRAN and the language is not suited to complicated mathematical
expressions.
The BASIC language was developed in 1965 for use in education. It
is a language which can be learned quickly and students can write programs
after only a short course of instructions. When micro-computers were
introduced in the 1970s, nearly all manufacturers chose BASIC as the highlevel language provided with the computer and it is now probably the most
widely used language in the world. Over the years the language has been
extended and a modern BASIC will include extensive file-handling
capabilities as well as a full set of mathematical and text functions. Recently
versions of BASIC which encourage structured programming have become
available. However, most of these extensions have been developed by
manufacturers and so programs tend to be machine- or at least
manufacturer-dependent.
Unit 6. Object Oriented Programming. Task 10.
Java is a Class based language that was originally designed for
programming embedded systems. Because of this, the ideas of speed,
platform independence, and run time safety are crucial in its design.
In one of their early papers about the language, Java is described as a
simple, object-oriented, distributed, interpreted, robust, secure, architecture
neutral, portable, high-performance, multithreaded, and dynamic language.
Sun acknowledges that this is quite a string of buzzwords, but in fact
is that, for the most part, they aptly describe the language. In order to
understand why Java is so interesting, let’s take a look at the languages
features behind the buzzwords.
Java is an object-oriented programming language. As a programmer,
this means that you focus on the data in your application and methods that
manipulate that data, rather than thinking strictly in terms of procedures. If
you’re accustomed to procedure-based programming in C, you may find
124
that you need to change how you design your programs when you use Java.
Once you see how powerful this new paradigm is, however, you’ll quickly
adjust to it.
In an object-oriented system, a class is a collection of data and
methods that operate on that data. Taken together, the data and methods
describe the state and behavior of an object. Classes are arranged in a
hierarchy, so that a subclass can inherit behavior from its superclass. A class
hierarchy always has a root class; this is a class with very general behavior.
Java comes with an extensive set of classes, arranged in packages,
that you can use in your programs. For example, Java provides classes that
create graphical user interface components (the java.awt package), classes
that handle input and output (the java.io package), and classes that support
networking functionality (the java.net package). The Object class (in the
java.lang package) serves as the root of the Java class hierarchy.
Unlike C++, Java was designed to be object-oriented from the
ground up. Most things in Java are objects; the primitive numeric, character,
and Boolean types are the only exceptions. Strings are represented by
objects in Java, as are other important language constructs like threads. A
class is the basic unit of compilations and of execution in Java; all Java
programs are classes.
While Java is designed to look like C++, you’ll find that Java
removes many of the complexities of that language. If you are a C++
programmer, you’ll want to study the object-oriented constructs in Java
carefully. Although the syntax is often similar to C++, the behavior is not
nearly so analogous.
Java is an interpreted language: the Java compiler generates bytecodes for the Java Virtual Machine (JVM), rather than native machine code.
To actually run a Java program, you use the Java interpreter to execute the
compiled byte-codes. Because Java byte-codes are platform-independent,
Java programs can run on any platform that the JVM (the interpreter and
run-time system) has been ported to.
One of the most highly touted aspects of Java is that it’s a secure
language. This is especially important because of the distributed nature of
Java. Without an assurance of security, you certainly wouldn’t want to
download code from a random site on the Internet and let it run on you
computer. Yet this is exactly what people do with Java applets every day.
Java was designed with security in mind, and provides several layers of
security controls that protect against malicious code, and allow users to
comfortably run untrusted programs such as applets.
At the lowest level, security goes hand-in-hand with robustness. As
we’re already seen, Java programs cannot forge pointers to memory, or
125
overflow arrays, or read memory outside of the bounds of an array or string.
These features are one of Java’s main defenses against malicious code. By
totally disallowing any direct access to memory, an entire huge, messy class
of security attacks is ruled out.
The second line of defense against malicious code is the byte-code
verification process that the Java interpreter performs on any untrusted code
it loads. These verification steps ensure that the code is well-formed – that it
doesn’t overflow or underflow the stack or contain illegal byte-codes, for
example. If the byte-code verification step was skipped, inadvertently
corrupted or maliciously crafted byte-codes might be able to take advantage
of implementation weaknesses in a Java interpreter.
Unit 7. Databases. Task 4.
A database is an electronic filing system that allows you to keep files
and records on a computer. The advantages of such a system are that a great
deal of data and information can be stored, collected and manipulated
automatically. Many of the labourious procedures often associated with card
indexing and filing cabinet storage are thus eliminated.
There are many different levels of program available. The easier-touse products emulate a card system and don’t require any specialist
knowledge to set up and operate. At the other end of the scale are very
comprehensive data managers that often form the basis of dedicated or
customized packages sold by other software houses. Such programs often
incorporate their own query language. This is used by the programmer to set
up the package, but is invisible to the eventual end user.
The ability to quickly scan stored information and produce reports,
either to screen or print, is one of the main features of any database. For
example, imagine a doctor wished to find out how many of his patients had
received a particular type of inoculation. It would probably take his
secretary days to look at the hundreds of record cards and produce an
appropriate list or report. A computer-based database could simply be
instructed to look at each patient record for the required information, collate
this data and print out the requested report. Totally, unattended!
When setting up the database, most programs allow you to design the
screen layout and decide on the text to be displayed. Let us imagine that you
wished to catalogue a collection of books. One screen of information for
each book might contain the book title, the author, the subject matter, the
date printed and the ISBN number. Each of these individual pieces of
information is referred to as a field, the screen of information is called a
126
record and the complete catalogue is called a file. The file is usually given
an appropriate name. In this case, it could be called ‘books’.
A working database may contain more than one file. The person that
created the books catalogue may have done so to assist with the running of a
mail order rare-book business. He would also be likely to keep a file of his
customers and their purchasing inquiries, possibly called ‘customer’. The
fields could contain information such as surname, initial or Christian name,
title, address lines, telephone number and subject matter requested. It would
also be possible to include a field titled miscellaneous. As the name implies,
this could include any other useful items of information.
To make a simultaneous search through a number of different files
requires the capabilities of what is known as a relational database. This
would allow our fictional character who’d just acquired a rare book on flora
to request a report or print-out of all customers who had expressed an
interest in this subject. The print-out could be in the form of an address list
printed directly onto self-adhesive labels to be stuck onto envelopes ready
for mailing. Stationary designed to fit onto the sprockets of a printed tractor
feed is known as continuous or fan fold. Large companies would probably
use continuous envelopes and print directly onto them, this would eliminate
the cost of employing personnel to stick printed address labels onto the
envelopes.
Finally, many database programs would allow the export of data into
other programs such as word processors, spreadsheets and graphics
programs. The ability to represent data in a graphical way is a great
advantage when making statistical presentations, thus data from a database
may be illustrated in a form of a line graph, bar chart or pie chart with some
utilities allowing three-dimensional bar charts and exploded pie charts.
Unit 8. Database Management Systems. Task 7.
INTERVIEWER: What size is the database at Grovemount Hospital?
ALEX COLLINS: Pretty big! To give you some idea: over a five-day
period of care for one patient, somewhere in the region of 25,000 characters
of data might be generated. That would include matters relating to the
patient’s medical history, laboratory reports, medical treatment, invoices,
and so on. Now, if we have an average of, say, 300 occupied beds, that
means well in excess of 500 million characters of stored data per year.
INTERVIEWER: And that is presumably only data relating to patients?
ALEX COLLINS: Precisely. We also have data relating to the
administration of the hospital – em, for example, information on staff, bed
occupancy, that sort of thing.
127
INTERVIEWER: So how exactly is the database organized?
ALEX COLLINS: Well, our database is organized in the same way that any
other database is organized. The basic component is a named collection of
data called a file. The file called PATIENT, for example, contains the name,
address, date of birth, National Health Service number, etc. of each patient.
Within each file there is a collection of records of the same type. So, in the
case of the patient file, each record relates to a single patient. Each record
must obviously have a unique identifier so that it can be accessed in the
database.
INTERVIEWER: You mean a name or number?
ALEX COLLINS: Yes, usually a combination of the two.
INTERVIEWER: Right. So each file contains an organized collection of
records. Does that mean that each individual record has an internal
structure, too?
ALEX COLLINS: No, not necessarily. I’ve already said that all records in a
given file must be of the same type. Well, all the patient records do have an
internal structure – or fixed format, as we call it. This means that each
component – name, date of birth, etc. – is stored separately and can be
accessed separately. However, some files contain free-format records, and
in those cases each record simply contains a long string of text.
INTERVIEWER: You mean letters, reports, that kind of things?
ALEX COLLINS: Yes.
INTERVIEWER: I see. Now, can you tell us what happens when the
database is updated?
ALEX COLLINS: Yes. Each input message is called a transaction. When a
transaction enters the system for processing, the computer must retrieve
related data from the database. At the end of the processing, the computer
stores updated data to reflect the changes caused by the transaction.
INTERVIEWER: Could you give an example?
ALEX COLLINS: Yes, of course. Each time a patient is admitted to the
hospital, the database must be updated to show his or her details. This is
obvious. However, the database must also be updated to show that there is
one less bed available. This will, in turn, affect summary operational data,
such as bed occupancy for the month, and so on.
INTERVIEWER: OK. But you have lots of different people accessing the
database at the same time, don’t you?
ALEX COLLINS: It’s a multi-access system, yes.
INTERVIEWER: Right. But what happens if two people access the same
data at exactly the same time?
ALEX COLLINS: It can’t happen. In that situation, the database
management system would grant access to one of the users only. The other
128
user would have to wait until the first transaction was processed and the
data updated.
Unit 9. Graphical User Interface. Task 3.
The term user interface refers to the standard procedures the user follows
to interact with a particular computer. A few years ago, the way in which users had
access to a computer system was quite complex. They had to memorize and type a
lot of commands just to see the content of a disk, to copy files or to respond to a
single prompt. In fact, only experts used computers, so there was no need for a
user-friendly interface. Now, however, computers are used by all kinds of people
and as a result there is a growing emphasis on the user interface.
A good user interface is important because when you buy a program
you want to use it easily. Moreover, a graphical user interface saves a lot of
time: you don't need to memorize commands in order to execute an application;
you only have to point and click so that its content appears on the screen.
Macintosh computers - with a user interface based on graphics and
intuitive tools - were designed with a single clear aim: to facilitate interaction
with the computer. Their interface is called WIMP: Window, Icon, Mouse and
Pointer and software products for the Macintosh have been designed to take full
advantage of its features using this interface. In addition, the ROM chips of a
Macintosh contain libraries that provide program developers with routines for
generating windows, dialog boxes, icons and pop-up menus. This ensures the
creation of applications with a high level of consistency.
Today, the most innovative GUIs are the Macintosh, Microsoft
Windows and IBM OS/2 Warp. These three platforms include similar
features: a desktop with icons, windows and folders, a printer selector, a file
finder, a control panel and various desk accessories. Double-clicking a folder
opens a window which contains programs, documents or further nested
folders. At any time within a folder, you can launch the desired program or
document by double-clicking the icon, or you can drag it to another location.
The three platforms differ in other areas such as device installation,
network connectivity or compatibility with application programs.
These interfaces have been so successful because they are extremely
easy to use. It is well known that computers running under an attractive
interface stimulate users to be more creative and produce high quality results,
which has a major impact on the general public.
129
Unit 11. Website Design. Task 3.
INTERVIEWER: What kind of people want websites and why do they want
websites?
NATHAN WARD: People who feel they have to be on the Web because
competitors are on the Web. They feel that not having a website is a sign of
being behind the times.
INTERVIEWER: So other people have got a website and therefore they
have to have one, too?
NATHAN WARD: Yes. The better reason is people who have information
they would normally provide free – like brochures, application forms,
anything that would normally be sent out by mail.
INTERVIEWER: So it saves fax, postage…
NATHAN WARD: Printing costs. I think it’s particularly useful for
colleges and universities.
INTERVIEWER: Why is that?
NATHAN WARD: Because they tend to have a large amount of
information to distribute.
INTERVIEWER: If a client comes to you and asks you for a webpage, how
do you set about designing a page for a client?
NATHAN WARD: The first thing I would ask for is all the printed
promotional material. I would look at all that material and then discuss with
the client how much of it to put on the Web. The most important thing is to
decide who is the audience for this website, who’s it aimed at.
INTERVIEWER: Is there a danger of putting too much on?
NATHAN WARD N: There’s certainly a danger of putting too much on it.
Also, the client has to make a clear decision about how much time or money
they are going to keep the pages updated.
INTERVIEWER: Aha, so it’s not enough simply to have a page, you need
regular maintenance of that page.
NATHAN WARD: Right, so these are the first two questions – who is it
aimed at and how often will it be updated?
Unit 11. Website Design. Task 4.
NATHAN WARD: Once we’ve decided what materials should be put on,
there are a couple of basic principles to follow. One is that there should
never be any dead ends, you should never reach a page which has no…
INTERVIEWER: Ah, which doesn’t go anywhere?
NATHAN WARD: …Which has no links to take you back to somewhere
else. So, that’s one principle. And the other principle is to try to limit the
130
number of steps that have to be taken from the main home page to any other
page. I would normally aim for a maximum of four steps.
INTERVIEWER: Do people give up if there more than two or three links,
they simply give up, is that a problem?
NATHAN WARD: Some people will give up. Others will just never find
the information, there too many diversions. Another principle is not to have
too many links to scroll through on one page. If you have a page which has
150 links and you have to keep scrolling through them, people will give up
… they’ll never find the links at the bottom.
INTERVIEWER: What about graphics, sound and animations, and all these
multimedia features? What’s your feeling about these?
NATHAN WARD: Always ask why is it there? That’s the first thing. And if
it’s there simply because it makes the page look nicer, think quite carefully
about whether to put it there or not. The more of that sort of thing you have,
the more time it will take to download the pages. Another factor to bear in
mind is that there are still a lot of users with less sophisticated browsers
than Netscape or Microsoft Explorer, and if you make the use of the page
dependent on graphics and so on, you’ll exclude these users.
INTERVIEWER: So no dead-ends, no more than four steps from home, and
pictures have to serve a serious purpose.
NATHAN WARD: Another aspect of designing pages is to break the
information into relatively small sections.
INTERVIEWER: Is that just because of the size of the screen, what you
can see at one time?
NATHAN WARD N: It’s partly that, but it’s also to do with download time
and printing. People can find they’re printing forty pages of a document,
most of which they don’t want.
INTERVIEWER: Is it a big temptation to add links to similar
organizations? Is there strength in that, or is there a danger in that?
NATHAN WARD N: In most cases it’s a big strength. Browsers who come
across your page, if they discover that your page is a very good gateway to
all sorts of interesting sites, will bookmark your page because they know
it’s a good way to get to all the other sites. If they’re coming back to it,
they’re exposed to your message every time. One final point: it is useful to
have on the front page something brief which catches the reader, which says
‘that is who we are’.
131
Glossary
A
algorithm – a set of unambiguous rules to solve a problem in a definite
number of steps
analyst programmer – a person whose job is a combination of systems
analysis and computer programming
applet – a very small self-contained computer program
application (program) – a computer program written in a high-level
language, designed to perform a specific function
assembly language – a human-readable representation of machine-code
programs
asynchronous – not synchronized, i.e. occurring at irregular intervals
automated teller machines (ATM) – the type of machines used by banks
for enabling customers to withdraw money from their bank accounts
B
backup – 1. the process of storing a copy of data on a storage device to
keep it safe; 2. the term used for the copied data
BASIC – acronym for Beginners’ All-purpose Symbolic Instruction Code
binary – a number system that only uses two digits, i.e. 1 and 0
(data) block – a collection of data stored together and treated as a single
unit
browse – to move from webpage to webpage using a Web browser program
browser – a program used for displaying webpages
bug – a problem or error in a computer program or system
C
character – a distinctive significant mark or feature
class – 1. a facility introduced in the programming language SIMULA. It
provides a form of abstract data type; 2. the prototype for an object in an
object-oriented language, analogous to a derived type in a procedural
language. A class may also be considered to be a set of objects which share
a common structure and behaviour. The structure of a class is determined
by the class variables which represent the state of an object of that class and
the behaviour is given by a set of methods associated with the class.
COBOL – acronym for Common Business-Oriented Language
code – a general term for computer programming instructions
command line interface – a method of interaction with a computer
whereby the user types specific commands in order to achieve his
132
requirements. This is generally regarded as not very user-friendly, although
it is often the most efficient way of communicating with the computer
comment – a computer programming language statement or part of a
statement that the computer does not use. This allows the programmer to
add an explanation of the program to the statement that will be executed
Common Business-Oriented Language – a high-level computer
programming language. It is the principal transaction processing language
used to process the records of large organisations on mainframe computers.
compatible – able to operate on the same type of system or run the same
software
compilation – the rate of translating a high-level language into machine
code
compile – to translate a high-level computer language into machine code so
that it can be understood by the computer
compiler – a program that converts source programs into machine code.
Each high-level language has its own compiler
compress – to reduce to a much smaller size
compression – the process used for reducing a file to a much smaller size
computer – a general purpose machine that can be programmed to process
data in a variety of ways
computer consultant – a person who is paid to advise on computing
system issues
computer engineer – a person who designs and develops computer systems
computerized – changed so that it can be operated or controlled using a
computer
computer language – a language used for writing computer programs
computer program – a set of instructions that can be understood by a
computer and perform a certain task or function
computer programming – the process of writing and testing programs for
computers
computer science – the study of computers and their use
computing – the theory and practice of computers
conceptual schema – the logical design of the database
cursor – a symbol on the monitor screen that indicates the point on the
screen that is being used
cut and paste – to remove some data from a file and temporarily store it in
the computer’s memory then insert a copy of the data in another position in
the same or in another file
cycle – one of the basic steps in a process that repeats over and over again
133
D
data – the information processed by a computer
database – a store of facts and information held in a computer
database management system – software that allows the user to store,
update and retrieve information held in database
data flow diagram – a graphical notation used to describe how data flows
between processes in a system. Data flow diagrams are an important tool of
most structured analysis techniques.
data model – the product of the database design process which aims to
identify and organize the required data logically and physically
debugging – the process of correcting errors in a program or system
decision table – a type of grid used in computer program design to show
what actions should be taken by the programmer under different conditions
declaration statement – a statement in a computer programming language
that tells the software translator how much storage the data will need, the
data structures used, or the type of data held in named variables
dedicated – (of software and hardware) that is only used for one particular
task or purpose
description – a statement that explains what something looks like, or how it
behaves
desktop – the main graphical user interface background screen that displays
icons for other programs
developer – a person or organization that designs or improves hardware or
software
development life cycle – the phases a software product goes through from
when it is first thought of until it becomes obsolete. This typically includes:
requirements analysis, design construction, testing (validation), installation,
operation, maintenance and retirement.
digital – an electronic system that has only two states, e.g. off or on
directory – a storage area used for grouping files so that they can be easily
located. A directory is sometimes called a folder.
documentation – the information that explains how to use software or
hardware
drag and drop – to move data from one location to another with a mouse.
Holding down the mouse button while moving the mouse moves the
selected data. Releasing the mouse button drops the data in the new
location.
E
encapsulation – 1. a restriction on access to an object’s internal properties;
2. the technique of keeping together data structures and the methods
134
(procedures) which act on them; 3. the ability to provide users with a welldefined interface to a set of functions in a way which hides their internal
workings
encode – to write information in a coded form
entity – in programming, any item, such as data item or statement, that can
be named or denoted in a program
executable – containing instructions that can be run or executed by the
processor
execute – to run a program in a computer
expert system – an artificial intelligence program that collects and uses
human expertise to allow non-experts to solve specialized problems
extensible – able to be added to, e.g. in an extensible language a developer
can add their own terms
extensible markup language – a metalanguage that allows developers to
create their own set of customized tags that identify the meaning and
structure of data. It is used for creating files that are program-independent,
platform-independent and able to be used with different languages.
external schema – the user’s permitted view of the data
F
fetch – to go and get the next instruction or piece of data from memory
field – an item of data such as a number, a name, or an address
file – a collection of data in electronically recorded form, which is the basic
unit of storage in a computer system. A file can be a program, a document
created by a user or data used by a program, etc.
flowchart – a kind of diagram used by programmers to show the logical
steps in a program or by systems analysts to show logical steps in the design
of a system
format – the layout of a document, including page numbers, line spaces,
margins, paragraph alignment, headers and footers, etc.
formula – a series of letters, numbers or symbols that represent a rule or
law
FORTRAN – acronym for Formula Translator. A high-level computing
language that was designed by scientists in 1954 and is oriented toward
manipulating formulas for scientific, mathematical and engineering
problem-solving applications.
freeware – computer programs that are made available to anyone who
wants to use them at no cost to the user
G
general-purpose language – a computer language that can be used to write
different types of programs
135
graphical user interface – a style of interaction between the user and the
computer involving a graphics screen, icons, and some form of pointing
device such as a mouse
H
hierarchical database – a kind of database management system that links
records together like a family tree such that each record type has only one
owner, e.g. an order is owned by only one customer. Hierarchical structures
were widely used in the first mainframe database management systems.
However, due to their restrictions, they often cannot be used to relate
structures that exist in the real world
high-level language – a language in which each instruction represents
several machine code instructions, making the notation more easily readable
by the programmer
hover – to hold a cursor over an icon for a short period of time
HTML – abbreviation for hypertext markup language. A page description
language that uses a system of tags for creating web pages.
hypertext markup language – a page description language that can be
inserted into a document to make it act as a webpage. The tags determine
how the document is displayed on the screen and marks the position of
hyperlinks.
I
icon – a visual symbol or a picture on a screen that represents a program, an
option or a file
implementation – the act of starting to use a plan or computer system
inheritance – a key feature of object-oriented programming that allows
specific instances of a class to inherit all the properties of the class
input – data put into a system
instruction – part of a computer program, which tells the computer what to
do at that stage
interface – 1. the equipment including hardware and software that allows
two devices to be connected so that they can operate together; 2. a common
boundary between systems, devices and programs
internal schema – the way that the data is physically held
iteration – a process that is repeated as long as certain conditions remain
true
K
keyboard – the main electronic input device that has keys arranged in a
similar layout to a typewriter
136
L
library – a collection of subroutines and functions stored in one or more
files, usually in compiled form, for linking with other programs. Libraries
are one of the earliest forms of organised code reuse. They are often
supplied by the operating system or software development environment
developer to be used in many different programs. The routines in a library
may be general purpose or designed for some specific function such as three
dimensional animated graphics.
link – to combine two separate programs, etc. to make a single executable
program
linkage editor – a system program which fetches required systems routines
and links them to the application program object module
load module – the program which is directly executable by the computer
logical record – the collection of data relating to one subject
low-level language – a language such as assembly language in which each
instruction has one corresponding instruction in machine code
M
machine code – the 0s and 1s (binary-coded command) that are loaded and
executed by a computer. Machine code is the only language the computer
understands, and it is obtained by compiling assembly language or any
high-level language
markup – a method of adding information to the text indicating the logical
components of a document, or instructions for layout of the text on the page
markup language – a set of tags that can be inserted into a document to
indicate its layout and appearance
menu – a list of program commands. The user can select a command by
clicking on it, or by using keys on the keyboard
metadata – data about data in a document
metalanguage – a language that is used for describing the structure of other
languages
mouse – a common cursor control input device used with a graphical user
interface. It commonly has two or three button switches on top and a ball
underneath that is rolled on a flat surface.
multiprogramming – a way of executing two or more programs together.
Each program is executed for a short amount of time
N
namespace – a set of names in which all names are unique
137
network database – a kind of database management system in which each
record type can have multiple owners, e.g. orders are owned by both
customers and products. This contrasts with a hierarchical database (one
owner) or relational database (no explicit owner).
O
object module – see object program
object-oriented programming – a programming technique that combines
data, abstraction, inheritance, and dynamic type binding
object program – the result of converting source code into machine code
using a compiler
output – the processed data or signals that come out of a computer system
P
package – an application program or collection of programs that can be
used in different ways
page-description language – a type of programming language that uses
tags to define the layout of a document, e.g. HTML is a page-description
language used to design webpages
paradigm – a type of smth, a model
parameter – information, which is passed to a program subroutine
parse – to separate a high-level programming language statement into parts
that will be processed as individual units when it is converted into machine
code
physical record – the collection of data transferred as a unit
platform – a type of computer or program used as a standard for a
particular computer system
pointer – a symbol on a screen, such as an arrow, that is controlled by a
pointing device
polymorphism – a key feature of object-oriented programming by which
different objects can receive the same instructions but deal with them in
different ways
portability – the ability to use hardware in different places or software on
different types of computer
portable – describing programs which can run on a variety of hardware or
under a variety of operating systems
procedural language – a computer programming language that enables
programs to be written using sections of code known as procedures. Each
procedure performs a specific task.
procedure – a way of performing a task that usually does not change each
time the task is performed
138
program – a set of instructions that can be understood by a computer and
perform a certain task or function
programmer – a person who writes or designs programs for a computer
programming – the process of writing and testing programs for computers
programming language – a language that can be used for writing
instructions that a computer can process and execute
property – a quality or characteristic that something has
pseudocode – a code that contains a combination of a programming
language such as C, and natural language such as English
pull-down menu – a list of choices that appear below a menu title on a
display screen when the user clicks on the menu title using a mouse
Q
query – a request that is made by a user to a database asking it to provide a
list of the records that match certain conditions
query language – a language in which users of a database can interactively
formulate requests and generate reports. The best known is SQL.
R
record – a part of a data file that holds related data about one item
RDF – acronym for Resource Description Framework
relational database – a database based on the relational model developed
by E.F. Codd. A relational database allows the definition of data structures,
storage and retrieval operations and integrity constraints. In such a database
the data and relations between them are organised in tables. A table is a
collection of rows or records and each row in a table contains the same
fields. Certain fields may be designated as keys, which means that searches
for specific values of that field will use indexing to speed them up.
Resource Description Framework – an XML text format that supports
resource description and metadata applications
runtime – the period of time during which a program is executed
S
scroll – to move the information displayed on a screen in a vertical or
horizontal direction
scrollbar – the part of a graphical user interface window that allows the
user to move through a document by clicking or dragging with the mouse
selection – the control structure allowing choice among different directions
sequence – the control structure that refers to the line-by-line execution as
used in your programs so far.
SGML – abbreviation for Standard Generalised Markup Language
139
software house – a company that invents, writes and sells computer
programs
source code – a computer program written in a high-level language that
must be translated into object code before it can be executed
specification – a detailed description of how something is, or should be,
designed or made
SQL – abbreviation for structured query language. A language used for
searching databases.
Standard Generalised Markup Language – the complex metalanguage
from which both HTML and XML were created
statement – the smallest executable part of a program
structured language – a computer programming language that requires the
programmer to write programs made up of self-contained units or
procedures
structured programming – a method of designing a computer program so
that it is easy to understand, change and maintain. This is usually done by
making each part of the program an individual procedure, which is
programmed separately
subdirectory – a directory that is inside another directory
submenu – a list of choices that is displayed when the user clicks on an
item in a menu
support – the help offered to the user by a company who makes or sells a
computer
syntax – the rules that state how words and phrases must be used in a
computer language
system tray – a section at the far right of a Microsoft Windows task bar that
holds icons for the clock and other programs that run constantly in the
background
systems analyst – a person who designs or modifies information systems to
meet users’ requirements. This includes investigating feasibility and costproducing documentation and testing prototypes of the system.
systems programmer – a person who specializes in writing systems
software such as operating system programs
T
tag – a label used in a markup language such as HTML. It is attached to a
piece of text to mark the start or the end of a particular function.
taskbar – a Microsoft Windows desktop component that indicates what
programs are currently being used and allows the used to switch between
them
140
teller machine – a machine used for taking payments in large shops and
supermarkets
terminal – a network device used to input and output data (usually a basic
computer)
token – a code used in a high-level language for reserved words or other
program statements
tool – a program that is used by a programmer to write other programs
toolbar – a panel that contains different tools
tooltip – a label that appear on the screen when the user holds the mouse
pointer over an icon in a Microsoft Windows system
transaction – 1. a single item of data that can be processed on its own; 2.
any single activity inside a computer or system
U
undo – to restore a file to the condition it was in before the last change was
made
update – to bring up to date, i.e. to change into the latest version
upgrade – to add components to improve the features or performance of a
system
URL – abbreviation for uniform (or universal) resource locator
user – the person using a computer
user interface – the boundary between a user and a computer or a program
user-friendly – connected with a program, computer or system, etc. that is
easy to use, especially for someone with little technical knowledge
V
variable – the name used in a programming language for a set of locations
in the computer's memory, which can hold one data item. Data is stored in a
variable by using an assignment statement
verify – to check for accuracy
W
walkthrough – a product review performed by a formal team. A number of
such reviews may be held during the lifetime of a software project,
covering, for example, requirements specification, program specifications,
design, and implementation.
webpage – a hyperlinked document in a web network system
website – a set of related pages on the World Wide Web
window – a rectangular screen area containing a program folder or file in a
WIMP system
141
(Microsoft) Windows – a graphical user interface operating system frontend to MS-DOS developed by the Microsoft Corporation. It has been
gradually developed into a full operating system.
Windows Explorer – a Microsoft Windows program that allows the user to
see the files and folders on all the disks attached to the computer. It can be
used for general housekeeping such as moving or deleting files.
workstation – a powerful desktop computer used by power users for work
that requires a lot of processing, e.g. graphic design
World Wide Web – an information service on the Internet that allows
document pages to be accessed using hyperlinks
X
XML – abbreviation for extensible markup language
XML processor – a software module that is used to read XML documents
and provide access to their content and structure
142
Bibliography
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Boeckner K., Brown P.Ch. Oxford English for Computing. – Oxford:
Oxford University Press, 1997.
Boeckner K., Brown P.Ch. Oxford English for Computing. Answer
Book with Teaching Notes. – Oxford: Oxford University Press, 1997.
Brookshear J. G. Computer Science: an overview. – New York:
Addison-Wesley, 2000.
Demetriades D. Information Technology Workshop. – Oxford: Oxford
University Press, 2003.
Erickson F.J. Computers Concepts, Implications and Applications.
America: Brown Communications, 1995.
Esteras S.R. Infotech. English for Computer Users. Student’s Book. –
Cambridge: Cambridge University Press, 2001.
Esteras S.R. Infotech. English for Computer Users. Teacher’s Book. –
Cambridge: Cambridge University Press, 2001.
Evans V., Dooley J. Enterprise 4. Course book. – Express Publishing,
2001.
Glendinning E.H., McEwan J. Basic English for Computing. – Oxford:
Oxford University Press, 2002.
Glendinning E.H., McEwan J. Basic English for Computing. Teacher’s
Guide. – Oxford: Oxford University Press, 2002.
Glendinning E.H., McEwan J. Oxford English for Information
Technology. – Oxford: Oxford University Press, 2002.
Glendinning E.H., McEwan J. Oxford English for Information
Technology. Teacher’s Guide. – Oxford: Oxford University Press,
2002.
Hewings M. Advanced Grammar in Use. – Cambridge: Cambridge
University Press, 1999.
Murphy R. English Grammar in Use. – Cambridge: Cambridge
University Press, 1994.
Pyne S., Tuck A. Oxford Dictionary of Computing for Learners of
English. – Oxford: Oxford University Press, 1996.
Side R., Wellman G. Grammar and Vocabulary for Cambridge
Advanced and Proficiency. – Longman, 2002.
Walker T. Computer Science. – Oxford: Prentice Hall, 1995.
Walker T. Computer Science. Teacher’s Book. – Oxford: Prentice Hall,
1995.
Леонтьев
В.П.
Новейшая
энциклопедия
персонального
компьютера 2003. – М.: ОЛМА-ПРЕСС, 2003.
143
20. Орлов
С.Б.
Современный
англо-русский
словарь
по
вычислительной технике. – М.: РадиоСофт, 2000.
21. Симонович С.В. Информатика. Базовый курс. – Санкт-Петербург:
Питер, 2002.
22. Смирнова Т.В., Юдельсон М.В. English for Computer Science
Students. Учебное пособие. – М.: Флинта: Наука, 2001.
23. Oxford Advanced Learner’s CD-ROM Dictionary
24. http://foldoc.doc.
25. http://popdagger.narod.ru/Raznoe/USER.HTML
26. http://www.sinor.ru/~xml/docs/part1.htm
144
Download