- •Unit 13 programming languages
- •Vocabulary Bank Unit 13
- •Text 13a. Types of programming languages
- •Machine Languages
- •Assembly Languages
- •Procedural Languages
- •Problem -Oriented Languages
- •Object-Oriented Programming
- •Query languages
- •Natural languages
- •Major languages
- •Speaking
- •Word formation: prefixes
- •Verb Prefix Meaning Example
- •Grammar revision
- •The Little Girl and the Wolf
- •Writing
- •Unit 14 software engineering
- •Vocabulary Bank Unit 14
- •Text 14 a. Software engineering
- •Text 14 b. Steps in computer program development
- •Grammar revision Suffixes
- •Most common suffixes and their meanings:
- •Why Learn Suffixes?
- •Interviewer / trainer / employer / interviewee / trainee / employee
- •Writing
- •Unit 15 programming
- •Vocabulary Bank Unit 15
- •Text 15 a. Program planning
- •Text 15 b. Procedural programming
- •Grammar review
- •Writing
- •Unit 16 computer software. It Certification
- •Vocabulary Bank Unit 16
- •33. Object code
- •Text 16 a. Software: the inside story
- •Text 16 b. It Certification
- •Isc2 cissp
- •Language skills development
- •Writing
- •Unit 17 web design
- •Vocabulary Bank Unit 17
- •Text 17 a. Web design
- •Text 17 b. Top ten mistakes in web design
- •1. Bad Search
- •2. Pdf Files for Online Reading
- •3. Not Changing the Color of Visited Links
- •5. Fixed Font Size
- •6. Page Titles With Low Search Engine Visibility
- •7. Anything That Looks Like an Advertisement
- •8. Violating Design Conventions
- •9. Opening New Browser Windows
- •10. Not Answering Users' Questions
- •11. Discourse markers: softening and correcting
- •Home Page Hints
- •Interview: Website Designer
- •Language skills development
- •Writing
- •Unit 18 computer graphics
- •Vocabulary Bank Unit 18
- •Text 18 a. Types of graphics software
- •Text 18 b. Computer graphics
- •Language skills development
- •To be used to do smth
- •Store / hold / input / control / convert / process / provide (x2)/ speed up
- •Giving advice
- •Writing
- •Imagine that you are to make a report on the following topics. While preparing it use the main information from the text.
- •Unit 19 data protection
- •Vocabulary Bank Unit 19
- •Text 19a. Data protection
- •Security and privacy on the Internet
- •Virus protection
- •Text 19 b. Internet security
- •Internet crime
- •Language skills development
- •Writing
- •Unit 20 Data Backup and restore procedures
- •Vocabulary Bank Unit 20
- •Text 20 a. Data backup and restore procedures
- •Text 20 b. Malware and computer crime
- •Computer Crime
- •Language skills development
- •Writing
- •Unit 21 databases
- •Vocabulary Bank Unit 21
- •Text 21 a. Database design
- •Text 21 b. Sql
- •Language skills development
- •Emphasizing: cleft sentences
- •Writing
- •Unit 22 MoBility
- •Vocabulary Bank Unit 22
- •Text 22 a. Mobile devices
- •Text 22 b. Learning on the go
- •Mobile phones
- •Mobile phones in class lower test scores
- •Language skills development
- •If X, then y
- •Writing
- •Unit 23
- •Virtual reality
- •Vocabulary Bank Unit 23
- •Text 23 a. Virtual reality
- •Text 23 b. Web browser
- •Language skills development Recent Developments in it
- •The Future of it Predictions : Future Perfect and It in subject position
- •Writing
- •Unit 24 jobs in computing
- •Vocabulary Bank Unit 24
- •Text 24 a. Jobs in computing
- •Text 24 b. Today’s most desired information technology skills
- •Language skills development
- •Test 11
- •Writing
Writing
1. Describe the characteristics of the succeeding generations of computer programming languages.
2. Describe the differences between machine languages, assembly languages and high-level languages.
3. Name four common high-level programming languages.
4. Today programming methods are undergoing changes. New fourth-generation languages, fifth-generation languages and object-oriented programming methods are now in use. Describe the differences in these programming approaches.
Unit 14 software engineering
Vocabulary Bank Unit 14
Task 1. Read and learn the basic vocabulary terms.
1. appropriate 2. artificial intelligence 3. behaviour 4. circumstance 5. continual 6. decision tables 7. direct implementation 8. experience 9. extent 10. fault 11. feasibility 12. flowchart 13. gradually 14. iteration 15. loop 16. maintain 17. markup language 18. network system 19. parallel implementation 20. particular 21. pilot implementation
|
22. pseudocode 23. repeatedly 24. sequence (n,v) 25. staff 26. strengths and weaknesses 27. systems analyst 28. testing and adapting 29. therefore 30. to allocate 31. to arise 32. to avoid errors 33. to be responsible for 34. to consider 35. to exist 36. to get rid of 37. to investigate 38. to meet the requirements 39. to modify 40. to occur 41. to operate properly 42. to put into service
|
Text 14 a. Software engineering
Software engineering is the discipline of designing high quality software solutions. Software consists of programs (sets of instructions for controlling a computer) and data (the material that has to be processed). Programs are written in computer languages by people called programmers. A 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. Producing a program, therefore, involves a number of stages including:
a) clarifying the problem by considering the requirements of the potential users;
b) designing the solution to the problem by first deciding on the overall structure of the solution;
c) coding the program by first choosing an appropriate programming language and inputting the program code;
d) testing and debugging the program (identifying and fixing any problems or faults in the program code);
e) documenting and maintaining the program including writing instructions for using the program.
Systems analysts first need to talk to the people involved in the computing problem, including the people managing the system and the users or potential users of the system. They need to establish factors such as:
a) the nature of the problem;
b) what systems already exist;
c) to what extent any existing systems are computerised (changed so that they can be operated or controlled using a computer);
d) what output (the processed data or signals that come out of a computer system) will be required from the system;
e) who will be using the system and what parts of the system they need to be able to use;
f) the computing experience of the staff and what training would be required;
g) what hardware (the physical components of a computer system) already exists and what would need to be added, including the specification of the hardware and whether a network system is required (a system where a number of computers and peripheral devices are connected together).
They then have to plan the structure of the solution and check it through with the people involved to make sure it meets their requirements. Next, they have to choose a suitable programming language and write the program (a set of instructions, written in a computer language, that control the behaviour of a computer), continually testing and adapting it until it works to the satisfaction of the customer and users. The system then has to be put into service and the users have to be trained. This involves documenting the program specifications and writing instructions for using the system.
Programming languages commonly use different structures for sequencing program instructions, including:
- conditional instructions i.e. if a certain condition is true, then process this instruction (if X then Y). Decision tables are used to indicate how a conditional structure will process data.
- iterations or loop instructions i.e. process these instructions repeatedly until or while a particular condition is true, or false (do ... until... or do ... while ...).
Program flowcharts can be used to show the sequence of instructions in a program and are sometimes used for designing parts of programs such as iterations. A pseudocode is a method of writing a description of a computer program using a mixture of natural language and computer language code.
There are a large number of computer languages available for use by programmers. Each language is designed for solving particular types of problems and therefore has particular strengths and weaknesses. A systems analyst has to decide which language is most appropriate in each situation. Languages such as C++ are particularly suitable for writing systems programs (programs that are used to control the basic functions of a computer system e.g. operating system programs). Languages such as Visual Basic and Pascal are easy to use and are particularly suitable for learning how to program. FORTRAN is designed for solving engineering problems, COBOL for writing business programs, Ada for military purposes, Prolog and LISP for working in artificial intelligence (an area of computing concerned with developing computer programs that perform tasks that can normally only be done using human intelligence). Logo is particularly suited for use by young children. Some languages such as HTML and XML are markup languages rather than programming
Languages i.e. they use tag codes (labels) for marking text for use in programs such as Web browsers. Languages such as Java and Perl have a number of specialised uses including adding features to Internet connections and webpages (hyperlinked documents).
Converting to new computer systems can be done in different ways. Each strategy has its advantages and disadvantages. These include:
a) direct implementation where the old system is simply removed and the new system installed. In this strategy only one system is used at any one time but there is no fall back (alternative system that can be used if problems occur in the main system) if the new system does not operate properly;
b) parallel implementation where the old and the new systems are both used at the same time until the users are satisfied that the new system is working properly. The advantage is that if the new system does not operate properly, the old system is available as a fallback. The disadvantage is that
two systems have to be maintained;
c) phased implementation where the old system is gradually replaced by the new system, one part at a time. The advantage is that people can gradually get used to the new system and certain problems can be dealt with as they arise. The disadvantage is that this method is more complex and time-consuming. In addition, there may be problems of incompatibility between the old and new systems;
d) pilot implementation where the new system is tried out in one section of the company to make sure that it works as required. The advantage is that problems can be identified and solved before the new system is implemented throughout the company. The disadvantage is that it takes longer to introduce the new system.
Task 2. Answer the following questions.
1. What does the term “software engineering” imply? 2. What does software consist of? 3. What do systems analysts do? 4. What are the stages of producing a program? 5. Why do systems analysts need to talk to different specialists? What factors do they need to establish? 6. What is used to show the sequence of instructions in a program? 7. What programme instructions are considered in the text? 8. What is a pseudocode? 9. Why are there a large number of computer languages available for use by programmers? 10. Can you compare strengths and weaknesses of different programming languages?
Task 3. Put these five stages of programming in the correct sequence.
I. a) Design a solution.
b) Code the program.
c) Document and maintain the program.
d) Clarify the problem.
e) Test the program.
II. To which stage do each of these steps belong.
a) Clarify objectives and users.
b) Debug the program.
c) Write programmer documentation.
d) Do a structured walk through.
e) Select the appropriate programming language.
Task 4. Find the English equivalents of the following word combinations in the text.
1. показати послідовність інструкцій; 2. постійна перевірка і налаштування; 3. знайти і виправити помилки; 4. загальна структура рішення; 5. відповідати вимогам користувача; 6. здійснимість і вартість; 7. встановити фактори; 8. досвід співробітників; 9. встановлювати послідовність інструкцій програми; 10. поступово звикнути до нової системи; 11.працювати як слід; 12. мати певні сильні та слабкі сторони; 13. найбільш прийнятний у кожній ситуації; 14. легкий у використанні; 15. призначенний для вирішення певних проблем.
Task 5. Match the terms with their definitions.
a) artificial intelligence, b) program, c) markup language, d) systems programs, e) pseudocode, f) output, g) systems analyst, h) network system. |
1. A person who designs or modifies information systems to meet users’ requirements. 2. A set of instructions written in a computer language that control the behaviour of a computer. 3. The processed data or signals that come out of a computer system. 4. A system where a number of computers and peripheral devices are connected together. 5. A method of writing a description of a computer program using a mixture of natural languages and a computer language code. 6. Programs that are used to control the basic functions of a computer system. 7. Developing computer programs that perform tasks that can normally be done using human intelligence. 8. A set of tags that can be inserted into a document to indicate its layout and appearance.
Task 6. Mark the following as True or False.
1. Pilot implementation means that both systems run at the same time for a period. 2. Phased implementation is when parts of the system are converted separately. 3. Parallel implementation is when the new system is piloted in part of the company before extending it to the whole company. 4. Pascal is extremely difficult to use and is not suitable for learning how to program. 5. Fortran is designed for writing business programs. 6. Java and Perl have a number of specialized uses including adding features to internet connections and webpages.
Task 7. Translate the following sentences into Ukrainian.
1. Computer information systems may be designed to take care of just one operational area, but today’s more complex systems are more likely to be designed to integrate a variety of operational procedures. 2. New methods are developed to deal with the complex process of designing and maintaining computer systems. 3. A website designer wants to enable the data or his website to be easily processed by a number of different programs. 4. Each element of the system has a particular function and each unit must be designed to interact with the other elements of the system. 5. Although the complexity of the tasks to be performed and the number of the users to be served will help to determine the type of computer to be used, there may be a number of different hardware configurations that will meet the need. 6. A computer information system must be seen as a system that is used to transform data into useful information. 7. For the information system to be successful, it must be designed to provide information in a way that is usable and useful to all management personnel. 8. Computer communication will undoubtedly be used to transmit data electronically between locations. 8. To update or modify an existing system the same procedures can be used. 10. As the process of systems analyses and design has been formalised, a new kind of professionals, known as systems analysts has emerged. They possess special skills and knowledge required to deal with all aspects of systems development.
11. The systems analysts’ task is to design and implement a system that facilitates the storage, processing, and accessing the data.
Task 8. What do you know about programming? Answer the Internet Quiz.
1. Checking a computer program for errors is called _____.
a) bugging b) debugging |
c) correcting d) syntaxing |
2. The computer itself uses _____ language.
a) natural b) assembly |
c) machine d) high-level |
3. The term BASIC is an acronym for _____.
a) Balanced Assembly System Integrated Code b) Basic All System Internal Code |
c) Beginner's Assembly Syntax Instruction Code d) Beginner's All-purpose Symbolic Instruction Codу |
4. A programming language which looks like normal English is a(n) _____ language.
a) normal b) high-level |
c) natural d) 4GL |
5. The process of writing the computer instructions is called _____.
a) coding b) compiling |
c) debugging d) interpreting |
6. The _____ must decide what a new program is to accomplish.
a) user b) systems analyst |
c) programmer d) supervisor |
Task 9. Read the text on the page below and complete the 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 a code to check that the peripheral is 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 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 properly. For example, you might write a program to clear the screen and then print ‘hello’. Here is a code for this:
10 Message
20 PRINT ‘Hello’
30 CLS
40 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 10. 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.
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)
To understand a program you must become both the machine and the program. (Alan J. Perlis)
Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. (Alan J. Perlis)
It is easier to change the specification to fit the program than vice versa. (Unknown)
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man. (Elbert Hubbard)
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)
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)
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)
Task 11. Read the text and do the exercises below.
