25
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University

CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University

Embed Size (px)

Citation preview

CS 21a: Intro to Computing I

Department of Information Systems

and Computer ScienceAteneo de Manila University

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 2

Introduction

Important information Overview of the course Overview of computing

What is computer science? Introduction to Java

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 3

Important information Course web site:

https://moodle.ateneo.edu:8080

Syllabus and contact info posted there Section-specific information Quick overview of class policies PLEASE READ THE SYLLABUS AND ASK

QUESTIONS IF YOU HAVE ANY

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: 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 and games Learn more on your own by reading

documentation and books

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: 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

(In French, CS is known as Informatique) Includes many areas

mathematics, science, engineering, crafts and art A whole new way of thinking

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 6

What will I get out of CS?

You will learn to (up to a certain extent), how to: Use Design Implement (Program or Set up) Manage Understand / Debug Evaluate

Computer Systems and Information Systems (Hardware and Software)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 7

What will I get out of CS?

You will also learn general “tricks” that apply to many things in real life

Examples You can use sorting algorithms even if you’re

sorting things by hand. You will find applications for things like pipelining,

caching, queueing theory, network routing, state machines, etc., etc. in many real-life systems (especially if you go into operations research or management)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 8

CS: A Way of Thinking

After 4 years in CS / MIS, you will have learned a new way of thinking

You will learn to think methodically and systematically Instinctively think of real-world problems and situations in

terms of interacting objects and systems Analyze real-world problems in a methodical way and

generate a systematic solution that works! You might not even notice yourself learning this!

It will just gradually become instinct. (We hope!)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 9

Basic Terminologies

Computer Program and Algorithm Hardware and Software Operating System Programming Language Compiler

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 10

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 11

Program and Algorithm

Program a sequence of instructions for a computer

Algorithm 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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 12

Hardware

Definition the physical components of a computer

Parts of a Computer Revisited 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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 13

Software Definition

the collection of all programs Examples of Programs

word processor browser application programs compiler operating system

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 14

Operating System

Examples Windows, DOS, UNIX

Definition a program that manages the computer’s

resources resources: devices, programs, and files

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 15

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 16

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)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 17

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 18

Fields in Computer Science

Software Engineering Theory of Computing Database Systems Computer Architecture Operating Systems Data Communications and Networking and a lot more ...

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 19

Software Engineering Development of Programs

how to program (CS 21a, CS 21b) Systems Analysis and Design

disciplined activities that precedes programming (CS 123 for CS majors, MIS 121 for MIS majors)

Software Development Phases engineering concepts apply to developing

software (CS 124)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 20

Theory of CS Data Structures and Algorithms

analyze problems, representations, and algorithmic solutions (CS 110)

Mathematics for Computer Science ( formerly Discrete Math) areas where Math and CS meet (AMC 124 and AMC

125) Theory of Computation

formal models of computational solvability (CS 130)

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 21

Database Systems

Database System a computerized system that maintains

information and makes it available on demand

CS 122 Data models and database design Data manipulation languages Data protection issues: DB integrity, security,

concurrency, recovery

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 22

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 23

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 24

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

6/15/2005Copyright 2005, by the authors of these slides, and Ateneo

de Manila University. All rights reserved. L1: Introduction

Slide 25

Other Fields

Compiler Design Artificial Intelligence Computer-Aided Instruction Multimedia Systems Parallel Processing Management Information Systems

(MIS part of CS versus CS part of MIS)