Page 16

Unit 1

Text Study: Computer Programming.

Additional Text: Character Data.

Grammar: Sequence of Tenses.

Text Study

I. Pre-reading Exercises

1. Repeat the words in chorus:

The essence, equations, errors, flowcharting, pictorial, representation, predefined, guide, a template, pseudocode, the burden, emphasizes, a sequence, decision.

2. While reading the text you will come across a number of international words. Try to guess what Ukrainian words they remind of you:

Programming, the process, instructions, specific, algorithms, mathematical, terms, formulae, problem, a phase, a document, a plan,  symbols, to illustrate, an operation, basic, structures.

3. Pay attention to some grammatical points:

1) Programming is the process of preparing a set of coded instructions which enables the computer to solve specific problems or to perform specific functions. 2) Any problem must be specially processed for the computer to understand it, that is - coded or programmed. 3) The phase in which the system's computer programs are written is called the development phase. 4) The instructions of the program must be complete and in the appropriate sequence. 5) To guard against these errors in logic and to document the program's logical approach, logic plans should be developed. 6) Pseudocode is less time-consuming for the professional programmer than is flowcharting. 7) It also emphasizes a top-down approach to program structure.

II. Reading

Read the text and be ready to find in the text the answers to the following questions:

·         What is programming?

·         What are two common techniques for planning the logic of a program?

Computer Programming

Programming is the process of preparing a set of coded instructions which enables the computer to solve specific problems or to perform specific functions. The essence of computer programming is the encoding of the program for the computer by means of algorithms. The thing is that any problem is expressed in mathematical terms; it contains formulae, equations and calculations. But the computer cannot manipulate formulae, equations and calculations. Any problem must be specially processed for the computer to understand it, that is - coded or programmed.

The phase in which the system's computer programs are written is called the development phase. The programs are lists of instructions that will be followed by the control unit of the central processing unit (CPU). The instructions of the program must be complete and in the appropriate sequence, or else the wrong answers will result. To guard against these errors in logic and to document the program's logical approach, logic plans should be developed.

There are two common techniques for planning the logic of a program. The first technique is flowcharting. A flowchart is a plan in the form of a graphic or pictorial representation that uses predefined symbols to illustrate the program logic. It is, therefore, a "picture" of the logical steps to be performed by the computer. Each of the predefined symbol shapes stands for a general operation. The symbol shape communicates the nature of the general operation, and the specifics are written within the symbol. A plastic or metal guide called a template is used to make drawing the symbols easier.          

The second technique for planning program logic is called pseudocode.

Pseudocode is an imitation of actual program instructions. It allows a program-like structure without the burden of programming rules to follow. Pseudocode is less time-consuming for the professional programmer than is flowcharting. It also emphasizes a top-down approach to program structure.

Pseudocode has three basic structures: sequence, decision, and looping logic. With these three structures, any required logic can be expressed.

Vocabulary Notes

the essence – суть, існування

a formulae ['fLmjulq]– формула, формулювання

equation [I'kweIS(q)n] – вирівнювання, рівність

a calculation – обчислення

to guard [gRd]– запобігати, охороняти, захищати, контролювати

an error – помилка  

flowcharting ['flqVtSRtIN] – складання блок-схем

predefined symbols – символи визначені наперед

a template ['templeIt] – шаблон, трафарет, маска

a pseudocode ['sjHdqV'kOud] – псевдокод, символічний код

a burden ['bWdn] – ноша, груз, тяжкість

to emphasize ['emfqsaiz] – надавати особливого значення, акцентувати

to performвиконувати

to encode [In'kqVd] – шифрувати, кодувати

looping logic – логічне введення циклів в програму

a top-down approach – низхідний (зверху вниз) напрямок

Comprehension

1. Tell what sentences are true and what are false.

1) The essence of computer programming is the encoding of the program for the computer by means of instructions. 2) Any problem must be specially processed for the computer to understand it, that is - coded or programmed. 3) The programs are lists of words that will be followed by the control unit of the central processing unit. 4) There are several techniques for planning the logic of a program. 5) The first technique is flowcharting which is a plan in the form of a graphic or pictorial representation. 6) The second technique for planning program logic is called pseudocode which is an imitation of actual program instructions. 7) Pseudocode has two basic structures: sequence and looping logic.

2. Choose the right answer:

1) Programming is the process of preparing … which enables the computer to solve specific problems or to perform specific functions.

a) a set of algorithms;

b) a set of coded letters;

c) a set of coded instructions.

2) The phase in which the system's computer programs are written is called the … .

 a) development phase;

b) development action;

c) development system.

3) The instructions of the program must be … and in the appropriate sequence.

