Professional Skills in Computer Science Lecture 3: Historical Aspects of Computing

Professional Skills in Computer Science Lecture 3: Historical Aspects of Computing Ullrich Hustadt Department of Computer Science School of Electrica...
Author: Scott Fleming
0 downloads 0 Views 848KB Size
Professional Skills in Computer Science Lecture 3: Historical Aspects of Computing

Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 1

Further milestones The Future

Contents

1

Further milestones

2

The Future Fundamental questions Model-View-Controller

Relevant learning outcome: 1

Ability to describe and discuss economic, historic, organisational, research, and social aspects of computing as a discipline and computing in practice;

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 2

Further milestones The Future

What have computers been used for? (Summary) • 1600 – now: Calculation

Manipulation of numbers • 1960 – now: Information Processing

Manipulation of numbers, text, images, audio, video • 1960 – now: Cognition (Reasoning)

Manipulation of knowledge via reasoning / inference • 1970 – now: Interaction

Allowing people to communicate, cooperate, compete • 1970 – now: Automation

Computer-controlled machines and robots Hypotheses: • The wave of innovation in the 60s and 70s is due to the increased

availability of computing resources to more and more researchers • Leadership is mostly due to early exposure to state-of-the-art systems

and due to hard work Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 3

Further milestones The Future

What have computers been used for?

What important milestones in the development and use of computers were not covered so far? Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 4

Further milestones The Future

Programmable general-purpose computers • 1837: Babbage’s Analytical Engine

Capable of base-10 fixed-point arithmetic, Capable of conditional branching and loops Programmable via punched cards Turing complete! Construction was never completed! No direct connection to later computers!

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 5

Further milestones The Future

Personal computers • 1981: IBM PC 5150

Intel 8088 processor 256 kB max main memory Microsoft DOS 1.0 OS 5 1/4” Floppy disk (hard drive added in 1983) CGA graphics (16 colours)

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 6

Further milestones The Future

Smartphones The introduction of personal computers in 1981 was the last big leap in widening access to computational devices before the introduction of mobile phone and smart phones • 1991: First GSM (digital cellular) network launched in Finland • 1992: IBM Simon Personal Communicator

Combines mobile phone with PDA Screen can be operated by stylus E-mail support Can run third-party programs • 1996: Nokia 9000 Communicator

Adds text-based web browser

• 2012: 1.2bn smartphones versus 1.2bn PCs (7bn world population) Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 7

Further milestones The Future

NLS • 1968: The Mother of All Demos:

(Douglas Engelbart, SRI)

NLS “oN-Line System” A ‘networked’ computer system with GUI, off-line mode, e-mail, collaborative word processing, hypertext, video conferencing and mouse is demonstrated (The picture shows one of several terminals connected to a mainframe computer; during the demo a telephone line was used to establish the connection) Videos of the demo are available at http://www.youtube.com/watch?v=JfIgzSoTMOs (Skip the first two videos) Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 8

Further milestones The Future

How long did it take for PCs to catch up? • 1981: IBM PC 5150 • 1983: Apple Lisa

First PC with a graphical user interface • 1985: Microsoft Windows 1.0 • 1987: HyperCard

Hypermedia system for Mac OS • 1988: HyperStudio HyperCard clone for MS Windows • 1991: Instant Update Collaborative editor for Mac OS • 1992: CU-SeeMe Video Conferencing It took about 25 years to get from NLS to a PC with similar functionality ; there could be devices and software currently in development in research labs that will be commonplace in 25 years Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 9

Further milestones The Future

Fundamental questions Model-View-Controller

The Future (1) The future is already here — it’s just not very evenly distributed. (William F. Gibson; “The Science in Science Fiction” on Talk of the Nation, NPR, 30 November 1999, Timecode 11:55) Meaning: If you were to visit the most technologically advanced places on Earth right now, then you would see what the future holds for less advanced places Tom Thomas, screenplay, Lee Madden, director. 1999 A. D. Released ca. 1967. https://archive.org/details/Year1999Ad Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 10

