CSC255-702/703 - CTI/DePaul
CSC 255Information Structures and
RepresentationFall 2002
Instructor: Dr. Ufuk Verun
E-Mail: [email protected]
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