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
• “Foundations of Computer Science,” Behrouz A.
Forouzan, 4th , Cengage Learning, 2018
ISBN 1473751047
• “Foundations of Computer Science – From Data
Manipulation to Theory of Computation,” Behrouz A.
Forouzan, Thomson Brooks/Cole, 2003
ISBN 0534-37968-0.
3
REFERENCE BOOKS (NOT REQUIRED)
• “Computer Science: An Overview” 7th Edition, J.Glenn
Brookshear (Addison-Wesley), 2000, ISBN 0-201-
35747- X
• “Computers-Tools for an information Age” H.L.
Capron. and J.A. Johnson (7th Edition.) , Prentice Hall.
4
1. Computing disciplines
TOPICS 2. Computer basics, presenting and processing
information on the computer
3. Introduction to computer system
4. Computer networks and Internet
5. Introduction to algorithms and programming
languages
6. Top trends in computer science
7. Social and Ethical Issues
5
COMPUTING
DISCIPLINES
7
First computer: 1943
Ada Lovelace
First computer: 1943
First computer program: 1843
Technology affects every field
Computing jobs are the #1 source
of new wages in the United States
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
Software Engineering - broad interest from
theory, applications to deployment ranging
from systems infrastructure, software
methods and technologies, to application
technologies
CITI Winter 2005 Conference 20
COMPUTING OVERVIEW REPORT
Information Systems - broad interests from theory,
applications to deployment in organizational
issues with deeper interests in applications and
deployment
Information Technology - interest in applications
and deployment within systems infrastructure,
software methods and technologies, application
technologies and organizational issues
CITI Winter 2005 Conference 21
COMPUTING OVERVIEW REPORT
Computer Engineering - broad interests from
theory, applications to deployment as long as
HW/ARCH is considered; narrow interests in
systems infrastructure and software methods and
technologies
Computer Science - from theory to applications in
areas of systems infrastructure, software methods
and technologies and application technologies
CITI Winter 2005 Conference 22
23
The value of a computer science
education
Source: Brookings
The STEM problem is in computer
science
Sources: Bureau of Labor Statistics, National Center for Education Statistics
Some may think:
This problem is
about “STEM”
(Science, Technology,
Engineering, and Math)…
Some may think:
Computer science is
vocational
Computer science is
vocational
Computer science is
foundational
Some may think:
Computer science is just
about learning technology
Computer science is just
about learning technology
Computer science is
about logic, problem
solving, and creativity
HISTORY
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
Harvard Mark I, ENIAC, UNIVAC I
Early computers launch new era in mathematics, physics, engineering and
economics
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
Card Readers → Magnetic Tape Drives
Sequential auxiliary storage devices
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
PCs, the Commercial Market, Workstations
Personal Computers and Workstations emerge
New companies emerge: Apple, Sun, Dell …
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
ARPANET and LANs → Internet
12 38
FIRST GENERATION SOFTWARE
(1951-1959)
Machine Language
Computer programs written in binary (1s and 0s)
Assembly Languages and Translators
Programs written using mnemonics, which were translated into machine
language
Programmer Changes
Programmers divide into two groups: application programmers and systems
programmers
13 39
ASSEMBLY/MACHINE
Systems programmers Applications programmers
write the assembler
use assembly language to
(translator) solve problems
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
Separation between Users and Hardware
Computer programmers write programs to be used by
general public (i.e., nonprogrammers)
42
15
THIRD GENERATION SOFTWARE
(1965-1971)
16 43
FOURTH GENERATION SOFTWARE
(1971-1989)
Structured Programming
Pascal
C++
New Application Software for Users
Spreadsheets
Word processors
Database management systems
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)
World Wide Web
Allows easy global communication through the Internet
New Users
Today’s user needs no computer knowledge
18 45