Date post: | 07-Apr-2018 |
Category: |
Documents |
Upload: | annirban-bhattacharya |
View: | 228 times |
Download: | 0 times |
of 60
8/6/2019 Software Concept
1/60
1
Introduction to Computers
8/6/2019 Software Concept
2/60
History of Computers - 19th
Century
first stored program -
metal cards
first computermanufacturing
still in use today!
8/6/2019 Software Concept
3/60
3 MIT School of Telecom Management
Charles Babbage - 1792-1871 Difference Engine c.1822
huge calculator, never
finished Analytical Engine 1833
could store numbers
calculating mill used
punched metal cards forinstructions
powered by steam!
accurate to six decimal places
8/6/2019 Software Concept
4/60
4 MIT School of Telecom Management
Computer SizeENIAC then
ENIAC today
With computers (small) size does matter!
8/6/2019 Software Concept
5/60
5 MIT School of Telecom Management
Discussion Question What was the biggest advance that led
to modern computers?
Electricity
Transistor
Microchip
Data storage
8/6/2019 Software Concept
6/60
6 MIT School of Telecom Management
Generations of Electronic
ComputersFirst
Generation
Second
Gen.
Third
Gen.
Fourth Gen.
Technology Vacuum
Tubes
Transistors Integrated
Circuits(multiple
transistors)
Microchips
(millions oftransistors)
Size Filled Whole
Buildings
Filled half a
room
Smaller Tiny - Palm
Pilot is as
powerful as
old building
sized
computer
8/6/2019 Software Concept
7/60
8/6/2019 Software Concept
8/60
8 MIT School of Telecom Management
Algorithms What is an algorithm?
A step-by-step problem-solving procedure,
especially an established, recursivecomputational procedure for solving aproblem in a finite number of steps
Weve seen lots of algorithms before
8/6/2019 Software Concept
9/60
9 MIT School of Telecom Management
Example algorithm: mapdirections
8/6/2019 Software Concept
10/60
10 MIT School of Telecom Management
Computer Organization
Input Devices
CentralProcessing Unit
Memory
Output Devices
8/6/2019 Software Concept
11/60
11 MIT School of Telecom Management
A bit of humor: Computer
Organization
8/6/2019 Software Concept
12/60
12 MIT School of Telecom Management
Computing units of measure
A bit is either a 1 or a 0
On or off, true or false, etc.
A byte is 8 bits: 01001010
As there are 8 bits per byte, each byte can hold
2
8
=256 values 01001010 = 74
All computing measurements are in terms of
bytes
8/6/2019 Software Concept
13/60
13 MIT School of Telecom Management
Computing units of measure An unformatted text document (such as a Java program)
3 pages per kilobyte (1,000 bytes)
A formatted document (such as a Word file)
About 5k per page with formatting
A digital camera picture
About 1 Mb each (1,000,000 bytes)
An MP3 music file
5 Mb for a 5 minute song
A music file on a CD 50 Mb for a 5 minute song
10 times the size of an MP3!
A movie clip
About 10 Mb per minute of (TV-sized) video
8/6/2019 Software Concept
14/60
14
Software Concepts
MIT School of Telecom Management
8/6/2019 Software Concept
15/60
15
Software Concepts Aprogram is a set of instructions that tells
the computer what to do.
Software can be a single program or a groupof programs needed to perform severalfunctions.
Simple programs may have a few hundredinstructions (lines of code) though most havemany more (several million).
MIT School of Telecom Management
8/6/2019 Software Concept
16/60
16
Application Software
MIT School of Telecom Management
8/6/2019 Software Concept
17/60
17
Individual Application
Software Word processing
Spreadsheet
Graphics
Database
Browser
MIT School of Telecom Management
8/6/2019 Software Concept
18/60
18
Workgroup Application
Software Groupware
E-Mail software
Information sharing software
Electronic conferencing software
MIT School of Telecom Management
8/6/2019 Software Concept
19/60
19
Other Application Software Organizational application software
Generally organization specific
Interorganizational application software
Electronic Data Interchange (EDI)
Generally common to the participating
organizations
MIT School of Telecom Management
8/6/2019 Software Concept
20/60
20
System Software
MIT School of Telecom Management
8/6/2019 Software Concept
21/60
21
Operating System ConceptsAn operating system is a group of
programs that manages the operation
of the computer. Three functions of an operating system
Process management
Resource management
Data management
MIT School of Telecom Management
8/6/2019 Software Concept
22/60
22
Operating System Concepts
(contd.) Organization 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 byvarious names kernel but generically
called the supervisor. The supervisor controls all activity in
primary storage.
MIT School of Telecom Management
8/6/2019 Software Concept
23/60
23
Using an Operating System Starting the computer is called booting
which transfers the supervisor from
secondary storage to primary storage. Connecting to a network or other multi-
user environment is called logging in.
Detaching from a network is calledlogging out.
MIT School of Telecom Management
8/6/2019 Software Concept
24/60
24
Elements of an Operating
System User interface is the visual link between
the user and the software.
Small pictures on the screen are icons. Graphical User Interface (GUI) uses
Buttons
Icons Menus
Dialog boxes
MIT School of Telecom Management
8/6/2019 Software Concept
25/60
25
Capabilities of Operating
Systems Multitasking is appearing to execute
more than one program at a time,
though the CPU can executeinstructions from only one program at atime.
MIT School of Telecom Management
8/6/2019 Software Concept
26/60
26
Capabilities of Operating
Systems (contd.) 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 usersare each allocated a small amount oftime by the operating system.
MIT School of Telecom Management
8/6/2019 Software Concept
27/60
27
Capabilities of Operating
Systems (contd.) Two types of operating systems
Batch operating systems where the first
program is executed and all dataprocessed before moving to the secondprogram.
Interactive operating systems allow user
interaction as the program executes. Mostpersonal computer operating systemspermit user interaction.
MIT School of Telecom Management
8/6/2019 Software Concept
28/60
28
Capabilities of Operating
Systems (contd.)Virtual memory is supplemental primary
storage (RAM) or real memory where
the programs are too big for primarystorage. It is created on a secondarystorage device, usually the hard drive,
and is generally temporary in nature.
MIT School of Telecom Management
8/6/2019 Software Concept
29/60
29
Capabilities of Operating
Systems (contd.)Virtual memory operating systems
execute large programs by dividing the
program into parts and transferring thenecessary parts of the program fromsecondary storage to primary storage as
needed. The transfer process does not require
any action by the user.
MIT School of Telecom Management
8/6/2019 Software Concept
30/60
30
Personal Computer Common
Operating Systems Microsoft Windows
Microsoft DOS (and others)
IBM OS/2
Apple Mac OS
UNIX Linux
MIT School of Telecom Management
8/6/2019 Software Concept
31/60
31
Multi-User Computer Common
Operating Systems IBM OS/390
Hewlett Packard MPE
(MultiProgramming Executive)
UNIX
Network Operating Systems
Novell Netware
Windows 2000 Server
MIT School of Telecom Management
8/6/2019 Software Concept
32/60
32
Other System Software 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 deviceto another
MIT School of Telecom Management
8/6/2019 Software Concept
33/60
8/6/2019 Software Concept
34/60
34
Software Development
MIT School of Telecom Management
8/6/2019 Software Concept
35/60
35
Programming Language
Concepts What is a programming language?
Why are there so many programming
languages?
How do you select a programminglanguage?
What are the types of programminglanguages?
MIT School of Telecom Management
8/6/2019 Software Concept
36/60
36
What is a Programming
Language English is a natural language. It has
words, symbols and grammatical rules.
A programming language also haswords, symbols and rules of grammar.
The grammatical rules are called syntax.
Each programming language has adifferent set of syntax rules.
MIT School of Telecom Management
8/6/2019 Software Concept
37/60
37
Why Are There So Many
Programming Languages Programming languages have evolved
over time as better ways have been
developed to design them. Different programming languages are
designed for different types ofprograms.
First programs were developed in the1950s.
MIT School of Telecom Management
8/6/2019 Software Concept
38/60
38
How Do You Select a
Programming Language 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
8/6/2019 Software Concept
39/60
39
What Are the Types of
Programming Languages First Generation Languages
Second Generation Languages
Third Generation Languages
Fourth Generation Languages
Fifth Generation Languages
MIT School of Telecom Management
8/6/2019 Software Concept
40/60
40
First Generation Languages 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 canunderstand.
Very efficient code but very difficult to write.
MIT School of Telecom Management
8/6/2019 Software Concept
41/60
41
Second Generation LanguagesAssembly languages
Symbolic operation codes replaced binary
operation codes.Assembly language programs needed to beassembled for execution by the computer.Each assembly language instruction is
translated into one machine languageinstruction.
Very efficient code and easier to write.
MIT School of Telecom Management
8/6/2019 Software Concept
42/60
42
Third Generation Languages Closer to English but included simple
mathematical notation.
Programs written in source code which mustbe translated into machine languageprograms called object code.
The translation of source code to object codeis accomplished by a machine languagesystem program called a compiler.
MIT School of Telecom Management
8/6/2019 Software Concept
43/60
43
Third Generation Languages
(contd.)Alternative to compilation is interpretation
which is accomplished by a system
program called an interpreter. Common third generation languages
FORTRAN
COBOL
C and C++
Visual Basic
MIT School of Telecom Management
8/6/2019 Software Concept
44/60
44
Fourth Generation Languages A high level language (4GL) that requires
fewer instructions to accomplish than a third
generation language. Used with databases
Query languages
Report generators
Forms designers
Application generators
MIT School of Telecom Management
8/6/2019 Software Concept
45/60
45
Fifth Generation Languages Though no clear definition at present,
natural language programs generally
can be interpreted and executed by thecomputer with no other action by theuser than stating their question.
Limited capabilities at present.
MIT School of Telecom Management
8/6/2019 Software Concept
46/60
46
Programming Languages Two broad groups
Traditional programming languages
Sequences of instructions First, second and some third generation
languages
Object-oriented languages
Objects are created rather than sequences ofinstructions
Some third generation, and fourth and fifthgeneration languages
MIT School of Telecom Management
8/6/2019 Software Concept
47/60
47
Traditional Programming
Languages FORTRAN
FORmula TRANslation.
Developed at IBM in the mid-1950s.
Designed for scientific and mathematicalapplications by scientists and engineers.
MIT School of Telecom Management
8/6/2019 Software Concept
48/60
48
Traditional Programming
Languages (contd.) COBOL
COmmon Business Oriented Language.
Developed in 1959.
Designed to be common to many differentcomputers.
Typically used for business applications.
MIT School of Telecom Management
8/6/2019 Software Concept
49/60
49
Traditional Programming
Languages (contd.) BASIC
Beginners All-purpose Symbolic Instruction
Code. Developed at Dartmouth College in mid
1960s.
Developed as a simple language forstudents to write programs with which theycould interact through terminals.
MIT School of Telecom Management
8/6/2019 Software Concept
50/60
50
Traditional Programming
Languages (contd.) C
Developed by Bell Laboratories in the early
1970s. Provides control and efficiency of assembly
language while having third generationlanguage features.
Often used for system programs.
UNIX is written in C.
MIT School of Telecom Management
8/6/2019 Software Concept
51/60
51
Object-Oriented Programming
Languages Smalltalk
First object-oriented language.
Developed by Xerox in mid-1970s.
Still in use on some computers.
MIT School of Telecom Management
8/6/2019 Software Concept
52/60
52
Object-Oriented Programming
Languages (contd.) C++
It is C language with additional features.
Widely used for developing system andapplication software.
Graphical user interfaces can be developed
easily with visual programming tools.
MIT School of Telecom Management
8/6/2019 Software Concept
53/60
53
Special Programming
Languages HTML
HyperText Markup Language.
Used on the Internet and the World WideWeb (WWW).
Web page developer puts brief codes
called tags in the page to indicate how thepage should be formatted.
MIT School of Telecom Management
8/6/2019 Software Concept
54/60
54
Special Programming
Languages (contd.) XML
Extensible Markup Language.
A language for defining other languages.
MIT School of Telecom Management
8/6/2019 Software Concept
55/60
55
Special Programming
Languages (contd.) JAVA
An object-oriented language similar to C++
that allows a web page developer to createprograms for applications, called appletsthat can be used through a browser.
Objective of JAVA developers is that it bemachine, platform and operating systemindependent.
MIT School of Telecom Management
8/6/2019 Software Concept
56/60
56 MIT School of Telecom Management
Translation
Translator
Accepts a program written in a source language andtranslates it to a program in a target language
Compiler
Standard name for a translator whose sourcelanguage is a high-level language
Interpreter A translator that both translates and executes a
source program
8/6/2019 Software Concept
57/60
57
Software Concepts
Key Terms
MIT School of Telecom Management
8/6/2019 Software Concept
58/60
58
Key Terms
Assembler
Assembly Language
BASIC
Booting
Browser
Button
C C++
COBOL
Command
Compiler
Database Software
Dialog Box
Electronic ConferencingSoftware
Electronic MessagingSoftware
FORTRAN
MIT School of Telecom Management
8/6/2019 Software Concept
59/60
59
Key Terms (contd.)
Fourth-GenerationLanguage (4GL)
Graphical User Interface
(GUI)
Graphics Software
Groupware
HTML
Icon
Information SharingSoftware
Interpreter
Java
Menu
Multitasking
Network OperatingSystem (NOS)
Object
MIT School of Telecom Management
8/6/2019 Software Concept
60/60
Key Terms (contd.)
Object-OrientedProgramming
Operating Environment
Page
Programmer
Programming
Programming Language Prompt
Spreadsheet Software
Time-Sharing
User Interface
Utility Program
Virtual Memory
Window
Word Processing
Software XML