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 |
Speaking
Task 11. Read the quotations about ‘programming’ below. Discuss with other students what point you think each quotation is trying to make and whether you agree with it.
1. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. (Rich Cook)
2. To understand a program you must become both the machine and the program. (Alan J. Perlis)
3. Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. (Alan J. Perlis)
4. Programming is like sex, one mistake and you have to support it for the rest of your life. (Michael Sinz)
5. “There are two ways to write error-free programs; only the third one works.” (Alan J. Perlis)
6. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
(Mosher’s law of software engineering)
7. It is easier to change the specification to fit the program than vice versa. (Unknown)
8. Most people find the concept of programming obvious, but the doing impossible. (Alan J. Perlis)
9. One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man. (Elbert Hubbard)
10. Those parts of the system that you can hit with a hammer are called hardware; those program instructions that you can only curse at are called software. (Anonymous)
11. Any given program costs more, and takes longer. (Computer law)
12. The most harmful error of any program will not be discovered until the program has been in production for at least six months. (Troutman's programming postulates)
13. Profanity is the one language that all programmers know the syntax of. (Troutman's programming postulates)
14. 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. (Some computer geek)
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. The process of writing and testing programs for computers. 2. 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. 3. The act of writing a computer program. 4. 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. |
5. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.
Reading
Task 2. Put these five stages of programming in the correct sequence.
a) Design a solution 1. _____
b) Code the program 2. _____
c) Document and maintain the program 3. _____
d) Clarify the problem 4. _____
e) Test the program 5. _____
Task 3. To which stage does each of these steps belong?
- Clarify objectives and users _____
- Debug the program _____
- Write programmer documentation _____
- Do a structured walkthrough _____
- Select the appropriate programming language _____
Task 4. Read the text and compare your answers for Tasks 2 and 3.