Professional Documents
Culture Documents
first stored program metal cards first computer manufacturing still in use today!
huge calculator, never finished could store numbers calculating mill used punched metal cards for instructions powered by steam! accurate to six decimal places
MIT School of Telecom Management 3
Computer Size
ENIAC then
ENIAC today
Discussion Question
Size
Use your imagination to come up with what the next century holds for computers.
What can we expect in two years? What can we expect in twenty years?
Algorithms
What is an algorithm? A step-by-step problem-solving procedure, especially an established, recursive computational procedure for solving a problem in a finite number of steps Weve seen lots of algorithms before
MIT School of Telecom Management 8
Computer Organization
Memory
Input Devices
Output Devices
10
11
A bit is either a 1 or a 0
A byte is 8 bits:
01001010
As there are 8 bits per byte, each byte can hold 28=256 values
01001010 = 74
A music file on a CD
A movie clip
About 10 Mb per minute of (TV-sized) video
13
Software Concepts
14
Software Concepts
A program is a set of instructions that tells the computer what to do. Software can be a single program or a group of programs needed to perform several functions. Simple programs may have a few hundred instructions (lines of code) though most have many more (several million).
15
Application Software
16
17
18
Generally organization specific Electronic Data Interchange (EDI) Generally common to the participating organizations
19
System Software
20
An operating system is a group of programs that manages the operation of the computer. Three functions of an operating system
Most operating system programs are stored in secondary storage. One operating system program is stored in a section of primary storage. It goes by various names kernel but generically called the supervisor. The supervisor controls all activity in primary storage.
22
Starting the computer is called booting which transfers the supervisor from secondary storage to primary storage. Connecting to a network or other multiuser environment is called logging in. Detaching from a network is called logging out.
23
User interface is the visual link between the user and the software. Small pictures on the screen are icons. Graphical User Interface (GUI) uses
Multitasking is appearing to execute more than one program at a time, though the CPU can execute instructions from only one program at a time.
25
Multi-user or Multiple-user programs permit more than one person to use the program, and data, at a time. One technique that is used with multiple-user operating systems is time sharing. With this technique, the users are each allocated a small amount of time by the operating system.
26
Batch operating systems where the first program is executed and all data processed before moving to the second program. Interactive operating systems allow user interaction as the program executes. Most personal computer operating systems permit user interaction.
27
Virtual memory is supplemental primary storage (RAM) or real memory where the programs are too big for primary storage. It is created on a secondary storage device, usually the hard drive, and is generally temporary in nature.
28
Virtual memory operating systems execute large programs by dividing the program into parts and transferring the necessary parts of the program from secondary storage to primary storage as needed. The transfer process does not require any action by the user.
29
Microsoft Windows Microsoft DOS (and others) IBM OS/2 Apple Mac OS UNIX Linux
30
IBM OS/390 Hewlett Packard MPE (MultiProgramming Executive) UNIX Network Operating Systems
Utility programs
Sort utility rearranges data in a specified order Merge utility merges two files into one Print utility prints the contents of a file Copy utility copies data from one device to another
32
Communications software used for communications between computers. Database management systems used for managing databases. Software development software software used to develop software.
33
Software Development
34
What is a programming language? Why are there so many programming languages? How do you select a programming language? What are the types of programming languages?
35
English is a natural language. It has words, symbols and grammatical rules. A programming language also has words, symbols and rules of grammar. The grammatical rules are called syntax. Each programming language has a different set of syntax rules.
36
Programming languages have evolved over time as better ways have been developed to design them. Different programming languages are designed for different types of programs. First programs were developed in the 1950s.
37
Is it designed for the type of program that needs to be written? Is it available on the computer being used? Are trained programmers available? Is it easy to write programs in the language? Is the language efficient when the program is executed?
MIT School of Telecom Management 38
First Generation Languages Second Generation Languages Third Generation Languages Fourth Generation Languages Fifth Generation Languages
39
Machine language
Operation code such as addition or subtraction. Operands that identify the data to be processed. Machine language is machine dependent as it is the only language the computer can understand. Very efficient code but very difficult to write.
40
Assembly languages
Symbolic operation codes replaced binary operation codes. Assembly language programs needed to be assembled for execution by the computer. Each assembly language instruction is translated into one machine language instruction. Very efficient code and easier to write.
41
Programs written in source code which must be translated into machine language programs called object code. The translation of source code to object code is accomplished by a machine language system program called a compiler.
42
Alternative to compilation is interpretation which is accomplished by a system program called an interpreter. Common third generation languages
A high level language (4GL) that requires fewer instructions to accomplish than a third generation language. Used with databases
44
Though no clear definition at present, natural language programs generally can be interpreted and executed by the computer with no other action by the user than stating their question. Limited capabilities at present.
45
Programming Languages
Sequences of instructions First, second and some third generation languages Objects are created rather than sequences of instructions Some third generation, and fourth and fifth generation languages
46
Object-oriented languages
FORTRAN
FORmula TRANslation. Developed at IBM in the mid-1950s. Designed for scientific and mathematical applications by scientists and engineers.
47
COBOL
COmmon Business Oriented Language. Developed in 1959. Designed to be common to many different computers. Typically used for business applications.
48
BASIC
Beginners All-purpose Symbolic Instruction Code. Developed at Dartmouth College in mid 1960s. Developed as a simple language for students to write programs with which they could interact through terminals.
49
Developed by Bell Laboratories in the early 1970s. Provides control and efficiency of assembly language while having third generation language features. Often used for system programs. UNIX is written in C.
50
Smalltalk
First object-oriented language. Developed by Xerox in mid-1970s. Still in use on some computers.
51
C++
It is C language with additional features. Widely used for developing system and application software. Graphical user interfaces can be developed easily with visual programming tools.
52
HTML
HyperText Markup Language. Used on the Internet and the World Wide Web (WWW). Web page developer puts brief codes called tags in the page to indicate how the page should be formatted.
53
XML
54
JAVA
An object-oriented language similar to C++ that allows a web page developer to create programs for applications, called applets that can be used through a browser. Objective of JAVA developers is that it be machine, platform and operating system independent.
55
Translation
Translator
Accepts a program written in a source language and translates it to a program in a target language Standard name for a translator whose source language is a high-level language
A translator that both translates and executes a source program
56
Compiler
Interpreter
Software Concepts
Key Terms
57
Key Terms
Command Compiler Database Software Dialog Box Electronic Conferencing Software Electronic Messaging Software FORTRAN
58
Fourth-Generation Language (4GL) Graphical User Interface (GUI) Graphics Software Groupware HTML Icon
Information Sharing Software Interpreter Java Menu Multitasking Network Operating System (NOS) Object
59
Object-Oriented Programming Operating Environment Page Programmer Programming Programming Language Prompt Spreadsheet Software
Time-Sharing User Interface Utility Program Virtual Memory Window Word Processing Software XML
60