CSE 142 Sp02 Final Exam Version A Page 1 of 14

Size: px
Start display at page:

Download "CSE 142 Sp02 Final Exam Version A Page 1 of 14"

Transcription

1 CSE 142 Sp02 Final Exam Version A Page 1 of 14 Basic reference information about collection classes that you may find useful when answering some of the questions. Methods common to all collection classes clear(); size(); isempty(); // remove all objects from the collection // return number of objects in collection // return true if the collection is empty Additional methods for ArrayList and HashSet add(object obj); contains(object obj); remove(object obj); iterator(); // add obj to the collection // return true if obj is in the collection // remove obj if it is in the collection // return an Iterator for the collection Additional methods for ArrayList only get(int index); // return object with given position set(int index, Object obj); // insert obj in the collection // at position index, replacing whatever // was previously there add(int index, Object obj); // insert obj in the collection // at position index, moving other items // over to make room remove(int index); // remove object at the given position Additional methods for HashMap only put(object key, Object value); // store value in the HashMap under the // given key get(object key); // return the object in the HashMap with // the given key, or null if no object // is stored under that key

2 CSE 142 Sp02 Final Exam Version A Page 2 of 14 Question 1. (16 points) Suppose that an implementation of class Fish is available to you. The Fish class has the following methods: // Constructor. name is the name of the fish (e.g., Charlie ). gramsfoodperday is the // number of grams of food the fish needs per day. (All fish eat the same food.) / ciwater is the number of cubic inches of water this fish requires to stay alive. public Fish( String name, double gramsfoodperday, double ciwater ); // Returns the fish s name public String getname(); // Returns the fish s food requirement in grams per day. public double getdailyfoodrequirement(); // Returns the number of cubic inches of water this fish requires public double getcubicinchesrequired(); Your job is to implement class Aquarium, filling in the implementation of the methods indicated below. An Aquarium object is used to keep track of the fish in an actual aquarium, to determine how much food to place in the aquarium each day, and to determine whether or not a new fish can be added to the aquarium given the amount of water it holds. For this question, implement the methods below, assuming the implementation of Fish is already completed and that a Fish accepts the messages listed above. public class Aquarium { // put any instance variables you need here // constructor client specifies the dimensions of the aquarium, in inches public Aquarium( double width, double length, double height ) {

3 CSE 142 Sp02 Final Exam Version A Page 3 of 14 // return true if the Aquarium is big enough to hold the new fish, false otherwise public boolean canaddfish( Fish proposednewfish ) { // add the given fish to the aquarium if there is room, otherwise do nothing public void addfish( Fish newfish ) { // update the Aquarium to reflect the removal of the given fish public void removefish( Fish removedfish ) { // returns the total amount of food required by all fish in the aquarium per day, in grams public double foodrequiredperday() {

4 CSE 142 Sp02 Final Exam Version A Page 4 of 14 // returns true if the specified Fish is in this Aquarium (not one with the same name, exactly // this Fish), and false otherwise public boolean hasfish( Fish searchedforfish ) { // returns a String that is the concatentation of the names of all fish in this Aquarium, // separated by blanks. (E.g., if the fish are Charlie, Bert, and Ernie, this method // would return Charlie Bert Ernie. If there are no fish in the Aquarium, it should return // empty.) public String tostring() {

