What does the acronym DFS stand for? Explain the DFS algorithm in your own words.
|
|
- Marion Little
- 5 years ago
- Views:
Transcription
1 QUIZ: Searching for paths in a graph What does the acronym DFS stand for? Explain the DFS algorithm in your own words. 1
2 QUIZ: Searching for paths in a graph What does the acronym DFS stand for? Explain the DFS algorithm in your own words. We go to the deepest branch, examining all the paths beginning at the child node, before we come back to examine the alternate paths that begin at the sibling. 2
3 QUIZ: Searching for paths in a graph Find a path from Chicago to Dallas using the DFS algorithm. Show the stack and node markings at every step! (Nodes are pushed on the stack in alphabetical order) 3
4 4
5 9.1 OO Methodology OO Design A problem-solving methodology that produces a solution to a problem in terms of self-contained entities called objects Object A thing or entity that makes sense within the context of the problem E.g., a student, a car, the time, the date 5
6 Object-Oriented Design World View of OOD Problems are solved by isolating the objects in a problem, determining their properties and actions (responsibilities), and letting the objects collaborate to solve a problem What? Say again! 6
7 Object-Oriented Example You and your friend are making dinner Objects: you, friend, dinner, steaks, potatoes, lettuce, butter, grill, frying pan, pot, Classes: you and friend are People People have name, eye color, People can shop, cook, steaks, potatoes, and butter are Ingredients Ingredients have weights, costs, quantities, Ingredients can be bought at grocery store, carried home, cooked, 7
8 Object-Oriented Example You and your friend are making dinner Instance of a class: you and friend are instances of class People, you each have your own name and eye color you each can shop and cook steaks and potatoes are instances of class Ingredients they each have their own weight, cost and quantity they each can be bought, carried, cooked Objects collaborate to make dinner! 8
9 Object-Oriented Lingo Class = description of a group of similar objects Object = instance of a class = concrete example of an object in the class Classes contain: Properties (attributes) (name, eye color) Behaviors (actions, responsibilities) (shop, cook) Method = A named algorithm that defines behavior (shop, cook) Python: my_list.append(42) 9
10 Two types of design Top-Down Design decomposes problems into tasks Object-Oriented Design decomposes problems into collaborating objects 10 Yes, but how?
11 QUIZ What is the strategic difference between procedural design and OOD? 11
12 Bottom-up example Not in textbook Gathering wood-chips! How would we do it top-down? (i.e. procedural) Bottom-up: ask termites for help! 12
13 Bottom-up example Not in textbook What termites do: Search for wood-chip, pick it up Search for another Drop first next to second Repeat! 13
14 Evolution of clusters Not in textbook Initial random distribution of chips (yellow) and termites (red) 14
15 Evolution of clusters Not in textbook Follow the centers of mass of these last two piles! 15
16 Evolution of clusters Not in textbook A dynamical equilibrium is reached; periodically, small islands and peninsulas form, only to be reabsorbed in the central pile. 16
17 Implementation: MIT StarLogo (free to download!) Not in textbook 17
18 Recommended reading Not in textbook 18
19 OOD Steps isolate the real-world objects in the problem abstract the objects with like properties into groups (classes) determine the responsibilities of the group in interacting with other groups 19
20 OOD Example Think of design as a mapping from real world objects to classes of objects birth date marriage date Date class dog's birth date 20
21 After the design phase comes the implementation phase: dogbirthdate class Date mybirthdate marriagedate Description Instances We instantiate one or more objects of each class 21
22 22 Going forth and then back!
23 OOD Example Date's Actions in real world? We call an object's interactions with other objects its responsibilities Create itself Know the state of its fields Compare itself to another date Return a date a number of days since another date 23
24 OOD Example Responsibilities become methods associated with the classes and objects class Date getmonth getday getyear dayssince dogbirthdate.getmonth() dogbirthdate.getday() dogbirthdate.getyear() mybirthdate.getday() Etc. marriagedate.getyear() Etc. crtdate.dayssince(mybirthdate) Etc.
25 25 This is how Python refers to the current object in a class, since the name(s) of the object(s) is(are) not know at this time
26 26 Aren t we putting the carriage in front of the horses?
27 27 How do we use the class in a program?
28 28
29 Your turn! Create a class Fraction with two integer fields: nume and deno. The default value of any fraction should be 1/1. Write methods for: initializing nume and deno getting nume and deno. 29
30 To do for next time: Read and take notes Sec. 9.1 SKIP Sec. 9.2 and 9.3 Read and take notes Sec. 9.4 Solve in notebook end-of-chapter ex. 60 through
31 Your turn! Instantiate two fractions f1 and f2 in the main program: f1 is 3/4 f2 is 5/4 31
32 Your turn! Print f1 and f2 nicely the main program, using the get methods. The output should look like this: f1 is 3/4 f2 is 5/4 32
33 Do not confuse the responsibilities of reallife people with the responsibilities of the objects representing those people! Example: the zoo-keeper In real-life, (s)he has the responsibility to feed the animals, clean the cages, etc. In an OO program: zookeeper.setssn(), zookeeper.getlistofanimalscaredfor(), etc.
34 OOD Methodology Four stages to the decomposition process Brainstorming to locate possible classes Filtering the classes to find duplicates or remove unnecessary ones Scenarios are tried to be sure we understand collaborations Responsibility algorithms are designed for all actions that classes must perform 34
35 OOD Example Let s examine the problem-solving process for creating an address list Brainstorming and filtering Circling the nouns and underlining the verbs is a good way to begin 35
36 36 OOD Example - Filtering
37 Design tool: CRC Cards Class-Responsibility-Collaboration cards = notational device to record information about a class, what is must do and with whom it must collaborate We ll talk about inheritance next time 37
38 Convention: class names always start with uppercase Other useful responsibilities can be added depending on the application, e.g. sending s, checking out books from library, etc. 38
39 39 Can you think of any other useful responsibilities? Hint: think of Python strings.
40 40 Can you think on other useful responsibilities? Hint: Think about the list algorithms from Ch.8
41 Responsibility Algorithms Person Class Initialize name.initialize() Write "Enter phone number; press return." Get telephone number Write "Enter address; press return." Get address Print Tells name to initialize itself Tells name to print itself name.print() Write "Telephone number: " + telephonenumber Write " address: " + address 41
42 Responsibility Algorithms Name Class Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname Is has the same 2 responsibilities as Person, but the algorithms are different! 42
43 Name Class Now let s do this in Python! Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 43
44 Name Class Now let s do this in Python! Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 44
45 Name Class Now let s do this in Python! Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname Now add the Print responsibility (method) 45
46 Name Class Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 46
47 Name Class Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print In the main program, we instantiate (create) three objects of this class Print "First name: " + firstname Print "Last name: " + lastname 47
48 Name Class Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Now we can instruct the objects what to do, using their methods Print Print "First name: " + firstname Print "Last name: " + lastname 48
49 Name Class Run this program! Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 49
50 Name Class Initialize "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Write the same code for the friend s name and the dog s name, and run it again! Print Print "First name: " + firstname Print "Last name: " + lastname 50
51 51
52 Can we implement the same functionality w/o OO machinery? Of course we can! 52
53 53
54 So then why bother with objects? 54
55 Name Class Initialize Classes "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 55
56 Name Class Initialize Encapsulation "Enter the first name; press return." Read firstname "Enter the last name; press return." Read lastname Print Print "First name: " + firstname Print "Last name: " + lastname 56
57 57 Inheritance
58 Inheritance 58 ?
59 Conclusion: Inheritance makes it easy to reuse code! 59
60 60 Polymorphism
61 Conclusion: Polymorphism makes it easy to understand, evolve and maintain code! 61
62 Inheritance A construct that fosters reuse by allowing an application to take an already-tested class and derive a class from it that inherits the properties the application needs Polymorphism The ability of a language to have duplicate method names in an inheritance hierarchy and to apply the method that is appropriate for the object to which the method is applied 62
63 63
64 Inheritance and Polymorphism Inheritance and polymorphism work together How? They combine to allow the programmer to build useful hierarchies of classes that can be put into a library to be reused in different applications 64
65 OO nitty-gritty: constructors 65 Source:
66 Ethical Issues Spam, hoaxes and scams 66
67 Who am I? I am: An advocate of structured programming A recipient of the Turing award The inventor of a famous graph algorithm that now has my name. Known for my wit. Can you recall some of my witty sayings? Dutch 67
68 Review questions Answer in notebook! only Python 76 only a. (Python) 68
QUIZ: Searching for paths in a graph. What does the acronym DFS stand for? Explain the DFS algorithm in your own words.
QUIZ: Searching for paths in a graph What does the acronym DFS stand for? Explain the DFS algorithm in your own words. 1 What does the acronym DFS stand for? Explain the DFS algorithm in your own words.
More information9.1 OO Methodology OO Design Object
1 9.1 OO Methodology OO Design A problem-solving methodology that produces a solution to a problem in terms of self-contained entities called objects Object A thing or entity that makes sense within the
More information1. Write two major differences between Object-oriented programming and procedural programming?
1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:
More informationOutline. Outline. 1 Chapter 2: Data Abstraction
Outline Outline 1 Chapter 2: Data Abstraction From Data Type to ADT Values A value is a unit of information used in a program. It can be associated with a constant or variable (a name) by an assignment
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationOO System Models Static Views
OO System Models Static Views UML Class & Object Diagrams Software Engineering OO Models Class Diagram Slide 1 Objective Introduces the evolutionary approach for building classes Explain how to identify
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationChapter 5: Structural Modeling
Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class
More informationObject-Oriented Design
Object-Oriented Design IT4GIS Keith T. Weber, GISP GIS Director ISU GIS Training and Research Center Topics During the balance of this semester, we will pursue and follow two learning threads Object-relational
More informationInheritance and Polymorphism
Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg
More informationSoftware Design and Analysis for Engineers
Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 2 Date:
More informationObject-Oriented Systems Development: Using the Unified Modeling Language
Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.
More informationObject- Oriented Design with UML and Java Part I: Fundamentals
Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College August 29, 2018 Outline Outline 1 Chapter 2: Data Abstraction Outline Chapter 2: Data Abstraction 1 Chapter 2: Data Abstraction
More informationIntroduction to Computer Programming for Non-Majors
Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2015 Chapter 12 Object-Oriented Design The Department of Computer Science Objectives To understand the process of object-oriented design.
More informationIntroduction to Computer Programming for Non-Majors
Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2014 Chapter 12 Object-Oriented Design The Department of Computer Science Objectives To understand the process of object-oriented design.
More informationDesign and UML Class Diagrams
Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write
More informationAbstraction. Abstraction
9/11/2003 1 Software today is more complex than it has ever been. Software controls Space shuttle systems during launch Elevators in 100-story buildings Cross-Atlantic transportation routes of freighters
More informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445
More informationObject Fundamentals Part Two. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 3 09/01/2009
Object Fundamentals Part Two Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 3 09/01/2009 1 Lecture Goals Continue our tour of the basic concepts, terminology, and notations
More informationWelcome to Design Patterns! For syllabus, course specifics, assignments, etc., please see Canvas
Welcome to Design Patterns! For syllabus, course specifics, assignments, etc., please see Canvas What is this class about? While this class is called Design Patterns, there are many other items of critical
More informationCMSC201 Computer Science I for Majors
CMSC201 Computer Science I for Majors Lecture 25 Classes All materials copyright UMBC and Dr. Katherine Gibson unless otherwise noted Run time Last Class We Covered Run time of different algorithms Selection,
More informationChapter 10 Object-Oriented Design Principles
Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis
More informationIntroduction to Software Engineering: Analysis
Introduction to Software Engineering: Analysis John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from of Bruegge & DuToit 3e, Ch 5 and UML Distilled by Martin
More informationIntroduction to Design Patterns
Introduction to Design Patterns First, what s a design pattern? a general reusable solution to a commonly occurring problem within a given context in software design It s not a finished design that can
More informationExpanding Our Horizons. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011
Expanding Our Horizons CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011 1 Goals of the Lecture Cover the material in Chapter 8 of our textbook New perspective on objects and encapsulation
More informationDo you remember what is the most powerful tool for managing complexity?
Do you remember what is the most powerful tool for managing complexity? 2 Abstractions and more abstractions You are here 3 8.1 Three views of data Application or user level Logical or abstract level Implementation
More informationExamination paper for TDT4145 Data Modelling and Database Systems
Department of Computer and Information Science Examination paper for TDT4145 Data Modelling and Database Systems Academic contact during examination: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420
More informationModule Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation
Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language
More informationDesign and Information Hiding
Design and Information Hiding 15-214: Foundations of Software Engineering Jonathan Aldrich Related Reading: D. L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. CACM 15(12):1053-1058,
More informationCS304 Object Oriented Programming Final Term
1. Which of the following is the way to extract common behaviour and attributes from the given classes and make a separate class of those common behaviours and attributes? Generalization (pg 29) Sub-typing
More informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module
More informationCSC207 Week 3. Larry Zhang
CSC207 Week 3 Larry Zhang 1 Announcements Readings will be posted before the lecture Lab 1 marks available in your repo 1 point for creating the correct project. 1 point for creating the correct classes.
More informationMore OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 4 09/11/2012
More OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 4 09/11/2012 1 Goals of the Lecture Continue a review of fundamental object-oriented concepts 2 Overview of OO Fundamentals
More informationQUIZ #5 - Solutions (5pts each)
CS 435 Spring 2014 SOFTWARE ENGINEERING Department of Computer Science Name QUIZ #5 - Solutions (5pts each) 1. The best reason for using Independent software test teams is that a. software developers do
More informationObject-Oriented Programming Design and Analysis Elena Punskaya,
Object-Oriented Programming Design and Analysis Elena Punskaya, op205@cam.ac.uk!1 Object-Oriented Programming First programs: anything goes! 1960s-1970s: structured programming! - any computable function
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationA cipher is a type of secret code, where you swap the letters around so that noone can read your message.
Secret Messages Introduction: In this project, you ll learn how to make your own encryption program, to send and receive secret messages with a friend. This project ties in with the Earth to Principa activity
More informationObject Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia
Object Oriented Programming in Java Jaanus Pöial, PhD Tallinn, Estonia Motivation for Object Oriented Programming Decrease complexity (use layers of abstraction, interfaces, modularity,...) Reuse existing
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationQUIZ. Write the following for the class Bar: Default constructor Constructor Copy-constructor Overloaded assignment oper. Is a destructor needed?
QUIZ Write the following for the class Bar: Default constructor Constructor Copy-constructor Overloaded assignment oper. Is a destructor needed? Or Foo(x), depending on how we want the initialization
More informationObject Fundamentals Part Three. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 4 09/06/2007
Object Fundamentals Part Three Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 4 09/06/2007 1 Lecture Goals Continue our tour of the basic concepts, terminology, and notations
More informationLecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson
Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson January 13, 2005 January 18, 2005 1 of 38 Lecture Goals Introduce the basic concepts of object-oriented analysis/design/programming
More informationIntroduction to OOP. Procedural Programming sequence of statements to solve a problem.
Introduction to OOP C++ - hybrid language improved and extended standard C (procedural language) by adding constructs and syntax for use as an object oriented language. Object-Oriented and Procedural Programming
More informationLecture 1. Abstraction
Lecture 1 Abstraction 1 Programming Techniques Unstructured Programming Procedural Programming Modular & Structural Programming Abstract Data Type Object-Oriented Programming 2 Unstructured Programming
More informationCSIT 2008 June 28, 2008 Anita Verno, Bergen Community College,
CSIT 2008 June 28, 2008 Anita Verno, Bergen Community College, averno@bergen.edu Introducing OOD, An Example Design Methodologies Alphabet Soup: OOA, OOD, OOP Slides for an Introductory Lesson Why OOD?
More informationReady for the Real World. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 8 09/17/2009
Ready for the Real World Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 8 09/17/2009 1 Lecture Goals Review material from Chapter 4 of the OO A&D textbook Taking Your Software
More informationInheritance and Polymorphism
Inheritance and Polymorphism The concept of inheritance is a common feature of an object-oriented programming language. Inheritance allows a programmer to define a general class, and then later define
More informationInheritance and Polymorphism in Java
Inheritance and Polymorphism in Java Introduction In this article from my free Java 8 course, I will be discussing inheritance in Java. Similar to interfaces, inheritance allows a programmer to handle
More informationMORE OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 4 09/01/2011
MORE OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 4 09/01/2011 1 Goals of the Lecture Continue a review of fundamental object-oriented concepts 2 Overview of OO Fundamentals
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationObject-Oriented Design (OOD) and C++
Chapter 2 Object-Oriented Design (OOD) and C++ At a Glance Instructor s Manual Table of Contents Chapter Overview Chapter Objectives Instructor Notes Quick Quizzes Discussion Questions Projects to Assign
More informationObject Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay
Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College September 6, 2017 Outline Outline 1 Chapter 2: Data Abstraction Outline Chapter 2: Data Abstraction 1 Chapter 2: Data Abstraction
More informationConcepts 6. OOAD Part II. BlueJ ex 5.1. OO and inheritance. Intro to inheritance. The DoME project is a database for multimedia entertainment.
Concepts 6 Generalization A relation between a general and a specialized element. The more special adds further properties. Inheritance A relation between a VXSHUFODVV and a VXEFODVV. Subclasses share
More informationSoftware Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)
Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture
More informationAppendix A Database Design. Data Modeling and the Entity-Relationship Model
Appendix A Database Design Data Modeling and the Entity-Relationship Model 1 Three Stages of Database Development The three stages of database development are: 1. Requirements Analysis Stage 2. Component
More informationThe Essence of Object Oriented Programming with Java and UML. Chapter 2. The Essence of Objects. What Is an Object-Oriented System?
Page 1 of 21 Page 2 of 21 and identity. Objects are members of a class, and the attributes and behavior of an object are defined by the class definition. The Essence of Object Oriented Programming with
More informationLesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014
Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class
More informationReady for the Real World. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 8 09/18/2007
Ready for the Real World Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 8 09/18/2007 Lecture Goals Review material from Chapter 4 of the OO A&D textbook Taking Your Software
More informationQUIZ. How could we disable the automatic creation of copyconstructors
QUIZ How could we disable the automatic creation of copyconstructors pre-c++11? What syntax feature did C++11 introduce to make the disabling clearer and more permanent? Give a code example. Ch. 14: Inheritance
More informationFundamental Concepts (Principles) of Object Oriented Programming These slides are based on:
1 Fundamental Concepts (Principles) of Object Oriented Programming These slides are based on: [1] Timothy A. Budd, Oregon State University, Corvallis, Oregon, [Available] ClickMe, September 2001. 2 What
More informationMedia Computation. Lecture 16.1, December 8, 2008 Steve Harrison
Media Computation Lecture 16.1, December 8, 2008 Steve Harrison Today -- Details of Creating Classes From requirements to classes Creating a class that will simulate a number game Practice going from requirements
More informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationLaboratory. Abstract Data Types. Objective. References. Gain a deeper appreciation for stacks, queues, and trees.
Laboratory Abstract Data Types 9A Objective Gain a deeper appreciation for stacks, queues, and trees. References Software needed: 1) A web browser (Internet Explorer or Netscape) 2) Applets a) Stackqueue
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2017 Quiz I
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2017 Quiz I There are 15 questions and 12 pages in this quiz booklet. To receive
More informationObject-oriented design
Object-oriented design Michael Mandel Lecture 11 Methods in Computational Linguistics I The City University of New York, Graduate Center https://github.com/ling78100/lectureexamples/blob/master/lecture11final.ipynb
More informationSOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)
SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen
More informationAgenda CS121/IS223. Reminder. Object Declaration, Creation, Assignment. What is Going On? Variables in Java
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors Agenda
More informationObject Oriented Analysis & Design (OOAD)
Object Oriented Analysis & Design (OOAD) 1 OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single
More informationCPS122 Lecture: Course Intro; Introduction to Object-Orientation
Objectives: CPS122 Lecture: Course Intro; Introduction to Object-Orientation 1. To introduce the course requirements and procedures. 2. To introduce fundamental concepts of OO: object, class Materials:
More informationInheritance and Polymorphism
Inheritance and Polymorphism Inheritance (Continued) Polymorphism Polymorphism by inheritance Polymorphism by interfaces Reading for this lecture: L&L 10.1 10.3 1 Interface Hierarchies Inheritance can
More informationAbstract Data Types. Different Views of Data:
Abstract Data Types Representing information is fundamental to computer science. The primary purpose of most computer programs is not to perform calculations, but to store and efficiently retrieve information.
More informationIntro to Haskell Notes: Part 5
Intro to Haskell Notes: Part 5 Adrian Brasoveanu October 5, 2013 Contents 1 Curried functions and related issues 1 1.1 Curried functions......................................... 1 1.2 Partially applied
More informationIn this lesson you will learn: To use various tools of Paint activity. (See the level I lesson on paint for a revision.)
A m In this lesson you will learn: To use various tools of Paint activity. (See the level I lesson on paint for a revision.) Lesson6 Activity using Paint 1. Draw a greeting card for your friend on her
More informationDay 4. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 4 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments questions about assignment 2 a quick look back constructors signatures and overloading encapsulation / information
More informationDmitriy Shironosov/ShutterStock, Inc. Abstract Data Types Abstract Data Types
Dmitriy Shironosov/ShutterStock, Inc. Abstract Data Types 85 LABORATORY 9 Abstract Data Types OBJECTIVE Gain a deeper appreciation for stacks, queues, and trees. REFERENCES Software needed: 1) Stack-Queue
More informationObject oriented programming Concepts
Object oriented programming Concepts Naresh Proddaturi 09/10/2012 Naresh Proddaturi 1 Problems with Procedural language Data is accessible to all functions It views a program as a series of steps to be
More informationJava Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011
A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the
More informationCS485/540 Software Engineering Requirements Modeling (Ch. 6)
CS485/540 Software Engineering Requirements Modeling (Ch. 6) Cengiz Günay Dept. Math & CS, Emory University Fall 2013 Some slides courtesy of Joan Smith and Roger Pressman Günay (Emory) Requirements Modeling
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationMath 7 Notes - Unit 4 Pattern & Functions
Math 7 Notes - Unit 4 Pattern & Functions Syllabus Objective: (3.2) The student will create tables, charts, and graphs to extend a pattern in order to describe a linear rule, including integer values.
More informationLab 2: Object-Oriented Design 12:00 PM, Jan 31, 2018
CS18 Integrated Introduction to Computer Science Fisler, Nelson Contents Lab 2: Object-Oriented Design 12:00 PM, Jan 31, 2018 1 Terminology 1 2 Class Hierarchy Diagrams 2 2.1 An Example: Animals...................................
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationCS121/IS223. Object Reference Variables. Dr Olly Gotel
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors CS121/IS223
More informationChapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc.
Chapter 13 Object Oriented Programming Contents 13.1 Prelude: Abstract Data Types 13.2 The Object Model 13.4 Java 13.1 Prelude: Abstract Data Types Imperative programming paradigm Algorithms + Data Structures
More informationDesigning Classes. Appendix D. Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall
Designing Classes Appendix D Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall Chapter Contents Encapsulation Specifying Methods Java Interfaces Writing an Interface Implementing
More informationComputer Science 210 Data Structures Siena College Fall Topic Notes: Trees
Computer Science 0 Data Structures Siena College Fall 08 Topic Notes: Trees We ve spent a lot of time looking at a variety of structures where there is a natural linear ordering of the elements in arrays,
More informationCOMPUTER PROGRAMMING (ECE 431) TUTORIAL 9
COMPUTER PROGRAMMING (ECE 431) TUTORIAL 9 1. What is object oriented programming (OOP)? How is it differs from the traditional programming? 2. What is a class? How a class is different from a structure?
More informationInheritance (Outsource: )
(Outsource: 9-12 9-14) is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes,
More informationUML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011
UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation
More informationChapter 2: The Object-Oriented Design Process
Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and
More informationObject-Oriented Languages and Object-Oriented Design. Ghezzi&Jazayeri: OO Languages 1
Object-Oriented Languages and Object-Oriented Design Ghezzi&Jazayeri: OO Languages 1 What is an OO language? In Ada and Modula 2 one can define objects encapsulate a data structure and relevant operations
More informationComputer Science 9608 (Notes) Chapter: 4.1 Computational thinking and problem-solving
UWhat is Computational Thinking? Computational thinking (CT) involves a set of skills and techniques that software engineers use to write programs that underlie the computer applications you use such as
More information[key, Left subtree, Right subtree]
Project: Binary Search Trees A binary search tree is a method to organize data, together with operations on these data (i.e., it is a data structure). In particular, the operation that this organization
More informationQUIZ. How could we disable the automatic creation of copyconstructors
QUIZ How could we disable the automatic creation of copyconstructors pre-c++11? What syntax feature did C++11 introduce to make the disabling clearer and more permanent? Give a code example. QUIZ How
More informationPage 1 CCM6+ Unit 10 Graphing UNIT 10 COORDINATE PLANE. CCM Name: Math Teacher: Projected Test Date:
Page 1 CCM6+ Unit 10 Graphing UNIT 10 COORDINATE PLANE CCM6+ 2015-16 Name: Math Teacher: Projected Test Date: Main Concept Page(s) Vocabulary 2 Coordinate Plane Introduction graph and 3-6 label Reflect
More informationCS 15 Design Section. Design
Design Introduction to the Section: This may be for advanced students who already know about Procedural Programming. Could be a nice lecture for them as to why we teach OO. This is from a lecture at Georgia
More informationClasses, objects, methods and properties
Learning Object 1. African Virtual University Template for extracting a learning object Main Learning Objective Nature of learning object Key concept (s) Source Module information Access source module
More informationDatabase Design. 6-2 Normalization and First Normal Form. Copyright 2015, Oracle and/or its affiliates. All rights reserved.
Database Design 6-2 Objectives This lesson covers the following objectives: Define the purpose of normalization in database models Define the rule of First Normal Form in the normalization process Determine
More information