a) understandable;

b) complete;

c) interesting;.

4) There are two common techniques for planning the logic of a program: … .

a) flowcharting and pseudocode;

b) pseudocode and representation;

c) flowcharting and programming..

5) Pseudocode has three basic structures: … .

a) sequence, decision and logic;

b) sequence, decision and symbol;

c) sequence, decision, and looping logic.

3.Complete the sentences:

1) Programming is … . 2) The development phase is … . 3) The programs are … . 4) There are two common techniques for planning the logic of a program: … 5)  Pseudocode is … .  6) Pseudocode has three basic structures: … . 7) A flowchart is … .

4. Answer the questions:

1) What is computer programming  and its essence? 2) What  is any problem expressed in?  3) What does it contain? 4) What is the development phase? What are the programs? 5) What are the techniques for planning the logic of a program? 6) What is a flowchart? 7) What is a pseudocode? 8) How many structures does pseudocode have?

5. Find as quickly as possible and read out the sentences containing the following important information:

*6. Try to tell the gist of the text.

Word Study

1. Give Ukrainian equivalents of the following.

A set of coded instructions, to solve specific problems, to perform specific functions, the encoding of the program for the computer, by means of algorithms, mathematical terms, to manipulate formulae, equations and calculations, the development phase, the appropriate sequence, the program's logical approach, two common techniques, a graphic or pictorial representation, to illustrate the program logic, less time-consuming, professional programmer, three basic structures.

2. Give English equivalents of the following.

        Виконувати специфічні функції, три основних структури, за допомогою алгоритмів, порівняння та обчислення, набір закодованих команд, кодування програми для комп’ютера,  професійний програміст, вирішувати специфічні проблеми,  математичні терміни, маніпулювати формулами, належна послідовність, фаза розробки, логічний напрямок програми, ілюструвати логіку програми, графічне та ілюстративне представлення, два звичайних методи, менш затратна у часі.

3.  Match the words in A with their synonyms in B:

A                                 B

essence                                   a way

formulae                     to defend

to guard                       slogan

burden                        entity

to emphasize               load

an approach                to stress

to perform                   to execute

        4. Fill in the gaps with the words from Vocabulary Notes in the appropriate form.

A flowchart  / sequence / program / formulae / to perform / equations / a template / a pseudocode / decision / looping logic

1) Programming is the process of preparing a set of coded instructions to solve specific problems or … specific functions. 2) Any problem is expressed in mathematical terms as it contains … , … and calculations. 3) … are lists of instructions that will be followed by the control unit of the CPU. 4) … is a plan in the form of a graphic or pictorial representation that uses predefined symbols to illustrate the program logic. 5) A plastic or metal guide called  is used to make drawing the symbols easier. 6)          … is the second technique for planning program logic. 7) Pseudocode has three basic structures: … , and … .

5. Translate sentences into English using words and word combinations from the Vocabulary Notes.

1) Закодовані інструкції дозволяють комп’ютеру розв’язувати різні завдання та виконувати специфічні функції. 2) Програма для комп’ютера шифрується у вигляді алгоритмів, щоб машина могла розуміти і виконувати різні дії. 3) Інструкції до програми повинні бути повними і розміщуватись в належній послідовності, щоб запобігти неправильному результату. 4) Для планування логіки програми є два загальноприйнятих методи: перший – складання блок-схем, а другий – символічний код. 5) Другий метод програмування – менш загайний у часі і в ньому акцентується увага на низхідному підході до структури програми.

The Grammar in Use

Sequence of Tenses

1. Change from direct into indirect speech.

1) The students said, “We study computer science.”2) The groupmate said, “I learned programming at school.” 3) My teacher said, “I’ll be at laboratory at seven o’clock.” 4) Mary said, “I was there with my groupmates.” 5) The boy said, “I have done my home assignment.” 6) His father said, “I don’t use the Internet.” 7) Ann said, “I didn’t like complicated programs.” 8) The teacher said, “You do not know computer literacy.” 9) The girl said, “I am working hard to make up the program.” 10) She said, “Printer is output device.”

2. Choose the right form of the verb from the brackets. Mind the rule of sequence of tenses.

1)  I began to understand that electronic devices … the work of power stations. (to control) 2) The teacher asked they several time what they … at the moment. (to be calculating). 3) He said that scientists … a variety of tubes for specialized functions. (to design) 4) The scientist mentioned that integrated circuits greatly … the size of devices. (to reduce). 5) We tried to understand that electronics already … man’s intellectual power. (to extend) 6) An engineer said that new types of integrated circuits … packing density. (to increase). 7) He stressed that scientists … new ways for the improvement of integrated circuits technology. (to be looking for) 8) We learned that Jack Kilby … the concept of integrated device and … the first IC in 1958. (to develop, to build) 9) We spoke that the control unit … and … the entire computer system. (to manage, to coordinate). 10) They knew that those timing marks … electronic and very hard. (to be)

