SlideShare a Scribd company logo
1 of 42
The Computer Continuum 4-1
Chapter 4:
Computer Languages,
Algorithms and Program
Development
How do computers know what
we want them to do?
BY – ABHINAV SINGH
The Computer Continuum 4-2
Computer Languages, Algorithms
and Program Development
 In this chapter:
• What makes up a language and how do we use language to
communicate with each other and with computers?
• How did computer programming languages evolve?
• How do computers understand what we are telling them to
do?
• What are the steps involved in building a program?
• How can we create something that would be visible on the
WWW?
The Computer Continuum 4-3
Communicating with
a Computer
 Communication cycle
• One complete unit of communication.
– An idea to be sent.
– An encoder.
– A sender.
– A medium.
– A receiver.
– A decoder.
– A response.
Speaker encodes
information
Listener decodes
information
Listener returns
feedback to speaker
The Computer Continuum 4-4
Communicating with
a Computer
 Substituting a computer
for one of the people in
the communication
process.
• Process is basically
the same.
– Response may be
symbols on the
monitor.
User encodes
information Computer decodes
information
Computer
returns results
to user
The Computer Continuum 4-5
Communicating with
a Computer
 Between two people:
• The person can’t hear you.
• The phone connection is
broken in mid-call.
• One person speaks only
French, while the other only
Japanese.
 Between a person and a
computer:
• The power was suddenly
interrupted.
• An internal wire became
disconnected.
• A keyboard malfunctioned.
A breakdown can occur any place along the cycle...
When communicating instructions to a computer, areas
of difficulty are often part of the encoding and decoding
process.
The Computer Continuum 4-6
Communicating with
a Computer
 Programming languages bridge the gap between
human thought processes and computer binary
circuitry.
• Programming language: A series of specifically defined
commands designed by human programmers to give
directions to digital computers.
– Commands are written as sets of instructions, called
programs.
– All programming language instructions must be expressed
in binary code before the computer can perform them.
The Computer Continuum 4-7
The Role of Languages
in Communication
 Three fundamental elements of language that
contribute to the success or failure of the
communication cycle:
• Semantics
• Syntax
• Participants
The Computer Continuum 4-8
The Role of Languages
in Communication
 Human language:
• Refers to the meaning of
what is being said.
• Words often pick up
multiple meanings.
• Phrases sometimes have
idiomatic meanings:
– let sleeping dogs lie
(don’t aggravate the
situation by “putting in
your two cents”)
 Computer language:
• Refers to the specific
command you wish the
computer to perform.
– Input, Output, Print
– Each command has a
very specific meaning.
– Computers associate
one meaning with one
computer command.
 Semantics: Refers to meaning.
The Computer Continuum 4-9
The Role of Languages
in Communication
 Human language:
• Refers to rules governing
grammatical structure.
– Pluralization, tense,
agreement of subject and
verb, pronunciation, and
gender.
• Humans tolerate the use of
language.
– How many ways can you
say no? Do they have the
same meaning?
 Computer language:
• Refers to rules governing
exact spelling and
punctuation, plus:
– Formatting, repetition,
subdivision of tasks,
identification of
variables, definition of
memory spaces.
• Computers do not tolerate
syntax errors.
 Syntax: Refers to form, or structure.
The Computer Continuum 4-10
The Role of Languages
in Communication
 Human language:
• In the communication cycle,
humans can respond in more
than one way.
– Body language
– Facial expressions
– Laughter
– human speech
 Computer language:
• People use programming
languages.
• Programs must be
translated into binary code.
• Computers respond by
performing the task or not!
 Participants:
• Human languages are used by people to communicate with
each other.
• Programming languages are used by people to communicate
with machines.
The Computer Continuum 4-11
The Programming
Language Continuum
 In the Beginning...Early computers consisted of
special-purpose computing hardware.
• Each computer was designed to perform a particular
arithmetic task or set of tasks.
• Skilled engineers had to manipulate parts of the computer’s
hardware directly.
– Some computers required “fat-fingering”.
• Fat-fingering: Engineer needed to position electrical relay
switches manually.
– Others required programs to be hardwired.
• Hardwiring: Using solder to create circuit boards with
connections needed to perform a specific task.
The Computer Continuum 4-12
The Programming
Language Continuum
 ENIAC
• Used programs to complete a
number of different mathematical
tasks.
– Programs were entered by
plugging connector cables
directly into sockets on a
plug-in board.
• Set-up could take hours.
• A program would
generally be used for
weeks at a time.
The Computer Continuum 4-13
The Programming
Language Continuum
 In the beginning… To use a computer, you needed to know how
to program it.
 Today… People no longer need to know how to program in order