5 CSE 142 Sp02 Final Exam Version A Page 5 of 14 Question 2. (4 points) Implement the method issorted below. issorted returns true if the three values are in either ascending or descending order. For instance, issorted (1,2,3) returns true; issorted (10,3,-1) also returns true; issorted (1,2,2) also returns true; issorted (10, 4, 21) returns false. public boolean issorted( int firstnum, int secondnum, int thirdnum ) { Question 3. (4 points) Briefly explain what this method does. public String stringmethod( int inputval ) { String result = ; while ( inputval > 0 ) { switch( inputval % 10 ) { case 0: result = result + 0 ; case 1: result = result + 1 ; case 2: result = result + 2 ; case 3: result = result + 3 ; case 4: result = result + 4 ; case 5: result = result + 5 ; case 6: result = result + 6 ; case 7: result = result + 7 ; case 8: result = result + 8 ; case 9: result = result + 9 ; inputval = inputval / 10; return result;

6 CSE 142 Sp02 Final Exam Version A Page 6 of 14 Question 4. (3 points) Here is a fragment of code defining class CodeExample: public class CodeExample { int instancevar; // (A) public void examplemethod() { int localvar; // (B) This fragment defines an instance variable name, instancevar, at the line labeled (A), and a local variable name, localvar, at the line labeled (B). Briefly explain the most important difference(s) between an instance variable and a local variable. For example, why would a programmer choose one or the other?

7 CSE 142 Sp02 Final Exam Version A Page 7 of 14 Question 5. (7 points) Complete the definition of method biggestinteger below so it returns the numerically largest BigInteger from the ArrayList collection bigints. If collection bigints is empty, method biggestinteger should return null. You may assumethat bigints only contains BigInteger objects, if it contains anything at all. This method doesn t use any other instance variables or methods, so it doesn t matter what class it is declared in. Several pages of Sun s JavaDocs summarizing the methods for BigInteger followthis page. Thereis also a detailed description of the BigInteger compareto method, which you may find useful in your solution. However, there is also at least one way to solve this problem without using compareto, so don t feel that you must use it in your solution (look at other BigInteger methods for ideas). /** Return the numerically largest BigInteger in bigints, or return * null if bigints is empty */ public BigInteger biggestinteger(arraylist bigints) {

8 CSE 142 Sp02 Final Exam Version A Page 8 of 14 Question 6. (4 points) The PL142 language from homework 5 included one kind of declaration and two kinds of statements, print and assignment. The syntax for these three parts of the language were: INTEGER variablename; variablename; variablename = leftoperand <op> rightoperand; where leftoperand and rightoperand could be either a variable name or an integer constant, and <op> was either + for addition or * for multiplication. If you recall from lecture, the following finite state automaton (FSA) can be used to recognize legal PL142 sentences (declarations and statements). Now suppose we want to change the PL142 print statement so it has an explicit keyword PRINT in front of the variable to be printed. This means replacing the variablename; print statement with PRINT variablename; For this question, modify the above FSA diagram so it properly recognizes statements in this modified version of PL142. You should add any new nodes and transitions that are needed, and cross out any nodes and transitions that are no longer needed to recognize the modified PL142 language.

9 CSE 142 Sp02 Final Exam Version A Page 9 of 14 Question 7. (7 points) Java provides many ways to read input from a file, but the most commonly used method to read lines from a file containing text is to use an object of class BufferedReader to represent the file. The key message that can be sent to a BufferedReader object is readline, which returns the next line from the file as a String. Here is a (slightly abbreviated) description of this method from the documentation for class BufferedReader. readline public String readline() throws Exception Read a line of text. Returns: A String containing the contents of the line, or null if the end of the file has been reached. Throws: Exception - If an error occurs while reading the file. Complete the definition of method copyfiletosystemout below so it reads all of the lines from the BufferedReader object inputfile and prints the lines on System.out. Hint: the answer only requires a few lines of code, but you may need to deal with exceptions. /** Copy lines from inputfile to System.out. */ public void copyfiletosystemout(bufferedreader inputfile) {

10 CSE 142 Sp02 Final Exam Version A Page 10 of 14 Question 8. (3 points) Here is a small program that does something with mouse clicks. What happens when it is executed? (I.e., if the user starts clicking the mouse, what will happen on the screen?) File InheritanceWindowListener.java: import uwcse.graphics.*; public class InheritanceWindowListener extends GWindowEventAdapter { private DummyClass mydummyclassobject; public InheritanceWindowListener( DummyClass d ) { mydummyclassobject = d; public void mousepressed(gwindowevent e) { mydummyclassobject.registermouseclick(e.getx(), e.gety()); File DummyClass.java: import uwcse.graphics.*; import java.awt.color; public class DummyClass { private GWindow private InheritanceWindowListener private boolean private int private int mainwindow; listener; toggle; xloc; yloc; public DummyClass() { toggle = false; mainwindow = new GWindow(); mainwindow.setexitonclose(); listener = new InheritanceWindowListener( this ); mainwindow.addeventhandler( listener ); public void registermouseclick( int x, int y ) { if ( toggle ) { mainwindow.add( new Rectangle( xloc, yloc, x-xloc, y-yloc, Color.green, true ) ); xloc = x; yloc = y; toggle =!toggle; // flip toggle from false to true or vice versa public static void main( String args[] ) { DummyClass dc = new DummyClass();

11 CSE 142 Sp02 Final Exam Version A Page 11 of 14 Question 9. (12 points) Design (but you don t have to implement) a complete program for the eyeballs program. This program creates an animation that appears to be two eyeballs looking at a moving rectangle. A single frame of the animation might look like this: In the animation, the rectangle continuously moves back and forth horizontally, from one side of the GWindow to the other. As it moves, the pupils of the eyeballs follow it. The pupils are positioned on a line that connects the center of the moving rectangle to the center of the eyeball. Here s a picture that shows these ideas, using dashed lines that are not part of what is actually drawnonthescreen:

12 CSE 142 Sp02 Final Exam Version A Page 12 of 14 As the rectangle moves back and forth on along the dashed line, the pupils move along the perimeter of the eyeball circles. Here s what things look like with the rectangle in another position: To locate the eyeballs, the following might be useful: Suppose you have a line segment connecting points (x1,y1) and (x2,y2). The length of that line segment, length, is Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ). The point that is distance 1.0 from (x1,y1) along that line segment is ( x1 + (x2-x1)*1.0/length, y1 + (y2-y1)*1.0/length ) SUMMARY: Design an application that produces an animation like that described above. It doesn t matter exactly where the eyeballs are located, nor exactly where the imaginary line that the rectangle moves back and forth across is located pick values that will give a display that looks roughly like the above figures. FOR FULL CREDIT: Your solution should describe the program in sufficient detail that an experienced Java programmer could translate it into Java code without having to do any further design. That means you must specify each of the class(es) in your program, describe their instance variables, and describe in English each of the methods in the class and what it does. You are not required to implement your design, although you can use Java code to illustrate or clarify your design. IMPORTANT: Whether or not you find this application difficult, it makes sense to attack it in pieces. For example, first make sure you can animate a rectangle moving back and forth along a horizontal line. Then worry about drawing the eyeballs. Finally, worry about making the pupils move.

13 CSE 142 Sp02 Final Exam Version A Page 13 of 14 IMPORTANT: Take a few minutes to think about the classes you will want, and what methods they must support, before writing your final answer. Possibly useful note:both uwcse.graphics.oval and uwcse.graphics.rectangle support methods int getcenterx() and int getcentery(), which return the x and y coordinates of the shape s center respectively. Another useful note: You do not need to worry about terminating the application. Once started, it can just run forever. Another possibly useful note: You are not required to use a model-view-controller design. Use any design that makes it clear what the objects are and what messages they handle. Reminder: You are being asked to design the program, not implement it in Java code.

14 CSE 142 Sp02 Final Exam Version A Page 14 of 14 (additional space for answer to question 9 if needed)

Question 0. (1 point) Write the correct ID of the section you normally attend on the cover page of this exam if you have not already done so.

Question 0. (1 point) Write the correct ID of the section you normally attend on the cover page of this exam if you have not already done so. CSE 143 Sp04 Midterm 2 Page 1 of 10 Reference information about some standard Java library classes appears on the last pages of the test. You can tear off these pages for easier reference during the exam

More information

CSE 143 Au03 Final Exam Page 1 of 15

CSE 143 Au03 Final Exam Page 1 of 15 CSE 143 Au03 Final Exam Page 1 of 15 Reference information about many standard Java classes appears at the end of the test. You might want to tear off those pages to make them easier to refer to while

More information

NAME: c. (true or false) The median is always stored at the root of a binary search tree.

NAME: c. (true or false) The median is always stored at the root of a binary search tree. EE 322C Spring 2009 (Chase) Exam 2: READ THIS FIRST. Please use the back side of each page for scratch paper. For some of the questions you may need to think quite a bit before you write down an answer.

More information

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List.

Implementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List. Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete

More information

CSE 143 Au03 Midterm 2 Page 1 of 7

CSE 143 Au03 Midterm 2 Page 1 of 7 CSE 143 Au03 Midterm 2 Page 1 of 7 Question 1. (4 points) (a) If a precondition is not true when a method is called, two possible ways to detect and handle the situation are to use an assert statement

More information

EXAMINATIONS 2015 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

EXAMINATIONS 2015 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS T E W H A R E W Ā N A N G A O T E Student ID:....................... Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2015 TRIMESTER 2 COMP103 INTRODUCTION

More information

Implementing a List in Java. CSE 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List.

Implementing a List in Java. CSE 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List. Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 22 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete

More information

Prelim 1. CS 2110, October 1, 2015, 5:30 PM Total Question Name True Short Testing Strings Recursion

Prelim 1. CS 2110, October 1, 2015, 5:30 PM Total Question Name True Short Testing Strings Recursion Prelim 1 CS 2110, October 1, 2015, 5:30 PM 0 1 2 3 4 5 Total Question Name True Short Testing Strings Recursion False Answer Max 1 20 36 16 15 12 100 Score Grader The exam is closed book and closed notes.

More information

11-1. Collections. CSE 143 Java. Java 2 Collection Interfaces. Goals for Next Several Lectures

11-1. Collections. CSE 143 Java. Java 2 Collection Interfaces. Goals for Next Several Lectures Collections CSE 143 Java Collections Most programs need to store and access collections of data Collections are worth studying because... They are widely useful in programming They provide examples of

More information

Lesson 2.4 Arraylist

Lesson 2.4 Arraylist Lesson 24 Arraylist Mimi Duong Rosalba Rodriguez Java Crash Course January 6th, 2015 Data Structure ArrayLists Live Coding Methods Searching Through ArrayLists Classwork Storing Items in Java How have

More information

Interfaces. CSE 142, Summer 2002 Computer Programming 1.

Interfaces. CSE 142, Summer 2002 Computer Programming 1. Interfaces CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ 15-July-2002 cse142-10-interfaces 2002 University of Washington 1 Reading Readings and References»

More information

Interfaces. Readings and References. Recall the discussion of ArrayLists. How can we manage lists of objects? Reading

Interfaces. Readings and References. Recall the discussion of ArrayLists. How can we manage lists of objects? Reading Readings and References Interfaces CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ Reading» Section 15.1.2, An Introduction to Programming and Object

More information

CONTAİNERS COLLECTİONS

CONTAİNERS COLLECTİONS CONTAİNERS Some programs create too many objects and deal with them. In such a program, it is not feasible to declare a separate variable to hold reference to each of these objects. The proper way of keeping

More information

Model Solutions. COMP 103: Test May, 2013

Model Solutions. COMP 103: Test May, 2013 Family Name:............................. Other Names:............................. ID Number:............................... Signature.................................. Instructions Time allowed: 45 minutes

More information

CSE 143 Au03 Midterm 2 Sample Solution Page 1 of 7

CSE 143 Au03 Midterm 2 Sample Solution Page 1 of 7 CSE 143 Au03 Midterm 2 Sample Solution Page 1 of 7 Question 1. (4 points) (a) If a precondition is not true when a method is called, two possible ways to detect and handle the situation are to use an assert

More information

CSE 142 Su 02 Homework 4

CSE 142 Su 02 Homework 4 CSE 142 - Su 02 Homework 4 Assigned: Wednesday, July 17 Due: Wednesday, July 24, BEFORE MIDNIGHT ** General Comments about the Homework ** All homework is turned in electronically. Go to the class web

More information

EXAMINATIONS 2016 TRIMESTER 2

EXAMINATIONS 2016 TRIMESTER 2 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 VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2016 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

More information

Review. CSE 143 Java. A Magical Strategy. Hash Function Example. Want to implement Sets of objects Want fast contains( ), add( )

Review. CSE 143 Java. A Magical Strategy. Hash Function Example. Want to implement Sets of objects Want fast contains( ), add( ) Review CSE 143 Java Hashing Want to implement Sets of objects Want fast contains( ), add( ) One strategy: a sorted list OK contains( ): use binary search Slow add( ): have to maintain list in sorted order

More information

EXAMINATIONS 2017 TRIMESTER 2

EXAMINATIONS 2017 TRIMESTER 2 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 VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2017 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

More information

CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

More information

CSE 142 Su01 Midterm 2 Sample Solution page 1 of 8. Question 1. (4 points) Suppose we ve declared and initialized the following variables

CSE 142 Su01 Midterm 2 Sample Solution page 1 of 8. Question 1. (4 points) Suppose we ve declared and initialized the following variables CSE 142 Su01 Midterm 2 Sample Solution page 1 of 8 Answer all of the following questions. READ EACH QUESTION CAREFULLY. Answer each question in the space provided on these pages. Budget your time so you

More information

Collections class Comparable and Comparator. Slides by Mark Hancock (adapted from notes by Craig Schock)

Collections class Comparable and Comparator. Slides by Mark Hancock (adapted from notes by Craig Schock) Lecture 15 Summary Collections Framework Iterable, Collections List, Set Map Collections class Comparable and Comparator 1 By the end of this lecture, you will be able to use different types of Collections

More information

Lecture 15 Summary. Collections Framework. Collections class Comparable and Comparator. Iterable, Collections List, Set Map

Lecture 15 Summary. Collections Framework. Collections class Comparable and Comparator. Iterable, Collections List, Set Map Lecture 15 Summary Collections Framework Iterable, Collections List, Set Map Collections class Comparable and Comparator 1 By the end of this lecture, you will be able to use different types of Collections

More information

EXAMINATIONS 2011 Trimester 2, MID-TERM TEST. COMP103 Introduction to Data Structures and Algorithms SOLUTIONS

EXAMINATIONS 2011 Trimester 2, MID-TERM TEST. COMP103 Introduction to Data Structures and Algorithms SOLUTIONS 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 Student ID:....................... EXAMINATIONS 2011 Trimester 2, MID-TERM TEST COMP103 Introduction

More information

Review: List Implementations. CSE 143 Java. Links. A Different Strategy: Lists via Links. Linked Links. CSE143 Au List

Review: List Implementations. CSE 143 Java. Links. A Different Strategy: Lists via Links. Linked Links. CSE143 Au List Review: Implementations CSE 143 Java ed s Reading: Ch. 23 The external interface is already defined Implementation goal: implement methods efficiently Array approach: use an array with extra space internally

More information

Question 1. (2 points) What is the difference between a stream and a file?

Question 1. (2 points) What is the difference between a stream and a file? CSE 143 Sp03 Midterm 2 Page 1 of 7 Question 1. (2 points) What is the difference between a stream and a file? Question 2. (2 points) Suppose we are writing an online dictionary application. Given a word

More information

CSE 131 Introduction to Computer Science Fall Exam II

CSE 131 Introduction to Computer Science Fall Exam II CSE 131 Introduction to Computer Science Fall 2013 Given: 6 November 2013 Exam II Due: End of session This exam is closed-book, closed-notes, no electronic devices allowed. The exception is the cheat sheet

More information

Topic #9: Collections. Readings and References. Collections. Collection Interface. Java Collections CSE142 A-1

Topic #9: Collections. Readings and References. Collections. Collection Interface. Java Collections CSE142 A-1 Topic #9: Collections CSE 413, Autumn 2004 Programming Languages http://www.cs.washington.edu/education/courses/413/04au/ If S is a subtype of T, what is S permitted to do with the methods of T? Typing

More information

CSE 113 A. Announcements - Lab

CSE 113 A. Announcements - Lab CSE 113 A February 21-25, 2011 Announcements - Lab Lab 1, 2, 3, 4; Practice Assignment 1, 2, 3, 4 grades are available in Web-CAT look under Results -> Past Results and if looking for Lab 1, make sure

More information

CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7. Question 1. (2 points) What is the difference between a stream and a file?

CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7. Question 1. (2 points) What is the difference between a stream and a file? CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7 Question 1. (2 points) What is the difference between a stream and a file? A stream is an abstraction representing the flow of data from one place to

More information

1 Getting started with Processing

1 Getting started with Processing cis3.5, spring 2009, lab II.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For

More information

Practice Midterm 1. Problem Points Score TOTAL 50

Practice Midterm 1. Problem Points Score TOTAL 50 CS 120 Software Design I Spring 2019 Practice Midterm 1 University of Wisconsin - La Crosse February 25 NAME: Do not turn the page until instructed to do so. This booklet contains 10 pages including the

More information

Lecture 15 Summary 3/11/2009. By the end of this lecture, you will be able to use different types of Collections and Maps in your Java code.

Lecture 15 Summary 3/11/2009. By the end of this lecture, you will be able to use different types of Collections and Maps in your Java code. Lecture 15 Summary Collections Framework Iterable, Collections, Set Map Collections class Comparable and Comparator By the end of this lecture, you will be able to use different types of Collections and

More information

CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes

CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes CS/ENGRD 2110 FALL 2017 Lecture 7: Interfaces and Abstract Classes http://courses.cs.cornell.edu/cs2110 1 Announcements 2 A2 is due tomorrow night (17 February) Get started on A3 a method every other day.

More information

Exam 1 CSCI 2600 Principles of Software October 6, 2015

Exam 1 CSCI 2600 Principles of Software October 6, 2015 NAME Exam 1 CSCI 2600 Principles of Software October 6, 2015 - DO NOT OPEN THIS EXAM UNTIL TOLD TO DO SO! - READ THROUGH THE ENTIRE EXAM BEFORE STARTING TO WORK. - YOU ARE ALLOWED ONLY 2 CHEAT PAGES. NO

More information

Java Collections. Readings and References. Collections Framework. Java 2 Collections. References. CSE 403, Winter 2003 Software Engineering

Java Collections. Readings and References. Collections Framework. Java 2 Collections. References. CSE 403, Winter 2003 Software Engineering Readings and References Java Collections References» "Collections", Java tutorial» http://java.sun.com/docs/books/tutorial/collections/index.html CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/

More information

CS/ENGRD 2110 SPRING Lecture 7: Interfaces and Abstract Classes

CS/ENGRD 2110 SPRING Lecture 7: Interfaces and Abstract Classes CS/ENGRD 2110 SPRING 2019 Lecture 7: Interfaces and Abstract Classes http://courses.cs.cornell.edu/cs2110 1 Announcements 2 A2 is due Thursday night (14 February) Go back to Lecture 6 & discuss method

More information

CS100J, 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 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 information

CS/ENGRD 2110 SPRING 2018

CS/ENGRD 2110 SPRING 2018 CS/ENGRD 2110 SPRING 2018 Lecture 7: Interfaces and http://courses.cs.cornell.edu/cs2110 1 2 St Valentine s Day! It's Valentines Day, and so fine! Good wishes to you I consign.* But since you're my students,

More information

CSE 142 Su01 Final Exam Sample Solution page 1 of 7

CSE 142 Su01 Final Exam Sample Solution page 1 of 7 CSE 142 Su01 Final Exam Sample Solution page 1 of 7 Answer all of the following questions. READ EACH QUESTION CAREFULLY. Answer each question in the space provided on these pages. Budget your time so you

More information

CSE wi Midterm Exam 2/8/18. Name UW ID #

CSE 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 information

Final Exam May 21, 2003

Final Exam May 21, 2003 1.00 Introduction to Computers and Engineering Problem Solving Final Exam May 21, 2003 Name: Email Address: TA: Section: You have three hours to complete this exam. For coding questions, you do not need

More information

Prelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer

Prelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer Prelim 2 CS 2110, November 20, 2014, 7:30 PM 1 2 3 4 5 Extra Total Question True/False Short Answer Complexity Induction Trees Graphs Extra Credit Max 20 10 15 25 30 5 100 Score Grader The exam is closed

More information

CSE 143 Au04 Midterm 1 Page 1 of 9

CSE 143 Au04 Midterm 1 Page 1 of 9 CSE 143 Au04 Midterm 1 Page 1 of 9 Question 1. (4 points) When we re modifying Java code, some of the things we do will change the coupling between the class we re working on and other classes that it

More information

Points off Total off Net Score. CS 314 Final Exam Spring 2016

Points off Total off Net Score. CS 314 Final Exam Spring 2016 Points off 1 2 3 4 5 6 Total off Net Score CS 314 Final Exam Spring 2016 Your Name Your UTEID Instructions: 1. There are 6 questions on this test. 100 points available. Scores will be scaled to 300 points.

More information

40) Class can be inherited and instantiated with the package 41) Can be accessible anywhere in the package and only up to sub classes outside the

40) Class can be inherited and instantiated with the package 41) Can be accessible anywhere in the package and only up to sub classes outside the Answers 1) B 2) C 3) A 4) D 5) Non-static members 6) Static members 7) Default 8) abstract 9) Local variables 10) Data type default value 11) Data type default value 12) No 13) No 14) Yes 15) No 16) No

