60
An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019

An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

An Overview of theField of Computing

John K. Bennett

IWKS 2300 Section 2

Fall 2019

Page 2: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Many computer science book trace the development of computing

hardware and software, referring to different eras as “generations”. This

is not a universally accepted approach, but it does no harm, and

might be a helpful way to think about the topic.

Page 3: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Vacuum TubesRelatively large, failure over time due to heat

Magnetic Drum Memory: cyl. rotated under read/write heads

Card Readers Magnetic Tape DrivesSequential auxiliary storage devices

First Generation Hardware (1951-1959)

Page 4: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

TransistorReplaced vacuum tubes, fast, small, durable, cheap (esp. after silicon transistors)

Magnetic CoresReplaced magnetic drums, information available w/o mechanical access latency

Magnetic DisksReplaced magnetic tape, more reliable, rotational vs. sequential latency

Second Generation Hardware (1959-1965)

Page 5: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Integrated CircuitsReplaced circuit boards with discrete components (transistors, resistors, capacitors, etc.), smaller, cheaper, faster

TransistorsNow used for memory construction

Cathode Ray Tube (CRT) Terminal An input/output device with a keyboard and screen

Third Generation Hardware (1965-1971)

Page 6: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Large-scale IntegrationMove from bi-polar to MOSFET transistors

PCs, the Commercial Market, WorkstationsPersonal Computers and Workstations emerge. New companies emerge: Apple, Sun, Dell …

Portable Computers -> LaptopsAnyone can have a portable computer

4th Gen. Hardware (1971 to ~1985)

Page 7: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

We stopped really counting generations at 4…

Generation 5 is everything else…

Page 8: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Computer Software

Page 9: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

4

Layers of a Computing System:The “Onion” View

Page 10: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

4

Layers of Computing SystemsJKB’s View

Bits

Data

Information

Knowledge

Transistors

Gates

Logic

Architecture

Operating System

Application Program

Middleware SW

HW

Page 11: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Machine Language

Computer programs written in binary (1s & 0s) - Really!

Assembly Language and Assembler

Programs written using mnemonics, which were

translated into machine language. Example:

C= A+B could be represented as:

Load A 1101 0000 0000 0001

Load B 1101 0000 0000 0010

Add 1111 0000 0000 0000

Store C 1110 0000 0000 0011

(Addresses of A, B, and C = “1”, “10”, & “11”)

First Generation Software (~1951 - ~1959)

Page 12: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

High-level Languages and CompilersAllowed programs to be written in more abstract, easier-to-read (by humans) ways. These programs were then translated into assembly language (later, directly into machine code) by the compiler.

Examples of Early High-Level Languages:Fortran (arithmetic functions)COBOL (business data manipulation)Lisp (“functional” PL)ALGOL (closest to modern languages)

Second Generation Software (~1959 - ~1965)

Page 13: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

FORTRAN Example

C AREA OF A TRIANGLE - HERON'S FORMULAC INPUT - CARD READER UNIT 5, INTEGER INPUTC OUTPUT - LINE PRINTER UNIT 6, REAL OUTPUTC INPUT ERROR DISPLAY ERROR OUTPUT CODE 1 IN JOB CONTROL LISTING

INTEGER A,B,CREAD(5,501) A,B,C

501 FORMAT(3I5)IF(A.EQ.0 .OR. B.EQ.0 .OR. C.EQ.0) STOP 1S = (A + B + C) / 2.0AREA = SQRT( S * (S - A) * (S - B) * (S - C) )WRITE(6,601) A,B,C,AREA

601 FORMAT(4H A= ,I5,5H B= ,I5,5H C= ,I5,8H AREA= ,F10.2,12HSQUARE UNITS)STOPEND

Page 14: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Cobol Example$ SET SOURCEFORMAT"FREE"IDENTIFICATION DIVISION.PROGRAM-ID. Multiplier.AUTHOR. John Bennett.* Example program using ACCEPT, DISPLAY and MULTIPLY to * get two single digit numbers from the user and multiply them together

DATA DIVISION.

WORKING-STORAGE SECTION.01 Num1 PIC 9 VALUE ZEROS.01 Num2 PIC 9 VALUE ZEROS.01 Result PIC 99 VALUE ZEROS.