to use the computer.
 To see how this was accomplished, lets investigate how
programming languages evolved.
• First Generation - Machine Language (code)
• Second Generation - Assembly Language
• Third Generation - People-Oriented Programming Languages
• Fourth Generation - Non-Procedural Languages
• Fifth Generation - Natural Languages
The Computer Continuum 4-14
The Programming
Language Continuum
 First Generation - Machine Language (code)
• Machine language programs were made up of instructions
written in binary code.
– This is the “native” language of the computer.
– Each instruction had two parts: Operation code, Operand
• Operation code (Opcode): The command part of a
computer instruction.
• Operand: The address of a specific location in the
computer’s memory.
– Hardware dependent: Could be performed by only one
type of computer with a particular CPU.
The Computer Continuum 4-15
The Programming
Language Continuum
 Second Generation - Assembly Language
• Assembly language programs are made up of instructions
written in mnemonics.
• Mnemonics: Uses convenient alphabetic
abbreviations to represent operation codes, and
abstract symbols to represent operands.
• Each instruction had two parts: Operation code,
Operand
• Hardware dependent.
• Because programs are not written in 1s and 0s, the
computer must first translate the program before it
can be executed.
READ num1
READ num2
LOAD num1
ADD num2
STORE sum
PRINT sum
STOP
The Computer Continuum 4-16
The Programming
Language Continuum
 Third Generation - People-Oriented Programs
• Instructions in these languages are called statements.
– High-level languages: Use statements that resemble
English phrases combined with mathematical terms
needed to express the problem or task being programmed.
– Transportable: NOT-Hardware dependent.
– Because programs are not written in 1s and 0s, the
computer must first translate the program before it can be
executed.
The Computer Continuum 4-17
The Programming
Language Continuum
 Pascal Example: Read in two numbers, add them, and
print them out.
Program sum2(input,output);
var
num1,num2,sum : integer;
begin
read(num1,num2);
sum:=num1+num2;
writeln(sum)
end.
The Computer Continuum 4-18
The Programming
Language Continuum
 Fourth Generation - Non-Procedural Languages
• Programming-like systems aimed at simplifying the
programmers task of imparting instructions to a computer.
• Many are associated with specific application packages.
– Query Languages:
– Report Writers:
– Application Generators:
The Computer Continuum 4-19
The Programming
Language Continuum
• Query Languages:
– Enables a person to specify exactly what information they
require from the database.
– Usually embedded within database management
programs.
• Report Writers:
– Takes information retrieved from databases and formats
into attractive, usable output.
• Application Generators:
– A person can specify a problem, and describe the desired
results.
– Included with many micro-computer programs (macros).
The Computer Continuum 4-20
The Programming
Language Continuum
 Fourth Generation - Non-Procedural Languages (cont.)
• Object-Oriented Languages: A language that expresses a
computer problem as a series of objects a system contains, the
behaviors of those objects, and how the objects interact with
each other.
– Object: Any entity contained within a system.
• Examples:
» A window on your screen.
» A list of names you wish to organize.
» An entity that is made up of individual parts.
– Some popular examples: C++, Java, Smalltalk, Eiffel.
The Computer Continuum 4-21
The Programming
Language Continuum
 Fifth Generation - Natural Languages
• Natural-Language: Languages that use ordinary
conversation in one’s own language.
– Research and experimentation toward this goal is being
done.
• Intelligent compilers are now being developed to
translate natural language (spoken) programs into
structured machine-coded instructions that can be
executed by computers.
• Effortless, error-free natural language programs are
still some distance into the future.
The Computer Continuum 4-22
Assembled, Compiled, or
Interpreted Languages
 All programs must be translated before their
instructions can be executed.
 Computer languages can be grouped according to
which translation process is used to convert the
instructions into binary code:
• Assemblers
• Interpreters
• Compilers
The Computer Continuum 4-23
Assembled, Compiled, or
Interpreted Languages
 Assembled languages:
• Assembler: a program used to translate Assembly language
programs.
• Produces one line of binary code per original program
statement.
– The entire program is assembled before the program is
sent to the computer for execution.
The Computer Continuum 4-24
Assembled, Compiled, or
Interpreted Languages
 Interpreted Languages:
• Interpreter: A program used to translate high-level
programs.
• Translates one line of the program into binary code at a time:
– An instruction is fetched from the original source code.
– The Interpreter checks the single instruction for errors. (If
an error is found, translation and execution ceases.
Otherwise…)
– The instruction is translated into binary code.
– The binary coded instruction is executed.
– The fetch and execute process repeats for the entire
program.
The Computer Continuum 4-25
Assembled, Compiled, or
Interpreted Languages
 Compiled languages:
• Compiler: a program used to translate high-level programs.
• Translates the entire program into binary code before anything
is sent to the CPU for execution.
– The translation process for a compiled program:
• First, the Compiler checks the entire program for syntax
errors in the original source code.
• Next, it translates all of the instructions into binary code.
» Two versions of the same program exist: the original
source code version, and the binary code version (object
code).
• Last, the CPU attempts execution only after the programmer
requests that the program be executed.
The Computer Continuum 4-26
Programming for Everyone
 Several ways to control what your computer does or
the way it accomplishes a particular task:
• Using Macros
• Using HTML to create Web Pages
• Scripting
 Each allows customization of current applications.
The Computer Continuum 4-27
Programming for Everyone
 Using Macros
• Macro: Set of operations within the computer application that
have been recorded for later execution.
– Once recorded, the macro can be used repeatedly on any
document within that application.
– In word processors, macros are commonly used to speed
up repetitive tasks.
• Example: SIG can be stored as a macro that includes
a signature message at the end of a document.
James R. Emmelsohn
Director of Public Relations,
Martin Electronics, Detroit Division
The Computer Continuum 4-28
Programming for Everyone
 Using HTML to create Web Pages
• HTML (HyperText Markup Language): A computer language
consisting of special codes intended to design the layout (or
markup) of a Web page.
– Web browsers interpret the HTML code and display the
resulting Web pages.
– Web browser: A program that displays information from
the WWW.
– Each line of HTML is called a tag (formatting
instruction).
The Computer Continuum 4-29
Programming for Everyone
<HTML>
<HEAD>
<TITLE> Title of Web Page </TITLE>
</HEAD>
<BODY bgcolor=#ffffff text=#000000 >
<BODY>
<H1>
<CENTER> Sample Web Page
</CENTER> </H1>
<HR>
<A HREF=“http://www.dogpile.com”>
dogpile search engine </A>
</BODY>
</HTML>
 Designates an HTML document
 Beginning of Header section
 Contents of Title bar
 End of Header section
 Background=white, text=black
 Top of the body of the document
 H1=largest text size, H6 is smallest
 CENTER turns on centering
 Turns off centering and large text
 Displays a horizontal rule: thin line
 Links to the dogpile search engine
 </BODY> and </HTML>designate
the bottom of the document
The Computer Continuum 4-30
Programming for Everyone
 Scripting
• Scripting: A series of commands, written to accomplish some
task.
– Very similar to the concept of a program.
– Extends the capabilities of the application where it is
being used.
– Examples of scripting languages:
• Perl, C++, VBScript, JavaScript
• JavaScript: A scripting language that allows the Web
page designer to add functional features to a
formatted web page created in HTML.
The Computer Continuum 4-31
Building a Program
 Whatever type of problem needs to be solved, a careful thought
out plan of attack, called an algorithm, is needed before a
computer solution can be determined.
1) Developing the algorithm.
2) Writing the program.
3) Documenting the program.
4) Testing and debugging the program.
The Computer Continuum 4-32
Building a Program
 1) Developing the algorithm.
• Algorithm: A detailed description of the exact methods used
for solving a particular problem.
• To develop the algorithm, the programmer needs to ask:
– What data has to be fed into the computer?
– What information do I want to get out of the computer?
– Logic: Planning the processing of the program. It contains
the instructions that cause the input data to be turned into
the desired output data.
The Computer Continuum 4-33
Building a Program
 A step-by-step program plan is created during the
planning stage.
 The three major notations for planning detailed
algorithms:
• Flowchart: Series of visual symbols representing the logical
flow of a program.
• Nassi-Schneidermann charts: Uses specific shapes and
symbols to represent different types of program statements.
• Pseudocode: A verbal shorthand method that closely
resembles a programming language, but does not have to
follow a rigid syntax structure.
The Computer Continuum 4-34
Building a Program
Start
Count Money
Do you
have more than
$10.00?
Go out
Go home
End
No
Yes
Repeat until
money < $10.00
Go out
If money > $10.00Y N
Go home
1. If money < $10.00 then go home
Else Go out
2. Count money
3. Go to number 1
Nassi-Schneidermann chart:
Pseudocode:
Flow chart:
Stop
The Computer Continuum 4-35
Building a Program
 2) Writing the Program
• If analysis and planning have been thoroughly done,
translating the plan into a programming language should be a
quick and easy task.
 3) Documenting the Program
• During both the algorithm development and program writing
stages, explanations called documentation are added to the
code.
– Helps users as well as programmers understand the exact
processes to be performed.
The Computer Continuum 4-36
Building a Program
 4) Testing and Debugging the Program.