3. Translate into English.

1) Він наголосив, що комп’ютер – це машина зі складною сіткою електронних схем. 2) Всі знають, що основною фішкою комп’ютера є те, що ми можемо примусити робити машину те, що ми хочемо. 3) Він сказав, що його батько не вміє працювати з комп’ютером. 4) Ми знали, що він працює над створенням цієї програми цілий місяць. 5) Учитель запитав, чи ми підготували проекти. 6) Ми читали в газеті, що на цьому місці буде побудований новий Інтернет клуб. 7) Всіх проінформували, що використання комп’ютерів у виробництві є популярним сьогодні. 8) Ми знаємо, що робота банків залежить від комп’ютерних терміналів.

Additional Text

(for individual work)

Read and translate the text.

Character Data

A set of 256 patterns is large enough to have a different pattern for each letter of the alphabet, the digits, punctuation characters, and a whole variety of special characters. If a program has to work with textual data, composed of lots of individual characters, then each character can be encoded in a single byte. Of course there have to be conventions that assign a specific pattern to each different character. At one time, different computer manufacturers specified their own character encoding schemes. Now, most use a standard character encoding scheme known as ASCII (for American Standard Code for Information Interchange). Although standardized, the assignments of patterns to characters is essentially Arbitrary.

This ASCII scheme is mandated by an international standard. It specifies the bit patterns that should be used to encode 128 different characters including all the letters of the Roman alphabet, digits, punctuation marks and a few special control characters like "Tab". The remaining 128 possible patterns are not assigned in the standard. Some computer systems may have these patterns assigned to additional characters like ™, ±, . Bit patterns can also be used to represent numbers. Computers work with integer numbers and "floating point" numbers. Floating point numbers are used to approximate the real numbers of mathematics.

A single byte can only be used to encode 256 different values. Obviously, arithmetic calculations are going to work with wider ranges – like -2,000,000,000 to +2,000,000,000. Many more bits are needed to represent all those different possible values. All integer values are represent using several bytes. Commonly, CPUs are designed to work efficiently with both two-byte integers and four-byte integers (the CPU will have two slightly different versions of each of the arithmetic instructions). Two-byte integers are sufficient if a program is working with numbers in the range from about minus thirty thousand to plus thirty thousand; the four-byte integers cover the range from minus to plus two thousand million.

The number representations have an obvious regular pattern. Unlike the case of character data, the patterns used to represent integers can not be arbitrary. They have to follow regular patterns in order to make it practical to design electronic circuitry that can combine patterns and achieve effects equivalent to arithmetic operations. The code scheme that provides the rules for representing numbers is known as "two's complement notation"; this scheme is covered in introductory courses on computer hardware.

There are other coding schemes for integers but "two's complement notation" is the most commonly used. The actual coding scheme used to represent integers, and the resulting bit patterns, is not often of interest to programmers. While a computer requires special bit patterns representations of numbers, strings of 0 and 1 characters are not appropriate for either output or input. Humans require numbers as sequences of digit characters. Every time a number is input to a program, or is printed by a program, some code has to be executed to translate between the binary computer representation and the digit string representation used by humans.

The electronic circuits in the CPU can process the binary patterns and correctly reproduce the effects of arithmetic operations. There is just one catch with integers – in the computer they are limited to fixed ranges. Two-bytes are sufficient to represent numbers from -32767 to +32768 – and it is an error if a program generates a value outside this range. Mistakes are possible. Consider for example a program that is specified as only having to work with values in the range 0 to 25000; a programmer might reasonably choose to use twobyte integers to represent such values. However, a calculation like "work out 85% of 24760" could cause problems, even though the result (21046) is in range. If the calculation is done by multiplying 85 and 24760, the intermediate result 2104600 is out of range.

Arithmetic operations that involve unrepresentable (out of range) numbers can be detected by the hardware – i.e. the circuits in the ALU. Such operations leave incorrect bit patterns in the result, but provide a warning by setting an "overflow" bit in the CPU's flags register. Commonly, computer systems are organized so that setting of the overflow bit will result in the operating system stopping the program with the error. The operating system will provide some error message. (The most common cause of "overflow" is division by zero – usually the result of a careless programming error or, sometimes, due to incorrect data entry.)

1. Divide the text into the logical parts and give a title to each one.

2. Put questions to the text.

3. Discuss it with your groupmates.