polunina_ln_bobrovskaia_im_priroda_nauka_tekhnologii
.pdfUNIT 9
COMPUTER SCIENCE
WARMING UP
1.Do you think computers will always look similar to the way they do now (a screen with a keyboard)?
2.Do you think our lives have been improved by computer technology? Think of a few examples of how computers have an educational or an entertainment value.
3.Can you keep up to date with the latest computer technology?
4.How many times have you upgraded your computer?
5.Do computers ever make you want to pull your hair out (i.e. become very frustrated)?
READING
Computer science is a combination of theory, engineering, and experimentation. In some cases, a computer scientist develops a theory, then engineers a combination of computer hardware and software based on that theory, and experimentally tests it. An example of such a theory-driven approach is the development of new software engineering tools that are then evaluated in actual use. In other cases, experimentation may result in new theory, such as the discovery that an artificial neural network exhibits behavior similar to neurons in the brain, leading to a new theory in neurophysiology.
It might seem that the predictable nature of computers makes experimentation unnecessary because the outcome of experiments should be known in advance. But when computer systems and their interactions with the natural world become sufficiently complex, unforeseen behaviors can result. Experimentation and the traditional scientific method are thus key parts of computer science.
Computer science can be divided into four main fields: software development, computer architecture (hardware), human-computer interfacing (the design of the most efficient ways for humans to use
111
computers), and artificial intelligence (the attempt to make computers behave intelligently). Software development is concerned with creating computer programs that perform efficiently. Computer architecture is concerned with developing optimal hardware for specific computational needs. The areas of artificial intelligence (AI) and human-computer interfacing often involve the development of both software and hardware to solve specific problems.
Because computer science grew out of mathematics it retains many close connections to those disciplines. Theoretical computer science draws many of its approaches from mathematics and logic. Research in numerical computation overlaps with mathematics research in numerical analysis. Computer architects work closely with the electrical engineers who design the circuits of a computer.
Beyond these historical connections, there are strong ties between AI research and psychology, neurophysiology, and linguistics. Humancomputer interface research also has connections with psychology. Roboticists work with both mechanical engineers and physiologists in designing new robots.
Computer science also has indirect relationships with virtually all disciplines that use computers. Applications developed in other fields often involve collaboration with computer scientists, who contribute their knowledge of algorithms, data structures, software engineering, and existing technology. In return, the computer scientists have the opportunity to observe novel applications of computers, from which they gain a deeper insight into their use. These relationships make computer science a highly interdisciplinary field of study.
The general public sometimes confuses computer science with careers that deal with computers (such as information technology), or think that it relates to their own experience of computers, which typically involves activities such as gaming, web-browsing, and wordprocessing. However, the focus of computer science is more on understanding the properties of the programs used to implement software such as games and web-browsers, and using that understanding to create new programs or improve existing ones.
Computer science has many sub-fields; some, such as computer graphics, emphasize the computation of specific results, while others, such as computational complexity theory, study the properties of
112
computational problems. Still others focus on the challenges in implementing computations. For example, programming language theory studies approaches to describe computations, while computer programming applies specific programming languages to solve specific computational problems, and human-computer interaction focuses on the challenges in making computers and computations useful, usable, and universally accessible to people.
(Abridged from Microsoft Encarta, 2008 and Wikipedia, the Free Encyclopedia)
Expand your vocabulary
to keep up to date with smth – быть в курсе чего-л. to engineer – проектировать
unforeseen – непредвиденный
approach – подход (к решению проблемы, задачи) to overlap – частично совпадать
circuit – цепь, контур, схема (электрическая) novel – новый; оригинальный, нестандартный to gain – получать, приобретать
POST-READING ACTIVITY
1. Answer the following questions.
1.How important is experimentation for computer science?
2.What main fields can computer science be divided into?
3.What does computer architecture deal with?
4.What other disciplines does computer science have close connections with?
5.Why is computer science so significant for them?
2. Scan each line. In three of four words the stressed vowels are pronounced alike. Cross out the odd word.
1. |
case |
may |
nature |
natural |
2. |
new |
neuron |
human |
computer |
3. |
return |
where |
work |
observe |
|
|
|
113 |
|
4. |
those |
software |
solve |
problem |
5. |
describe |
driven |
while |
design |
6. |
field |
people |
lead |
similar |
7. |
sometimes |
other |
both |
one |
8. |
actual |
many |
challenge |
graphic |
9. |
such |
study |
numeral |
structure |
10. |
area |
example |
advance |
hardware |
3. Divide the words into three groups – concerning software development, concerning computer architecture and concerning artificial intelligence.
algorithms |
intelligent behavior |
processing |
application |
interface |
program |
central processing unit |
keyboard |
programming language |
circuit |
memory |
psychology |
data |
neural network |
robot |
expert system |
neurophysiology |
screen |
hardware |
peripheral devices |
training sequence |
|
|
|
Software |
Computer |
Artificial |
development |
architecture |
intelligence |
|
|
|
114
4. To be more polite we often use indirect question forms. Combine the direct questions on the right with the expressions on the left to form indirect questions.
|
1. |
What is the difference between software |
|
|
and hardware? |
|
2. |
Have you tried Mac-OS, Windows and |
|
|
Linux? |
|
3. |
What operating system do you use? |
I don’t know … |
4. What size is your computer screen? |
|
Do you know … ? |
5. What are the function keys at the top of the |
|
I wonder … |
|
keyboard for? |
Can you tell me … ? |
6. |
How many computer programming |
I have no idea ... |
|
languages do you know? |
I’m not sure ... |
7. |
How do you make sure that your code can |
I’d like to know ... |
|
handle different kinds of error situations? |
|
8. |
Can installed programs conflict with each |
|
|
other? |
|
9. |
What are Windows .cab files used for? |
10.What makes computer science a highly interdisciplinary field of study?
5.Put the correct preposition into each gap.
into |
with |
to |
on |
1.It works very similarly (1) … the technology that’s being used in Linux.
2.When a hardware device triggers an interrupt, the operating system’s kernel decides how to deal (2) … this event, generally by running some processing code.
3.The project would give scientists new insights (3) … what is happening to the earth’s atmosphere.
4.A study by the Internet Commerce Security Laboratory (ICSL) has found that over 97% of .torrent files that relate (4) … copyright works shared over BitTorrent networks relate to infringing content.
115
5.Web design factors overlap (5) … design elements and principles in general.
6.Other recommendations relate (6) … the details of how the information is stored.
7.Large software systems, such as operating systems or databases, are extremely complex and based (7) … code that is constantly changing with bug fixes and new features.
8.This week, we launched a search feature that helps you easily find new websites that are similar (8) … the ones with which you’re already familiar.
9.The company focuses (9) … systems management, especially for Windows and Microsoft Exchange environments, security and Web analytics.
10.Physicists have shown that electrons in narrow wires can divide (10) … two new particles called spinons and a holons.
6. Put questions to the words or word expressions in the bold type.
1.When computer systems become sufficiently complex, unforeseen behaviors can result.
2.Theoretical computer science draws many of its approaches from mathematics and logic.
3.Computer architects work closely with the electrical engineers who design the circuits of a computer.
4.Computer scientists contribute their knowledge of algorithms, data structures, software engineering, and existing technology.
5.Computer graphics emphasizes the computation of specific results.
LANGUAGE IN USE
7. Read the text and decide if the statements given below are true (T), false (F) or the text doesn’t contain the information (N).
Virus Detection
Several types of antiviral software can be used to detect the presence of a virus. Scanning software can recognize the characteristics
116
of a virus’s computer code and look for these characteristics in the computer’s files. Because new viruses must be analyzed as they appear, scanning software must be updated periodically to be effective. Other scanners search for common features of viral programs and are usually less reliable. Most antiviral software uses both on-demand and onaccess scanners. On-demand scanners are launched only when the user activates them. On-access scanners, on the other hand, are constantly monitoring the computer for viruses but are always in the background and are not visible to the user.
Antivirus software is usually sold as packages containing many different software programs that are independent of one another and perform different functions. When installed or packaged together, antiviral packages provide complete protection against viruses. Within most antiviral packages, several methods are used to detect viruses. Checksumming, for example, uses mathematical calculations to compare the state of executable programs before and after they are run. If the checksum has not changed, then the system is uninfected. Checksumming software can detect an infection only after it has occurred, however.
Most antivirus packages also use heuristics (problem-solving by trial and error) to detect new viruses. This technology observes a program’s behavior and evaluates how closely it resembles a virus. It relies on experience with previous viruses to predict the likelihood that a suspicious file is an as-yet unidentified or unclassified new virus.
Other types of antiviral software include monitoring software and integrity-shell software. Monitoring software is different from scanning software. It detects illegal or potentially damaging viral activities such as overwriting computer files or reformatting the computer’s hard drive. Integrity-shell software establishes layers through which any command to run a program must pass. Checksumming is performed automatically within the integrity shell, and infected programs, if detected, are not allowed to run.
(From Willems, E. Virus (computer), Microsoft Encarta, 2008)
1.There are several methods which antivirus software can use
to identify malware. |
___ |
2. Some anti-virus programs are able to scan opened files. |
___ |
117 |
|
3.Scanning software which recognizes virus’s code is
regarded as being quite reliable in removing new security ___
threats.
4.One of the virus detection method works by searching files to see if they contain a signature or code that belongs to a
documented computer virus |
___ |
5.Some new viruses use polymorphic code to avoid detection
by virus scanners. |
___ |
6. Antivirus software can detect computer viruses by using a |
___ |
method called the heuristic analysis. |
|
7.Heuristic scanners are usually not able to detect new and
emerging viruses. |
___ |
8.Scientists makes no difference between scanning and
monitoring software. |
___ |
9.Virus protection is most effective when the antivirus
software and virus definitions are kept up-to-date. |
___ |
10. As a whole, an anti-virus system can be regarded a backup |
|
system with computer network. |
___ |
8. Read the text and fill in the gaps with the appropriate words from the table below.
Windows
Windows is personal computer operating system sold by Microsoft Corporation that (1) … users to enter commands with a point-and-click device, such as a (2) …, instead of a keyboard. An operating system is a set of programs that (3) … the basic functions of a computer. The Windows operating system (4) … users with a graphical user interface (GUI), which allows them to manipulate small pictures, called (5) …, on the computer screen to issue commands. Windows is the most widely used operating system in the world. It is an extension of and replacement for Microsoft’s Disk Operating System (MS-DOS).
The Windows GUI is designed to be a natural, or intuitive, work (6) … for the user. With Windows, the user can move a cursor around on the computer screen with a mouse. By pointing the cursor at icons and clicking (7) … on the mouse, the user can issue commands to the
118
computer (8) … an action, such as starting a program, accessing a data file, or copying a data file. Other commands can be reached through (9) … or click-on menu items. The computer displays the active area in which the user is working as a window on the computer screen. The currently active window may (10) … with other previously active windows that remain open on the screen. This type of GUI is said to include WIMP features: windows, icons, menus, and pointing device (such as a mouse).
(Abridged from Microsoft Encarta, 2008)
1. |
a. resolves |
b. allows |
c. settles |
2. |
a. mousepad |
b. mousekin |
c. mouse |
3. |
a. check |
b. test |
c. control |
4. |
a. provides |
b. ensures |
c. protects |
5. |
a. pictographs |
b. icons |
c. prints |
6. |
a. environment |
b. place |
c. situation |
7. |
a. butts |
b. buttons |
c. buttresses |
8. |
a. to do |
b. to make |
c. to perform |
9. |
a. pull-aside |
b. pull-down |
c. pull-in |
10. |
a. overlap |
b. cross |
c. coincide |
9. Read the text and fill in the gaps with the correct prepositions.
What is a program?
A program is a sequence (1) … (with/of/for) instructions that specifies how to perform a computation. The computation might be something mathematical, such as solving a system of equations or finding the roots of a polynomial, but it can also be a symbolic computation, such as searching and replacing text (2) … (at/on/in) a document or (strangely enough) compiling a program.
The details look different (3) … (in/between/from) different languages, but a few basic instructions appear in just about every language:
- input
get data (4) … (from/for/on) the keyboard, a file, or some other device;
119
- output
display data (5) … (with/on/out) the screen or send data (6) … (to/in/without) a file or other device;
- math
perform basic mathematical operations like addition and multiplication;
- conditional execution
check (7) … (at/for/from) certain conditions and execute the appropriate sequence (8) … (to/till/of) statements;
- repetition
perform some action repeatedly, usually (9) … (of/with/at) some variation. Believe it or not, that’s pretty much all there is to it. Every program you’ve ever used, no matter how complicated, is made up (10) …
(from/for/of) instructions that look more or less like these. Thus, we can describe programming as the process of breaking a large, complex task (11) … (in/into/on) smaller and smaller subtasks until the subtasks are simple enough to be performed (12) … (with/to/across) one of these basic instructions.
(From Downey, A.B. Python for Software Design: How to Think Like a Computer Scientist)
10. Read the text and fill in the gaps with the suitable words from the list. There are three words you do not need.
artificial intelligence |
less expensive |
calculating |
more sophisticated |
computer architecture |
significant tasks |
computer systems |
symbolic representations |
diagnosing |
technical assistance |
expert systems |
unscheduled breakdown |
file systems |
ongoing practice |
large corporations |
|
|
Artificial intelligence |
The subfield of computer science concerned with understanding the nature of intelligence and constructing (1) … capable of intelligent action. It embodies the dual motives of furthering basic scientific
120