• The program must be free of syntax errors.
• The program must be free of logic errors.
• The program must be reliable. (produces correct results)
• The program must be robust. (able to detect execution errors)
• Alpha testing: Testing within the company.
• Beta testing: Testing under a wider set of conditions using
“sophisticated” users from outside the company.
The Computer Continuum 4-37
Software Development:
A Broader View
Type of program Number of Lines
The compiler for a language with a
limited instruction set. Tens of thousands of lines
A full-featured word processor. Hundreds of thousands of lines
A microcomputer operating system. Approximately 2,000,000 lines
A military weapon management program.
(controlling missiles, for example) Several million lines
Measures of effort spent on real-life programs:
Comparing programs by size:
The Computer Continuum 4-38
Software Development:
A Broader View
• Measures of effort spent on real-life programs:
Comparing programs by time:
• Commercial software is seldom written by individuals.
– Person-months - equivalent to one person working forty
hours a week for four weeks.
– Person-years - equivalent to one person working for
twelve months.
– Team of 5 working 40 hours for 8 weeks = ten person-
months.
The Computer Continuum 4-39
Web Page Design Software:
Dreamweaver
 What is Web page design software?
• The programs that help create pages and their associated
HTML.
• Dreamweaver: A visual Web page editor primarily for use by
Web design professionals.
 Why is it needed?
• Allows creation of Web pages without knowledge of HTML .
The Computer Continuum 4-40
Web Page Design Software:
Dreamweaver
 What minimal functions must it have?
• WYSIWIG: “What you see is what you get.”
– Web page designers see exactly what it will look like.
• Allows selection of color scheme. (Background and text)
• Allows text manipulation. (Typing text where you want it,
changing the size, color or style)
• Allows importation and layout of images.
The Computer Continuum 4-41
Web Page Design Software:
Dreamweaver
 What types of support are available to enhance its use?
• Applets extend the capabilities of HTML.
– Applet: A short application program, usually written in
Java, which adds enhancement and/or functionality to a
Web page.
 Is special support hardware available?
• Creating audio/visual materials for the WWW:
– Photo digitizers or scanners, video digitizer, and audio
digitizer.
– Once these are in a standard digital format, they can be
imported to Web development programs.
The Computer Continuum 4-42
Web Page Design Software:
Dreamweaver
 One final note:
• Dreamweaver and other Web page design software create
Web pages. You still need a place to keep your Web page.
– ISP (Internet Service Provider): A company or
organization that is used as an access point to the WWW.
• The ISP will put your Web page on its server.
• You will be given an address where you or others can
access your Web page.

More Related Content

What's hot

Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming LanguagesJuhi Bhoyar
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representationgaurav jain
 
Assembly and Machine Code
Assembly and Machine CodeAssembly and Machine Code
Assembly and Machine CodeProject Student
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languageskitturashmikittu
 
Programming language
Programming languageProgramming language
Programming languageRajThakuri
 
High Level Language (HLL)
High Level Language (HLL)High Level Language (HLL)
High Level Language (HLL)Maliha Jahan
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languageseducationfront
 
What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.Questpond
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languagessebrown
 
High level and Low level Language
High level and Low level Language High level and Low level Language
High level and Low level Language adnan usmani
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computerKeval Goyani
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNoel Malle
 

What's hot (20)

Computer languages
Computer languagesComputer languages
Computer languages
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
Chapter 4 computer language
Chapter 4 computer languageChapter 4 computer language
Chapter 4 computer language
 
computer languages
computer languagescomputer languages
computer languages
 
Computer languages
Computer languagesComputer languages
Computer languages
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representation
 
Lecture1
Lecture1Lecture1
Lecture1
 
Assembly and Machine Code
Assembly and Machine CodeAssembly and Machine Code
Assembly and Machine Code
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languages
 
Programming language
Programming languageProgramming language
Programming language
 
High Level Language (HLL)
High Level Language (HLL)High Level Language (HLL)
High Level Language (HLL)
 
Languages in computer
Languages in computerLanguages in computer
Languages in computer
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languages
 
High level and Low level Language
High level and Low level Language High level and Low level Language
High level and Low level Language
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computer
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Rajesh ppt
Rajesh pptRajesh ppt
Rajesh ppt
 

Similar to COMPUTER LANGUAGES AND PROGRAMMING

Computer, generations, languages, soft wares
Computer, generations, languages, soft waresComputer, generations, languages, soft wares
Computer, generations, languages, soft wareskiranmohan42
 
Programming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Conceptsimtiazalijoono
 
Computer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsComputer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsVarshaSivashanker
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptxPmarkNorcio
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming VanessaBuensalida
 
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)Lanie Plecerda
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
CHAPTER-1.ppt
CHAPTER-1.pptCHAPTER-1.ppt
CHAPTER-1.pptTekle12
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxHazardRhenz1
 
