DOC PREVIEW
UMD CMSC 132 - Final Exam

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Grader Use Only 1 2 3 4 5 6 7 8 9 10 Total Honors CMSC132 Fall 2005 Final Exam First Name 15 7 8 13 9 16 9 7 8 8 100 8 Last Name Student ID Section time TA I pledge on my honor that I have not given or received any unauthorized assistance on this examination Your signature General Rules Read a b c d e This exam is closed book and closed notes If you have a question please raise your hand Total point value is 100 points Answer True False questions by circling the T or F at the end of the question Answer multiple choice questions by circling the letter e g a b at the front of each choice f Answer essay questions concisely using 1 or 2 sentences Longer answers are not necessary and are discouraged g WRITE NEATLY If we cannot understand your answer we will not grade it i e 0 credit h Honors section questions only count for credit for students in the honors section 1 Problem 1 15 pts Software Engineering Object Oriented Design a 1 pt The Waterfall model is reasonable for both small and large projects T or F b 1 pt The Waterfall model Unified model and Rapid Prototyping are intended to be models of what Hint Provide a 3 word answer You get 0 points for providing definitions of each model c 1 pt Define data abstraction d 8 pts Given the following problem description produce an object oriented solution and answer the questions below Design a software system for a bookstore that keeps an inventory of two types of books traditional books and books on CD Books on CD may also contain music The bookstore purchases books from publishers and sets a price for each book Customers can purchase books from the bookstore using either cash or a credit card The bookstore keeps track of which books it has its inventory and the books purchased by each customer i What are the objects in your object oriented solution ii What are the interactions between objects in your object oriented solution iii Which objects have other objects Also list target object iv Which objects use other objects Also list target object v Which objects are other objects Also list target object 2 e 4 pts Given the following Java code draw its UML class diagram public class Button public String operation public double frequency public class DVD public void onOff public void play public class AllOnButton extends Button public int currentValue public class RemoteControl public Button controlButtons public DVD dvd public AllOnButton allOnButton public void activateButtonOn String operation String deviceName 3 Problem 2 7 pts Algorithm Complexity a 3 pts Calculate the asymptotic complexity of the code snippets below using big O notation with respect to the problem size n i for int i 0 i n 2 i for int k 0 k 20 k for int j 0 j 30 j f n O ii for int i n 2 i n i for int j 1 j n j j 2 for int k 1 k n k k 2 f n O iii for int i 1 i 100 i f n O b 2 pts List the following big O expressions in order of asymptotic complexity with the lowest complexity first O nlog n O 1 O log n O 2 n c 2 pts How can asymptotic complexity be analyzed for recursive algorithms 4 O n Problem 3 8 pts Data Structures and Recursion a 1 pt Elements in a map have exactly 1 successor T or F b 1 pt A base case is optional for some recursive problems T or F c 6 pts Given the following Java class definition for a binary tree write a recursive method named numLeafNodes that determines the number of leaf nodes in the binary tree Remember that leaf nodes are nodes with no children Assume left and right have the value null if no subtree is present You may use helper functions Class Node Object myValue Node left Node right Class Tree Node root int numLeafNodes root node in tree return number of leaf nodes in tree 5 Problem 4 13 pts Graph Algorithms a 1 pt Every cycle is a path T or F b 1 pt Every graph has a unique minimum spanning tree T or F c 1 pt You can implement a Depth First Traversal using a Queue T or F d 10 pts Consider the following graph i 10 2 pts List the set of nodes visited in the order first visited while performing a Depth First Search starting at B 10 4 S B D 2 ii 2 pts List the set of2 nodes visited in the order first visited while performing a Breadth 1 3 6 First Search starting at B A C 6 E 8 iii 2 pts List the first edge rejected by Kruskal s minimal spanning tree algorithm you can treat all edges as undirected edges for this 7 problem iv 4 pts Show the entries in the following table after adding the first 3 nodes S 2 other nodes when applying Djikstra s single source shortest path algorithm starting at S S A B C D E LowestCost Predecessor Problem 5 9 pts Compression and Huffman Codes a 1 pt The compression factor associated with the Huffman encoding is affected by how 0 s and 1 s are assigned to a Huffman tree b 4 pts Consider the following Huffman tree 6 T or F H T 0 1 M K 0 0 1 0 i Z 1 1 2 pts Decode the sequence 1001000 ii 2 pts Encode the string MTZ c 4 pts Create a Huffman tree for the following nodes A B C D 5 4 1 8 Problem 6 16 pts Multithreading and Synchronization a 1 pt Excessive use of synchronization mechanisms can reduce performance T or F b 1 pt A Java object can be assigned two locks T or F 7 c 1 pt A program with data races will produce different results each time it is run T or F d 9 pts Given the following diagram of states a thread can assume draw all possible transitions between states and list one possible cause for each transition runnable new running dead 8 blocked e 4 pts Consider the following code for a multithreaded Cashier class public class Cashier private static MyQueue clientQueue new MyQueue same Queue for all cashiers public void doWork work on register then work with client if one is in the Queue int queueLength workOnRegister do some work without client queueLength clientQueue size if queueLength 0 Object client clientQueue dequeue workWithClient client do some work with client i 1 pts Why are data races possible if two Cashier objects invoke doWork simultaneously ii 3 pts Change the doWork method so that multiple Cashier objects can safely invoke the doWork method simultaneously Maximize the amount of parallelism exploited by ensuring multiple Cashiers can invoke workOnRegister and workWithClient simultaneously public void doWork int queueLength work on register then work with client …


View Full Document

UMD CMSC 132 - Final Exam

Documents in this Course
Notes

Notes

8 pages

Recursion

Recursion

12 pages

Sorting

Sorting

31 pages

HTML

HTML

7 pages

Trees

Trees

19 pages

HTML

HTML

18 pages

Trees

Trees

19 pages

Honors

Honors

19 pages

Lecture 1

Lecture 1

11 pages

Quiz #3

Quiz #3

2 pages

Hashing

Hashing

21 pages

Load more
Loading Unlocking...
Login

Join to view Final Exam and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Final Exam and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?