Introduction: Information Technology and Context
Download
Report
Transcript Introduction: Information Technology and Context
INFM 603: Session 1
Information Technology and
Organizational Context
Paul Jacobs
The iSchool
University of Maryland
Thursday, Sept. 1, 2016
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States
See http://creativecommons.org/licenses/by-nc-sa/3.0/us/ for details
Today’s Topics
Overview of course
History and physical infrastructure of computing
Course administration
Introduction to Internet infrastructure
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Course Overview
Fundamentals of Information Technology
IT in the Organizational Context
How the Internet and World Wide Web Work
Introduction to Programming
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Basics of Internet architecture
Creating pages: HTML/CSS and tools
Object-oriented principles and design
Client-side example: Javascript
Server-side example: PHP
Data and Content Management Issues
Putting IT all Together
iSchool
Why Do You Need this Class?
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
A Brief History of
Computing
…and why we care
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
Source: Wikipedia
iSchool
What Story Does This Tell?
Certain fundamentals remain the same
What’s changed?
Course overview
Physical
infrastructure
Course
administration
Digital representations and computations
Basics of computing and computer architecture
Devices are much, much smaller and faster (Moore’s
Law, more to come later)
Computing is ubiquitous
“The network is the computer” – more and more
bandwidth limiting
Layers, environments, virtualization, encapsulation
(hiding of complexity)
Intro to the
Web/HTML
iSchool
Fundamentals
The digital computer is the first and only
significant machine whose functionality is
determined after manufacture.
… by software later.
This versatility is achieved by representing or
approximating information and logic in the
language of digital computers (binary data)
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Information, data, and life
wisdom
Course overview
knowledge
Physical
infrastructure
information
Course
administration
Intro to the
Web/HTML
data
data
iSchool
Examples – How We Use Data
Data
Information
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
“The letter ‘A’ ”
My bank balance
Knowledge
Course overview
1000001
“When you make a withdrawal, you subtract the
withdrawal amount from your account balance”
“A person’s age must be lower than that of his/her
biological mother”
Wisdom
“Neither a borrower nor a lender be”
“Spend less than thou earnst”
iSchool
Data
A bit is an entity that takes the values “0” or “1”;
the smallest piece of digital information
Data is a collection of bits, such as
Course overview
Physical
infrastructure
“0101110111010110”
“0000011”
“111011101011010110101111011011010”
Note: the terms data and information are not
always used consistently!
Course
administration
Intro to the
Web/HTML
iSchool
Information
From a user (human) perspective…
….recognizable patterns that influence you in some way
(perspective, understanding, behavior…)
Course overview
Physical
infrastructure
In the computing infrastructure, information has a
somewhat different connotation as structure and
interpretation added to data
The ability to ascribe meaning to data is often
called representation
Course
administration
Intro to the
Web/HTML
iSchool
Representation Example
How do we represent the state “Alabama” in a
database (i.e., in a computer)?
Course overview
Physical
infrastructure
A unique code based on the alphabetical sequence of
states? (e.g., “000001”; Wyoming would be “110010”)
A 2-letter code based on standard (e.g., Post Office)
abbreviations (“AL” would be “0100000101001100”;
“WY” would be “0101011101011001”)
Just the coded sequence of characters in “Alabama”
(e.g. “01000001010011000100000101000010….) [it’s
56 bits long]
Course
administration
Intro to the
Web/HTML
Wait – why is everything zeros and ones?
iSchool
ASCII Representation
Course overview
Physical
infrastructure
Alphabet
Hex
Octal
HTML
Binary
<7>
\x37
\67
7
00110111
<8>
\x38
\70
8
00111000
<9>
\x39
\71
9
00111001
<:>
\x3A
\72
:
00111010
<;>
\x3B
\73
;
00111011
<<>
\x3C
\74
<
00111100
<=>
\x3D
\75
=
00111101
<>>
\x3E
\76
>
00111110
<?>
\x3F
\77
?
00111111
<@>
\x40
\100
@
01000000
<A>
\x41
\101
A
01000001
Course
administration
<B>
\x42
\102
B
01000010
Intro to the
Web/HTML
<C>
\x43
\103
C
01000011
<D>
\x44
\104
D
01000100
Interpretation
Data
iSchool
Picture Representation (e.g., GIF or JPG)
Expanding a small portion of the
picture, we see that it is
represented by square pixels….
….300 tall by 200 wide…..
….with a range of 256 intensities
per pixel.
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
An approximation!
300 • 200 • 8 bits = 480,000 bits (but it can be compressed.)
iSchool
How a Digital Computer Works
Program
counter
Program code
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Binary instructions Interpretation Effect
00110111
Load a register
Get deposit
amt.
10111000
…
00111111
…
00111010
…
10001001
Add two registers
00111100
…
00101101
…
Add to account
00111110
…
balance
00111111
Store the result
01000000
…
01011001
…
01000010
…
01011011
…
01000100
…
Program memory (data)
Binary data
00110111
10111000
00111111
00111010
10001001
00111100
00101101
00111110
00111111
01000000
01011001
01000010
01011011
01000100
Type
…
ASCII chars
…
…
integer
…
…
…
integer
…
…
…
…
…
Structure
iSchool
Interpretation
Name
Account #
Balance
Rough Computer Organization
Processor
Course overview
Physical
infrastructure
Course
administration
Network
Intro to the
Web/HTML
iSchool
Memory
Rough Computer Architecture
Keyboard
Sound
Card
Video
Card
Mouse
Input
Controller
System Bus
Front Side Bus
Course overview
Physical
infrastructure
Course
administration
L2
CPU
L1
RAM
Hard
Drive
CD/
DVD
Cache
Intro to the
Web/HTML
Motherboard
iSchool
USB Port
Why computers work as well as
they do
Moore’s Law, and the power of brute force
Ability to build on what’s been done before
Ability to hide information
Introducing:
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
abstraction (of data and program) and
encapsulation (hiding complexity)
modularity (separating building blocks by
function) also reuse
layering (building more powerful capabilities
on top of existing blocks)
iSchool
Moore’s Law
Processing speed doubles every 18 months
Cost/bit for RAM drops 50% every 12 months
Less need for “virtual memory”
Cost/bit for disk drops 50% every 12 months
Course overview
Physical
infrastructure
Faster CPU, longer words, larger cache, more cores
But transfer rates don’t improve much
Course
administration
Intro to the
Web/HTML
iSchool
iSchool
What’s that?
iSchool
Units of (Memory) Size
Unit
Abbreviation
Size (bytes)
bit
b
1/8
byte
B
1
kilobyte
KB
210 = 1024
megabyte
MB
220 = 1,048,576
Course overview
gigabyte
GB
230 = 1,073,741,824
Physical
infrastructure
terabyte
TB
240 = 1,099,511,627,776
Course
administration
petabyte
PB
250 = 1,125,899,906,842,624
Intro to the
Web/HTML
iSchool
Frequency
Unit
Abbreviation Cycles per second
hertz
kilohertz
megahertz
gigahertz
Hz
KHz
MHz
GHz
1
103 = 1,000
106 = 1,000,000
109 = 1,000,000,000
Time
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Unit
Abbreviation
Duration (seconds)
second
sec/s
1
millisecond
microsecond
nanosecond
picosecond
ms
10-3 = 1/1,000
10-6 = 1/1,000,000
10-9 = 1/1,000,000,000
10-12 = 1/1,000,000,000,000
ms
ns
ps
iSchool
Some Memory Tradeoffs
Type
Speed
Size
Cost
Registers
~300 ps
256 B
Very
expensive
Cache
~1 ns
4 MB
Expensive
Course overview
RAM
~10 ns
1 GB
Cheap
Physical
infrastructure
Hard drive
~10 ms
100 GB
Very
cheap
Course
administration
Intro to the
Web/HTML
iSchool
Why Do We Care?
From a user/business point of view, everything revolves
around applications (software and systems that help to get
something done)
Course overview
Physical
infrastructure
The evolution of computing (e.g., Moore’s Law, the Internet
and Web, and ubiquitous computing) has enabled and
transformed applications
Evolving infrastructure changes the cost, management, and
practicality of applications
Course
administration
Intro to the
Web/HTML
Commerce (esp. buying and selling things)
Customer management/communications
“Supply chain” (helping to build/move things)
Zillions of others (news, learning, navigation, social and
community, etc., etc.)
iSchool
Big software companies 10
years ago ($’s in 1000s)
Company
Microsoft Corp.
Oracle Corp.
SAP AG
First Data Corp.
Automatic Data Processing Inc.
Fiserv Inc.
CA, Inc.
Symantec Corp.
Amdocs Ltd.
Infosys Technologies Ltd.
Adobe Systems Inc.
IMS Health Inc.
BMC Software Inc.
Total System Services Inc.
McAfee Inc.
Citrix Systems, Inc.
Cognizant Technology
Revenue
($mm)
Revenue
($mm)
CY 2004
CY 2005
$38,474.00 $41,359.00
$10,557.00 $12,888.00
$10,135.99 $9,955.35
$9,338.20 $9,932.80
$7,644.46 $8,402.10
$3,729.75 $4,059.48
$3,537.00 $3,746.00
$2,426.61 $3,617.51
$1,814.97 $2,156.12
$1,440.00 $2,014.00
$1,666.58 $1,966.32
$1,569.05 $1,754.79
$1,468.00 $1,485.60
$956.62 $1,289.79
$910.54
$987.30
$741.16
$908.72
$586.67
$885.83
Growth%
YOY
Revenue
7.50%
22.10%
-1.80%
6.40%
9.90%
8.80%
5.90%
49.10%
18.80%
39.90%
18.00%
11.80%
1.20%
34.80%
8.40%
22.60%
51.00%
iSchool
Big software companies 2
years ago ($’s in 1000s)
$62,000.00
$28,700.00
$28,700.00
$16,900.00
$6,400.00
$5,400.00
$5,000.00
$4,200.00
$4,300.00
$2,900.00
$65,700.00
$29,600.00
$29,100.00
$18,500.00
$6,400.00
$5,600.00
$4,900.00
$4,800.00
$4,200.00
$3,800.00
YOY
Revenue
6.00%
3.40%
1.40%
9.50%
-0.80%
4.90%
-2.70%
14.10%
-2.60%
33.30%
$506.47
$685.55
35.40%
CY 2012
Microsoft Corp.
Oracle Corp.
IBM
SAP AG
Symantec Corp.
EMC
HP
VMWare
CA, Inc.
Salesforce.com
Mercury Interactive Corp.
CY 2013
iSchool
Course
Administration and
Logistics
Course Administration and Logistics
General expectations
Requirements
Grading
Other
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
What you can expect from me
Practical focus
Desire that everyone should succeed
Course overview
If it’s not useful, we won’t worry about it too much
Emphasis on concepts
Consideration for how it’s done in the “real world”
Set clear and concrete objectives where possible
Work together to learn/to achieve goals
Listen and respond to questions/objections, flexibility
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
What I’ll expect from you
Preparation
Participation
Course overview
Physical
infrastructure
Course
administration
Do readings
Turn in work on time
“Fill in the blanks”
Bring a computer to class and be ready to try things
Ask when things are unclear
Give examples/tell stories
Help with programmatics
Honesty across the board
Intro to the
Web/HTML
iSchool
Teaching Philosophy
Emphasis on users
Emphasis on synthesis
… mirroring real-life case studies
Emphasis on group work
Course overview
Physical
infrastructure
… not rote learning
Emphasis on projects
… but with a grounding in technology
… but individual competence must be demonstrated
Course
administration
Intro to the
Web/HTML
iSchool
Major Course Components
In class sessions and discussion (ungraded)
Homework assignments
Design projects
Final project and presentation
Final exam
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Exam questions/notional example (1)
1. In the early days of computers,
a)
b)
c)
d)
computers did not do binary arithmetic
machines of comparable power were less expensive than they are today,
because inflation has made them more costly over the years
a computer could run only a single program at a time
programmers entered all their programs by typing long sequences of “0” or “1”
on a cathode ray screen.
2. Moore’s Law tells us that computers will continue to become more powerful because
a)
b)
c)
Course overview
Physical
infrastructure
d)
programmers are better educated
modularity and decomposition make progress faster
more people are using them
there will continue to be advances in the underlying technology, circuits and
other hardware that makes them smaller, faster, and more economical
Course
administration
Intro to the
Web/HTML
iSchool
Exam questions/notional example (2)
Match the concepts on the left with descriptions
on the right:
21. Encapsulation
22. Decomposition
23. Abstraction
Course overview
Physical
infrastructure
24. Layering
25. Modularity
Course
administration
Intro to the
Web/HTML
26. Reuse
a. A representation of a complex entity that
simplifies the entity, capturing only what an
application might need for a certain use
b. The ability to adapt components of
applications to new applications
c. Dividing a complex application into
functional units
d. A representation of a complex entity that
simplifies the entity, capturing only the
interfaces needed to make use of that entity
e. Designing and/or building a complex
application by “divide and conquer”, breaking a
task into smaller and more manageable subtasks
f. Achieving broader and more complex
functionality in applications by taking
advantage of standards, infrastructure, and
simpler modules
iSchool
Course Themes
Design
Technology
Principles of information technology
Constraints on what is possible
How to do it, building on what’s available
Processes
Course overview
Physical
infrastructure
Figuring out what to build
Actually building it
Figuring out if you’ve done it right
Course
administration
Intro to the
Web/HTML
iSchool
Focus on Group Work
Why? You rarely work alone in the real world
Three is the best number, but we’ll have groups
of 4-5
Advice:
Course overview
Physical
infrastructure
Coordination takes more effort than you expect
Plan first
Take advantage of individual strengths
Use collaborative technologies: don’t let distance be a
hindrance or excuse
Course
administration
Intro to the
Web/HTML
iSchool
Course Logistics
This course has been taught many times before, but it’s
rapidly changing
Check the course homepage often
terpconnect.umd.edu/~psjacobs/INFM603_f16.htm
Powerpoint slides will be on-line Wednesday (at the latest)
Typical class structure
Course overview
Physical
infrastructure
Course
administration
1.5 hour session
Short break
Logistics/administration
One hour session
Email me: I’m available by appointment
Intro to the
Web/HTML
iSchool
How the Internet and
WWW Work
Intro to the Web
Basics of Internet architecture
Applications are built on top of this architecture
Course overview
Physical
infrastructure
Course
administration
Building blocks
Servers and addresses
How computers communicate data: TCP/IP and HTTP
Role of data representation: HTML and XML
Web browsers (built from the start on TCP/IP, HTTP,
and HTML) and web clients (built on Web browsers,
with Java, Javascript, AJAX, etc.)
“Cloud-based” applications and interfaces (Amazon,
webmail, etc.)
Intro to the
Web/HTML
iSchool
Some building blocks
Application software
Data
User
Infrastructure software
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Desktop
computer
(Client)
Local-area
network
Server
Global
network
(Internet)
iSchool
Client
Web
browser
Web
server
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Application
logic
Databases
and DBMS
Application partition
iSchool
Common
gateway
interface
IP Addresses
Every “node” (e.g., host, router, device) is
identified by an “Internet Protocol” (IP) address
32 bit number, divided into four “octets” (8 bits
expressed as a decimal):
128.8.11.33
216.239.39.99
199.181.132.250
Course overview
Physical
infrastructure
Examples: point your browser at http://54.84.241.99/
Type “IP address” into Google
Course
administration
Intro to the
Web/HTML
Note: This is IPv4, IPv6 has 128-bit addresses,
like: FE80:0000:0000:0000:0202:B3FF:FE1E:8329
iSchool
An Internet Protocol (IP)
Address
Identifies a network
IP address:
54.84.241.99
Identifies a specific computer
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Dynamic IP Addresses
Dynamic Host Configuration Protocol (DHCP)
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
iSchool
Networks of Networks
Local Area Networks (LAN)
Wide Area Networks (WAN)
Course overview
Connections within a room, or perhaps a building
Provide connections between LANs
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Internet
Collection of WANs across multiple organizations
iSchool
The Internet
Global collection of public “IP” networks
Independent
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Private networks are often called “intranets”
Each organization maintains its own network
Cooperating
Internet Protocol (IP) address blocks
Domain names (ICANN)
World-Wide Web Consortium (W3C)
Computer Emergency Response Team (CERT)
iSchool
A Short History of the Internet
1969: Origins in government research
Advanced Research Projects Agency (ARPAnet)
Key standards: UDP, TCP, DNS
1983: Design adopted by other agencies
Created a need for inter-network connections
Key standards: IP
Course overview
Physical
infrastructure
1991: World-Wide Web added point-and-click
Course
administration
Intro to the
Web/HTML
Now ~1 billion Internet “hosts” (January 2014)
Key standards: HTTP, URL, HTML, XML
iSchool
What Changed in 1994?
600,000,000
Internet Hosts
500,000,000
400,000,000
300,000,000
200,000,000
100,000,000
0
1980
1985
1990
1995
2000
iSchool
2005
2010
Hands On: TraceRoute
See how packets get from South Africa to you (doesn’t
work with Chrome, try IE or Firefox)
Use http://services.truteq.com/
Look at the same data visually
http://www.monitis.com/traceroute/
iSchool
The TCP/IP “Protocol Stack”
Link layer moves bits
Network layer moves packets
Physical
infrastructure
Course
administration
IP
Transport layer provides services to applications
Course overview
Ethernet, cable modem, DSL
UDP, TCP
Application layer uses those services
DNS, SFTP, SSH, …
Intro to the
Web/HTML
iSchool
TCP/IP layer architecture
Application
Application
Virtual network service
Transport
Transport
Virtual link for end to end packets
Network
Network
Course overview
Virtual link for packets
Network
Network
Physical
infrastructure
Course
administration
Link
Link
Link
Link
Link
Link
Intro to the
Web/HTML
Link for bits
Link for bits
Link for bits
iSchool
Ports
Well-known ports
Course overview
Physical
infrastructure
Intro to the
Web/HTML
Registered Ports
Course
administration
22 Secure Shell (for SSH and SFTP)
25 Simple Mail Transfer Protocol (SMTP)
53 Domain Name System (DNS)
68 Dynamic Host Configuration Protocol (DHCP)
80 Hypertext Transfer Protocol (HTTP)
143 Internet Message Access Protocol (IMAP)
554 Real-Time Streaming Protocol (RTSP)
8080 HTTP server run by ordinary users
Ephemeral Ports
iSchool
Domain Name Service (DNS)
“Domain names” improve usability
Each “name server” knows one level of names
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Easier to remember than IP addresses
Written like a postal address: specific-to-general
“Top level” name servers know .edu, .com, .mil, …
.edu name server knows umd, umbc, stanford, …
.umd.edu name server knows glue, ischool, ttclass, …
.glue.umd.edu name server knows x, y, z, …
iSchool
IP Addresses and Domain
Names
IP address:
54.84.241.99
Course overview
Physical
infrastructure
Course
administration
Domain Name: www.umd.edu
Intro to the
Web/HTML
iSchool
Uniform Resource Locator (URL)
Domain name
File name
http://terpconnect.umd.edu:80/~psjacobs/INFM603_f16.htm
Course overview
Physical
infrastructure
Protocol
Port
Path
Course
administration
Intro to the
Web/HTML
What’s the relationship between a URL and an IP address?
iSchool
Transmission Control Protocol
(TCP)
Most common for the transport layer of the Internet
(transports data packets from one address to another)
Guarantees delivery all data
Course overview
Physical
infrastructure
Retransmits missing data
Guarantees data will be delivered in order
“Buffers” subsequent packets if necessary
Course
administration
Intro to the
Web/HTML
No guarantee of delivery time
Long delays may occur without warning
iSchool
File Transfer Program (FTP)
Used to move files between machines
Upload (put) moves from client to server
Download (get) moves files from server to client
Both visual and command line interfaces
available
Normally requires an account on the server
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Userid “anonymous” provides public access
iSchool
Internet Web
Internet: collection of global networks
Web: way of managing information exchange (i.e.,
using a browser)
There are many other uses for the Internet
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
File transfer (FTP)
Email (SMTP, POP, IMAP)
iSchool
The World-Wide Web
My
Browser
Local copy of
Page requested
Requested Page
(HTML)
Proxy Server
Fetch Page
Course overview
Physical
infrastructure
Send Request
(http)
Course
administration
Intro to the
Web/HTML
Remote
Sever
Internet
iSchool
“The Web”
HTML
HTTP
Email FTP RTSP
URL
URL
(e.g.,http://www.foo.org/snarf.html)
Web
Server
File System
Course overview
Physical
infrastructure
Course
administration
HTML
(data/display)
Internet
communication
protocols
Intro to the
Web/HTML
HTTP
(transfer)
iSchool
HyperText Transfer Protocol
(HTTP)
Send request
GET /path/file.html HTTP/1.0
From: [email protected]
User-Agent: HTTPTool/1.0
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Server response
HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354
<html><body> <h1>Happy New Millennium!</h1> …
</body> </html>
iSchool
HyperText Markup Language
(HTML)
Simple document (page) structure language for Web
Historically based on SGML (Standard Generalized
Markup Language, for publishing)
Advantages
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
Adapts easily to different display capabilities
Widely available display software (browsers)
Disadvantages
Does not directly control layout
Does not formally specify data structures (ergo XML)
iSchool
Wrap-up
What’s the class about?
Course overview
Physical
infrastructure
Course
administration
Intro to the
Web/HTML
What is information technology?
What type of IT do we focus on?
Why do we care about organizational context?
What are some Internet basics (e.g., IP, TCP,
URLs); how do they fit together?
What kinds of things will we learn in the class?
How will we work together?
What are the requirements and expectations?
What should we do for next week?
Any other questions?
iSchool