More information

CSE 331 Midterm Exam Sample Solution 2/18/15

CSE 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 information

EXAMINATIONS 2012 Trimester 1, MID-TERM TEST. COMP103 Introduction to Data Structures and Algorithms SOLUTIONS

EXAMINATIONS 2012 Trimester 1, MID-TERM TEST. COMP103 Introduction to Data Structures and Algorithms SOLUTIONS 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 Student ID:....................... EXAMINATIONS 2012 Trimester 1, MID-TERM TEST COMP103 Introduction

More information

Assignment 4. Aggregate Objects, Command-Line Arguments, ArrayLists. COMP-202B, Winter 2011, All Sections. Due: Tuesday, March 22, 2011 (13:00)

Assignment 4. Aggregate Objects, Command-Line Arguments, ArrayLists. COMP-202B, Winter 2011, All Sections. Due: Tuesday, March 22, 2011 (13:00) Assignment 4 Aggregate Objects, Command-Line Arguments, ArrayLists COMP-202B, Winter 2011, All Sections Due: Tuesday, March 22, 2011 (13:00) You MUST do this assignment individually and, unless otherwise

More information

Java Collections. Readings and References. Collections Framework. Java 2 Collections. CSE 403, Spring 2004 Software Engineering

Java Collections. Readings and References. Collections Framework. Java 2 Collections. CSE 403, Spring 2004 Software Engineering Readings and References Java Collections "Collections", Java tutorial http://java.sun.com/docs/books/tutorial/collections/index.html CSE 403, Spring 2004 Software Engineering http://www.cs.washington.edu/education/courses/403/04sp/

