CSC255-702/703 - CTI/DePaul CSC 255 Information Structures and Representation Fall 2002 Instructor:...

Post on 20-Dec-2015

220 views 5 download

Tags:

Transcript of CSC255-702/703 - CTI/DePaul CSC 255 Information Structures and Representation Fall 2002 Instructor:...

CSC255-702/703 - CTI/DePaul

CSC 255Information Structures and

RepresentationFall 2002

Instructor: Dr. Ufuk Verun

E-Mail: UVerun@cs.depaul.edu

Office: CTI CS&T 702

Phone ext: 2822

CSC255-702/703 - CTI/DePaul 2

Course Resources

Textbook:Computer Science -An Overview (7th Edition),J. Glenn BrookshearAddison-WesleyISBN 0-201-78130-1www.aw.com/brookshear

Instructor Web Site:www.depaul.edu/~uverun

Computer Sciencean overview

EDITION 7

J. Glenn Brookshear

CSC255-702/703 - CTI/DePaul 3

CSC 255

Lecture 1

Origin and Evolution of Computer Science(Chapter 0 - Introduction from Brookshear)

Modified by Ufuk Verun from

Jim Janossy © 2002 Jim Janossy, DePaul University CTI - Chicago

CSC255-702/703 - CTI/DePaul 4

Resources

This PowerPoint presentation is available for download at www.depaul.edu/~uverun/classes/CSC255/fall2002/slides/Lecture_01.pptTextbook: Chapter 0Print slides at 6 slides/page, avoid waste!Exams are based on slide content, homework and assigned readings

CSC255-702/703 - CTI/DePaul 5

Scope of CSC 255

Before you can add to a science, you need to understand the basics of what has already been developed:

Basic information storage in digital form Algorithm evolution and representation Basic data structures

CSC255-702/703 - CTI/DePaul 6

Computer Science is More than “Point-and-Click”

“We cannot become knowledgeable in Computer Science by studying only a few topics as isolated subjects or merely by learning how to use the computing tools of today.“

CSC255-702/703 - CTI/DePaul 7

“Point-and-Click” = GUI

GUI = “Graphical User Interface”Human / computer interface is how people interact with computersWindows is a GUICTI’s Human/Computer Interface (HCI) major deals heavily with this

CSC255-702/703 - CTI/DePaul 8

Computer Science Basics…

It’s not enough to just learn how to use Windows or browse the web (that’s all fun, but that’s not Computer Science!)Computer Science involves all the work needed to make things happen with a computer: developing algorithms, and how to make machines perform them.

CSC255-702/703 - CTI/DePaul 9

Definitions

A set of steps that defines how a task is performed is an algorithmA machine-compatible representation of an algorithm is called a programPrograms are softwareMachinery is hardware

CSC255-702/703 - CTI/DePaul 10

Algorithm = Recipe!

“Once an algorithm for performing a task has been found, the performance of that task no longer requires an understanding of the principles on which the algorithm is based. Instead, the performance of the task is reduced to merely following directions.”

CSC255-702/703 - CTI/DePaul 11

Algorithm Representations

Programming languages communicate algorithms to a computing machineLanguages are based on paradigms (how the universe is viewed)Systems are made of many programs

CSC255-702/703 - CTI/DePaul 12

Bit = Binary Digit

The basic digital resourceOnly two states (on/off, high/low, 1/0)Electronic / magnetic / optical mediumsHow is information mapped to bits?What kind of information? Text, quantities, pictures, …

CSC255-702/703 - CTI/DePaul 13

Basic Kinds of Information

Text - characters like “Hello there”Quantities - numbers that can be involved in computations: Integers (whole numbers) like 123 Numbers with fractional parts like

56.78

Images - pictures, still or movingSounds - digitized audio

CSC255-702/703 - CTI/DePaul 14

Why Digital Storage?

Easier, less expensive to captureReadily stored using magnetic or optical media, and easily transmittedFast to search, and combine with othersVery readily manipulated: updated, added to, modifiedDigital circuitry is mass produced and inexpensive, more resistant to errors

CSC255-702/703 - CTI/DePaul 15

Data Storage

Bits . . . . . . . . = Bytes Columns (“fields”)Rows (“records”)Tables (“files”)

CSC255-702/703 - CTI/DePaul 16

Computing Machines of 1600’s

Pascal (1623-1662)Gottfrield Wilhelm Leibneiz (1646-1716)Simple adding calculatorsGears and mechanical devices“Output” read from wheels with numbersVery slow

CSC255-702/703 - CTI/DePaul 17

Computing Machines of 1800’s

Charles Babbage (1792-1871)Joseph Jacquard (1752-1834)Herman Hollerith (1860-1929)Programs and/or data on cardsMechanical or electricalStill slow

CSC255-702/703 - CTI/DePaul 18

Computing Machines of 1900’s

Atanasoff / Berry, Iowa State, (1938)George Stibitz, Bell Labs, (1940)Howard Aiken, Harvard Mark I (1944)Eckert / Mauchly, ENIAC, 1946, first commercial computer, UNIVAC, 1950Parts adapted from radio technologyThousands of calculations per second

CSC255-702/703 - CTI/DePaul 19

Progression of Electronic Technology for Computing

1940-50’s: vacuum tubes1960’s: individual transistors1970’s: integrated circuits1980’s and 90’s: denser and denser integrated circuits2000+: millions of transistors on a chip, whole CPU on a chip

CSC255-702/703 - CTI/DePaul 20

Early Days of Computers

CSC255-702/703 - CTI/DePaul 21

Babbage’s Difference Engine -Circa 1834

CSC255-702/703 - CTI/DePaul 22

Vacuum Tubes of 1940’s…

CSC255-702/703 - CTI/DePaul 23

ENIAC - 1946

CSC255-702/703 - CTI/DePaul 24

ENIAC - 1946

CSC255-702/703 - CTI/DePaul 25

ENIAC Programming

CSC255-702/703 - CTI/DePaul 26

¼ inch

ENIAC on a Chip - 1997

CSC255-702/703 - CTI/DePaul 27

Abstraction

See a patternEliminate trivial details (generalize)Solution becomes a new componentEncapsulate the solutionWhole components can interactConstruct higher-level solutions as combinations of components

CSC255-702/703 - CTI/DePaul 28

Ethical Concerns

Computers “amplify” the scope and impact of actions Privacy - not just snooping, but

amassing of data otherwise not connected

Malicious hacking/intrusion via internet

Software ownership and copyright