Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)

Size: px
Start display at page:

Download "Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)"

Transcription

1 Appedix (RASD 3/e) MACIASZEK, L.A. (2007): Requiremets Aalysis ad System Desig, 3 rd ed. Addiso Wesley, Harlow Eglad ISBN Appedix Fudametals of Object Techology Pearso Educatio Limited 2007 Topics Istace object Class Variables, methods, ad costructors Associatio Aggregatio ad compositio Geeralizatio ad iheritace Abstract class Appedix (Maciaszek - RASD 3/e) 2 Fudametals of OT BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ Object has State Behavior Idetity (equal idetical) Objects ad atural systems Istace object Class a abstractio (geeric descriptio) for a set of objects a class for objects (but better to avoid the term object class because a class ca be istatiated ito a object object class object would soud a bit strage) Istace object a istace of a class object, istace, but ot object istace Class object a istatiated class (everythig i a object orieted system is a BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, object) The Bejami/Cummigs Publ Appedix (Maciaszek - RASD 3/e) 3 Appedix (Maciaszek - RASD 3/e) 4 Object otatio objectame: classame attributeame: [type] = value How do objects collaborate? : Orde r a role that may objects ca play c1 : Course course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig c1 : Course :Course c1 aoymous object classame suppressed No compartmet for operatios i objects! Exceptio prototypical (delegatio-based) laguages, such as Self or Newto 1. ship(ord : ) 2. getproducts(ord : ) : Shipmet : Stock a message ivokig a operatio o a object (umbers do ot imply ay sequece of executio) 4. reorder(prd : Product) 3. aalyzelevels( ) : Purchase Appedix (Maciaszek - RASD 3/e) 5 Appedix (Maciaszek - RASD 3/e) 6 MACIASZEK (2007): Req Aalysis & Syst Desig 1

2 Appedix (RASD 3/e) How objects idetify each other? object idetifier - OID Object logevity Persistet object outlives the executio of the program swizzlig to covert persistet OID (disk address) to trasiet OID (memory address) Trasiet object c1 : Course CCC888 course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig teacher: idetity = TTT999 OIDs to implemet associatios c1 : Course course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig c2 : Course teacher teacher course course t1 : Teacher Appedix (Maciaszek - RASD 3/e) 7 Appedix (Maciaszek - RASD 3/e) 8 Trasiet lik How does a object kow the OID of aother object if there is o persistet lik? Previous access to a object still memorized i some program variable Search o the database A map object that associates objects to other objects by logical idetifiers (primary keys) or similar meas Creatig a ew object Message passig crs_ref.getcoursename(out crs_ame) i, out, ad i/out argumets Most OO laguages do ot make such distictio explicit I Java: message argumets of primitive data types are passed by value act as iput argumets the chage of argumet values ot possible because the operatio acts o a copy of the argumet pass by value for o-primitive data types results i the operatio receivig the referece of the argumet, ot its value the referece ca be used to access ad possibly modify the attribute values withi the passed object the above elimiates the eed for explicit i/out argumets retur type of a operatio substitutes a eed for explicit out argumets operatio ca retur oly oe retur value or o value at all (void) however, it ca retur o-primitive type (i.e. a object of ay complexity) Appedix (Maciaszek - RASD 3/e) 9 Appedix (Maciaszek - RASD 3/e) 10 Class, attributes Role ames / attributes desigatig a class Class a overloaded term! Class ame ordernumber : Iteger orderdate : Date ordervalue : Currecy the theshipmet Shipmet ship(ord : ) Attributes aalysis model Operatios() Course course_umber : Strig course_ame : Strig order_umber : Iteger order_date : Date order_value : Currecy ordernumber : Iteger orderdate : Date ordervalue : Currecy theshipmet : Shipmet Shipmet the : ship(ord : ) implemetatio model Appedix (Maciaszek - RASD 3/e) 11 Appedix (Maciaszek - RASD 3/e) 12 MACIASZEK (2007): Req Aalysis & Syst Desig 2

