History of Information & Communication Technologies (ICT)
History of Information & Communication Technologies (ICT)
History of Information & Communication Technologies (ICT)
https://royalsocietypublishing.org/doi/10.1098/rsta.2019.0061
https://www.bcg.com/publications/2012/retail-consumer-products-digitals-disruption
First generation computers
(1940-1956)
• The first computers used vacuum tubes for circuitry and
magnetic drums for memory.
• They were often enormous and taking up entire room.
• First generation computers relied on machine language.
• . They were very expensive to operate and in addition to
using a great deal of electricity, generated a lot of heat,
which was often the cause of malfunctions.
• The UNIVAC and ENIAC computers are examples of first-
generation computing devices.
Second generation computers
(1956-1963)
• Transistors replaced vacuum tubes and
ushered in the second generation of
computers.
• Second-generation computers moved from
cryptic binary machine language to symbolic.
• High-level programming languages were also
being developed at this time, such as early
versions of COBOL and FORTRAN.
• These were also the first computers that
stored their instructions in their memory.
Third generation computers
(1964-1973)
• The development of the integrated circuit was the hallmark of the third
generation of computers.
• Transistors were miniaturized and placed on silicon chips, called
semiconductors.
• Instead of punched cards and printouts, users interacted with third
generation computers through keyboards and monitors and interfaced
with an operating system.
• Allowed the device to run many different applications at one time.
• 1960's saw the rise of Operating Systems
an operating system is a collection of programs that manage peripheral devices and other
resources
allowed for time-sharing, where users share a computer by swapping jobs in and out
as computers became affordable to small businesses, specialized programming languages
were developed
Pascal (1971, Wirth), C (1972, Ritche)
Fourth generation computers
(1973-1985)
• The microprocessor brought the fourth
generation of computers, as thousands of
integrated circuits were built onto a single
silicon chip.
• The Intel 4004 chip, developed in 1971, located
all the components of the computer.
• From the central processing unit and memory
to input/output controls—on a single chip.
• Fourth generation computers also saw the
development of GUIs, the mouse and
handheld devices.
Fifth generation computers
(1985 and beyond)
• High-end machines (e.g. servers) can have multiple
CPU’s
• Fifth generation computing devices, based on artificial
intelligence.
• Are still in development, though there are some
applications, such as voice recognition.
• The use of parallel processing and superconductors is
helping to make artificial intelligence a reality.
• The goal of fifth-generation computing is to develop
devices that respond to natural language input and
are capable of learning and self-organization.
Technology Trends – Moore’s Law
Computing power doubles in power and halves in price every 18
months
Price of Computing
Quantum Computing
Beam Splitter
• Computation with coherent atomic-
scale dynamics.
• The behavior of a quantum computer
is governed by the laws of quantum
mechanics.
• In quantum systems possibilities
count, even if they never happen!
• Each of exponentially many • Half of the photons leaving the light
possibilities can be used to perform a source arrive at detector A;
part of a computation at the same
time. • the other half arrive at detector B.
DNA Computing
• DNA computing is utilizing the
property of DNA for massively parallel
computation.
• With an appropriate setup and
enough DNA, one can potentially
solve huge problems by parallel
search.
• Utilizing DNA for this type of
computation can be much faster than
utilizing a conventional computer
• Leonard Adleman proposed that the
makeup of DNA and its multitude of
possible combining nucleotides could
have application in computational
research techniques.
Software
The major types of software
System Software
Application software
System software Operating Systems
Schedules computer events
Hardware Allocates computer resources
Monitor events
Network of Networks
Computer Network Topology
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, You are somewhere here
databases and other computational resources
Decisions Feedback
Clients Analytics Engine Browser
BigQuery Client
Monitor
RTPM / Streaming Server CDN Fastly
RTSP Compute Engine Interconnect CDN Mobile /
Live Event Recording Encoding
Tablet Client
Recording Distribute
Collect Manipulate Module
Segment Storage
Cloud Storage
Streaming
Store Player
Generalizing, an Information System looks like:
Management
(Environment) Decisions
Control
IT
Feedback
IS
Information Concepts
Data: Raw unorganized facts
Information:
• A collection of facts organized in such a way that they have additional
value beyond the value of the facts themselves
• Defining and organizing relationships among data creates information
Process:
A set of logically related tasks performed to achieve a defined outcome.
Knowledge:
An awareness and understanding of a set of information and ways that
information can be made useful to support a specific task or reach a
decision
Information System Components
A system is a set of elements or components that interact to
accomplish goals.
Hardware:
Computer Equipment
Software:
Computer Programs
Databases:
An organized collections of facts
Information System Components
Telecommunications:
Electronic transmission of signals for communication
Networks: Distant electronic communication
Internet: Interconnected Networks (WAN)
Intranet: Internal Corporate Network (LAN)
Extranet: Linked Intranets (MAN)
People:
Developers, users, managers, advisers, etc. of IS
Procedures:
Strategies, policies, methods, and rules.
IT/IS in Society (Personal)
• Personal Communication
• Conversations
• Messaging
• Video Coms
• Social media
• Entertainment
• Web surfing
• Video and audio
• Interactive gaming
• Day-to-Day living
• Shopping
• Remote working
• Electronic banking/ stock market
IT in Society (Business)
• Internal Communication
• Computer network
• Corporate website
• Video teleconferencing
• Messaging
• Electronic Commerce
• Video streaming
• Electronic transactions
• Online sales
• Business operations
• Enterprise Resource Planning, Supply Chain Management, etc..
• AI/ML and Analytics
• Databases, Data Warehouses, etc.
Gartner’s Top Trends for 2020
Wrap up
CLOUD COMPUTING AND GOOGLE CLOUD
PLATFORM
Cloud Computing and Google Cloud Platform
Outline
Cloud Computing
Introduction to Cloud Computing
Service Models
53
Introduction to Cloud Computing
Infrastructure-as-a-Service (IaaS)
Compute
Compute
Compute Container Container Cloud
App Engine
Engine Engine
Storage and Databases Registry Functions
Storage
Cloud Cloud Cloud Persistent
Cloud SQL
Storage Bigtable Datastore
Networking Disk
Network
Cloud Virtual Cloud Load Cloud
Network IdentityCloud
Balancing
CDN
& Security Interconnect
Cloud DNS
Security
Cloud Resource Cloud Security Cloud Platform
Cloud IAM
Manager Scanner Security
54
Introduction to Cloud Computing
Service Models
55
Introduction to Cloud Computing
Platform-as-a-Service (PaaS)
Big Data
Machine Learning
Service Models
57
Introduction to Cloud Computing
Software-as-a-Service (SaaS)
Management Tools
Cloud Mobile
Cloud Shell Billing App Cloud APIs
App
Developer Tools
Deployment Cloud Source Cloud Tools for Cloud Tools Cloud Tools for Cloud Tools for Google Plug-in for Cloud Test
Cloud SDK
Manager Repositories Android Studio for IntelliJ PowerShell Visual Studio Eclipse Lab
Introduction to Cloud Computing
User
Services
Developme Manageme
User Exp.
nt nt
Analytics
Services
Machine
Big Data
Learning
Core
Infrastructure
Computing infrastructure Globally unified, scalable, A Virtual Private Cloud (VPC) Identity and Access
in predefined or custom and highly durable storage network is a virtual version Management (IAM) enables
machine sizes to accelerate for developers, analysts, of a physical network, you to create and manage
your cloud transformation. and enterprises. implemented inside of permissions for Google
Google's production Cloud resources. IAM unifies
network. access control for Google
Cloud services into a single
system and presents a
consistent set of operations.
Google Cloud Platform for Analytics
Machine
Big Data
Learning
Features
Quick Comparison of three leading cloud service providers for big data analytics
Tools Diversity Windows based organization Tools integration and ease of use
Google Cloud Platform for Analytics
Summary
GCP offers services that are global, scalable, flexible, cost-effective, and
secure
It allows users to consume IT resources that are elastic and utility-like services
GCP services for analytics include:
• Core Infrastructure: computing, storage, networking, security,
• Analytics Services: big data and machine learning,
• User Services: development, management, and user experience
Google Cloud Platform
Create an account
You should use your personal GMail account for GCP, i.e. NOT SUID@purdue.edu, because
Purdue University managed email accounts do not support creating a new project.
1 2 3
Google Cloud Platform
Create a project
3-tier Architecture
Component based systems
Component based architecture
Service based system architecture
Wikipedia Definitions
Feedback
Phase 1: Planning
• Planning phase - create a solid plan for developing
your information system
• Three primary planning activities:
1. Define the system to be developed
• You can’t build every system, so you make choices based on
your organization’s priorities, which may be expressed as
critical success factors
• Critical success factor (CSF) - a factor simply critical to your
organization’s success
Phase 1: Planning
2. Set the project scope
• Project scope - clearly defines the high-level system requirements
• Scope creep - occurs when the scope of the project increases
• Feature creep - occurs when developers add extra features that were not part of the
initial requirements
• Project scope document - a written definition of the project scope and is usually no
longer than a paragraph
Phase 1: Planning
3. Develop the project plan including tasks, resources, and timeframes
• Project plan - defines the what, when, and who questions of system development
• Project manager - an individual who is an expert in project planning and management,
defines and develops the project plan and tracks the plan to ensure all key project
milestones are completed on time
• Project milestones - represent key dates for which you need a certain group of activities
performed
Phase 1: Planning
Take time during analysis to get the business requirements correct. If you find
errors, fix them immediately. The cost to fix an error in the early stages of the SDLC
is relatively small. In later stages, the cost is huge.
Phase 3: Design
• Design phase - build a technical blueprint of how the proposed
system will work
• Two primary design activities:
1. Design the technical architecture
• Technical architecture - defines the hardware, software, and telecommunications
equipment required to run the system
Phase 3: Design
2. Design system models
• This includes GUI screens that users will interface with, database designs (see
XLM/C), report formats, software steps, etc
When outsourcing, you’ll develop two vitally important documents – a request for
proposal and a service level agreement
Outsourcing – RFP
• Request for proposal (RFP) – formal document that describes in
excruciating detail your logical requirements for a proposed system and
invites outsourcing organizations (vendors) to submit bids for its
development
• In outsourcing, you must tell another organization what you want
developed; you do that with an RFP
• Therefore, the RFP must be very detailed and complete
• Some RFPs can take months or even years to develop
Outsourcing – SLA
• Service level agreement (SLA) - formal contractually obligated
agreement between two parties
• In outsourcing, it is the legal agreement between you and the
vendor and specifically identifies what the vendor is going to
do (and by when) and how much you’re going to pay
• Supporting SLA documents – service level specifications and
service level objectives – contain very detailed numbers and
metrics
Outsourcing Advantages & Disadvantages
• Advantages:
• Focus on unique core competencies
• Exploit the intellect of another organization
• Better predict future costs
• Acquire leading-edge technology
• Reduce costs
• Improve performance accountability
• Disadvantages:
• Reduces technical know-how for future innovation
• Reduces degree of control
• Increases vulnerability of your strategic information
• Increases dependency on other organizations
Conclusion
Outsourcing is an important system development methodology
because the complexity of the IS is growing and it is becoming
increasingly difficult for an enterprise to develop and maintain systems
inhouse.
Component Based Systems
Agile Methods:
• Rapid Application Development
• Extreme Programming
• SCRUM
COMPONENT-BASED DEVELOPMENT (CBD)
• Component-based development (CBD) – focuses on building small
self-contained blocks of code (components) that can be reused across
a variety of applications
• CBD focuses on
• Using already-developed components to build systems quickly
• Building new components as needed that can be used in all future systems
• CBD Methodologies
• Rapid application development (RAD)
• Extreme programming (XP)
Rapid Application Development (RAD)
• Rapid application development (RAD) (also called rapid
prototyping) - emphasizes extensive user involvement in the rapid
and evolutionary construction of working prototypes of a system to
accelerate the systems development process
• Prototypes are models of the software components
• The development team continually designs, develops, and tests the
component prototypes until they are finished
Rapid Application Development (RAD)
Starbuck
App
Positioning
The user’s location can be obtained in one of two main ways:
GPS
GPS involves the equal distribution of 24 NAVSTAR satellites in six
circular orbital planes that are centered on the Earth and are inclined
at approximately 55° relative to the equator. Land-based receivers use
these satellites to determine their positions. A location-based service
could require that each of its users have a mobile device that contains
a GPS receiver.
E911
Federal Communications Commission requires wireless carriers to
pinpoint a caller’s telephone number to emergency dispatchers. E911
also ensures that carriers are to provide user call locations from their
wireless phones.
Geographic Information Systems (GIS)
• System for capturing, storing and analyzing
location data and associated attributes
which are spatially referenced to the earth.
• Tools to provide and administer base-map
data (man-made structures and natural
terrain).
• Point-of-interest data such as the location of
restaurants or cinemas.
• Information about the radio frequency
characteristics of the mobile network, which
allows determination of the user cell site.
Location Management Function
• So far we are able to tell both the position
the mobile user (by GPS or E911) and the
map data around his position (by GIS).
• LBS applications employ an additional
system to process positioning and GIS data,
called a location management function.
• The location management function acts as
a gateway and a mediator between
positioning equipment and LBS
infrastructure.
Applications
• Location-based information
- personalized information service for restaurants, cinemas, weather etc., e.g.,
FourSquare
• Tracking
- mobile commerce
- fleet applications to streamline distribution
• Emergency services
- relay pinpointed location information to authorities
- recent 3D-responder contract issued to enable altitude determination
Applications
• Location-based notification:
- advertising;
- automatic check-in system at airports.
• Location-based actuation:
- Payment based on proximity (EZ pass, toll watch);
- Zonal bills for cell-phones (flat-rate at home, special rate
elsewhere).
SCRUM Characteristics
• Self-organizing teams
• Product progresses in a series of two- to four-
week “sprints”
• Requirements are captured as items in a list of
“product backlog”
• No specific engineering practices prescribed
• Uses generative rules to create an agile
environment for delivering products
• One of the “agile processes”
Scrum Approach
Sprint
Sprints
• Scrum projects make progress in a series of “sprints”
• Analogous to Extreme Programming iterations
• Typical duration is 2–4 weeks or a calendar month at
most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during the sprint
No changes during a sprint
Change
• Plan sprint durations around how long you can commit to keeping
change out of the sprint
Managing the sprint backlog
• Individuals sign up for work of their own choosing
• Work is never assigned
• Estimated work remaining is updated daily
• Any team member can add, delete or change the sprint backlog
• Work for the sprint emerges
• If work is unclear, define a sprint backlog item with a larger
amount of time and break it down later
• Update work remaining as more becomes known
A sprint backlog
Tasks Mon Tues Wed Thur Fri
Code the user interface 8 4 8
Code the middle tier 16 12 10 4
Test the middle tier 8 16 16 11 8
Write online help 12
Write the foo class 8 8 8 8 8
Add error logging 8 4
Tasks Mon Tues Wed Thur Fri
Code the user interface 8 4 8
Code the middle tier 16 12 10 7
Test the middle tier 8 16 16 11 8
Write online help 12
44 32 34 18 8
50
40
30
20 Burndown
Hours
10 Velocity (BDV)
0
Mon Tue Wed Thu Fri
A Sprint Burndown Chart
Actual
Burndown
Velocity (ABV)
Expected
Burndown Revised
Velocity (EBV) Burndown
Velocity (RBV)
Hours
Summary
• Current software development processes are too
heavyweight or cumbersome
• Current software development is too rigid
• More active customer involvement needed
• Agile methods focus on:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
DATABASES, DATA LAKES, AND DATA WAREHOUSES
Building Business Intelligence
TOPIC ORGANIZATION
1. Relational Database Model
2. Structured Query Language
3. Data Lakes and Data Warehouses
4. Business Intelligence and Deep Neural
Networks
RELATIONAL DATABASE MODEL
• Database – collection of information that you
organize and access according to the logical
structure of the information
• Relational database – series of logically related two-
dimensional tables or files for storing information
• Relation = table = file
• Most popular database model
Database Characteristics
• Collections of information
• Created with logical structures
• Include logical ties within the information
• Include built-in integrity constraints
Database – Collection of Information
Database – Created with Logical Structures
• Data dictionary – contains the logical structure
for the information in a database
Before you can enter information
into a database, you must define
the data dictionary for all the tables
and their fields. For example,
when you create the Truck table,
you must specify that it will have
three pieces of information and
that Date of Purchase is a field in
Date format.
Database – Logical Ties within the Information
• Primary key – field (or group of fields) that uniquely describes each
record
• Foreign key – primary key of one file that appears in another file
7-155
Five Step Logical DB Design
1 User Statement 3 ERD
Information
Students are enrolled in one
StudentAddress
CourseName Classroom CourseNo StudentName
department. 1 Faculty
M
Work for
1
Department
1
School
2
FacultyID DepartmentID DepartmentID DepartmentHead
Email
FacultyName DepartmentName
Has_a
Entity Relationship
• is a real-world object distinguishable • is a way of relating one entity to
or unique from other objects. another. Entities can therefore
• An entity can be a concrete or participate in a relationship.
physical object like employee, • it is commonly thought as a verb
student, faculty, customer etc. Or it connecting the entities or nouns.
could also be conceptual or abstract • It is normally represented by a
like transaction, order, course, diamond shape.
subjects etc.
• It can be thought of as a noun like
student, employee etc.
• It is normally represented by a
rectangle shape.
Cardinality
1 1
One-to-One Department has Dept_Head
1 M
One-to-Many Department has Programs
M N
Many-to-Many Student enrolls Course
Databases – Built-In Integrity Constraints
• Integrity constraints – rules that help ensure the
quality of information
• Data dictionary, for example, defines type of
information – numeric, date, and so on
• Foreign keys – must be found as primary keys in
another file
ERD
StudentAddress
CourseName Classroom CourseNo StudentName
CourseNo FacultyID StudentID Email
StudentID Grade AdvisorID
Credit
M M
Course Enroll Student
M M
Teach Advise
1
1
1 1
Faculty Work for Department
M 1
School
FacultyID DepartmentID DepartmentID DepartmentHead
Email
FacultyName DepartmentName
Has_a
ERD to Relations
STUDENT
StudentID StudentName StudentAddress StudentEmail AdvisorID
COURSE
CourseNo CourseName Classroom FacultyID
ENROLL
StudentID CourseNo Semester Grade
DEPARTMENT
DepartmentID DepartmentName DepartHead School
FACULTY
FacultyID FacultyName Email DepartmentID
Key Concepts
Key Attribute Non-Key Attributes
Information System
Physical World
Convert ERD into Database
ER Diagram Database
Entity Table
Attributes Field
Course M M
Enroll Student
M M
Teach Advise
1 1
School
FacultyID DepartmentID DepartmentID DepartmentHead
Email
FacultyName DepartmentName
ERD to Relations
STUDENT
StudentID StudentName StudentAddress StudentEmail AdvisorID
COURSE
CourseNo CourseName Classroom FacultyID
ENROLL
StudentID CourseNo Semester Grade
DEPARTMENT
DepartmentID DepartmentName DepartHead School
FACULTY
FacultyID FacultyName Email DepartmentID
Relational database design
Multi-table queries
// join 2 tables // Join 3 tables
SELECT
SELECT
e.StudentID AS Student_ID, StudentName, e.CourseNo, CourseName
DepartmentName AS Dept_name, AS CRS_Name, Grade
Volume
(Data at rest)
Value Velocity
(Data into (Data in
Money) Motion)
Veracity Variety
(Data in (Data in many
Doubt) forms)
| ABC: Big Data in the Cloud
Table Table
Column Column Column Column
Partners BigQuery
SaaS
| ABC: Big Data in the Cloud
• Ingest data
• Download data
• Store data
• Fill data lake in Cloud Data Storage
• Prepare
• Create an enterprise data warehouse in BigQuery
• Analyze data
• Interactive
• Visualize in Data Studio
| ABC: Big Data in the Cloud
• All major US air carriers are required to file statistics about their domestic flights with
the BTS
• Actual departure and arrival times are defined precisely, based on when the parking
brake of the aircraft is released and when it is later reactivated at the destination
• Because of the precise nature of the rules, and the fact that they are enforced, arrival
and departure times from all carriers can be treated uniformly
• Had this not been the case, we would have to dig deeper into the quirks of how each
carrier defines “departure” and “arrival,” and do the appropriate translations
• Good business Intelligence begins with such standardized, repeatable, trustable data
collection rules
| ABC: Big Data in the Cloud
Gate Gate
Arrival delay = f {I1, I2, I3 …} Some of the variables but not all
Data Source
• Original Data Source:
https://www.transtats.bts.gov/Fields.asp