More information

CSE143 Summer 2008 Final Exam Part B KEY August 22, 2008

CSE143 Summer 2008 Final Exam Part B KEY August 22, 2008 CSE143 Summer 2008 Final Exam Part B KEY August 22, 2008 Name : Section (eg. AA) : TA : This is an open-book/open-note exam. Space is provided for your answers. Use the backs of pages if necessary. The

More information

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal The ArrayList class CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Describe the ArrayList class Discuss important methods of this class Describe how it can be used in modeling Much of the information

More information

CSE 143 Lecture 20. Circle

CSE 143 Lecture 20. Circle CSE 143 Lecture 20 Abstract classes Circle public class Circle { private double radius; public Circle(double radius) { this.radius = radius; public double area() { return Math.PI * radius * radius; public

More information

COMP 250. Lecture 29. interfaces. Nov. 18, 2016

COMP 250. Lecture 29. interfaces. Nov. 18, 2016 COMP 250 Lecture 29 interfaces Nov. 18, 2016 1 ADT (abstract data type) ADT s specify a set of operations, and allow us to ignore implementation details. Examples: list stack queue binary search tree priority

More information

Interfaces, collections and comparisons

Interfaces, collections and comparisons תכנות מונחה עצמים תרגול מספר 4 Interfaces, collections and comparisons Interfaces Overview Overview O Interface defines behavior. Overview O Interface defines behavior. O The interface includes: O Name

More information

CS61BL: Data Structures & Programming Methodology Summer 2014

CS61BL: Data Structures & Programming Methodology Summer 2014 CS61BL: Data Structures & Programming Methodology Summer 2014 Instructor: Edwin Liao Final Exam August 13, 2014 Name: Student ID Number: Section Time: TA: Course Login: cs61bl-?? Person on Left: Possibly

More information

Computer Science CS221 Test 2 Name. 1. Give a definition of the following terms, and include a brief example. a) Big Oh

Computer Science CS221 Test 2 Name. 1. Give a definition of the following terms, and include a brief example. a) Big Oh Computer Science CS221 Test 2 Name 1. Give a definition of the following terms, and include a brief example. a) Big Oh b) abstract class c) overriding d) implementing an interface 10/21/1999 Page 1 of