3 Appedix (RASD 3/e) Attribute visibility private attributes ad public operatios operatios ecapsulate attributes Purchase - purchasenumber : Strig - purchasedate : Date - purchasevalue : Currecy + reorder(prd : Product) Operatios i object collaboratio : 1. ship(ord : ) 2. getproducts(ord : ) 3. aalyzelevels( ) : Shipmet : Stock 4. reorder(prd : Product) : Purchase Purchase purchasenumber : Strig purchasedate : Date purchasevalue : Currecy Product Stock getproducts(ord : ) : Collectio aalyzelevels() reorder(prd : Product) Shipmet Purchase BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ ship(ord : ) reorder(prd : Product) Appedix (Maciaszek - RASD 3/e) 13 Appedix (Maciaszek - RASD 3/e) 14 Operatio, visibility, scope, class object method procedure that implemets a operatio message ame = method ame sigature = list of formal argumets of a method visibility scope istace scope whe operatio ivoked o istace object (fidempage()) class scope whe operatio ivoked o class object (fidaverageage()) Class object most prog. lag. do ot istatiate class object they oly provide a sytax to refer to the class ame i order to access a class-scope attribute or call a classscope operatio static attribute/operatio Example ext slide Class-scope scope attributes ad operatios - example Studet studetid : S trig studetname : S trig umberofs tudets : it maxcoursesp ersemester : it <<static>> averagestudetage() : double public class Studet private Strig studetid; //accessible via Studet s operatios private Strig studetname; //accessible via Studet s operatios private static it umberofstudets; //accessible oly to Studet s static methods, such as averagestudetage() public static it maxcoursespersemester; //accessible via Studet:: maxcoursespersemester public static double averagestudetage() implemetatio code here //callable by referrig to the class ame Studet::averageStudetAge() //callable also with a object of the class std.averagestudetage() Appedix (Maciaszek - RASD 3/e) 15 Appedix (Maciaszek - RASD 3/e) 16 Variables, methods, costructors Associatio Variable ame for a storage space data member variable declared i a class istace variable (istace scope) class variable (class scope) local variable variable declared i a method body Method implemetatio of a operatio method prototype = ame + sigature + retur type overloaded methods same ames, differet sigatures Costructor special method to istatiate objects of the class costructor ame = class ame costructor has o retur type class must have at least oe costructor ivoked with the ew keyword Studet std22 = ew Studet(); //default costructor ordernumber : Iteger orderdate : Date ordervalue : Currecy the theshipmet OrdShip Shipmet shipmetid : Strig shipmetdate : Date carrier : Strig ship(ord : ) Appedix (Maciaszek - RASD 3/e) 17 Appedix (Maciaszek - RASD 3/e) 18 MACIASZEK (2007): Req Aalysis & Syst Desig 3

4 Appedix (RASD 3/e) Associatio degree Biary Uary (sigular) Terary Associatio multiplicity maagedby 0..1 Employee maagerof 0.. Teacher taughtby ismaagedby isichargeof 0.. teaches 0.. CourseOfferig Appedix (Maciaszek - RASD 3/e) 19 Appedix (Maciaszek - RASD 3/e) 20 Associatio lik ad extet Associatio class Lik associatio istace represets a roleame ca be a collectio of refereces Extet set of associatio istaces i the figure, the exted of the associatio is five (five liks) CourseOfferig Studet 1 Lik 1 with 3 refereces Lik 2 Lik 3 Shipmet 1 Shipmet 2 Assessmet mark : List(Number) totalmark : Number grade : Byte Parameterized type 2 Lik 5 Lik 4 with 2 refereces Shipmet 23 Appedix (Maciaszek - RASD 3/e) 21 Appedix (Maciaszek - RASD 3/e) 22 Compositio ad aggregatio Compositio aggregatio by value Aggregatio aggregatio by referece Properties: Trasitivity Asymmetry Existece depedecy Implemeted by buried refereces or ier classes ext slides Book Chapter Sectio is_part_of has Crate BeerBottle Implemetig aggregatio by buried referece ot differet to associatio by meas of variable with private visibility however, i Java, classes caot have private visibility subset classes must have public or package visibility title : Strig Book search(what : Strig) : boolea Book() -thebook -thechapter Chapter text : Text figure : Graphics search(what : Strig) : boolea Chapter() -thebook public class Book private Strig title; private Chapter thechapter[]; private TableOfCotets thetableofcotets; public Book() //default costructor public boolea search(strig what) retur true; -thetableofcotets 1 TableOfCotets g eerate() : V oid TableOfCotets() Appedix (Maciaszek - RASD 3/e) 23 Appedix (Maciaszek - RASD 3/e) 24 MACIASZEK (2007): Req Aalysis & Syst Desig 4

