Professional Documents
Culture Documents
Unit 6 Algorithms. Programming Languages: Start-Up 1. Answer The Questions
Unit 6 Algorithms. Programming Languages: Start-Up 1. Answer The Questions
START-UP
1. How often do you use algorithms in everyday life? Do you know any types of them?
VOCABULARY
1) feature a) characteristic
2) selection b) insufficient
3) schedule c) main
4) sophisticated d) choice
5) essential e) useful
6) to allocate f) timetable
7) scarce g) important
8) beneficial h) to assign
9) core i) advanced
3. Complete the table with the necessary derivatives. Pay attention to the meaning of the
words.
reside
representative
repetitive
select
publicity
digitize
analysis
manipulative
privacy
READING
1. What is an algorithm?
Algorithms
An algorithm can be defined as "A sequence of steps to be carried out for a required output
from a certain given input". There are 3 main features of algorithm from its definition:
3. The output comes after the algorithm finished the whole process.
So basically, all algorithms perform logically while following the steps to get an output for a
given input.
Types of Algorithm
1. Sequence: this type of algorithm is characterized with a series of steps, and each step will
be executed one after another.
3. Loop: for this type, the process might be repeatedly executed under a certain condition. It is
represented by "while" and "for" problems. But make sure the process will end after a number
of loops under the condition. This algorithm type is also known as "repetition type".
Algorithms can be used in many areas, and they are often represented in flowchart form for
visual understanding. In other words, a flowchart is a diagram that represents an algorithm,
showing the steps in various boxes and displays the process by connecting the boxes together.
Practical applications of algorithms are ubiquitous and include the following examples:
The Human Genome Project has made great progress toward the goals of identifying all the
100,000 genes in human DNA, determining the sequences of the 3 billion chemical base pairs
that make up human DNA, storing this information in databases, and developing tools for data
analysis. Each of these steps requires sophisticated algorithms. The savings are in time, both
human and machine, and in money, as more information can be extracted from laboratory
techniques.
The Internet enables people all around the world to quickly access and retrieve large amounts
of information. With the aid of clever algorithms, sites on the Internet are able to manage and
manipulate this large volume of data. Examples of problems that make essential use of
algorithms include finding good routes on which the data will be, and using a search engine to
quickly find pages on which particular information resides.
Electronic commerce enables goods and services to be negotiated and ex-changed
electronically, and it depends on the privacy of personal information such as credit card
numbers, passwords, and bank statements. The core technologies used in electronic commerce
include public-key cryptography and digital signatures which are based on numerical
algorithms and number theory.
Manufacturing and other commercial enterprises often need to allocate scarce resources in the
most beneficial way. An oil company may wish to know where to place its wells in order to
maximize its expected profit. A political candidate may want to determine where to spend
money buying campaign advertising in order to maximize the chances of winning an election.
An airline may wish to assign crews to flights in the least expensive way possible, making
sure that each flight is covered and that government regulations regarding crew scheduling are
met. An Internet service provider may wish to determine where to place additional resources
in order to serve its customers more effectively. These are just a few examples where
algorithms are most useful.
https://www.edrawsoft.com/algorithm-definition.html
https://mitpress.mit.edu/books/introduction-algorithms-third-edition
2. Read the text again and say whether these statements are true or false.
1. All algorithms perform logically while following the steps to get an output for a given
input.
4. Sophisticated algorithms do not save time and human and machine resources.
6. The use of algorithms is more beneficial and widespread in industry than in public
service.
PROGRAMMING
Programming languages
The only language a PC can directly execute is machine code, which consists of 1s and 0s.
The language is difficult to write, so we use symbolic languages that are easier to understand.
For example, assembly languages use abbreviations such as ADD, SUB, MPY to represent
instructions. The program is then translated into machine code by software called an
assembler.
Machine code and assembly languages are called low-level languages because they are closer
to the hardware.
High-level languages, however, are closer to human languages; they use forms resembling
English, which makes programming easier. The program is translated into machine code by
software called a compiler. Some examples are:
The languages used to create Web documents are called markup languages, they use
instructions (markups) to format and link text files. Examples are:
- First they try to understand the problem and define the purpose of the program.
- They design a flowchart, a diagram which shows the successive logical steps of the
program.
- Next they write the instructions in a high-level language. This is called coding. The
program is then compiled.
- When the program is written, they test it: they run the program to see if it works and
use special tools to detect bugs, or errors. Any errors are corrected until it runs
smoothly. This is called debugging, or bug fixing.
- Finally, software companies write a detailed description of how the program works,
called program documentation. They also have a maintenance program. The get
reports from users about any errors found in the program. After it has been improved,
it is published as an updated version.
1. Match the terms from A opposite with their definitions.
1. Programming a) basic language which consists of binary codes
2. Machine code b) programming language such as C, Java or Visual BASIC
3. Assembly language c) writing computer programs
4. High-level language d) low-level language translated into machine code by
an .. assembler
5. Java applet e) software which converts a source program into machine code
6. Compiler f) language used to create and format documents for the Web
7. Markup language g) small self-contained program written in Java
3. Complete this article about the VoiceXML application language with the following
words
HTML dial VoiceXML commands speech recognition
SPEAKING
1. Work in groups, A-B-C-D. Each of you has information about some programming
languages.
Student A
Study this information about some programming languages. Be ready to use this information
in the discussion with Student B and Student C
Student B
Study this information about some programming languages. Be ready to use this information
in the discussion with Student A and Student C.
Student C
Study this information about some programming languages. Be ready to use this information
in the discussion with Student A and Student B
Student D
Study this information about some programming languages. Be ready to use this information
in the discussion with Student A and Student B
2. Together decide what would be the most appropriate language to use for each of
these situations and explain why you think so.
a. A schoolteacher wants his young pupils to learn some basic mathematics by controlling
a simple robot.
b. The owner of a small business wants to create a simple database program to keep track
of his stock.
f. A programmer working for the US army wants to create a program for controlling a new
type of weapon.
g. A finance company needs to process data from its branch offices on its mainframe
computer.
h. A website designer wants to enable the data on his website to be easily processed by a
number of different programs.
i. A student studying artificial intelligence wants to write some programs for a course
project.
k. A professional programmer wants to create and sell a program for use in language
learning.
LISTENING
1. How many programming languages do you know? What is your favorite programming
language and why? What languages are the most difficult to master in your opinion?
2. At what age did you start playing around with coding? Have you ever been part of any
coding hackathons / projects?
3. Most programming languages are developed for specific reasons (e.g. C++ for writing
system software, Cobol for business applications etc.), but there are also some bizarre
languages (Whitespace, Cow etc.). What do you know about them? What are they for?
2. What kind of companies tend to care a lot about which specific language you know:
IT giants
Start-ups
Non-governmental organizations
3. If you are interested in making an iPhone application you should learn
Javascript
Swift
Ruby
4. Python is a good choice for those who are interested in _______.
data science
machine learning
mobile app development
5. What is easier to learn:
Javascript
C++
Not stated
6. What is the main downside of SWIFT:
It is not cross-platform
It isn’t easy to get a job for those who know Swift
It isn’t an easy language to learn
7. Put the programming languages in the same order as they are listed in the video:
Ruby
Swift
Java
Python
Javascript
8. What is the correct way to pronounce the word “SQL”:
[ ˈɛs kjuː ˈɛl ]
[ ˈsiːkwəl ]
All above