PROCEDURE DIVISION.DISPLAY "Enter first number (1 digit) : " WITH NO ADVANCING.ACCEPT Num1.DISPLAY "Enter second number (1 digit) : " WITH NO ADVANCING.ACCEPT Num2.MULTIPLY Num1 BY Num2 GIVING Result.DISPLAY "Result is = ", Result.STOP RUN.

Page 15: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

COBOL Fibonacci Code (no recursion)IDENTIFICATION DIVISION.

PROGRAM-ID. FIBONACCI.ENVIRONMENT DIVISION.DATA DIVISION.WORKING-STORAGE SECTION.77 N PIC 9(18).77 N1 PIC Z(18).77 M PIC 9(18) VALUE 1.77 O PIC 9(18).77 I PIC 9(4) VALUE 1.77 Q PIC X.PROCEDURE DIVISION.PARA-A.

DISPLAY ( 1 , 1 ) ERASE.DISPLAY ( 2 , 1 ) "FIBONACCI NUMBERS FROM 1

TO 100 ARE:".MOVE 0 TO N.DISPLAY " ".DISPLAY 0.DISPLAY 1.MOVE 0 TO O.

PARA-B.

COMPUTE N = O + M.MOVE N TO N1.MOVE M TO O.MOVE N TO M.DISPLAY N1.ADD 1 TO I.IF I = 21

DISPLAY "PRESS TAB KEY TO VIEW NEXT PAGE."ACCEPT Q.

IF I = 41DISPLAY "PRESS TAB KEY TO VIEW NEXT PAGE."ACCEPT Q.

IF I = 61DISPLAY "PRESS TAB KEY TO VIEW NEXT PAGE."ACCEPT Q.

IF I = 81DISPLAY "PRESS TAB KEY TO VIEW NEXT PAGE."ACCEPT Q.

IF I = 99GO TO STOP-PARA

ELSEGO TO PARA-B.

STOP-PARA.DISPLAY " ".STOP RUN.

Page 16: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Lisp Example

(defun fibonacci (N)"Compute the N'th Fibonacci number."(if (or (zerop N) (= N 1))

1(+ (fibonacci (- N 1)) (fibonacci (- N 2)))))

Page 17: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

ALGOL Example

procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);value n, m; array a; integer n, m, i, k; real y;

comment The absolute greatest element of the matrix a, of sizen by m is transferred to y, and the subscripts of this elementto i and k;begin integer p, q;

y := 0; i := k := 1;for p:=1 step 1 until n dofor q:=1 step 1 until m do

if abs(a[p, q]) > y thenbegin y := abs(a[p, q]);i := p; k := qend

end Absmax

Page 18: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

APL Programming Example

The following APL expression finds all prime numbers from 1 to R.

(~R∊R∘.×R)/R←1↓ιR

This example demonstrates why APL is sometimes called a “write-once” programming language.

Page 19: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Third Generation Software (~1965 - ~1971)

“Systems” Software becomes prevalent

• Utility programs

• Language translators

• Operating system, which provides an abstraction of the underlying hardware, and performs scheduling

Emergence of computer use by non-programmers (i.e., “users”)

Computer programmers write programs to be used by general public

Page 20: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Structured Programming Languages; Examples:Pascal CC++Python

New Application Software for UsersSpreadsheets Word processors Database management systemsGAMES

Fourth Generation Software (~1971 - ~1989)

Page 21: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Pascal Code Exampleprogram fibonacci; var

result : longint;num,i, error: integer;strnum: string;

function fib(n : integer) : longint;begin

if n <= 2 then fib := 1else fib := fib(n-2) + fib(n-1);

end;

beginif ParamCount = 1 thenbegin

val (ParamStr(1), num, error);end;for i := 1 to num do

begin write (The next Fibonacci number is : ');writeln fib(i);end;

end;end.

Page 22: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

C Example

int fibonacci(int n) {

if (n <= 1) return n;else return fibonacci(n-1) + fibonacci(n-2);

}

#include<stdio.h> int main( int argc, char *argv[] )) {

int n = argv[0];for (int i = 1; i <= n; i++)

printf(“The next Fibonacci number is %d\n", fib(i));}

Page 23: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

C++ Exampleint fibonacci(int n){if (n <= 1) return n;else return fibonacci(n-1) + fibonacci(n-2);}

#include <stdio.h>int main(int argc, char* argv[])) {

int n = argv[0];for (int i = 1; i <= n; i++)

cout << " (“The next Fibonacci number is " << fib(i) << “\n”);}