More information

CIS 120 Midterm II November 8, Name (printed): Pennkey (login id):

CIS 120 Midterm II November 8, Name (printed): Pennkey (login id): CIS 120 Midterm II November 8, 2013 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 information

Week 4, Wednesday (Spring 2015). Dr. Yoder. Sec 051. Page 1 of 5

Week 4, Wednesday (Spring 2015). Dr. Yoder. Sec 051. Page 1 of 5 CS2852 Exam 1 Name: No note-sheets, calculators, or other study aids on this exam. Write your initials at the top of each page except this one. Read through the whole exam before you get started. Have

More information

CSE 331 Midterm Exam 11/9/15 Sample Solution

CSE 331 Midterm Exam 11/9/15 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 information

Midterm Exam 2 CS 455, Spring 2011

Midterm Exam 2 CS 455, Spring 2011 Name: USC loginid (e.g., ttrojan): Midterm Exam 2 CS 455, Spring 2011 March 31, 2011 There are 6 problems on the exam, with 50 points total available. There are 7 pages to the exam, including this one;

More information

Model Solutions. COMP 103: Test April, 2013

Model Solutions. COMP 103: Test April, 2013 Family Name:............................. Other Names:............................. ID Number:............................... Signature.................................. Instructions Time allowed: 40 minutes

