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