Last name:... First name:... Department (if not D-INFK):...
|
|
- Bennett Hopkins
- 6 years ago
- Views:
Transcription
1 Concepts of Object-Oriented Programming AS 2017 Concepts of Object-Oriented Programming Midterm Examination Prof. Dr. Peter Müller Last name: First name: Student ID number: Department (if not D-INFK): I confirm with my signature, that I was able to take this exam under regular circumstances and that I have read and understood the directions below. Signature: Read completely and carefully the following instructions before starting to work on the exam: 1. Write your last and first name on every page that contains parts of your s. Use a ballpoint pen or a fountain pen (no pencil). Do not use a red pen. Return the instructions, the tasks, and your s. 2. It is neither allowed to use your own papers, documents, scripts, etc., nor any electronic equipment (notebook computers, calculators, cell phones, etc.) 3. Write all of your s in English. 4. Explain your s carefully if a task asks for an explanation. 5. You have 1 hour to complete the exam. SOLUTION 6. Place your student ID on the desk. Task Total Max. points Achieved Good Luck!
2 COOP Midterm Exam AS 2017 Name: 2/9 Task 1 Multiple Choice - 7 points In all of the following questions exactly one answer is correct. To get points, you need to mark only the correct answer. In all other cases you will get no points. A (4 points) Subtyping Consider the following types written in Java-like syntax: class D { A a; B foo(a a) throws RuntimeException; class F { C a; A foo(b a) throws RuntimeException; class G { A a; A foo(c a) throws Exception; class H { A a; A foo(a a) throws IndexOutOfBoundsException; Assume that B <: A, C <: A, and IndexOutOfBoundsException <: RuntimeException <: Exception. Which of the following subtype relations could be allowed by a sound type system? (a) D <: H and H <: G (b) D <: G and H <: F (c) CORRECT: D <: G and H <: G (d) H <: D and H <: F (e) None of the above Answer: a b c d e
3 COOP Midterm Exam AS 2017 Name: 3/9 B (3 points) Bytecode Verification Assume two Java classes A and B, and assume that B is a direct subclass of A. Consider the following Java bytecode: 0: iload 1 1: aload 2 2: astore 0 3: istore 2 4: aload 0 5: astore 2 6: goto 0 and assume that the input to instruction 0 is ([],[A,int,B]), where the first list indicates the content of the stack and the second list indicates the contents of the registers. The maximal stack size is equal to 2. Which of the following statements is true? (a) CORRECT: The type checker can successfully verify the code without needing type annotations for other instructions. (b) The bytecode cannot be verified due to a type mismatch at instruction 0. (c) The bytecode cannot be verified because in instruction 3 we are storing an integer in an object register. (d) The bytecode cannot be verified due to a stack underflow. (e) None of the above. Answer: a b c d e
4 COOP Midterm Exam AS 2017 Name: 4/9 Task 2 Behavioral Subtyping - 14 points A modifies clause is a part of a method specification that declares which heap locations can be modified by the method. As an example, in the following Java code, method foo is not allowed to write to any heap location besides this.x and other.x. class X { public int x; public int y; /// modifies (this.x, other.x) void foo(x other) {... A modifies clause can be interpreted as an implicit postcondition that states that all heap locations that are not listed will have the same value after the method invocation as before. A (7 points) A.1 When overriding a method, should it be allowed to expand the modifies clause, i.e., to include more modifiable heap locations? If yes, just write yes, otherwise provide a code example that demonstrates the problem when overriding method foo with an expanded modifies clause. No. class Y extends X { /// modifies (this.x, other.x, this.y) void foo(x other) { y = 2; public void client() { X x = new Y(); x.y = 12; x.foo(x); assert x.y == 12; A.2 When overriding a method, should it be allowed to reduce the modifies clause, i.e., to include less modifiable heap locations? If yes, just write yes, otherwise provide a code example that demonstrates the problem when overriding method foo with a reduced modifies clause. Yes. B (7 points) Consider the following Java code. class Y { public int n; public int k; /// requires i >= 0 /// modifies () /// ensures result >= k
5 COOP Midterm Exam AS 2017 Name: 5/9 public int m1(int i) {... /// requires n == k /// modifies (this.k) /// ensures result > old(k) public int m3() {... interface I { /// requires y.n > 0 /// modifies (y.n) /// ensures result > 0 public int m2(y y); class Z extends Y implements I { /// requires i > 0 (i < k && k <= 1) /// modifies () /// ensures result == old(k) + i public int m1(int i) {... /// requires y.n > 0 /// modifies (y.n) /// ensures result == y.n * y.n public int m2(y y) {... /// requires n >= k /// modifies (this.k) /// ensures result == n + 1 public int m3() {... Assume that there is no specification inheritance. B.1 Does method Z.m1 definitely fulfill all applicable requirements of behavioral subtyping? If yes, just write yes, otherwise point out the requirement that is violated. No. The precondition of Z.m1 is not compatible with the precondition of Y.m1. B.2 Does method Z.m2 definitely fulfill all applicable requirements of behavioral subtyping? If yes, just write yes, otherwise point out the requirement that is violated. No, it is not compatible with the postcondition of I.m2 (since y.n can be modified). B.3 Does method Z.m3 definitely fulfill all applicable requirements of behavioral subtyping? If yes, just write yes, otherwise point out the requirement that is violated. Yes (since this.n is not modified).
6 COOP Midterm Exam AS 2017 Name: 6/9 Task 3 Linearization - 8 points In this task you will have to model a traditional bakery, which produces and sells different types of Products. These Products satisfy the following subtype relations: Cake <: Dessert and BakedProduct <: Product BakedProduct <: Dessert ( <: means is NOT a subtype of ) Panettone <: BakedProduct and Panettone <: Cake A (3 points) An incomplete Scala implementation of the bakery is given below: class Product { override def tostring = "product" class Dessert { override def tostring = "dessert" class Cake { override def tostring = "cake" class BakedProduct { override def tostring = "baked " + super.tostring class Panettone { Fill in the boxes, such that the code above reflects at least the aforementioned subtype relations and it type checks. You are allowed to introduce new subtype relations in your, but you are NOT allowed to define new types. B (5 points) Now consider that the bakery offers two additional BakedProducts, modelled in Scala through the following traits: trait Bread extends BakedProduct { override def tostring = super.tostring + " or bread" trait SeasonalProduct extends BakedProduct { override def tostring = super.tostring + " for the holiday season" Fill in the empty lines from Task A by mixing-in the traits, such that for a client who orders a Panettone with SeasonalProduct with Bread (as shown below), cake or bread for the holiday season will be printed on the bill. // Client code: val panettone = new Panettone with SeasonalProduct with Bread println(panettone.tostring) // prints: cake or bread for the holiday season All the subtype relations from Task A must still hold. If one of the lines should remain empty, please explicitly write "/*none*/". The final code should type check.
7 COOP Midterm Exam AS 2017 Name: 7/9 Solution 1: class Product { override def tostring = "product" class Dessert extends BakedProduct /*none*/ { override def tostring = "dessert" class Cake extends Dessert /*none*/ { override def tostring = "cake" class BakedProduct extends Product /*none*/ { override def tostring = "baked " + super.tostring class Panettone extends Cake with Bread { Solution 2: class Product { override def tostring = "product" class Dessert extends BakedProduct /*none*/ { override def tostring = "dessert" class Cake extends Dessert /*none*/ { override def tostring = "cake" class BakedProduct extends Product /*none*/ { override def tostring = "baked " + super.tostring class Panettone extends Cake with Bread with SeasonalProduct {
8 COOP Midterm Exam AS 2017 Name: 8/9 Task 4 Overloading and Overriding - 8 points Consider the following class in Java: public class Person { protected double salary; public Person(double salary) { this.salary = salary; public boolean havesameincome(person other) { return this.salary == other.getincome(); public double getincome() { return salary; Consider also the following subclass of Person, a person with a spouse, which takes the salary of the spouse into account as well: public class MarriedPerson extends Person { private double spousesalary; public MarriedPerson(double salary, double spousesalary) { this.salary = salary; this.spousesalary = spousesalary; public boolean havesameincome(marriedperson other) { return this.getincome() == other.getincome(); public double getincome() { return ((salary + spousesalary) / 2); A (4 points) Show an example with variables p1,p2, such that p1.havesameincome(p2) returns false, but p1.getincome() == p2.getincome() returns true. In other words, fill in the following blank with valid code, such that the assertion below the following box is valid. Do not use reflection and assume that Person has no other subclasses. Person p1; MarriedPerson p2; p1 = new MarriedPerson(a,b); p2 = new MarriedPerson(c,d); for any a, b, c, d such that a + b = c + d but a (c + d)/2. assert (!p1.havesameincome(p2) && p1.getincome() == p2.getincome());
9 COOP Midterm Exam AS 2017 Name: 9/9 B (4 points) Propose changes to Person and MarriedPerson such that the assertion above will fail. B.1 Can you change only MarriedPerson.haveSameIncome, such that the assertion above will fail for your to subtask A? If yes, provide the modified method. Otherwise, explain why this is not possible. Yes, the following works. public boolean havesameincome(person other) { // changed MarriedPerson to Person in signature return this.getincome() == other.getincome(); B.2 Can you change only Person.haveSameIncome, such that the assertion above will fail for your to subtask A? If yes, provide the modified method. Otherwise, explain why this is not possible. Yes, the following works. public boolean havesameincome(person other) { return this.getincome() == other.getincome(); // changed calls to salary to getincome here Another trivial would be: public boolean havesameincome(person other) { return true; Also possible: Type-check with instanceof, then cast both to MarriedPerson and call havesameincome on casted objects. Also possible: Change parameter type to MarriedPerson.
Last name:... First name:... Department (if not D-INFK):...
Concepts of Object-Oriented Programming AS 2016 Concepts of Object-Oriented Programming Midterm Examination 11.11.2016 Prof. Dr. Peter Müller Last name:................................. First name:.................................
More informationExercise 3 Subtyping and Behavioral Subtyping October 13, 2017
Concepts of Object-Oriented Programming AS 2017 Exercise 3 Subtyping and Behavioral Subtyping October 13, 2017 Task 1 In this question, we are in a nominal subtyping setting. Some languages have a special
More informationPrelim 1 SOLUTION. CS 2110, September 29, 2016, 7:30 PM Total Question Name Loop invariants. Recursion OO Short answer
Prelim 1 SOLUTION CS 2110, September 29, 2016, 7:30 PM 0 1 2 3 4 5 Total Question Name Loop invariants Recursion OO Short answer Exception handling Max 1 15 15 25 34 10 100 Score Grader 0. Name (1 point)
More informationPractice for Chapter 11
Practice for Chapter 11 MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) Object-oriented programming allows you to derive new classes from existing
More informationINSTRUCTIONS TO CANDIDATES
NATIONAL UNIVERSITY OF SINGAPORE SCHOOL OF COMPUTING MIDTERM ASSESSMENT FOR Semester 2 AY2017/2018 CS2030 Programming Methodology II March 2018 Time Allowed 90 Minutes INSTRUCTIONS TO CANDIDATES 1. This
More informationPrelim 1. CS 2110, September 29, 2016, 7:30 PM Total Question Name Loop invariants
Prelim 1 CS 2110, September 29, 2016, 7:30 PM 0 1 2 3 4 5 Total Question Name Loop invariants Recursion OO Short answer Exception handling Max 1 15 15 25 34 10 100 Score Grader The exam is closed book
More informationPolymorphism. return a.doublevalue() + b.doublevalue();
Outline Class hierarchy and inheritance Method overriding or overloading, polymorphism Abstract classes Casting and instanceof/getclass Class Object Exception class hierarchy Some Reminders Interfaces
More informationExercise 7 Bytecode Verification self-study exercise sheet
Concepts of ObjectOriented Programming AS 2018 Exercise 7 Bytecode Verification selfstudy exercise sheet NOTE: There will not be a regular exercise session on 9th of November, because you will take the
More informationExercise 13 Self-Study Exercise Sheet
Concepts of Object-Oriented Programming AS 2017 Exercise 13 Self-Study Exercise Sheet NOTE: This exercise sheet will not be discussed in an exercise session. We publish it now together with the solution
More informationUniverse Type System for Eiffel. Annetta Schaad
Universe Type System for Eiffel Annetta Schaad Semester Project Report Software Component Technology Group Department of Computer Science ETH Zurich http://sct.inf.ethz.ch/ SS 2006 Supervised by: Dipl.-Ing.
More informationCMSC 433 Section 0101 Fall 2012 Midterm Exam #1
Name: CMSC 433 Section 0101 Fall 2012 Midterm Exam #1 Directions: Test is closed book, closed notes. Answer every question; write solutions in spaces provided. Use backs of pages for scratch work. Good
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 28 March 30, 2016 Collections and Equality Chapter 26 Announcements Dr. Steve Zdancewic is guest lecturing today He teaches CIS 120 in the Fall Midterm
More informationCSE 331 Summer 2017 Final Exam. The exam is closed book and closed electronics. One page of notes is allowed.
Name Solution The exam is closed book and closed electronics. One page of notes is allowed. The exam has 6 regular problems and 1 bonus problem. Only the regular problems will count toward your final exam
More informationAgenda. Objects and classes Encapsulation and information hiding Documentation Packages
Preliminaries II 1 Agenda Objects and classes Encapsulation and information hiding Documentation Packages Inheritance Polymorphism Implementation of inheritance in Java Abstract classes Interfaces Generics
More informationOutline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationArgument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.
Local Variable Initialization Unlike instance vars, local vars must be initialized before they can be used. Eg. void mymethod() { int foo = 42; int bar; bar = bar + 1; //compile error bar = 99; bar = bar
More informationCLASS DESIGN. Objectives MODULE 4
MODULE 4 CLASS DESIGN Objectives > After completing this lesson, you should be able to do the following: Use access levels: private, protected, default, and public. Override methods Overload constructors
More informationType Hierarchy. Comp-303 : Programming Techniques Lecture 9. Alexandre Denault Computer Science McGill University Winter 2004
Type Hierarchy Comp-303 : Programming Techniques Lecture 9 Alexandre Denault Computer Science McGill University Winter 2004 February 16, 2004 Lecture 9 Comp 303 : Programming Techniques Page 1 Last lecture...
More informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Recap: Taking Conditional Branches into Account Extending
More informationMidterm Exam CS 251, Intermediate Programming March 12, 2014
Midterm Exam CS 251, Intermediate Programming March 12, 2014 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
More informationChapter 11 Classes Continued
Chapter 11 Classes Continued The real power of object-oriented programming comes from its capacity to reduce code and to distribute responsibilities for such things as error handling in a software system.
More informationCompilation 2012 Static Type Checking
Compilation 2012 Jan Midtgaard Michael I. Schwartzbach Aarhus University The Type Checker The type checker has several tasks: determine the types of all expressions check that values and variables are
More informationThe Liskov Substitution Principle
Agile Design Principles: The Liskov Substitution Principle Based on Chapter 10 of Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2003 and on Barbara Liskov
More informationC a; C b; C e; int c;
CS1130 section 3, Spring 2012: About the Test 1 Purpose of test The purpose of this test is to check your knowledge of OO as implemented in Java. There is nothing innovative, no deep problem solving, no
More informationExercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 3, 2017
Concepts of Object-Oriented Programming AS 2017 Exercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 3, 2017 Task 1 (from a previous exam) Consider the following C++ program: class
More informationName: CSC143 Exam 1 1 CSC 143. Exam 1. Write also your name in the appropriate box of the scantron
Name: CSC143 Exam 1 1 CSC 143 Exam 1 Write also your name in the appropriate box of the scantron Name: CSC143 Exam 1 2 Multiple Choice Questions (30 points) Answer all of the following questions. READ
More informationExercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 3, 2017
Concepts of Object-Oriented Programming AS 2017 Exercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 3, 2017 Task 1 Consider the following C++ program: class X X(int p) : fx(p)
More informationNo Aids Allowed. Do not turn this page until you have received the signal to start. Read this entire page or you ll miss the bonus question.
CSC 148H Midterm Fall 2005 St. George Campus Duration 50 minutes Student Number: Family Name: Given Name: No Aids Allowed. Do not turn this page until you have received the signal to start. Read this entire
More informationCS2110 Fall 2011 Lecture 25. Under the Hood: The Java Virtual Machine, Part II
CS2110 Fall 2011 Lecture 25 Under the Hood: The Java Virtual Machine, Part II 1 Java program last time Java compiler Java bytecode (.class files) Compile for platform with JIT Interpret with JVM run native
More informationInheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods.
Inheritance Inheritance is the act of deriving a new class from an existing one. Inheritance allows us to extend the functionality of the object. The new class automatically contains some or all methods
More informationUse the scantron sheet to enter the answer to questions (pages 1-6)
Use the scantron sheet to enter the answer to questions 1-100 (pages 1-6) Part I. Mark A for True, B for false. (1 point each) 1. Abstraction allow us to specify an object regardless of how the object
More informationExam Duration: 2hrs and 30min Software Design
Exam Duration: 2hrs and 30min. 433-254 Software Design Section A Multiple Choice (This sample paper has less questions than the exam paper The exam paper will have 25 Multiple Choice questions.) 1. Which
More informationObject Oriented Issues in VDM++
Object Oriented Issues in VDM++ Nick Battle, Fujitsu UK (nick.battle@uk.fujitsu.com) Background VDMJ implemented VDM-SL first (started late 2007) Formally defined. Very few semantic problems VDM++ support
More informationMidterm Exam CS 251, Intermediate Programming March 6, 2015
Midterm Exam CS 251, Intermediate Programming March 6, 2015 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
More informationCsci 102: Sample Exam
Csci 102: Sample Exam Duration: 65 minutes Name: NetID: Student to your left: Student to your right: DO NOT OPEN THIS EXAM UNTIL INSTRUCTED Instructions: Write your full name and your NetID on the front
More informationCSE 331 Midterm Exam Sample Solution 2/18/15
Question 1. (10 points) (Forward reasoning) Using forward reasoning, write an assertion in each blank space indicating what is known about the program state at that point, given the precondition and the
More informationExercise 13 Self-Study Exercise Sheet
Concepts of Object-Oriented Programming AS 2018 Exercise 13 Self-Study Exercise Sheet NOTE: This exercise sheet will not be discussed in an exercise session. We publish it now together with the solution
More informationQuestions Answer Key Questions Answer Key Questions Answer Key
Benha University Term: 2 nd (2013/2014) Class: 2 nd Year Students Subject: Object Oriented Programming Faculty of Computers & Informatics Date: 26/4/2014 Time: 1 hours Exam: Mid-Term (A) Name:. Status:
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions
More informationJava TM Introduction. Renaud Florquin Isabelle Leclercq. FloConsult SPRL.
Java TM Introduction Renaud Florquin Isabelle Leclercq FloConsult SPRL http://www.floconsult.be mailto:info@floconsult.be Java Technical Virtues Write once, run anywhere Get started quickly Write less
More informationOutline. Inheritance. Abstract Classes Interfaces. Class Extension Overriding Methods Inheritance and Constructors Polymorphism.
Outline Inheritance Class Extension Overriding Methods Inheritance and Constructors Polymorphism Abstract Classes Interfaces 1 OOP Principles Encapsulation Methods and data are combined in classes Not
More informationFinal exam. CS 2110, December 15, 2016, 9:00AM
Final exam CS 2110, December 15, 2016, 9:00AM Question Short Trie Loop Exp Rec Gen Span Mon BigO Data Total Max 20 7 9 10 9 9 8 10 10 8 100 Score Grader The exam is closed book and closed notes. Do not
More informationMidterm Exam CS 251, Intermediate Programming October 8, 2014
Midterm Exam CS 251, Intermediate Programming October 8, 2014 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
More informationEXAMINATIONS 2009 MID-TERM TEST. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering WITH ANSWERS
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON Time Allowed: 90 minutes EXAMINATIONS 2009 MID-TERM TEST COMP 202 / SWEN 202 Formal Methods
More informationMore On inheritance. What you can do in subclass regarding methods:
More On inheritance What you can do in subclass regarding methods: The inherited methods can be used directly as they are. You can write a new static method in the subclass that has the same signature
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and
More informationCS100J, Fall 2003 Preparing for Prelim 1: Monday, 29 Sept., 7:30 9:00PM
CS100J, Fall 2003 Preparing for Prelim 1: Monday, 29 Sept., 7:30 9:00PM This handout explains what you have to know for the first prelim. Terms and their meaning Below, we summarize the terms you should
More informationStatic program checking and verification
Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness
More informationType Hierarchy. Lecture 6: OOP, autumn 2003
Type Hierarchy Lecture 6: OOP, autumn 2003 The idea Many types have common behavior => type families share common behavior organized into a hierarchy Most common on the top - supertypes Most specific at
More informationExercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 4, 2016
Concepts of Object-Oriented Programming AS 2016 Exercise 6 Multiple Inheritance, Multiple Dispatch and Linearization November 4, 2016 Task 1 Consider the following C++ program: class X X(int p) : fx(p)
More informationProgramming Exercise 14: Inheritance and Polymorphism
Programming Exercise 14: Inheritance and Polymorphism Purpose: Gain experience in extending a base class and overriding some of its methods. Background readings from textbook: Liang, Sections 11.1-11.5.
More information14. Exception Handling
14. Exception Handling 14.1 Intro to Exception Handling In a language without exception handling When an exception occurs, control goes to the operating system, where a message is displayed and the program
More informationExercise 8 Parametric polymorphism November 18, 2016
Concepts of Object-Oriented Programming AS 2016 Exercise 8 Parametric polymorphism November 18, 2016 Task 1 Consider the following Scala classes: class A class B extends A class P1[+T] class P2[T
More informationCIS 120 Midterm II November 16, Name (printed): Pennkey (login id):
CIS 120 Midterm II November 16, 2012 Name (printed): Pennkey (login id): My signature below certifies that I have complied with the University of Pennsylvania s Code of Academic Integrity in completing
More informationAssertions, pre/postconditions
Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What
More informationInheritance and Substitution (Budd chapter 8, 10)
Inheritance and Substitution (Budd chapter 8, 10) 1 2 Plan The meaning of inheritance The syntax used to describe inheritance and overriding The idea of substitution of a child class for a parent The various
More informationCSE wi Midterm Exam 2/8/18 Sample Solution
Remember: For all of the questions involving proofs, assertions, invariants, and so forth, you should assume that all numeric quantities are unbounded integers (i.e., overflow can not happen) and that
More informationDeclarations and Access Control SCJP tips
Declarations and Access Control www.techfaq360.com SCJP tips Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for
More informationCSE wi Midterm Exam 2/8/18. Name UW ID #
Name UW ID # There are 11 questions worth a total of 120 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More informationCSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015
CSCI 136 Written Exam #0 Fundamentals of Computer Science II Spring 2015 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided handwritten 8 ½ x 11 note sheet during
More informationCSE331 Winter 2014, Final Examination March 17, 2014 Please do not turn the page until 8:30. Rules:
CSE331 Winter 2014, Final Examination March 17, 2014 Please do not turn the page until 8:30. Rules: The exam is closed-book, closed-note, etc. Please stop promptly at 10:20. There are 116 points total,
More informationExamination Questions Midterm 1
CS1102s Data Structures and Algorithms 10/2/2010 Examination Questions Midterm 1 This examination question booklet has 9 pages, including this cover page, and contains 15 questions. You have 40 minutes
More informationCpt S 122 Data Structures. Course Review Midterm Exam # 2
Cpt S 122 Data Structures Course Review Midterm Exam # 2 Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Midterm Exam 2 When: Monday (11/05) 12:10 pm -1pm
More informationCS-202 Introduction to Object Oriented Programming
CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction
More informationI. True/False: (2 points each)
CS 102 - Introduction to Programming Midterm Exam #2 - Prof. Reed Spring 2008 What is your name?: (2 points) There are three sections: I. True/False..............54 points; (27 questions, 2 points each)
More informationCOMP 401 Spring 2013 Midterm 2
COMP 401 Spring 2013 Midterm 2 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: Please be sure to put your PID at the top of each page. This page
More informationMaking New instances of Classes
Making New instances of Classes NOTE: revised from previous version of Lecture04 New Operator Classes are user defined datatypes in OOP languages How do we make instances of these new datatypes? Using
More informationCOMP 401 Spring 2014 Midterm 1
COMP 401 Spring 2014 Midterm 1 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: Please be sure to put your PID at the top of each page. This page
More informationToday. Instance Method Dispatch. Instance Method Dispatch. Instance Method Dispatch 11/29/11. today. last time
CS2110 Fall 2011 Lecture 25 Java program last time Java compiler Java bytecode (.class files) Compile for platform with JIT Interpret with JVM Under the Hood: The Java Virtual Machine, Part II 1 run native
More informationCMSC131. Inheritance. Object. When we talked about Object, I mentioned that all Java classes are "built" on top of that.
CMSC131 Inheritance Object When we talked about Object, I mentioned that all Java classes are "built" on top of that. This came up when talking about the Java standard equals operator: boolean equals(object
More informationCSE 331 Final Exam 3/12/12
Name There are 12 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed
More informationA New Formalization of Subtyping to Match Subclasses to Subtypes
A New Formalization of Subtyping to Match Subclasses to Subtypes Hyunik Na and Sukyoung Ryu Programming Language Research Group KAIST June 6, 2014 Hyunik Na and Sukyoung Ryu A New Formalization of Subtyping
More informationJava Class Loading and Bytecode Verification
Java Class Loading and Bytecode Verification Every object is a member of some class. The Class class: its members are the (definitions of) various classes that the JVM knows about. The classes can be dynamically
More informationOperators and Expressions
Operators and Expressions Conversions. Widening and Narrowing Primitive Conversions Widening and Narrowing Reference Conversions Conversions up the type hierarchy are called widening reference conversions
More informationCOMP 401 Spring 2013 Midterm 2
COMP 401 Spring 2013 Midterm 2 I have not received nor given any unauthorized assistance in completing this exam. Signature: Name: PID: Please be sure to put your PID at the top of each page. This page
More informationCIS 120 Midterm II November 16, 2012 SOLUTIONS
CIS 120 Midterm II November 16, 2012 SOLUTIONS 1 1. Java vs. OCaml (22 points) a. In OCaml, the proper way to check whether two string values s and t are structurally equal is: s == t s = t s.equals(t)
More informationCSE 331 Final Exam 12/14/15 Sample Solution. Question 1. (20 points, 1 each) Warmup. For each statement, circle T if it is true and F if it is false.
Question 1. (20 points, 1 each) Warmup. For each statement, circle T if it is true and F if it is false. a) T / F A well-written test suite for a piece of software can guarantee that there are no bugs
More informationAP CS Unit 6: Inheritance Notes
AP CS Unit 6: Inheritance Notes Inheritance is an important feature of object-oriented languages. It allows the designer to create a new class based on another class. The new class inherits everything
More informationConversions and Overloading : Overloading
Conversions and Overloading : First. Java allows certain implicit conversations of a value of one type to a value of another type. Implicit conversations involve only the primitive types. For example,
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationMidterm Exam (REGULAR SECTION)
Data Structures (CS 102), Professor Yap Fall 2014 Midterm Exam (REGULAR SECTION) October 28, 2014 Midterm Exam Instructions MY NAME:... MY NYU ID:... MY EMAIL:... Please read carefully: 0. Do all questions.
More informationJava and C# in depth
Java and C# in depth ETH Zurich Date: 27 May 2013 Family name, first name:... Student number:.. I confirm with my signature, that I was able to take this exam under regular circumstances and that I have
More informationConcepts of Object-Oriented Programming Peter Müller
Concepts of Object-Oriented Programming Peter Müller Chair of Programming Methodology Autumn Semester 2017 1.2 Introduction Core Concepts 2 Meeting the Requirements Cooperating Program Parts with Well-Defined
More informationJava: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationUNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED
UNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED EXERCISE 11.1 1. static public final int DEFAULT_NUM_SCORES = 3; 2. Java allocates a separate set of memory cells in each instance
More informationCSE 331 Final Exam 3/16/15 Sample Solution
Question 1. (12 points, 3 each) A short design exercise. Suppose Java did not include a Set class in the standard library and we need to store a set of Strings for an application. We know that the maximum
More informationUNIVERSITY OF TORONTO Faculty of Arts and Science. Midterm 1 CSC148H1F L0201 (Liu)
UNIVERSITY OF TORONTO Faculty of Arts and Science Midterm 1 CSC148H1F L0201 (Liu) October 21, 2016 (50 min.) Examination Aids: Provided aid sheet (back page, detachable!) Name: Student Number: Please read
More informationConcepts of Object-Oriented Programming Peter Müller
Concepts of Object-Oriented Programming Peter Müller Chair of Programming Methodology Autumn Semester 2017 1.2 Introduction Core Concepts 2 Meeting the Requirements Cooperating Program Parts with Well-Defined
More informationPart 1 (80 points) Multiple Choice Questions (20 questions * 4 points per question = 80 points)
EECS 183 Fall 2013 Exam 1 Part 1 (80 points) Closed Book Closed Notes Closed Electronic Devices Closed Neighbor Turn off Your Cell Phones We will confiscate all electronic devices that we see including
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationDomain-Driven Design Activity
Domain-Driven Design Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Entities and Value Objects are special types of objects
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 26 March 23, 2016 Inheritance and Dynamic Dispatch Chapter 24 Inheritance Example public class { private int x; public () { x = 0; } public void incby(int
More informationException Handling: Control. Exception handling is the control of error conditions or other unusual events during the execution of a program.
Exception Handling: Control Exception handling is the control of error conditions or other unusual events during the execution of a program. 1 In a language without exception handling: When an exception
More informationContents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix
PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring
More informationAssertions. Assertions - Example
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 11/13/2003 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More informationOverriding Variables: Shadowing
Overriding Variables: Shadowing We can override methods, can we override instance variables too? Answer: Yes, it is possible, but not recommended Overriding an instance variable is called shadowing, because
More informationPrelim 1. CS 2110, 13 March 2018, 7:30 PM Total Question Name Short answer
Prelim 1 CS 2110, 13 March 2018, 7:30 PM 1 2 3 4 5 6 Total Question Name Short answer Exception handling Recursion OO Loop invariants Max 1 30 11 14 30 14 100 Score Grader The exam is closed book and closed
More informationInheritance -- Introduction
Inheritance -- Introduction Another fundamental object-oriented technique is called inheritance, which, when used correctly, supports reuse and enhances software designs Chapter 8 focuses on: the concept
More information