More information

I have neither given nor received any assistance in the taking of this exam.

I have neither given nor received any assistance in the taking of this exam. UC Berkeley Computer Science CS61B: Data Structures Midterm #2, Spring 2015 This test has 10 questions worth a total of 35 points. The exam is closed book, except that you are allowed to use two (front-

More information

CSE 143 Sp04 Final Exam Sample Solution Page 1 of 12

CSE 143 Sp04 Final Exam Sample Solution Page 1 of 12 CSE 143 Sp04 Final Exam Sample Solution Page 1 of 12 Reference information about many standard Java classes appears at the end of the test. You might want to tear off those pages to make them easier to

More information

Programmieren II. Collections. Alexander Fraser. May 28, (Based on material from T. Bögel)

Programmieren II. Collections. Alexander Fraser. May 28, (Based on material from T. Bögel) Programmieren II Collections Alexander Fraser fraser@cl.uni-heidelberg.de (Based on material from T. Bögel) May 28, 2014 1 / 46 Outline 1 Recap Paths and Files Exceptions 2 Collections Collection Interfaces

More information

CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions

CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions Name CISC 3115 Modern Programming Techniques Spring 2018 Section TY3 Exam 2 Solutions 1. a. (25 points) A rational number is a number that can be represented by a pair of integers a numerator and a denominator.

More information

Exam 1 CSCI 2600 Principles of Software October 6, 2015