C++ Training - Lecture 01
C++ Training - Lecture 01C++ Training - Lecture 01
C++ Training - Lecture 01Babak Farhang
 

Similar to COMPUTER LANGUAGES AND PROGRAMMING (20)

Abdulrahman
AbdulrahmanAbdulrahman
Abdulrahman
 
Program Logic and Design
Program Logic and DesignProgram Logic and Design
Program Logic and Design
 
Computer, generations, languages, soft wares
Computer, generations, languages, soft waresComputer, generations, languages, soft wares
Computer, generations, languages, soft wares
 
Programming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Concepts
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
 
Computer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsComputer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translators
 
Introduction_to_Programming.pptx
Introduction_to_Programming.pptxIntroduction_to_Programming.pptx
Introduction_to_Programming.pptx
 
Fundamentals of Programming Chapter 2
Fundamentals of Programming Chapter 2Fundamentals of Programming Chapter 2
Fundamentals of Programming Chapter 2
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
 
Lesson 2.pptx
Lesson 2.pptxLesson 2.pptx
Lesson 2.pptx
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
System softare
System softareSystem softare
System softare
 
CHAPTER-1.ppt
CHAPTER-1.pptCHAPTER-1.ppt
CHAPTER-1.ppt
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptx
 
Introduction To Dart.pptx
Introduction To Dart.pptxIntroduction To Dart.pptx
Introduction To Dart.pptx
 
C++ Training - Lecture 01
C++ Training - Lecture 01C++ Training - Lecture 01
C++ Training - Lecture 01
 

Recently uploaded

EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 

Recently uploaded (20)

EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 

