Week01 Introduction
Week01 Introduction
TO COMPUTER
SCIENCE
PHAM TRUNG-KIEN, PHD.
INTERNATIONAL UNIVERSITY (IU)
VIETNAM NATIONAL UNIVERSITY (VNU -HCM)
70000 HO CHI MINH CITY
VIETNAM-GERMAN UNIVERSITY (VGU)
75000 BINH DUONG PROVINCE
GRADING POLICY
• Quizzes, assignments,
workgroup and class
participation 20 %
• One Final exam 80 %
• Total: 100 %
2
TEXTBOOK
3
REFERENCE BOOKS (NOT REQUIRED)
4
1. Computing disciplines
5
COMPUTING
DISCIPLINES
7
First computer: 1943
Ada Lovelace
500,000 current
openings:
These jobs are in
every industry and
every state, and
they’re projected to
grow at twice the rate
of all other jobs.
Every 21st century student should
have a chance to learn about
algorithms, how to make apps,
and how the internet works.
Distinctions Between Computing Disciplines
COMPARISON
FRAMEWORK:
THE PROBLEM
SPACE OF
COMPUTING
13
EVOLUTION OF COMPUTING
DISCIPLINES
•EE: Electrical
Engineering
•CE: Computer
Engineering
•CS: Computer
Science
•SE: Software
Engineering
•IT: Information
Technology
•IS: Information
Systems
14
COMPUTER ENGINEERING
•Design and •Digital hardware
construction of
computers and
computer- •Software for
based systems digital devices
and interfaces to
other systems
•Hardware,
software,
communicatio •Embedded
ns, and systems
interaction
among them
15
INFORMATION SYSTEMS
•Focus on •Integrate
information information
aspects more technology
than on solutions and
technology business
aspects processes
• (Compare to
Information
Technology)
• Business and
enterprise
applications to
achieve
business goals
16
INFORMATION TECHNOLOGY
•Focus on •Meet computer
technology technology needs
aspects more of business,
than information government,
aspects healthcare,
• (Compare to schools, etc.
Information
Systems)
17
SOFTWARE ENGINEERING
•Develop and •Large, expensive,
maintain complex systems
software systems
that •Safety-critical
and mission-
• Behave reliably
and efficiently critical
• Are affordable to applications
develop and
maintain
• Satisfy all
customer
requirements
18
COMPUTER SCIENCE
•From theory to •Develop effective
programming ways to solve
•Design and computing
implement problems
• Better ways to
software store and access
•Devise new ways data, process data,
send data over a
to use computers network, display
• Challenging data and images
applications:
robotics, artificial
intelligence,
computer vision,
bioinformatics,
etc.
19
COMPUTING OVERVIEW REPORT
Source: Brookings
The STEM problem is in computer
science
31
EARLY HISTORY OF COMPUTING
Abacus
An early device to record numeric values
Blaise Pascal
Mechanical device to add, subtract, divide & multiply
Joseph Jacquard
Jacquard’s Loom, the punched card
Charles Babbage
Analytical Engine
6 32
EARLY HISTORY OF COMPUTING
Ada Lovelace
First Programmer, the loop
Alan Turing
Turing Machine, Artificial Intelligence Testing
7 33
FIRST GENERATION HARDWARE
(1951-1959)
Vacuum Tubes
Large, not very reliable, generated a lot of heat
Magnetic Drum
Memory device that rotated under a read/write head
8 34
SECOND GENERATION HARDWARE
(1959-1965)
Transistor
Replaced vacuum tube, fast, small, durable, cheap
Magnetic Cores
Replaced magnetic drums, information available instantly
Magnetic Disks
Replaced magnetic tape, data can be accessed directly
9 35
THIRD GENERATION HARDWARE
(1965-1971)
Integrated Circuits
Replaced circuit boards, smaller, cheaper, faster, more reliable
Transistors
Now used for memory construction
Terminal
An input/output device with a keyboard and screen
10 36
FOURTH GENERATION
HARDWARE (1971-?)
Large-scale Integration
Great advances in chip technology
Laptops
Everyone has his/her own portable computer
11 37
PARALLEL COMPUTING AND
NETWORKING
Parallel Computing
Computers rely on interconnected central processing and/or memory units
that increase processing speed
Networking
Ethernet connects small computers to share resources
File servers connect PCs in the late 1980s
12 38
FIRST GENERATION SOFTWARE
(1951-1959)
Machine Language
Computer programs written in binary (1s and 0s)
Programmer Changes
Programmers divide into two groups: application programmers and systems
programmers
13 39
ASSEMBLY/MACHINE
40
SECOND GENERATION SOFTWARE
(1959-1965)
High-level Languages
English-like statements made programming easier:
Fortran, COBOL, Lisp
Systems
programmers
write translators for
high-level languages
Application
programmers
use high-level
languages to
solve problems
14 41
THIRD GENERATION SOFTWARE
(1965-1971)
Systems Software
Utility programs
Language translators
Operating system, which decides which programs
to run and when
42
15
THIRD GENERATION SOFTWARE
(1965-1971)
16 43
FOURTH GENERATION SOFTWARE
(1971-1989)
Structured Programming
Pascal
C++
17 44
FIFTH GENERATION SOFTWARE
(1990- PRESENT)
Microsoft
Windows operating system and other Microsoft application programs dominate
the market
Object-Oriented Design
Based on a hierarchy of data objects (i.e. Java)
New Users
Today’s user needs no computer knowledge
18 45