Page 24: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Python 3.x Example

## Python program to display the nth Fibonacci number using recursiondef fib(n):## Recursive function to compute Fn, the nth Fibonacci number

if n <= 1:return n

else:return(fib(n-1) + fib(n-2))

## User Inputnum = int ( input("What Fibonacci number would you like to print? "))

## Input must be > 0 (to be valid) and < 31 (to limit recursion)if ((num < 0) or (num > 30)):

print ("Please enter a positive integer less than 31")else:

print (f "The Fibonacci number of {num} is {fib(num)}.")

Page 25: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Apple and MicrosoftWindows-based, mouse-driven operating systems and applicationsMicrosoft SW dominates market until 2005 or so

Object-Oriented DesignBased on a hierarchy of abstractionExamples: Smalltalk, C#,Java

World Wide WebUbiquitous global communication via Internet

UsersNo programming ability assumed (my mother)

Fifth Generation Software (1990- present)

Page 26: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Smalltalk Code Example

fib^ self < 2

ifTrue: [ 1 ]ifFalse: [ (self - 2) fib + (self - 1) fib ]

Page 27: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Java Code Examplepublic class Fibonacci {

public static long fib(int n) {if (n <= 1) return n;else return fib(n-1) + fib(n-2);

}

public static void main(String[] args) {int n = Integer.parseInt(args[0]);for (int i = 1; i <= n; i++)

StdOut.println(“The next Fibonacci number is " + fib(i) + “\n”);}

}

Page 28: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

C# Code Example// Recursively computes a Fibonacci numberfloat fib(int num){

float result;if (num==1)

result=0;else{

if (num==2)result=1;

elseresult=fib(num-1)+fib(num-2);

}return result;

}

Page 29: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Mobile Devices and Applications

This is the big game changer. Why?

Page 30: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Mobile Devices: We’re Past the Tipping Point

Page 31: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

How Do We Access Digital Media?

Page 32: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Detailed Comparison of Mobile Operating Systems

https://en.wikipedia.org/wiki/Comparison_of_mobile_operating_systems

.2%

Everybody Else

Page 33: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Mobile Cybersecurity is a Big Deal

ZDNet - By Ellyne Phneah | March 26, 2013 -- 10:34 GMT (03:34 PDT) | Topic: Security

Page 34: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Programmer / User

Applications Programmer(uses tools)

User with No

Computer Background

Systems Programmer(builds tools)

Domain-Specific Programs (apps)

Computing as a Tool

Page 35: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

21

Computing as a Discipline

Computer Science is a richly diverse field of endeavor

Useful traits and skills (software-centric view)

– Algorithmic thinking (solution planning)

– Representation (how to represent problem context)

– Programming (clearly express 1&2)

– Design (making end result artistically pleasing)

Page 36: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Systems Areas of Computer Science

• Algorithms and Data Structures

• Programming Languages

• Architecture

• Operating Systems

• Software Design and Engineering

• Human-Computer Communication

• Computer-Computer Communication

Page 37: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Application Areas of Computer Science

• Numerical Computation

• Symbolic Computation

• Databases and Information Retrieval

• Artificial Intelligence and Robotics

• Graphics

• Gaming (in the broadest sense)

• Organizational Informatics

• Bioinformatics

Page 38: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Abstraction as an Underlying Principle

Page 39: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

5

A “black-box” view that masks lower-level complexity, typically for the purpose of simplifying the interface to that complexity

Abstraction will show up throughout the course.

What is an Abstraction?

Page 40: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

“Low-level” View

Page 41: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

An Abstraction of that View

Page 42: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Let’s Talk About the Internet

Page 43: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

What is the Internet?

• A network of networks, joining many government, university and private computers together and providing an infrastructure for the use of E-mail, bulletin boards, file archives, hypertext documents, databases and other computational resources

• The creation of the Internet solved the following challenges:– Basically inventing digital networking as we know it

– Survivability of an infrastructure to send / receive high-speed electronic messages

– Reliability of computer messaging

Page 44: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Origins of the Internet

• 1945: Memex Conceived by Vannevar Bush– We can access information using electronic

computers.

• 1948: Claude Shannon publishes A Mathematical Theory of Communication– We can do this reliably by sending and receiving

“bits.”

• 1958: First Silicon IC (Texas Instruments)– We can do it cheaply by using circuits etched in

silicon.

Page 45: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Origins of the Internet

• 1962: First published concept of a network of computers

– We can envision a vast network of computers used for accessing information and exchanging ideas.

• 1964: Packet switching developed

– We can send digitized data though computer networks in “packets.”

• 1965: Hypertext developed

– Hypertext can be used to allow rapid access to text data.

Page 46: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Internet: The Sixties • 1962: J. C. R. Licklider, of Bolt, Beranek and Newman (BBN),

published memoranda discussing his concept for an “Intergalactic Computer Network.”

• 1966: First experiments in digital packet switched technology.

• 1968: DARPA (Defense Advanced Research Projects Agency) issues RFQ (request for quote) for IMPs (Interface Message Processors) to 140 potential bidders. Only 12 responded (AT&T says it will never work and does not bid).

• 1969 - BBN is awarded the contract to create ARPANET.

Page 47: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Internet: The Seventies

• 1970 - First five nodes on ARPANET: – UCLA– Stanford– UC Santa Barbara– U of Utah, and – BBN

• 1974: TCP specification developed by Cerf and Kahn• 1975: AlohaNet at the University of Hawaii• 1975: ARPANET has 100 hosts; operational responsibility

passed to DCA.• 1976: Metcalfe and Boggs (Xerox PARC) publish seminal

Ethernet paper in CACM (3MB; based upon cheap cable TV technology)

• 1977: 4-network demonstration of ARPANET, SATNET, Ethernet, and PRnet.

Page 48: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Entire Internet (circa 1977)

Page 49: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Internet: The Eighties• 1980: Design of TCP/IP completed.

• 1983: Conversion to TCP/IP completed; "gateways" and "routers" allow full inter-networking (ARPANET becomes a "network of networks"). Roughly 500 hosts.

• 1983: Stanford University Network computers licensed to ~10 companies, one of which became successful.

• 1983: DARPA contracts with Berkeley to include networking protocols in BSD Unix.

• 1988: ARPANET becomes NSFNET; regional networks established; backbone speed 56Kbps. Roughly 100,000 hosts and 200 networks.

Page 50: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

The Internet: The Nineties• 1989: CNRI interconnects MCImail to the Internet (a wise

policy choice). • 1989: CERN (European Organization for Nuclear Research)

is the largest Internet node in Europe.• 1990: Tim Berners-Lee, working as a CERN Fellow, joins

hypertext with the Internet to create the World Wide Web and the first web browser.

• 1990: Backbone speed increased to 1.5Mbps by IBM and MCI. Roughly 250,000 hosts, 1,500 networks.

• 1992: Mosaic web browser was developed at the National Center for Supercomputing Applications (NCSA) at the University of Illinois Urbana-Champaign. Released in 1993, Mosaic stimulates explosive growth of the WWW.

• 1995: Full commercialization, at 45Mbps. Roughly 6,000,000 hosts and 50,000 networks.

• The Internet is discovered by business...

Page 51: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

AOL, CompuServe, Prodigy, MSN, and AT&T discover the Internet...

Page 52: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Growth in Number of Internet Hosts: 1969 - 1999

Source: Matrix Information and Directory Services, Inc. (MIDS)

Page 53: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

1

10

100

1000

10000

100000

1000000

10000000

100000000

1000000000

10000000000

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

Number of Internet Hosts

World Population

Page 54: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

1969-2017

Page 55: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Internet Live Stats12:12 PM Sept. 2, 2019

http://www.internetlivestats.com/

Page 56: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Internet Penetration (2019)

Page 57: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Internet Users in the Worldby Geographic Region – June 2019

Page 58: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

Internet Users per 100 Inhabitants

Page 59: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

What is “The Internet of Things” (IoT)

• The network of physical objects, animals and people that are provided with unique identifiers and embedded with electronics, software, sensors, and connectivity to enable the unattended exchange of information over the Internet.

• IoT market size estimated to exceed $7 Trillionby 2020

• also called “Internet of Everything”

• also kind of creepy…

• Take IWKS 4120 next semester to learn more

Page 60: An Overview of the Field of Computing - inworks.ucdenver.edu · An Overview of the Field of Computing John K. Bennett IWKS 2300 Section 2 Fall 2019. Many computer science book trace

IOT Growth Estimates