COMPUTER LANGUAGES AND PROGRAMMING

  • 1. The Computer Continuum 4-1 Chapter 4: Computer Languages, Algorithms and Program Development How do computers know what we want them to do? BY – ABHINAV SINGH
  • 2. The Computer Continuum 4-2 Computer Languages, Algorithms and Program Development  In this chapter: • What makes up a language and how do we use language to communicate with each other and with computers? • How did computer programming languages evolve? • How do computers understand what we are telling them to do? • What are the steps involved in building a program? • How can we create something that would be visible on the WWW?
  • 3. The Computer Continuum 4-3 Communicating with a Computer  Communication cycle • One complete unit of communication. – An idea to be sent. – An encoder. – A sender. – A medium. – A receiver. – A decoder. – A response. Speaker encodes information Listener decodes information Listener returns feedback to speaker
  • 4. The Computer Continuum 4-4 Communicating with a Computer  Substituting a computer for one of the people in the communication process. • Process is basically the same. – Response may be symbols on the monitor. User encodes information Computer decodes information Computer returns results to user
  • 5. The Computer Continuum 4-5 Communicating with a Computer  Between two people: • The person can’t hear you. • The phone connection is broken in mid-call. • One person speaks only French, while the other only Japanese.  Between a person and a computer: • The power was suddenly interrupted. • An internal wire became disconnected. • A keyboard malfunctioned. A breakdown can occur any place along the cycle... When communicating instructions to a computer, areas of difficulty are often part of the encoding and decoding process.
  • 6. The Computer Continuum 4-6 Communicating with a Computer  Programming languages bridge the gap between human thought processes and computer binary circuitry. • Programming language: A series of specifically defined commands designed by human programmers to give directions to digital computers. – Commands are written as sets of instructions, called programs. – All programming language instructions must be expressed in binary code before the computer can perform them.
  • 7. The Computer Continuum 4-7 The Role of Languages in Communication  Three fundamental elements of language that contribute to the success or failure of the communication cycle: • Semantics • Syntax • Participants
  • 8. The Computer Continuum 4-8 The Role of Languages in Communication  Human language: • Refers to the meaning of what is being said. • Words often pick up multiple meanings. • Phrases sometimes have idiomatic meanings: – let sleeping dogs lie (don’t aggravate the situation by “putting in your two cents”)  Computer language: • Refers to the specific command you wish the computer to perform. – Input, Output, Print – Each command has a very specific meaning. – Computers associate one meaning with one computer command.  Semantics: Refers to meaning.
  • 9. The Computer Continuum 4-9 The Role of Languages in Communication  Human language: • Refers to rules governing grammatical structure. – Pluralization, tense, agreement of subject and verb, pronunciation, and gender. • Humans tolerate the use of language. – How many ways can you say no? Do they have the same meaning?  Computer language: • Refers to rules governing exact spelling and punctuation, plus: – Formatting, repetition, subdivision of tasks, identification of variables, definition of memory spaces. • Computers do not tolerate syntax errors.  Syntax: Refers to form, or structure.
  • 10. The Computer Continuum 4-10 The Role of Languages in Communication  Human language: • In the communication cycle, humans can respond in more than one way. – Body language – Facial expressions – Laughter – human speech  Computer language: • People use programming languages. • Programs must be translated into binary code. • Computers respond by performing the task or not!  Participants: • Human languages are used by people to communicate with each other. • Programming languages are used by people to communicate with machines.
  • 11. The Computer Continuum 4-11 The Programming Language Continuum  In the Beginning...Early computers consisted of special-purpose computing hardware. • Each computer was designed to perform a particular arithmetic task or set of tasks. • Skilled engineers had to manipulate parts of the computer’s hardware directly. – Some computers required “fat-fingering”. • Fat-fingering: Engineer needed to position electrical relay switches manually. – Others required programs to be hardwired. • Hardwiring: Using solder to create circuit boards with connections needed to perform a specific task.
  • 12. The Computer Continuum 4-12 The Programming Language Continuum  ENIAC • Used programs to complete a number of different mathematical tasks. – Programs were entered by plugging connector cables directly into sockets on a plug-in board. • Set-up could take hours. • A program would generally be used for weeks at a time.
  • 13. The Computer Continuum 4-13 The Programming Language Continuum  In the beginning… To use a computer, you needed to know how to program it.  Today… People no longer need to know how to program in order to use the computer.  To see how this was accomplished, lets investigate how programming languages evolved. • First Generation - Machine Language (code) • Second Generation - Assembly Language • Third Generation - People-Oriented Programming Languages • Fourth Generation - Non-Procedural Languages • Fifth Generation - Natural Languages
  • 14. The Computer Continuum 4-14 The Programming Language Continuum  First Generation - Machine Language (code) • Machine language programs were made up of instructions written in binary code. – This is the “native” language of the computer. – Each instruction had two parts: Operation code, Operand • Operation code (Opcode): The command part of a computer instruction. • Operand: The address of a specific location in the computer’s memory. – Hardware dependent: Could be performed by only one type of computer with a particular CPU.
  • 15. The Computer Continuum 4-15 The Programming Language Continuum  Second Generation - Assembly Language • Assembly language programs are made up of instructions written in mnemonics. • Mnemonics: Uses convenient alphabetic abbreviations to represent operation codes, and abstract symbols to represent operands. • Each instruction had two parts: Operation code, Operand • Hardware dependent. • Because programs are not written in 1s and 0s, the computer must first translate the program before it can be executed. READ num1 READ num2 LOAD num1 ADD num2 STORE sum PRINT sum STOP
  • 16. The Computer Continuum 4-16 The Programming Language Continuum  Third Generation - People-Oriented Programs • Instructions in these languages are called statements. – High-level languages: Use statements that resemble English phrases combined with mathematical terms needed to express the problem or task being programmed. – Transportable: NOT-Hardware dependent. – Because programs are not written in 1s and 0s, the computer must first translate the program before it can be executed.
  • 17. The Computer Continuum 4-17 The Programming Language Continuum  Pascal Example: Read in two numbers, add them, and print them out. Program sum2(input,output); var num1,num2,sum : integer; begin read(num1,num2); sum:=num1+num2; writeln(sum) end.
  • 18. The Computer Continuum 4-18 The Programming Language Continuum  Fourth Generation - Non-Procedural Languages • Programming-like systems aimed at simplifying the programmers task of imparting instructions to a computer. • Many are associated with specific application packages. – Query Languages: – Report Writers: – Application Generators:
  • 19. The Computer Continuum 4-19 The Programming Language Continuum • Query Languages: – Enables a person to specify exactly what information they require from the database. – Usually embedded within database management programs. • Report Writers: – Takes information retrieved from databases and formats into attractive, usable output. • Application Generators: – A person can specify a problem, and describe the desired results. – Included with many micro-computer programs (macros).
  • 20. The Computer Continuum 4-20 The Programming Language Continuum  Fourth Generation - Non-Procedural Languages (cont.) • Object-Oriented Languages: A language that expresses a computer problem as a series of objects a system contains, the behaviors of those objects, and how the objects interact with each other. – Object: Any entity contained within a system. • Examples: » A window on your screen. » A list of names you wish to organize. » An entity that is made up of individual parts. – Some popular examples: C++, Java, Smalltalk, Eiffel.
  • 21. The Computer Continuum 4-21 The Programming Language Continuum  Fifth Generation - Natural Languages • Natural-Language: Languages that use ordinary conversation in one’s own language. – Research and experimentation toward this goal is being done. • Intelligent compilers are now being developed to translate natural language (spoken) programs into structured machine-coded instructions that can be executed by computers. • Effortless, error-free natural language programs are still some distance into the future.
  • 22. The Computer Continuum 4-22 Assembled, Compiled, or Interpreted Languages  All programs must be translated before their instructions can be executed.  Computer languages can be grouped according to which translation process is used to convert the instructions into binary code: • Assemblers • Interpreters • Compilers
  • 23. The Computer Continuum 4-23 Assembled, Compiled, or Interpreted Languages  Assembled languages: • Assembler: a program used to translate Assembly language programs. • Produces one line of binary code per original program statement. – The entire program is assembled before the program is sent to the computer for execution.
  • 24. The Computer Continuum 4-24 Assembled, Compiled, or Interpreted Languages  Interpreted Languages: • Interpreter: A program used to translate high-level programs. • Translates one line of the program into binary code at a time: – An instruction is fetched from the original source code. – The Interpreter checks the single instruction for errors. (If an error is found, translation and execution ceases. Otherwise…) – The instruction is translated into binary code. – The binary coded instruction is executed. – The fetch and execute process repeats for the entire program.
  • 25. The Computer Continuum 4-25 Assembled, Compiled, or Interpreted Languages  Compiled languages: • Compiler: a program used to translate high-level programs. • Translates the entire program into binary code before anything is sent to the CPU for execution. – The translation process for a compiled program: • First, the Compiler checks the entire program for syntax errors in the original source code. • Next, it translates all of the instructions into binary code. » Two versions of the same program exist: the original source code version, and the binary code version (object code). • Last, the CPU attempts execution only after the programmer requests that the program be executed.
  • 26. The Computer Continuum 4-26 Programming for Everyone  Several ways to control what your computer does or the way it accomplishes a particular task: • Using Macros • Using HTML to create Web Pages • Scripting  Each allows customization of current applications.
  • 27. The Computer Continuum 4-27 Programming for Everyone  Using Macros • Macro: Set of operations within the computer application that have been recorded for later execution. – Once recorded, the macro can be used repeatedly on any document within that application. – In word processors, macros are commonly used to speed up repetitive tasks. • Example: SIG can be stored as a macro that includes a signature message at the end of a document. James R. Emmelsohn Director of Public Relations, Martin Electronics, Detroit Division
  • 28. The Computer Continuum 4-28 Programming for Everyone  Using HTML to create Web Pages • HTML (HyperText Markup Language): A computer language consisting of special codes intended to design the layout (or markup) of a Web page. – Web browsers interpret the HTML code and display the resulting Web pages. – Web browser: A program that displays information from the WWW. – Each line of HTML is called a tag (formatting instruction).
  • 29. The Computer Continuum 4-29 Programming for Everyone <HTML> <HEAD> <TITLE> Title of Web Page </TITLE> </HEAD> <BODY bgcolor=#ffffff text=#000000 > <BODY> <H1> <CENTER> Sample Web Page </CENTER> </H1> <HR> <A HREF=“http://www.dogpile.com”> dogpile search engine </A> </BODY> </HTML>  Designates an HTML document  Beginning of Header section  Contents of Title bar  End of Header section  Background=white, text=black  Top of the body of the document  H1=largest text size, H6 is smallest  CENTER turns on centering  Turns off centering and large text  Displays a horizontal rule: thin line  Links to the dogpile search engine  </BODY> and </HTML>designate the bottom of the document
  • 30. The Computer Continuum 4-30 Programming for Everyone  Scripting • Scripting: A series of commands, written to accomplish some task. – Very similar to the concept of a program. – Extends the capabilities of the application where it is being used. – Examples of scripting languages: • Perl, C++, VBScript, JavaScript • JavaScript: A scripting language that allows the Web page designer to add functional features to a formatted web page created in HTML.
  • 31. The Computer Continuum 4-31 Building a Program  Whatever type of problem needs to be solved, a careful thought out plan of attack, called an algorithm, is needed before a computer solution can be determined. 1) Developing the algorithm. 2) Writing the program. 3) Documenting the program. 4) Testing and debugging the program.
  • 32. The Computer Continuum 4-32 Building a Program  1) Developing the algorithm. • Algorithm: A detailed description of the exact methods used for solving a particular problem. • To develop the algorithm, the programmer needs to ask: – What data has to be fed into the computer? – What information do I want to get out of the computer? – Logic: Planning the processing of the program. It contains the instructions that cause the input data to be turned into the desired output data.
  • 33. The Computer Continuum 4-33 Building a Program  A step-by-step program plan is created during the planning stage.  The three major notations for planning detailed algorithms: • Flowchart: Series of visual symbols representing the logical flow of a program. • Nassi-Schneidermann charts: Uses specific shapes and symbols to represent different types of program statements. • Pseudocode: A verbal shorthand method that closely resembles a programming language, but does not have to follow a rigid syntax structure.
  • 34. The Computer Continuum 4-34 Building a Program Start Count Money Do you have more than $10.00? Go out Go home End No Yes Repeat until money < $10.00 Go out If money > $10.00Y N Go home 1. If money < $10.00 then go home Else Go out 2. Count money 3. Go to number 1 Nassi-Schneidermann chart: Pseudocode: Flow chart: Stop
  • 35. The Computer Continuum 4-35 Building a Program  2) Writing the Program • If analysis and planning have been thoroughly done, translating the plan into a programming language should be a quick and easy task.  3) Documenting the Program • During both the algorithm development and program writing stages, explanations called documentation are added to the code. – Helps users as well as programmers understand the exact processes to be performed.
  • 36. The Computer Continuum 4-36 Building a Program  4) Testing and Debugging the Program. • The program must be free of syntax errors. • The program must be free of logic errors. • The program must be reliable. (produces correct results) • The program must be robust. (able to detect execution errors) • Alpha testing: Testing within the company. • Beta testing: Testing under a wider set of conditions using “sophisticated” users from outside the company.
  • 37. The Computer Continuum 4-37 Software Development: A Broader View Type of program Number of Lines The compiler for a language with a limited instruction set. Tens of thousands of lines A full-featured word processor. Hundreds of thousands of lines A microcomputer operating system. Approximately 2,000,000 lines A military weapon management program. (controlling missiles, for example) Several million lines Measures of effort spent on real-life programs: Comparing programs by size:
  • 38. The Computer Continuum 4-38 Software Development: A Broader View • Measures of effort spent on real-life programs: Comparing programs by time: • Commercial software is seldom written by individuals. – Person-months - equivalent to one person working forty hours a week for four weeks. – Person-years - equivalent to one person working for twelve months. – Team of 5 working 40 hours for 8 weeks = ten person- months.
  • 39. The Computer Continuum 4-39 Web Page Design Software: Dreamweaver  What is Web page design software? • The programs that help create pages and their associated HTML. • Dreamweaver: A visual Web page editor primarily for use by Web design professionals.  Why is it needed? • Allows creation of Web pages without knowledge of HTML .
  • 40. The Computer Continuum 4-40 Web Page Design Software: Dreamweaver  What minimal functions must it have? • WYSIWIG: “What you see is what you get.” – Web page designers see exactly what it will look like. • Allows selection of color scheme. (Background and text) • Allows text manipulation. (Typing text where you want it, changing the size, color or style) • Allows importation and layout of images.
  • 41. The Computer Continuum 4-41 Web Page Design Software: Dreamweaver  What types of support are available to enhance its use? • Applets extend the capabilities of HTML. – Applet: A short application program, usually written in Java, which adds enhancement and/or functionality to a Web page.  Is special support hardware available? • Creating audio/visual materials for the WWW: – Photo digitizers or scanners, video digitizer, and audio digitizer. – Once these are in a standard digital format, they can be imported to Web development programs.
  • 42. The Computer Continuum 4-42 Web Page Design Software: Dreamweaver  One final note: • Dreamweaver and other Web page design software create Web pages. You still need a place to keep your Web page. – ISP (Internet Service Provider): A company or organization that is used as an access point to the WWW. • The ISP will put your Web page on its server. • You will be given an address where you or others can access your Web page.

Editor's Notes

  1. The Computer Continuum
  2. The Computer Continuum
  3. The Computer Continuum
  4. The Computer Continuum
  5. The Computer Continuum
  6. The Computer Continuum
  7. The Computer Continuum
  8. The Computer Continuum
  9. The Computer Continuum
  10. The Computer Continuum
  11. The Computer Continuum
  12. The Computer Continuum
  13. The Computer Continuum
  14. The Computer Continuum
  15. The Computer Continuum
  16. The Computer Continuum
  17. The Computer Continuum
  18. The Computer Continuum
  19. The Computer Continuum
  20. The Computer Continuum
  21. The Computer Continuum
  22. The Computer Continuum
  23. The Computer Continuum
  24. The Computer Continuum
  25. The Computer Continuum
  26. The Computer Continuum
  27. The Computer Continuum
  28. The Computer Continuum
  29. The Computer Continuum
  30. The Computer Continuum
  31. The Computer Continuum
  32. The Computer Continuum
  33. The Computer Continuum
  34. The Computer Continuum
  35. The Computer Continuum
  36. The Computer Continuum
  37. The Computer Continuum
  38. The Computer Continuum
  39. The Computer Continuum
  40. The Computer Continuum
  41. The Computer Continuum
  42. The Computer Continuum