5 Appedix (RASD 3/e) Implemetig aggregatio by ier classes title : S trig <<ier>> TableOfCotets geerate() : Void TableOfCotets() -toc 1 Book displaytoc() : Void search(what : S trig) : bo olea Book() -ch <<ier>> Chapter text : Text figure[ ] : Graphics search(what : Strig) : boolea Chapter(chNum : it) outer class istatiates ier objects i its ow costructor ier class ca be private (accessible oly from outer class) public class Book private Strig title; private Chapter[] ch; private TableOfCotets toc; public Book(...)... toc = ew TableOfCotets(); ch = ew Chapter[umberChapters]; for (it i=0; i<umberchapters; i++) ch[i] = ew Chapter(); public Void displaytoc() toc.geerate(); retur; private class TableOfCotets private Void geerate()... Geeralizatio A subclass iherits the structure ad behavior of its superclass BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ Not a good visualizatio of geeralizatio. Subclasses iherit types, ot values (a ose ot a log ose)! Appedix (Maciaszek - RASD 3/e) 25 Appedix (Maciaszek - RASD 3/e) 26 Geeralizatio Polymorphism Perso fullname : Strig dateofbirth : java.util.date age() : it getyear() : it getyear(date : java.util.date) : it Perso() Employee datehired : java.util.da te salary : it leaveetitlemet : it leavetake : it remaiigleave() : it Employee() public class Perso private Strig fullname; private Date dateofbirth; public Perso()... public it age() retur getyear() - getyear(dateofbirth); public class Employee exteds Perso private Date datehired; private it salary; private it leaveetitlemet; private it leavetake; public Employee()... public it remaiigleave() retur leaveetitlemet - leavetake; Perso fullname : Strig dateofbirth : java.util.date age() : it P erso() Employee datehired : java.util.date salary : it leaveetitlemet : it leavetake : it remaiigleave() : it Employee() public class Maager exteds Employee private Date dateappoited; private it leavesupplemet; public Maager()... public it remaiigleave() it mrl; mrl = super.remaiigleave() + leavesupplemet; retur mrl; Maager dateappoited : java.util.date leavesupplemet : it remaiigleave() : it Maager() The same sigature (operatio ame ad the umber ad type of argumets) Appedix (Maciaszek - RASD 3/e) 27 Appedix (Maciaszek - RASD 3/e) 28 Multiple iheritace Perso fullname : Strig dateofbirth : Date age() : Iteger Multiple classificatio Multiple iheritace A class may have may superclasses, but a sigle class must be defied for each object Multiple classificatio A object is simultaeously the istace of two or more classes Teacher Tutor S tudet PostgraduateStudet The problem arises if Perso is specialized i few orthogoal hierarchies Perso ca be Employee or Studet, Male or Female, Child or Adult,, etc. Without multiple classificatio eed to defie classes for each legal combiatio betwee the orthogoal hierarchies ChildFemaleStudet etc. Appedix (Maciaszek - RASD 3/e) 29 Appedix (Maciaszek - RASD 3/e) 30 MACIASZEK (2007): Req Aalysis & Syst Desig 5

