Introduction to Computer Science
Download
Report
Transcript Introduction to Computer Science
Introduction to
Computer Science
CS 21a: Introduction to Computing I
Department of Information Systems
and Computer Science
Ateneo de Manila University
Introduction
Important information
Textbook
Overview of the course
Overview of computing
What is computer science?
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 2
Important information
Course web site:
http://curry.ateneo.net/~jpv/cs21a2008
Syllabus and other pertinent info posted there
Visit this site regularly!
Section-specific information
Ask your instructor
Quick overview of class policies
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 3
Textbook
Cay Horstmann, “Java Concepts”, 5th Ed,
Wiley 2007
Will be available through the ORP
To be used in CS 21a and in
CS 21b/CS 105
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 4
Overview of CS21A
At the end of this course, you’ll be able to:
Analyze a basic problem and design a solution in
terms of objects and algorithms
Implement your solution using Java
Write simple graphical programs
Learn more on your own by reading
documentation and books
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 5
What is Computer Science?
"Computer science is as much about computers as astronomy is about
telescopes."
- Edsgar Dijkstra
Not just writing computer programs or learning how to
use popular tools
In general, the study of the processing of information
Includes many areas
(In French, CS is known as Informatique)
mathematics, science, engineering, crafts and art
A whole new way of thinking
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 6
What will I get out of CS?
You will learn to (up to a certain extent), how to:
Use
Design
Implement
Manage
Understand / Debug
Evaluate
computer systems and information systems
(Hardware and Software)
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 7
Basic Terminology
Computer
Program and Algorithm
Hardware and Software
Operating System
Programming Language
Compiler
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 8
Computer
Computer
an electronic device that can store, retrieve,
and process data through programs
Parts of a Computer
Central Processing Unit (CPU)
Memory
Input/Output Devices
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 9
Program and Algorithm
Program
Algorithm
a sequence of instructions for a computer
a sequence of unambiguous instructions
designed to perform a given task.
“performing a task” implies that it must
terminate and produce output
Program versus Algorithm
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 10
Hardware
Definition
the physical components of a computer
Parts of a Computer
CPU: made up of the Control Unit (CU) and
the Arithmetic/Logic Unit (ALU)
Memory: internal data storage
I/O Devices: presents (output) and accepts
(input) data to and from the outside world
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 11
Software
Definition
the collection of all programs
Examples of Programs
word processor
browser
application programs
compiler
operating system
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 12
Operating System
Examples
Windows, DOS, UNIX
Definition
a program that manages the computer’s
resources
resources: devices, programs, and files
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 13
Languages and Compilers
Programming Language
a set of rules, symbols and special words used
to construct a program
Machine Language: a set of binary-coded
instructions used directly by the computer
Compiler
a program that translates a “high-level”
program into machine language instructions
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 14
History of Computers
5 Generations
0th: the “difference engine” (Babbage)
1st: vacuum tube technology (Mark I, ENIAC)
2nd: transistors (faster, smaller, more reliable)
3rd: integrated circuits (“ICs”)
4th: large-scale integration (LSI), VLSI (led to
the development of microcomputers)
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 15
Computer Science
Not just “programming”
A discipline, a science
Seeks to build a foundation for
computer design
program development
information processing
algorithmic solutions of problems
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 16
Fields in
Computer Science
Software Engineering
Theory of Computing
Database Systems
Computer Architecture
Operating Systems
Data Communications and Networking
and a lot more ...
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 17
Software Engineering
Development of Programs
Systems Analysis / Software Engineering
how to program (CS 21a, CS 21b)
disciplined activities that precedes programming
(CS 123 for CS majors, MIS 121 for MIS majors)
Object-Oriented Software
Design/Implementation
SW engineering concepts as it applies to objectoriented systems (CS 124)
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 18
Theory of CS
Data Structures and Algorithms
Mathematics for Computer Science
(formerly Discrete Math)
analyze problems, representations, and algorithmic
solutions (CS 105 for MIS majors/CS 110 for CS Majors)
areas where Math and CS meet (AMC 124 and AMC 125)
Theory of Computation
formal models of computational solvability (CS 130)
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 19
Database Systems
Database System
a computerized system that maintains
information and makes it available on demand
CS 122/MIS 122
Data models and database design
Data manipulation languages
Data protection issues: DB integrity, security,
concurrency, recovery
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 20
Computer Architecture
CS 150 (for MIS Majors) CS 152a and CS 152b (for
CS Majors) - studies the structure, characteristics
and operation of modern day computer systems
CPU design, function and operation
Memory organization, I/O architecture
Pipelining
CISC, RISC, super-scalar architectures
Parallel and network architectures
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 21
Operating Systems
CS 161 (for MIS majors) / CS 162a and CS 162b
(for CS Majors) - studies the design and
implementation of operating systems and the
theories and principles used in its development
process models, scheduling, synchronization
virtual memory, caching
I/O device management
file systems and structures
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 22
Data Communications and
Computer Networks
CS 154 (for CS Majors)/MIS 131 (for MIS Majors) covers the fundamentals of data
communications, computer networking and
internetworking
Data communications
Network architectures
Communication protocols
LAN,MAN,WAN concepts and technologies
Internet and TCP/IP
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 23
Sub-fields within CS
Elective Tracks:
Business Intelligence
Interactive Multimedia/Game Development
Enterprise Resource Planning
Others
Artificial Intelligence
Parallel Processing
Human-Computer Interaction
And much more …
Copyright 2008, by the authors of these slides, and Ateneo de
Manila University. All rights reserved.
L0: Introduction
Slide 24