Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CSC 255 Information Structures and Representation Fall 2002 Instructor: Dr. Ufuk Verun E-Mail: [email protected] Office: CTI CS&T 702 Phone ext: 2822 CSC255-702/703 - CTI/DePaul Course Resources Textbook: Computer Science An Overview (7th Edition), J. Glenn Brookshear Addison-Wesley ISBN 0-201-78130-1 www.aw.com/brookshear Computer Science an overview EDITION 7 J. Glenn Brookshear Instructor Web Site: www.depaul.edu/~uverun CSC255-702/703 - CTI/DePaul 2 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 3 Resources This PowerPoint presentation is available for download at www.depaul.edu/~uverun/classes/CSC255/fal l2002/slides/Lecture_01.ppt Textbook: Chapter 0 Print slides at 6 slides/page, avoid waste! Exams are based on slide content, homework and assigned readings CSC255-702/703 - CTI/DePaul 4 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 5 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 6 “Point-and-Click” = GUI GUI = “Graphical User Interface” Human / computer interface is how people interact with computers Windows is a GUI CTI’s Human/Computer Interface (HCI) major deals heavily with this CSC255-702/703 - CTI/DePaul 7 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 8 Definitions A set of steps that defines how a task is performed is an algorithm A machine-compatible representation of an algorithm is called a program Programs are software Machinery is hardware CSC255-702/703 - CTI/DePaul 9 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 10 Algorithm Representations Programming languages communicate algorithms to a computing machine Languages are based on paradigms (how the universe is viewed) Systems are made of many programs CSC255-702/703 - CTI/DePaul 11 Bit = Binary Digit The basic digital resource Only two states (on/off, high/low, 1/0) Electronic / magnetic / optical mediums How is information mapped to bits? What kind of information? Text, quantities, pictures, … CSC255-702/703 - CTI/DePaul 12 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 moving Sounds - digitized audio CSC255-702/703 - CTI/DePaul 13 Why Digital Storage? Easier, less expensive to capture Readily stored using magnetic or optical media, and easily transmitted Fast to search, and combine with others Very readily manipulated: updated, added to, modified Digital circuitry is mass produced and inexpensive, more resistant to errors CSC255-702/703 - CTI/DePaul 14 Data Storage Bits . . . . . . . . = Bytes Columns (“fields”) Rows (“records”) Tables (“files”) CSC255-702/703 - CTI/DePaul 15 Computing Machines of 1600’s Pascal (1623-1662) Gottfrield Wilhelm Leibneiz (1646-1716) Simple adding calculators Gears and mechanical devices “Output” read from wheels with numbers Very slow CSC255-702/703 - CTI/DePaul 16 Computing Machines of 1800’s Charles Babbage (1792-1871) Joseph Jacquard (1752-1834) Herman Hollerith (1860-1929) Programs and/or data on cards Mechanical or electrical Still slow CSC255-702/703 - CTI/DePaul 17 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, 1950 Parts adapted from radio technology Thousands of calculations per second CSC255-702/703 - CTI/DePaul 18 Progression of Electronic Technology for Computing 1940-50’s: vacuum tubes 1960’s: individual transistors 1970’s: integrated circuits 1980’s and 90’s: denser and denser integrated circuits 2000+: millions of transistors on a chip, whole CPU on a chip CSC255-702/703 - CTI/DePaul 19 Early Days of Computers CSC255-702/703 - CTI/DePaul 20 Babbage’s Difference Engine Circa 1834 CSC255-702/703 - CTI/DePaul 21 Vacuum Tubes of 1940’s… CSC255-702/703 - CTI/DePaul 22 ENIAC - 1946 CSC255-702/703 - CTI/DePaul 23 ENIAC - 1946 CSC255-702/703 - CTI/DePaul 24 ENIAC Programming CSC255-702/703 - CTI/DePaul 25 ENIAC on a Chip - 1997 ¼ inch CSC255-702/703 - CTI/DePaul 26 Abstraction See a pattern Eliminate trivial details (generalize) Solution becomes a new component Encapsulate the solution Whole components can interact Construct higher-level solutions as combinations of components CSC255-702/703 - CTI/DePaul 27 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 CSC255-702/703 - CTI/DePaul 28