6 Appedix (RASD 3/e) Dyamic classificatio A object does ot oly belog to multiple classes but it ca gai or lose classes over its lifetime A Perso object ca be just a employee oe day ad a maager (ad employee) aother day I most curret object-orieted programmig eviromets, a object caot chage its class after it has bee istatiated (created) Appedix (Maciaszek - RASD 3/e) 31 Abstract class Paret class that will ot have direct istace objects Abstract class caot istatiate objects because it has at least oe abstract operatio public abstract class public abstract Double retalcharge(); V ideotape V ideotape() VideoDisk public class VideoDisk exteds public... public Double retalcharge() retur ull; Appedix (Maciaszek - RASD 3/e) 32 Iterface vs abstract class Iterface a defiitio of a sematic type with attributes (costats oly) ad operatios but without actual declaratios (implemetatios) of operatios classes that implemet the iterface provide the declaratios Abstract class has udesirable effect of the fragile base class problem Ulike abstract classes iterfaces are helpful for modelig situatios that ask for multiple iheritace iterface does ot implemet (eve partially) ay of its methods but still, pure abstract class iterface i case of iterface, ay class i the system ca implemet it, ot just the subclasses a class ca implemet ay umber of iterfaces iterface defies a referece type that separates cliet objects from the implemetatio chages i the supplier objects the implemetatio of the iterface ca chage ad the cliet object may ot be affected Multiple implemetatio iheritace ot allowed i Java VideoTape VideoTape() Not allowed i Java! VideoDisk VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoPlayer VideoCamera Appedix (Maciaszek - RASD 3/e) 33 Appedix (Maciaszek - RASD 3/e) 34 Implemetig Java iterface public iterface Double retalcharge(); VideoPlayer VideoPlayer() SoudSystem VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoCamera Usig iterface to elimiate depedecy to supplier ChargeCalculator getretalcharge() : Double ChargeCalculator() <<uses>> thevideo public class ChargeCalculator thevideo; public Double getretalcharge() retur thevideo.retalcharge(); VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoTape VideoTape() VideoDisk public class VideoPlayer exteds VideoEquipmet implemets public VideoPlayer()... public Double retalcharge() retur ull; VideoTape V ideodisk VideoTape() VideoPlayer V ideop layer() SoudSystem VideoCamera Appedix (Maciaszek - RASD 3/e) 35 Appedix (Maciaszek - RASD 3/e) 36 MACIASZEK (2007): Req Aalysis & Syst Desig 6

7 Appedix (RASD 3/e) Summary Each object has a state, behavior ad idetity There are istace objects ad class objects Class defies attributes ad operatios There are three kids of relatioships associatio, aggregatio, geeralizatio Geeralizatio provides the basis for polymorphism ad iheritace Commercial programmig eviromets support multiple iheritace directly (C++, C#) or by meas of iterfaces (Java) Multiple ad dyamic classificatio is still ot supported commercially Abstract classes ad iterfaces are importat i modelig Appedix (Maciaszek - RASD 3/e) 37 MACIASZEK (2007): Req Aalysis & Syst Desig 7

Appendix Fundamentals of Object Technology

Appendix Fundamentals of Object Technology MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Appendix Fundamentals of Object Technology Pearson Education Limited 2007

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

What Is Object-Orientation?

What Is Object-Orientation? Iformatio Systems Cocepts What Is Object-Orietatio? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 4 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

Classes and Objects. Again: Distance between points within the first quadrant. José Valente de Oliveira 4-1

Classes and Objects. Again: Distance between points within the first quadrant. José Valente de Oliveira 4-1 Classes ad Objects jvo@ualg.pt José Valete de Oliveira 4-1 Agai: Distace betwee poits withi the first quadrat Sample iput Sample output 1 1 3 4 2 jvo@ualg.pt José Valete de Oliveira 4-2 1 The simplest

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

Goals of the Lecture UML Implementation Diagrams

Goals of the Lecture UML Implementation Diagrams Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

Goals of the Lecture Object Constraint Language

Goals of the Lecture Object Constraint Language Goals of the Lecture Object Costrait Laguage Object-Orieted Aalysis ad Desig - Fall 1998 Preset the Object Costrait Laguage Ð As best as possible, with the limited iformatio available from UML i a Nutshell

More information

Java Inheritance. Class ADT (Abstract Data Type) Interface. Classes implement the concept of ADT: Interfaces define interaction contracts: Rui Moreira

Java Inheritance. Class ADT (Abstract Data Type) Interface. Classes implement the concept of ADT: Interfaces define interaction contracts: Rui Moreira Java Iheritace Rui Moreira Class ADT (Abstract Data Type) Classes implemet the cocept of ADT: Provide a coheret represetatio for the declaratio of structured data types ad also the code for maipulatig

More information

Goals of this Lecture Activity Diagram Example

Goals of this Lecture Activity Diagram Example Goals of this Lecture Activity Diagram Example Object-Orieted Aalysis ad Desig - Fall 998 Preset a example activity diagram Ð Relate to requiremets, use cases, ad class diagrams Also, respod to a questio

More information

CS 11 C track: lecture 1

CS 11 C track: lecture 1 CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material

More information

From last week. Lecture 5. Outline. Principles of programming languages

From last week. Lecture 5. Outline. Principles of programming languages Priciples of programmig laguages From last week Lecture 5 http://few.vu.l/~silvis/ppl/2007 Natalia Silvis-Cividjia e-mail: silvis@few.vu.l ML has o assigmet. Explai how to access a old bidig? Is & for

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

n We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations

n We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations Chapter 14 Graph class desig Bjare Stroustrup Abstract We have discussed classes i previous lectures Here, we discuss desig of classes Library desig cosideratios Class hierarchies (object-orieted programmig)

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

n Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types

n Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types Aoucemets Exam 2 is graded, but I will eed some time to go over it I ll release grades this eveig (figers crossed!) Raibow grades: HW1-6, Exam 1-2, Quiz 1-5 Will post aswer key Still gradig: Quiz 6, HW7

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers?

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers? CSE401: Itroductio to Compiler Costructio Larry Ruzzo Sprig 2004 Today s objectives Admiistrative details Defie compilers ad why we study them Defie the high-level structure of compilers Associate specific

More information

Chapter 4 Remote Procedure Calls and Distributed Transactions

Chapter 4 Remote Procedure Calls and Distributed Transactions Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 4 Remote Procedure Calls ad Distributed Trasactios Outlie Remote Procedure

More information

Exercise Set: Implementing an Object-Oriented Design

Exercise Set: Implementing an Object-Oriented Design Exercise Set: Implemetig a Object-Orieted Desig I this exercise set, we have marked questios we thik are harder tha others with a [ ]. We have also marked questios for which solutios are provided at the

More information

Behavioral Modeling in Verilog

Behavioral Modeling in Verilog Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java Abstract Data Types (ADTs) tacks A abstract data type (ADT) is a abstractio of a data structure A ADT specifies: Data stored Operatios o the data Error coditios associated with operatios Example: ADT modelig

More information

BEA Tuxedo. Creating CORBA Server Applications

BEA Tuxedo. Creating CORBA Server Applications BEA Tuxedo Creatig CORBA Server Applicatios BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

Requirements Analysis

Requirements Analysis Iformatio Systems Cocepts Requiremets Aalysis Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 7 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio), McGraw

