Lecture_Slides

Lecture_Slides - CS 134 Slide 1 What is computer science?...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS 134 Slide 1 What is computer science? The discipline of computing is the systematic study of the algorithmic processes that de- scribe and transform information: thei r theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all of computing is, What can be (efficiently) automated? Denning et al., Computing as a Discipline, Communications of the ACM 32 , 1 (Jan 1989) pp. 923. a young discipline that arose from several more established fields (mathematics, sci- ence, engineering) term coined by George Forsythe, a numeri- cal analyst and founding head (1965-1972) of Stanford University ! s CS Department CS at Waterloo: 1967: Department of Applied Analysis and Computer Science 1975: Department of Computer Science 2002: School of Computer Science CS 134 Slide 2 Aspects of computer science Design (from engineering) ! establish requirements and specifications; create arti- facts based on sound design principles ! application: create hardware and software that is flexi- ble, efficient, and usable Theory (from mathematics) ! develop model; prove theorems ! application: analyze the efficiency of algorithms before implementation; discover limits to computation Experimentation (from science) ! form hypothesis, design experiments, and test predic- tions ! application: simulate real-world situations; test effective- ness of programs whose behaviour cannot be modelled well These aspects appear throughout CS, often concurrently. CS 134 Slide 3 Abstraction Fundamentally, computer science is a sci- ence of abstractioncreating the right model for a problem and devising the appropriate mechanizable techniques to solve it. Con- fronted with a problem, we must create an abstraction of that problem that can be repre- sented and manipulated inside a computer. Through these manipulations, we try to find a solution to the original problem. A. V. Aho & J. D. Ullman, Foundations of Computer Science CS 134 Slide 4 Object-oriented design Concentrates on data abstraction: 1. identify entities occurring in problem do- main 2. partition similar entities into sets 3. identify properties and operations com- mon to all entities in each set 4. define interfaces to support operations on objects that belong to each entity set 5. define code modules to implement the en- tity sets ! choose representations for objects ! implement methods for constructing and manipulating objects conforming to the interfaces CS 134 Slide 5 Problem Description UWs Registrars Office has a list of students and a list of the courses offered by the University. Staff in the office need to be able to add courses to the list of courses and cancel courses. They also need to add a new student to the list of students and register the courses the student is taking....
View Full Document

Page1 / 73

Lecture_Slides - CS 134 Slide 1 What is computer science?...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online