Further milestones The Future

Fundamental questions Model-View-Controller

Fundamental questions Developers of devices and software have to consider a wide range of questions including: • Where can or should computations take place? • Where can or should data be stored? • How fast can data be transferred/communicated? • What is the cost of data storage/computations/communication? • How robustly/securely can computations be done? • How robustly/securely can data be stored? • How robustly/securely can data be transferred/communicated? • How much enery is available to support data

storage/computations/communication? • How small/light can a device be made? • How much does a device cost to produce? • What is the legality of data storage/computations/communications? Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 11

Further milestones The Future

Fundamental questions Model-View-Controller

Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and

data • The view renders the model into a form

suitable for interaction • The controller receives user input and

translates it into instructions for the model 1

Where should the view be rendered? • On the user’s computer • On a central server (farm) possibly shared by a multitude of users

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 12

Further milestones The Future

Fundamental questions Model-View-Controller

Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and

data • The view renders the model into a form

suitable for interaction • The controller receives user input and

translates it into instructions for the model 2

Where should the behaviour of the model be computed? • Close to the user,

on a single computer exclusively used by the user • Away from the user,

on a central server (farm) shared by a multitude of users • Distributed,

on several computers owned by a large group of users Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 13

Further milestones The Future

Fundamental questions Model-View-Controller

Fundamental questions We use the Model-View-Controller software design pattern to discuss some of these questions in more detail: • The model manages the behaviour and data • The view renders the model into a form

suitable for interaction • The controller receives user input and

translates it into instructions for the model 3

Where should the data for the model be held? • Close to the user,

on a single computer exclusively used by the user • Away from the user,

on a central server (farm) shared by a multitude of users • Distributed,

on several computers owned by a large group of users Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 14

Further milestones The Future

Fundamental questions Model-View-Controller

Fundamental questions • The answers to these questions will depend on • the domain in which the question is posed • available technology • available resources

• The answers to these questions change over time • We may go back and forth between the various answers • The reason for that is not purely technological • economic factors • legal factors

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 15

Further milestones The Future

Fundamental questions Model-View-Controller

Thin clients, fat clients and cloud clients • 1978: DEC VT100

Intel 8080 processor 3 kb main memory Monochrome graphics Like NLS, this is a terminal connected to a mainframe computer via serial lines • 2011: Google Chromebook Intel Atom processor 2GB main memory 16GB SSD Web-based applications In effect the Chromebook is a ’terminal’ connected to Google’s servers and others via a wireless network Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 16

Further milestones The Future

Fundamental questions Model-View-Controller

Thin clients, fat clients and cloud clients • The Google Chromebook is more advanced than the DEC VT100 in

(almost) every aspect ; we are not going around in circles, we always advance technologically ; but the possible answers to the fundamental questions stay the same • Thin clients never went away,

there were always thin clients using the latest technology, but their prevalence was greatly diminished by the Personal Computer ; there were always people believing that thin clients would be the future ; technological advancement in itself is not a good indicator for what the future holds Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 17

Further milestones The Future

Fundamental questions Model-View-Controller

The Future (2)

All the futures are already here — we just don’t know which one is ours.

Meaning: If you were to visit the most technologically advanced places on Earth right now, then you would see competing visions of the future, but you do not know which one will spread to the rest of the world

Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 18

Further milestones The Future

Fundamental questions Model-View-Controller

Good and Evil Remember: - The Computer is a tool - As such it can be used for good as well as evil purposes Good (e.g. Enabling collaboration that benefits society) • Using collaborative editing to write the manifesto of a political party (Pirate Party) • Using social networking to get comments on a new constitution (Iceland) • Using social networking to co-ordinate an uprising (Arab countries) Evil (e.g. Restricting or endangering civil liberties) • Surveillance (not only by the authorities but also by companies) (http://www.zeit.de/datenschutz/malte-spitz-data-retention) • Mandatory internet filters run by government • Using social networking to organise a riot Ullrich Hustadt

COMP110 Professional Skills in Computer Science

L3 – 19