Notes
Outline
Operating Systems
Initially short pieces of code to direct output to a printer or accept input from a card reader.
Then background programs to handle requests from multiple terminals and run multiple programs.
Operating Systems
Now-
Device control
File maintenance (creation, deletion, naming, grouping, transfer to and from disk)
Multitasking
Time Share (on larger machines)
Interface/presentation efforts (GUI)
Security
Operating Systems
Major Examples
MS-DOS
Windows
MacOS
UNIX
Linux
Graphical User Interface
1975 Developed by XEROX Palo Alto Research Center (PARC).  Includes icons, pull down menus, and a mouse.
1980 – Steven Jobs visits XEROX PARC and sees their GUI
1983 – Apple uses GUI in LISA
1985 – Apple uses GUI in Mac
1990 – Microsoft uses GUI in Windows 3.0
Application Software
Application Software - Computer programs that perform work for a user
Initially written by users
Language Generations
Machine Language – 1s and 0s
Assembler – short commands
Procedural Languages – longer variable names, more commands
4th Generation Languages – database retrieval
5th generation – Japanese natural language project
Programming Languages
Common Elements of all languages:
Stored program concept
Flow of control
Sequence
Selection
Iteration
Subroutine
Programming Languages
Assembler Example:
Pascal: J:= K + M
Assembler Equivalent:
mov ax, K
add ax, M
mov J, ax
Programming Languages
Another Assembler Example:
Pascal:  J := K + M + N + P
Assembler Equivalent:
mov ax, K
add ax, M
add ax, N
add ax, P
mov J, ax
Programming Languages
Pascal Example:
Readln(hrs);
If hrs > 40
THEN grosspay := hrrate*40 + (hrs-40)*1.5*hrrate
ELSE grosspay:= hrs * hrrate;
Writeln(‘Gross pay was “,grosspay);
4GL
SQL Example –
Select Nation, patents, exports, schooling
From TAI
Where patents > 100;
Software Packages
Dan Bricklin’s VISICALC
1978 - Harvard MBA student
Created a “spreadsheet”
Ran on Apple II computers
Little initial interest
Became software “tail” wagging the “hardware “dog” (or “hardware drag”)
Software Packages
Branched out into VisiDex, Visigragh
Hired Mitch Kapor to program Visigraph
Kapor used pay and experience to create Lotus-1-2-3
Visicalc was not patented (software patents were not legal until 1981)
Visicalc sold to Lotus in 1985
      and discontinued