Exam 1 CSCI 2600 Principles of Software October 6, 2015 NAME Exam 1 CSCI 2600 Principles of Software October 6, 2015 - DO NOT OPEN THIS EXAM UNTIL TOLD TO DO SO! - READ THROUGH THE ENTIRE EXAM BEFORE STARTING TO WORK. - YOU ARE ALLOWED ONLY 2 CHEAT PAGES. NO

More information

CS2110: Software Development Methods. Maps and Sets in Java

CS2110: Software Development Methods. Maps and Sets in Java CS2110: Software Development Methods Maps and Sets in Java These slides are to help with the lab, Finding Your Way with Maps Today s lab uses Maps (and Sets but just a little). Readings from textbook:

More information

Big O & ArrayList Fall 2018 Margaret Reid-Miller

Big O & ArrayList Fall 2018 Margaret Reid-Miller Big O & ArrayList 15-121 Fall 2018 Margaret Reid-Miller Today Exam 1: Thursday, Oct 4, 2018 Exam 2 date: Currently Thur. Oct 25 th Move to Tues Oct 30 or Thur Nov 1? (Withdraw deadline Tues Nov 6.) Homework

More information

PRACTICE MIDTERM EXAM #2

PRACTICE MIDTERM EXAM #2 This practice exam is based on the actual midterm exam from Cynthia s Spring 2014 class. It did not include a classes problem (which you should expect this quarter), and the memory/pointers problem covered

More information

CS2110: Software Development Methods. Maps and Sets in Java

CS2110: Software Development Methods. Maps and Sets in Java CS2110: Software Development Methods Maps and Sets in Java These slides are to help with the lab, Finding Your Way with Maps This lab uses Maps, and Sets too (but just a little). Readings from textbook:

More information

CS Introduction to Data Structures Week 1 Thursday

CS Introduction to Data Structures Week 1 Thursday CS 367 - Introduction to Data Structures Week 1 Thursday We assume that you are proficient at object-oriented programming in Java. Please enroll in CS300 if you do not know Java and have not written object-oriented

More information

Algorithm Efficiency and Big-O

Algorithm Efficiency and Big-O + Algorithm Efficiency and More List implementations + Algorithm Efficiency and Big-O Section 2.4 1 + Algorithm Efficiency and Big-O n Getting a precise measure of the performance of an algorithm is difficult

More information

COM S 211/ENGRD 211 May 15, 2003

COM S 211/ENGRD 211 May 15, 2003 COM S 211/ENGRD 211 May 15, 2003 Final Exam 3:00 PM 5:30 PM Information: Name (clearly print last, first, middle): Net ID: CU ID: I have followed the rules of academic integrity on this exam (sign): Instructions:

More information

Array Based Lists. Collections

Array Based Lists. Collections Array Based Lists Reading: RS Chapter 15 1 Collections Data structures stores elements in a manner that makes it easy for a client to work with the elements Specific collections are specialized for particular

More information

Prelim 1 Solutions. CS 2110, March 10, 2015, 5:30 PM Total Question True False. Loop Invariants Max Score Grader

Prelim 1 Solutions. CS 2110, March 10, 2015, 5:30 PM Total Question True False. Loop Invariants Max Score Grader Prelim 1 Solutions CS 2110, March 10, 2015, 5:30 PM 1 2 3 4 5 Total Question True False Short Answer Recursion Object Oriented Loop Invariants Max 20 15 20 25 20 100 Score Grader The exam is closed book

More information

U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2018 TRIMESTER 2 COMP 103 PRACTICE EXAM

U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2018 TRIMESTER 2 COMP 103 PRACTICE EXAM 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 VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2018 TRIMESTER 2 COMP 103 PRACTICE EXAM Time Allowed: TWO HOURS ********

More information

Computer Science 1 Ah

Computer Science 1 Ah UNIVERSITY OF EDINBURGH course CS0077 COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS Computer Science 1 Ah Resit Examination Specimen Solutions Date: Monday 1st September 2003 Time: 09:30 11:00

More information

More on Objects in JAVA TM

More on Objects in JAVA TM More on Objects in JAVA TM Inheritance : Definition: A subclass is a class that extends another class. A subclass inherits state and behavior from all of its ancestors. The term superclass refers to a

More information

CSE 331 Final Exam 12/9/13

CSE 331 Final Exam 12/9/13 Name There are 10 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 information

The Java Collections Framework and Lists in Java Parts 1 & 2

The Java Collections Framework and Lists in Java Parts 1 & 2 The Java Collections Framework and Lists in Java Parts 1 & 2 Chapter 9 Chapter 6 (6.1-6.2.2) CS 2334 University of Oklahoma Brian F. Veale Groups of Data Data are very important to Software Engineering

More information

DUKE UNIVERSITY Department of Computer Science. Test 1: CompSci 100

DUKE UNIVERSITY Department of Computer Science. Test 1: CompSci 100 DUKE UNIVERSITY Department of Computer Science Test 1: CompSci 100 Name (print): Community Standard acknowledgment (signature): Problem 1 value 9 pts. grade Problem 2 9 pts. Problem 3 6 pts. Problem 4

More information

CSE 143 Sp03 Final Exam Sample Solution Page 1 of 13

CSE 143 Sp03 Final Exam Sample Solution Page 1 of 13 CSE 143 Sp03 Final Exam Sample Solution Page 1 of 13 Question 1. (3 points) Java classifies exceptions as either checked or unchecked. For each of the following, indicate whether it is checked or unchecked

