CS 2110 - Spring 2010

Information on the Final Exam

The test will be held on Monday, May 10th at 2:00PM in OLS 120. The test will be written to take 1 1/2 hours, but you will have all 3 hours to complete the exam.
Be sure to come on time! You can start bubbling early!

Important Notes:

New Topics for the Final Exam

Maintenance UML Threads Networking OS Internet Security

Topics from Before Test 2

Coding Questions The Phases of Development and what happens during each phase
Data Abstraction vs. Procedural Abstraction
ADTs and how inheritance plays a role (what makes a good interface, abstract, concrete class)
Writing Black Box Tests / Testing document
Assessing the complexity of an algorithm
Agile Software Development
Event Driven Programming
Resources posted under Resources on Collab

Select Questions from Previous Exam

Maintenance: Imagine that we now asked you to change another team's IM codebase to allow the user to connect to a different IM network (AIM, Yahoo, MSN, etc) in addition to the Jabber network using another third-party library.

a) What type of maintenance is this? What makes you think this?

Testing: Write five black box test cases to test the functionality outlined in the problem statement. Write these test cases by completing the black box test case template. Mark each test case as being an equivalence class test case, a boundary value analysis test case, or a diabolical test case. You must have at least one of each.

You have invented the latest craze to hit the Internet - Chirper - which will displace the current king of broadcasting short messages. Chirper is a system by which people can make small "chirps" that are then distributed to all those that are watching your Chirper feed. Each "chirp" can contain no more than 141 characters (see, it's an upgrade over the current system!). Users can post new chirps from the web interface or they can send a text message to a special phone number. To use the phone system, the first two words of the message must be the username and password of the user. A text message is sent back to the user by the system saying whether the chirp was posted or not. Users can sign up to follow any other user's Chirper feed. Whenever you login to Chirper, you can see all of the latest messages from all the feeds you are following.

Complexity: You have n items in a list that you need to search X times. (The list never changes after you have created it.) Alex proposes you sort them using bubble sort and then use binary search for each search. Kelly disagrees, saying you should build a binary tree with the items in the list and then search the tree for the items you need.

Discuss the total time-complexity of Alex's design, and then discuss the total time-complexity of Kelly's design. Explain if you think one is better than the other, or if the efficiency depends on the size of n or X or both.

Networking: Give a description for each of the two protocols we discussed: TCP and UDP. When/why would you use one rather than the other?

Tree Coding: Given a binary tree, compute its "maxDepth" -- the number of nodes along the longest path from the root node down to the farthest leaf node. The maxDepth of an empty tree is 0.