More information

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig

More information

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET WYSE Academic Challege Sectioal Computer Sciece 2005 SOLUTION SET 1. Correct aswer: a. Hz = cycle / secod. CPI = 2, therefore, CPI*I = 2 * 28 X 10 8 istructios = 56 X 10 8 cycles. The clock rate is 56

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

What are Information Systems?

What are Information Systems? Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

implement language system

implement language system Outlie Priciples of programmig laguages Lecture 3 http://few.vu.l/~silvis/ppl/2007 Part I. Laguage systems Part II. Fuctioal programmig. First look at ML. Natalia Silvis-Cividjia e-mail: silvis@few.vu.l

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes Prelimiaries Liked Lists public class StrageObject { Strig ame; StrageObject other; Arrays are ot always the optimal data structure: A array has fixed size eeds to be copied to expad its capacity Addig

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis Extedig The Sleuth Kit ad its Uderlyig Model for Pooled File System Foresic Aalysis Frauhofer Istitute for Commuicatio, Iformatio Processig ad Ergoomics Ja-Niclas Hilgert* Marti Lambertz Daiel Plohma ja-iclas.hilgert@fkie.frauhofer.de

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Chapter 2. C++ Basics. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 2. C++ Basics. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 2 C++ Basics Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 2.1 Variables ad Assigmets 2.2 Iput ad Output 2.3 Data Types ad Expressios 2.4 Simple Flow of Cotrol 2.5 Program

More information

Modern Systems Analysis and Design Seventh Edition

Modern Systems Analysis and Design Seventh Edition Moder Systems Aalysis ad Desig Seveth Editio Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Desigig Databases Learig Objectives ü Cocisely defie each of the followig key database desig terms: relatio,

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

CIS 121. Introduction to Trees

CIS 121. Introduction to Trees CIS 121 Itroductio to Trees 1 Tree ADT Tree defiitio q A tree is a set of odes which may be empty q If ot empty, the there is a distiguished ode r, called root ad zero or more o-empty subtrees T 1, T 2,

More information

Schema for the DCE Security Registry Server

Schema for the DCE Security Registry Server Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.

More information

Java net programming II

Java net programming II Java et programmig II https://docs.oracle.com/javase/tutorial/etworkig/sockets/ Overview The problem Basic backgroud: TCP/IP, ports, Cliet/Server, sockets Commuicatio with sockets java.et (overview) Simple

More information

n Haskell n Syntax n Lazy evaluation n Static typing and type inference n Algebraic data types n Pattern matching n Type classes

n Haskell n Syntax n Lazy evaluation n Static typing and type inference n Algebraic data types n Pattern matching n Type classes Aoucemets Quiz 7 HW 9 is due o Friday Raibow grades HW 1-6 plus 8. Please, read our commets o 8! Exam 1-2 Quiz 1-6 Ay questios/cocers, let us kow ASAP Last Class Haskell Sytax Lazy evaluatio Static typig

More information

Abstract Syntax Trees. AST Data Structure. Visitor Interface. Accept methods. Visitor Methodology for AST Traversal CS412/CS413

Abstract Syntax Trees. AST Data Structure. Visitor Interface. Accept methods. Visitor Methodology for AST Traversal CS412/CS413 Abstract Syta Trees CS412/CS413 Itroductio to Copilers Ti Teitelbau Lecture 12: Visitors; Sybol Tables February 18, 2005 Separate AST costructio fro seatic checkig phase Traverse the AST ad perfor seatic

More information

Overview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup

Overview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup Chapter 18 Vectors ad Arrays Bjare Stroustrup Vector revisited How are they implemeted? Poiters ad free store Destructors Iitializatio Copy ad move Arrays Array ad poiter problems Chagig size Templates

More information

Pearson Education 2005 Chapter 5 (Maciaszek - RASD 2/e) 2

Pearson Education 2005 Chapter 5 (Maciaszek - RASD 2/e) 2 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 32 20464 6 Chapter 5 Moving from Analysis to Design Pearson Education Limited 2005

More information

10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output

10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output File class i Java File Iput ad Output TOPICS File Iput Exceptio Hadlig File Output Programmers refer to iput/output as "I/O". The File class represets files as objects. The class is defied i the java.io

More information

Chapter 8. Strings and Vectors. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 8. Strings and Vectors. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 8 Strigs ad Vectors Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Copyright 2015 Pearso Educatio, Ltd..

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

Definitions. Error. A wrong decision made during software development

Definitions. Error. A wrong decision made during software development Debuggig Defiitios Error A wrog decisio made durig software developmet Defiitios 2 Error A wrog decisio made durig software developmet Defect bug sometimes meas this The term Fault is also used Property

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite

More information

CSE 417: Algorithms and Computational Complexity

CSE 417: Algorithms and Computational Complexity Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm

More information

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures Uiversity of Waterloo Departmet of Electrical ad Computer Egieerig ECE 250 Algorithms ad Data Structures Midterm Examiatio ( pages) Istructor: Douglas Harder February 7, 2004 7:30-9:00 Name (last, first)

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

Lazy Type Changes in Object-oriented Database. Shan Ming Woo and Barbara Liskov MIT Lab. for Computer Science December 1999

Lazy Type Changes in Object-oriented Database. Shan Ming Woo and Barbara Liskov MIT Lab. for Computer Science December 1999 Lazy Type Chages i Object-orieted Database Sha Mig Woo ad Barbara Liskov MIT Lab. for Computer Sciece December 1999 Backgroud wbehavior of OODB apps compose of behavior of persistet obj wbehavior of objects

More information

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans BEA WebLogic Server Programmig WebLogic Eterprise JavaBeas WebLogic Server 6.0 Documet Date March 3, 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

Last Class. Announcements. Lecture Outline. Types. Structural Equivalence. Type Equivalence. Read: Scott, Chapters 7 and 8. T2 y; x = y; n Types

Last Class. Announcements. Lecture Outline. Types. Structural Equivalence. Type Equivalence. Read: Scott, Chapters 7 and 8. T2 y; x = y; n Types Aoucemets HW9 due today HW10 comig up, will post after class Team assigmet Data abstractio (types) ad cotrol abstractio (parameter passig) Due o Tuesday, November 27 th Last Class Types Type systems Type

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The

More information

Exceptions. Your computer takes exception. The Exception Class. Causes of Exceptions

Exceptions. Your computer takes exception. The Exception Class. Causes of Exceptions Your computer takes exceptio s s are errors i the logic of a program (ru-time errors). Examples: i thread mai java.io.filenotfoud: studet.txt (The system caot fid the file specified.) i thread mai java.lag.nullpoiter:

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

top() Applications of Stacks

top() Applications of Stacks CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen COP4020 mig Laguages Compilers ad Iterpreters Prof. Robert va Egele Overview Commo compiler ad iterpreter cofiguratios Virtual machies Itegrated developmet eviromets Compiler phases Lexical aalysis Sytax

More information

Chapter 8. Strings and Vectors. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 8. Strings and Vectors. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 8 Strigs ad Vectors Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Slide 8-3 8.1 A Array Type for Strigs A Array Type for Strigs C-strigs ca be used to represet strigs

More information

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency Volume 3, Issue 9, September 2013 ISSN: 2277 128X Iteratioal Joural of Advaced Research i Computer Sciece ad Software Egieerig Research Paper Available olie at: www.ijarcsse.com Couplig Evaluator to Ehace

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

Oracle Server. What s New in this Release? Release Notes

Oracle  Server. What s New in this Release? Release Notes Oracle email Server Release Notes Release 5.2 for Widows NT May 2001 Part No. A90426-01 These release otes accompay Oracle email Server Release 5.2 for Widows NT. They cotai the followig topics: What s

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

n The C++ template facility provides the ability to define n A generic facility allows code to be written once then

n The C++ template facility provides the ability to define n A generic facility allows code to be written once then UCLA PIC 10 B Problem Solvig usig C++ Programmig Ivo Diov, Asst. Prof. i Mathematics, Neurology, Statistics Istructor: Teachig Assistat: Suzae Nezzar, Mathematics Chapter 13 Templates for More Abstractio

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs CHAPTER IV: GRAPH THEORY Sectio : Itroductio to Graphs Sice this class is called Number-Theoretic ad Discrete Structures, it would be a crime to oly focus o umber theory regardless how woderful those topics

More information

COP4020 Programming Languages. Subroutines and Parameter Passing Prof. Robert van Engelen

COP4020 Programming Languages. Subroutines and Parameter Passing Prof. Robert van Engelen COP4020 Programmig Laguages Subrouties ad Parameter Passig Prof. Robert va Egele Overview Parameter passig modes Subroutie closures as parameters Special-purpose parameters Fuctio returs COP4020 Fall 2016

More information

Threads and Concurrency in Java: Part 1

Threads and Concurrency in Java: Part 1 Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

Threads and Concurrency in Java: Part 1

Threads and Concurrency in Java: Part 1 Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder

More information

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames Uit 4, Part 3 Recursio Computer Sciece S-111 Harvard Uiversity David G. Sulliva, Ph.D. Review: Method Frames Whe you make a method call, the Java rutime sets aside a block of memory kow as the frame of

More information

Priority Queues. Binary Heaps

Priority Queues. Binary Heaps Priority Queues Biary Heaps Priority Queues Priority: some property of a object that allows it to be prioritized with respect to other objects of the same type Mi Priority Queue: homogeeous collectio of

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

CS211 Fall 2003 Prelim 2 Solutions and Grading Guide

CS211 Fall 2003 Prelim 2 Solutions and Grading Guide CS11 Fall 003 Prelim Solutios ad Gradig Guide Problem 1: (a) obj = obj1; ILLEGAL because type of referece must always be a supertype of type of object (b) obj3 = obj1; ILLEGAL because type of referece

More information

Introduction to OSPF. ISP Training Workshops

Introduction to OSPF. ISP Training Workshops Itroductio to OSPF ISP Traiig Workshops 1 OSPF p Ope Shortest Path First p Lik state or SPF techology p Developed by OSPF workig group of IETF (RFC 1247) p OSPFv2 stadard described i RFC2328 p Desiged

More information