More information

Generic classes & the Java Collections Framework. *Really* Reusable Code

Generic classes & the Java Collections Framework. *Really* Reusable Code Generic classes & the Java Collections Framework *Really* Reusable Code First, a bit of history Since Java version 5.0, Java has borrowed a page from C++ and offers a template mechanism, allowing programmers

More information

CSCI 102 Fall 2010 Exam #1

CSCI 102 Fall 2010 Exam #1 Name: USC Username: CSCI 102 Fall 2010 Exam #1 Problems Problem #1 (14 points) Problem #2 (15 points) Problem #3 (20 points) Problem #4 (16 points) Problem #5 (35 points) Total (100 points) Problem 1 Short

More information

int b = 2; for (int a = 0; a < 10 b < 20; a++) { a = a + b; b = b + a; }

int b = 2; for (int a = 0; a < 10 b < 20; a++) { a = a + b; b = b + a; } 1. What does mystery(9870) return? public int mystery(int n) { String m = ""; while (n > 0) { m = m + n%10; n = n/10; return m; (a) "9870" (b) "987" (c) "0" (d) "789" (e) "7890" 2. What are the values

More information

Answer Key. 1. General Understanding (10 points) think before you decide.

Answer Key. 1. General Understanding (10 points) think before you decide. Answer Key 1. General Understanding (10 points) Answer the following questions with yes or no. think before you decide. Read the questions carefully and (a) (2 points) Does the interface java.util.sortedset

More information

CSE wi: Practice Midterm

CSE wi: Practice Midterm CSE 373 18wi: Practice Midterm Name: UW email address: Instructions Do not start the exam until told to do so. You have 80 minutes to complete the exam. This exam is closed book and closed notes. You may

More information

COMP103 Test. 5 Sept, 2007

COMP103 Test. 5 Sept, 2007 Family Name:.......................... Other Names:.......................... ID Number:............................ COMP103 Test 5 Sept, 2007 Instructions Time: 90 minutes. Answer all the questions. There

More information

CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists

CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists 1 A programming problem Consider the following task: Double values representing grades are read until the user enters a negative

More information

Exam 1 - (20 points)

Exam 1 - (20 points) Exam 1 - (20 points) Answer all of the following questions. READ EACH QUESTION CAREFULLY. Fill the correct bubble on your scantron sheet. Each correct answer is worth 1 point (unless otherwise stated).

More information

Prelim 1. CS2110, October 2, 2014, 5:30 PM Extra Total Question TrueFalse Multiple Object Oriented

Prelim 1. CS2110, October 2, 2014, 5:30 PM Extra Total Question TrueFalse Multiple Object Oriented Prelim 1 CS2110, October 2, 2014, 5:30 PM 1 2 3 4 5 Extra Total Question TrueFalse Multiple Object Oriented Recursion Lists Extra Credit Max 20 20 30 15 15 5 100 Score Grader The exam is closed book and

More information

1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides

1B1b Inheritance. Inheritance. Agenda. Subclass and Superclass. Superclass. Generalisation & Specialisation. Shapes and Squares. 1B1b Lecture Slides 1B1b Inheritance Agenda Introduction to inheritance. How Java supports inheritance. Inheritance is a key feature of object-oriented oriented programming. 1 2 Inheritance Models the kind-of or specialisation-of

More information

CSE 143, Winter 2009 Final Exam Thursday, March 19, 2009

CSE 143, Winter 2009 Final Exam Thursday, March 19, 2009 CSE 143, Winter 2009 Final Exam Thursday, March 19, 2009 Personal Information: Name: Section: Student ID #: TA: You have 110 minutes to complete this exam. You may receive a deduction if you keep working

More information

CSE 143. Lecture 13: Interfaces, Comparable reading: , 16.4, 10.2

CSE 143. Lecture 13: Interfaces, Comparable reading: , 16.4, 10.2 CSE 143 Lecture 13: Interfaces, Comparable reading: 9.5-9.6, 16.4, 10.2 Related classes Consider classes for shapes with common features: Circle (defined by radius r ): area = r 2, perimeter = 2 r Rectangle

More information

Topic 7: Algebraic Data Types

Topic 7: Algebraic Data Types Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,

More information

Outline. runtime of programs algorithm efficiency Big-O notation List interface Array lists

Outline. runtime of programs algorithm efficiency Big-O notation List interface Array lists Outline runtime of programs algorithm efficiency Big-O notation List interface Array lists Runtime of Programs compare the following two program fragments: int result = 1; int result = 1; for (int i=2;

More information

Overview of Java ArrayList, HashTable, HashMap, Hashet,LinkedList

Overview of Java ArrayList, HashTable, HashMap, Hashet,LinkedList Overview of Java ArrayList, HashTable, HashMap, Hashet,LinkedList This article discusses the main classes of Java Collection API. The following figure demonstrates the Java Collection framework. Figure

More information

CSE 332 Spring 2013: Midterm Exam (closed book, closed notes, no calculators)

CSE 332 Spring 2013: Midterm Exam (closed book, closed notes, no calculators) Name: Email address: Quiz Section: CSE 332 Spring 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 15 Lecture 15-1: Implementing ArrayIntList reading: 15.1-15.3 Recall: classes and objects class: A program entity that represents: A complete program or module, or A template

More information