Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Lesson 1
THE READING MODULE
Read the text: Computer programming.
Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. The source code is written in a programming language. This code may be a modification of an existing source or something completely new, the purpose being to create a program that exhibits the desired behavior (customization). The process of writing source codes requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
Within software engineering, programming (the implementation) is regarded as one phase in a software development process.
In some specialist applications or extreme situations a program may be written or modified (known as patching) by directly storing the numeric values of the machine code instructions to be executed into memory.
There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline. Good programming is generally considered to be the measured application of all three, with the goal of producing an efficient and maintainable software solution (the criteria for "efficient" and "maintainable" vary considerably). The discipline differs from many other technical professions in that programmers generally do not need to be licensed or pass any standardized (or governmentally regulated) certification tests in order to call themselves "programmers" or even "software engineers".
Language paradigm categories
Computer programs can be categorized by the programming language paradigms used to produce them. These paradigms include: imperative, declarative, or visual.
With imperative languages, an algorithm is specified using declarations, expressions, and statements. A declaration is a statement that binds a variable name with a datatype. For example: var x: integer; An expression yields a value. For example: 2 + 2 yields 4. Finally, a statement is a command that normally either assigns an expression to a variable or uses the contents of a variable to alter the program's flow. One criticism of imperative languages is the side-effect of an assignment statement on a class of variables called non-local variables.
With declarative languages, the output is specified and the implementation details are hidden. Two broad categories of declarative languages are functional languages and logical languages. The principle behind functional languages (like Lisp) is to remove the side-effect of an assignment statement on non-local variables. By doing away with assignments, it is possible to ensure that computer programs behave like mathematical functions. The principle behind logical languages is to define the problem to be solved the goal and leave the detailed solution to the Prolog system itself. The goal is defined by providing a list of subgoals. Then each subgoal is defined by further providing a list of its subgoals, etc. If a path of subgoals fails to find a solution, then that subgoal is backtracked and another path is systematically attempted.
With visual languages, program elements are graphically manipulated rather than textually specified.
I. Reading Exercises:
Exercise 1. Read and memorize using a dictionary:
Computer programming, coding, desired behavior, application domain, software, extent, craft, solution, to be licensed, paradigm, statements, declaration, datatype, output, logical languages, list of subgoals.
Exercise 2. Answer the questions:
1. What is computer programming?
2. What does the process of writing source codes require?
3. How can computer programs be categorized?
4. Do you know two broad categories of declarative languages?
Exercise 3. Match the left part with right:
1. The disciple differs from many other |
a) is regarded as one phase in a software development process. |
2. Within software engineering, programming |
b) technical professions in that programmers. |
3. Then each subgoal is defined by further |
c) the output is specified and the implementation details are hidden. |
4. With declarative languages |
d) providing a list of its subgoals, etc. |
Exercise 4. Open brackets choosing the right words:
The (source/way) code is written in a programming language. This (code/mode) may be a modification of an existing source or something completely (new/old), the (purpose/aim) being to create a program that (exhibits/exists) the desired behavior.
THE SPEAKING MODULE
II. Speaking Exercises:
Exercise 1. Retell the first paragraph.
Exercise 2. Ask questions to the given answers:
1)Question: _______________________________________________________?
Answer: Within software engineering, programming is regarded as one phase in a software development process.
2)Question: _______________________________________________________?
Answer: Computer programs can be categorized by the programming language paradigms used to produce them.
3)Question: _______________________________________________________?
Answer: With declarative languages, the output is specified and the implementation details are hidden.
THE WRITING MODULE
III. Writing exercises:
Exercise 1. Complete the sentences with the suggested words by, of(2), if, and.
Then each subgoal is defined _______ further providing a list ______ its subgoals. ______ a path _____ subgoal is backtracked _______ an other path is systematically attempted.
Exercise 2. Make sentences with these words:
1) the process of, many different subjects, in, requires, writing source codes.
2) paradigms, these, include, or visial, declarative, imperative.
3) the output, with, is specified, and, declarative languages, the implementation, are hidden, details.
Exercise 3. Compose a story of the topic (up to 100 words):
“Language paradigm catergories”, “Software”.