Material Sept 6. CS1706 Intro to Object Oriented Dev II - Spring 04
|
|
- Leonard Harrington
- 6 years ago
- Views:
Transcription
1 CS1706 Intro to Object Oriented Dev II - Spring 04 Material Sept 6 Brief review last week Collections, Data Structures Interfaces, Implementations and Dependencies Bags, Sets
2 Assertions Document all pre-conditions in code and comments In code, add pre-conditions as assertions and as javadoc comments class Day {... /** month > 0 && month <= 12 */ Day(int year, int month, int day) { assert month > 0 && month <= 12 : Illegal month ; Use assertions in other places too, to assert conditions
3 Assertions or exceptions Should your program use assertions for preconditions or exceptions? What is the difference between them? Exceptions are part of the method signature, thus are part of the contract. A method terminating with an exception might still be behaving as expected, the condition just could not be avoided.
4 Is it good enough? To manage any process you must to be able to measure the quality of the process. The design process has too many variables... What to do? Use a table to do a Claims Analysis Design Guidelines Pro Con Encapsulation?? Cohesion??... more... Use list of cons to improve your code
5 Movie class... class Movie { private String title; private String[] actors; private Date release; public Movie(String t, String[] actors, Date release) { this.title = t; this.actors = actors; this.release = release; class design? How good is this String gettitle() { return title; String[] getactors() { return actors; Date getdate() { return release;
6 Claims Analysis example Design Guidelines Encapsulation Pro Con Date is a mutable object, aliasing problems Encapsulation proper use of accessors Encapsulation Completeness / Convenience Contract Actors list being returned, aliasing problems Actors[] is a list, no methods to manage it Precondition of the accessor methods? To improve this particular class design, you must refactor your code to remove the number of cons evaluations.
7 Movie class (2) class Movie { private String title; private String[] actors; private Date release; public Movie(String t, String[] actors, Date release) { this.title = t; this.actors = actors.clone(); this.release = new Date(release); String gettitle() { return title; Date getdate() { return release.clone(); String[] getactors() { return actors.clone(); // add some way of manipulating the actors list
8 What if?... String[] actors; Movie star_wars = new Movie( Phantom Menace, actors, new Date(2005, 6, 1));... for (int i = 0; i < actors.size; i++) System.out.println(actors[i]); What is wrong with this program? Does it reflect a problem in the class design?
9 Data Structures Programming constructs to implement collections Example: arrays What is characteristic of arrays? How are they created? How are they accessed? What about their size? Do we have other choices? Is a Vector a data structure? Yes? No?
10 Collections Linear collections - objects are stored in a straight line (e.g. arrays) Non-linear collections (e.g. tree) Interesting to consider order in which objects are added to collection relationship among objects in collection size (fixed or growable) Examples: line to buy pizza in Sbarro, group of students in classroom, plates in spring-loaded stack in cafeteria, names in phonebook
11 Data Structures in CS Classic collections in computer science Stack Queue Array List Hash Tree Binary tree Graphs first in, last out, unbounded first in, first out, unbounded limited size, direct access linear, sequential access, unbounded key-value pairs, key access, unbounded parent/child relation Tree with at most two children per node multiple connections (trees with loops)
12 Reuse What is a good definition for Code Reuse? Is copy/paste an example of reuse? Why should we care? Every time you modify code, you need to retest Testing/Debugging is expensive. Do it only once. Definition: reuse - existing code in the form of method, classes, or packages that can serve different purposes without recompilation
13 Java Interfaces What is an interface in java? public interface BagADT { public void add(object element); public Object removerandom(); public boolean contains(object element);... How can you use it? Which of this is legal? BagADT bag = new BagADT(); BagADT bag = getmeabag(); bag.add( hello ); bag.add(45); class MyBag implements BagADT {... BagADT bag = new MyBag(); if (bag.contains( hello )) {
14 Advantage of Interfaces What are the advantage of interfaces? Why can t I just use a class? Code dependencies How one piece of code depends on another? Coupling - how tight two programs are KEY: try to make your classes stand on their own How are interfaces related to coupling?
15 Code dependencies public void work() { Collection bag = new BagADT(); Iterator idx; getdata(bag); // get some data and put it in bag idx = bag.iterator(); while (idx.hasnext()) { System.out.println(idx.next()); What dependencies exist here?
16 Importance of Interfaces One more way to reduce code dependencies Approach in Lewis & Chase Interface to DS: BagADT Different implementations ArrayBag, LinkedBag Clients depend only (mostly) on BagADT New implementations possible and easily done Code reuse is high Client code depends only on interface (literally)
17 Managing Capacity: Array For the Bag defined in L&C Member variable private Object[] contents; In contructor contents = new Object[some size]; Two sizes to consider: # elements in collection (count), and size of array (contents.length) Extend array when count == contents.length Initial Array copy count available new size
18 Iteration Common operation over collections for (i = 0; i < size; i++) do something with element ith Problem: different collections access elements differently: arrays[i], link.next, etc. Iterator interface provides simple access to all collections public interface Iterator { boolean hasnext(); Object next(); Iteration becomes Iterator i = collection.iterator(); while (i.hastnext()) do something with i.next(); //gets current, advances index
19 Iterator in Bag The Bag creates/returns an iterator Iterator iterator() { return ArrayIterator(contents, size); How does it work? contents in use available count What does the ArrayIterator class needs to do: for (i = 0; i < contents.length; i++) do something [i] ArrayIterator needs access to contents array contents.length
20 What is wrong? BagADT b = new BagADT(); Iterator i = b.iterator(); What is wrong with this picture? hint: aliasing, encapsulation b i Also, what could happen if I add an object to the collection after I got the iterator?
21 Iterator Often work only if the collection has not been modified Modification of collection invalidates iterator Many Java s iterators throw exception if collection is modified and iterator is reaccessed Encapsulation BagADT and ArrayIterator are cooperating classes, developed together Share some private vars BUT, if no mod of contents, ref is to immutable object, and no other object can access contents[]
22 Iterator public class ArrayIterator implements Iterator { private int count; private int current; private Object[] items; public ArrayIterator(Object[] collection, int size) { items = collection; count = size; current = 0; public boolean hasnext() { return (current < count); public Object next() { if (! hasnext()) throw exception; current++; return items[current-1];
23 Bags and Sets What is the difference between a bag and a set? What need to be modified in the code to implement a set? Anything in the interface? What in the implementation?
How to evaluate a design? How to improve on it? When to stop evaluating and improving?
How to design code? Steps Analyze the problem (we will cover later) Come up with initial design Evaluate this design (is it good enough?) Improve design & repeat evaluation How to evaluate a design? How
More informationImplementing 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 informationCS 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 informationRemember, to manage anything, we need to measure it. So, how do we compare two implementations? ArrayBag vs. LinkedBag Which is more efficient?
CS706 Intro to Object Oriented Dev II - Spring 04 Announcements Week 4 Program due Two Weeks! Lab 3-4 required completion this week First web-cat submission Material Evaluation of efficiency Time Analysis
More informationBasic Data Structures
Basic Data Structures Some Java Preliminaries Generics (aka parametrized types) is a Java mechanism that enables the implementation of collection ADTs that can store any type of data Stack s1
More informationClass design guidelines. Most of this material comes from Horstmann, Cay: Object-Oriented Design & Patterns (chapter 3)
Class design guidelines Most of this material comes from Horstmann, Cay: Object-Oriented Design & Patterns (chapter 3) 1 Encapsulation Classes can be implemented many different ways each has advantages
More informationBasic Data Structures 1 / 24
Basic Data Structures 1 / 24 Outline 1 Some Java Preliminaries 2 Linked Lists 3 Bags 4 Queues 5 Stacks 6 Performance Characteristics 2 / 24 Some Java Preliminaries Generics (aka parametrized types) is
More informationImplementing 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 informationCS 3 Introduction to Software Engineering. 5: Iterators
CS 3 Introduction to Software Engineering 5: Iterators Questions? 2 PS1 Discussion Question You are to choose between two procedures, both of which compute the minimum value in an array of integers. One
More informationCSE331 Winter 2014, Midterm Examination February 12, 2014
CSE331 Winter 2014, Midterm Examination February 12, 2014 Please do not turn the page until 10:30. Rules: The exam is closed-book, closed-note, etc. Please stop promptly at 11:20. There are 100 points
More informationAbstract Data Types and Data Structures
Unit 6, Part 1 Abstract Data Types and Data Structures Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Congrats on completing the first half! In the second half, we will study fundamental
More informationCollection Considerations
Chapter 15 Collection Considerations Goals Distinguish Collection classes, data structures, and ADTs Consider three data structures used in this textbook: array, singly linked, and tree Observe that a
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 261: Data Structures. Dynamic Arrays. Introduction
CS 261: Data Structures Dynamic Arrays Introduction Arrays Core data structure Example: double arraybag[100]; struct Students{ int count; }; char initials[2]; 2 Positives: Arrays -- Pros and Cons Simple
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationWhat is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one
Iterators What is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one 9-2 2-2 What is an Iterator? An iterator is an abstract data
More informationImplementing a List in Java. CSC 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List CSC
Implementing a List in Java CSC 143 Java List Implementation Using Arrays Updated with Java 5.0 Generics Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked
More informationLecture 9: Lists. MIT-AITI Kenya 2005
Lecture 9: Lists MIT-AITI Kenya 2005 1 In this lecture we will learn. ArrayList These are re-sizeable arrays LinkedList brief overview Differences between Arrays and ArrayLists Casting Iterator method
More informationData Structures and Abstractions with Java
Global edition Data Structures and Abstractions with Java Fourth edition Frank M. Carrano Timothy M. Henry Data Structures and Abstractions with Java TM Fourth Edition Global Edition Frank M. Carrano University
More informationAbstract Data Types Chapter 1
Abstract Data Types Chapter 1 Part Two Bags A bag is a basic container like a shopping bag that can be used to store collections. There are several variations: simple bag grab bag counting bag 2 Bag ADT
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More informationAbstract Data Types. CS 234, Fall Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples
Abstract Data Types CS 234, Fall 2017 Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples Data Types Data is stored in a computer as a sequence of binary digits:
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2015S-05 Abstract Data Types and Lists David Galles Department of Computer Science University of San Francisco 05-0: Abstract Data Types Recall that an Abstract Data
More informationCS S-05 Abstract Data Types and Lists 1
CS245-2016S-05 Abstract Data Types and Lists 1 05-0: Abstract Data Types Recall that an Abstract Data Type is a definition of a type based on the operations that can be performed on it. An ADT is an interface
More informationOutline. iterator review iterator implementation the Java foreach statement testing
Outline iterator review iterator implementation the Java foreach statement testing review: Iterator methods a Java iterator only provides two or three operations: E next(), which returns the next element,
More informationCollections and Iterators. Collections
Collections and Iterators Based on the notes from David Fernandez-Baca and Steve Kautz Based on The Java Tutorial (http://docs.oracle.com/javase/tutorial/java/) Bryn Mawr College CS206 Intro to Data Structures
More informationThe 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 informationEXAMINATIONS 2012 END-OF-YEAR SWEN222. Software Design. Question Topic Marks 1. Design Quality Design Patterns Design by Contract 12
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 END-OF-YEAR SWEN222 Software Design Time
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 informationAnnouncements/Follow-ups
Announcements/Follow-ups Midterm 2 graded Average was 52/80 (63%), Std. Dev. was 12 P5 and Lab8 P5 due tomorrow Very light Lab8 Practice with collections Due at end of lab period P6 posted tomorrow Due
More informationJava Software Solutions
Chapter 7 Object-Oriented Design Concepts Java Software Solutions Foundations of Program Design Seventh Edition John Lewis William Loftus OO Class Terminology Interface (conceptual definition): Set of
More informationQueues. CITS2200 Data Structures and Algorithms. Topic 5
CITS2200 Data Structures and Algorithms Topic 5 Queues Implementations of the Queue ADT Queue specification Queue interface Block (array) representations of queues Recursive (linked) representations of
More informationIndex. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107
A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105
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 informationObjects and Iterators
Objects and Iterators Can We Have Data Structures With Generic Types? What s in a Bag? All our implementations of collections so far allowed for one data type for the entire collection To accommodate a
More informationSMD135 - lect 4 - approx chap. O2. Today. Set vs Sequence. Containers
Today Johan Karlsson Email: Johan.Karlsson@SM.LUTH.SE Containers Set vs Sequence Generic vs Type specific Adapter Design Patterns Bounded vs Unbounded Mutable vs Immutable Iterators java.util.collection
More informationProcedural Abstraction
Procedural Abstraction Comp-303 : Programming Techniques Lecture 5 Alexandre Denault Computer Science McGill University Winter 2004 February 16, 2004 Lecture 5 Comp 303 : Programming Techniques Page 1
More informationAnnouncements. CS18000: Problem Solving And Object-Oriented Programming
Announcements Exam 1 Monday, February 28 Wetherill 200, 4:30pm-5:20pm Coverage: Through Week 6 Project 2 is a good study mechanism Final Exam Tuesday, May 3, 3:20pm-5:20pm, PHYS 112 If you have three or
More informationOO Design Principles
OO Design Principles Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-10-10 Roman Kern (ISDS, TU Graz) OO Design Principles 2018-10-10 1 /
More informationPlease note that if you write the mid term in pencil, you will not be allowed to submit a remark request.
University of Toronto CSC148 Introduction to Computer Science Fall 2001 Mid Term Test Section L5101 Duration: 50 minutes Aids allowed: none Make sure that your examination booklet has 8 pages (including
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 14 Array Wrap-Up Outline Problem: How can I store information in arrays without complicated array management? The Java language supports ArrayLists
More informationClasses, interfaces, & documentation. Review of basic building blocks
Classes, interfaces, & documentation Review of basic building blocks Objects Data structures literally, storage containers for data constitute object knowledge or state Operations an object can perform
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More informationIntroduction: Abstract Data Types and Java Review
Introduction: Abstract Data Types and Java Review Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Welcome to Computer Science E-22! We will study fundamental data structures. ways
More informationCITS1001 week 4 Grouping objects lecture 2
CITS1001 week 4 Grouping objects lecture 2 Arran Stewart March 29, 2018 1 / 37 Overview Last lecture, we looked at how we can group objects together into collections We looked at the ArrayList class. This
More information11-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 informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Requirements Engineering functional / non-functional requirements Elicitation,
More informationStacks. Chapter 5. Copyright 2012 by Pearson Education, Inc. All rights reserved
Stacks Chapter 5 Copyright 2012 by Pearson Education, Inc. All rights reserved Contents Specifications of the ADT Stack Using a Stack to Process Algebraic Expressions A Problem Solved: Checking for Balanced
More informationCS108, Stanford Handout #3. HW1 CodeCamp
CS108, Stanford Handout #3 Fall, 2008-09 Osvaldo Jiménez HW1 CodeCamp Thanks to Nick Parlante for much of this handout For this first homework, you will run through a series of small coding problems to
More informationCS246 Software Abstraction and Specification Final Examination
CS246 Software Abstraction and Specification ination Spring 2007 Date: 04-Aug-2007 Time: 4.00 6.30pm Permitted Aids: None 14 pages Student Name: UW Student ID: Instructions: (Read carefully before the
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 informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 3 Thomas Wies New York University Review Last week Names and Bindings Lifetimes and Allocation Garbage Collection Scope Outline Control Flow Sequencing
More informationThe following topics will be covered in this course (not necessarily in this order).
The following topics will be covered in this course (not necessarily in this order). Introduction The course focuses on systematic design of larger object-oriented programs. We will introduce the appropriate
More informationLecture Chapter 2 Software Development
Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple
More informationCST141 Thinking in Objects Page 1
CST141 Thinking in Objects Page 1 1 2 3 4 5 6 7 8 Object-Oriented Thinking CST141 Class Abstraction and Encapsulation Class abstraction is the separation of class implementation from class use It is not
More informationCS 2102 Exam 2 D-Term 2017
NAME: CS 2102 Exam 2 D-Term 2017 Question 1: (25) Question 2: (10) Question 3: (25) Question 4: (10) Question 5: (30) TOTAL: (100) 1 1. (25 points) You re writing software to monitor a healthy lifestyle.
More informationData Structures (list, dictionary, tuples, sets, strings)
Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
More informationJava 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 information6.005 Elements of Software Construction Fall 2008
MIT OpenCourseWare http://ocw.mit.edu 6.005 Elements of Software Construction Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.005 elements
More informationComputer Science E-119 Fall Problem Set 4. Due prior to lecture on Wednesday, November 28
Computer Science E-119 Fall 2012 Due prior to lecture on Wednesday, November 28 Getting Started To get the files that you will need for this problem set, log into nice.harvard.edu and enter the following
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 informationPROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development
INTRODUCING API DESIGN PRINCIPLES IN CS2 Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 jaime@cs.uno.edu ABSTRACT CS2 provides a great opportunity to teach an
More informationJava classes cannot extend multiple superclasses (unlike Python) but classes can implement multiple interfaces.
CSM 61B Abstract Classes & Interfaces Spring 2017 Week 5: February 13, 2017 1 An Appealing Appetizer 1.1 public interface Consumable { public void consume (); public abstract class Food implements Consumable
More informationJava 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 informationEXAMINATIONS 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 informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Object-Oriented Programming Intro Department of Computer Science University of Maryland, College Park Object-Oriented Programming (OOP) Approach to improving software
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Recap Requirements Engineering user- / system requirements functional- / non-functional
More informationCSSE 220. Interfaces and Polymorphism. Check out Interfaces from SVN
CSSE 220 Interfaces and Polymorphism Check out Interfaces from SVN Interfaces What, When, Why, How? What: Code Structure used to express operations that multiple class have in common No method implementations
More informationCS3360 Design and Implementation of Programming Languages Final Exam May 16, pm to 12:45pm (2 hour and 40 minutes) NAME:
CS3360 Design and Implementation of Programming Languages Final Exam May 16, 2013 10pm to 12:45pm (2 hour and 40 minutes) NAME: GRADE = / 140 1. Choice of Programming Languages / 25 2. Programming languages:
More informationPlease note that if you write the mid term in pencil, you will not be allowed to submit a remark request.
University of Toronto CSC148 Introduction to Computer Science Summer 2001 Mid Term Test Section L0101 Duration: 50 minutes Aids allowed: none Make sure that your examination booklet has 8 pages (including
More informationClasses. C++ Object Oriented Programming Pei-yih Ting NTOU CS
Classes C++ Object Oriented Programming Pei-yih Ting NTOU CS 1 Encapsulation Access Specifiers Default Access Private Data Public vs. Private Functions Object State Scope Inline Member Functions Constant
More informationIntroduction: Abstract Data Types and Java Review
Introduction: Abstract Data Types and Java Review Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Welcome to Computer Science E-22! We will study fundamental data structures. ways
More informationJAVA MOCK TEST JAVA MOCK TEST II
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
More informationProject 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.
Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use
More informationCSC 1052 Algorithms & Data Structures II: Lists
CSC 1052 Algorithms & Data Structures II: Lists Professor Henry Carter Spring 2018 Recap Collections hold and access elements based on content Order and index no longer considered Comparable elements implement
More informationObject Orientation. A Crash Course Intro
Object Orientation A Crash Course Intro What is an Object? An object, in the context of objectoriented programming, is the association of a state with a set of behaviors. State: its fields, or member variables
More informationCSE 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 informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationCS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM
CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,
More informationName Section Number. CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice
Name Section Number CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice All Sections Bob Wilson OPEN BOOK/OPEN NOTES You will have all 90 minutes until the start of the next class period. Spend
More informationStacks. stacks of dishes or trays in a cafeteria. Last In First Out discipline (LIFO)
Outline stacks stack ADT method signatures array stack implementation linked stack implementation stack applications infix, prefix, and postfix expressions 1 Stacks stacks of dishes or trays in a cafeteria
More informationLinked lists. Yet another Abstract Data Type Provides another method for providing space-efficient storage of data
Linked lists One of the classic "linear structures" What are linked lists? Yet another Abstract Data Type Provides another method for providing space-efficient storage of data What do they look like? Linked
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading
More informationJava Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011
A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the
More informationCS 261. Dynamic Arrays Introduction by Tim Budd Ron Metoyer Sinisa Todorovic
CS 261 Dynamic Arrays Introduction by Tim Budd Ron Metoyer Sinisa Todorovic Arrays Core data structure Example: double arraybag[100]; struct Students{ int count; char initials[2]; } Arrays -- Positives
More informationSynchronization SPL/2010 SPL/20 1
Synchronization 1 Overview synchronization mechanisms in modern RTEs concurrency issues places where synchronization is needed structural ways (design patterns) for exclusive access 2 Overview synchronization
More information[TAP:PMUHE] Stack vs Queue
[TAP:PMUHE] Stack vs Queue A Singly Linked List can be used to implement which of the following A. List B. Stack C. Queue D. B and C E. Whatever 1 Administrative Details Midterm and lab scores (4 and 5)
More informationDesign and Analysis of Information Systems (MAS)
Design and Analysis of Information Systems (MAS) Mariusz Trzaska, Ph. D. mtrzaska@pjwstk.edu.pl Lecture 05 Associations in Object-Oriented Programming Languages (1) http://www.mtrzaska.com/ Outline Introduction
More information5. Defining Classes and Methods
5. Defining Classes and Methods Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1 Objectives Describe and define concepts of class, class object Describe use
More informationAP Computer Science AB
AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.
More informationOutline. From last Time. Announcements. CS1007: Object Oriented Design and Programming in Java. Design considerations Testing Putting all together
Outline CS1007: Object Oriented Design and Programming in Java Lecture #7 Sept 27 Shlomo Hershkop shlomo@cs.columbia.edu Design considerations Testing Putting all together Midterm date set Will post review
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 informationProblem Solving with C++
GLOBAL EDITION Problem Solving with C++ NINTH EDITION Walter Savitch Kendrick Mock Ninth Edition PROBLEM SOLVING with C++ Problem Solving with C++, Global Edition Cover Title Copyright Contents Chapter
More informationCSE 331 Spring 2018 Midterm
CSE 331 Spring 2018 Midterm Name There are 8 questions worth a total of 93 points. Please budget your time so that you get as many points as possible. We have done our best to make a test that folks can
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 informationTeenCoder : Java Programming (ISBN )
TeenCoder : Java Programming (ISBN 978-0-9887070-2-3) and the AP * Computer Science A Exam Requirements (Alignment to Tennessee AP CS A course code 3635) Updated March, 2015 Contains the new 2014-2015+
More informationCS 314 Exam 1 Spring 2015
Points off 1 2A 2B 3 4 Total off Net Score CS 314 Exam 1 Spring 2015 Your Name Your UTEID Instructions: 1. There are 4 questions on this test. 75 points available. Scores will be scaled to 150 points.
More information(a) Write the signature (visibility, name, parameters, types) of the method(s) required
1. (6 pts) Is the final comprehensive? 1 2. (6 pts) Java has interfaces Comparable and Comparator. As discussed in class, what is the main advantage of Comparator? 3. (6 pts) We can use a comparator in
More information