CMSC132/132H Final
Date: Monday, May 15, 2006
Time/Location:
4-6pm,
Francis Scott Key Hall Room(KEY) Room 0106
Note: All cmsc132 sections
(honor and regular section) will take the exam in the same room.
Exam Structure
- The exam will have a duration of 110 minutes.
- The exam will be closed book/closed notebooks. No calculators are
allowed. (We recommend using a pencil and eraser, rather than a
pen.)
- Format:
- Short answer questions: This includes
multiple choice, True/False, and fill-in-the-blank type
questions.
- Short essay questions: This includes
questions requiring 1 or 2 sentence answers.
- Problem solving questions: This includes
questions requiring you drawing figures such as UML
diagrams, tables of values, trees, graphs, etc.
- Code analysis questions: Given a short segment of code,
you may be asked to identify syntax and logical errors, generate
code output, etc.
- Code Writing: Write a program/code snippets to solve a
few given problems. (You should be prepared to give a complete
program, including full class heading, import, package statement,
and main methods, but we may also ask you to provide just a single
method or a code fragment.)
Topics
The exam will include all the material covered in discussion session (lab),
lecture, quizzes, and homeworks from the entire semester, including the following topics :
- Problem Specification
- Program Design
- Abstraction
- Encapsulation
- Object-Oriented Design
- Inheritance
- Specific Java Topics
- Definition and use of classes in inheritance relationships
- Defiinition and use of Java Interfaces
- BitSet
- ArrayList
- Iterator interface
- Enhanced for loop
- Enumerated types
- Inner Classes
- Anonymous Classes
- Program Testing
- Model View Controller
- Events
- Swing (You do not need to memorize any methods associated with the Swing
library. Just understand what is a listener, an event-handler, the
event-dispatching thread, and the event-driven model associated with Swing.)
- Networking
- Networking fundamentals (e.g., sockets, URL, client/server model,
HTTP)
- You do not need to memorize any Java Networking methods, just
recognize how to use them.
- Asymptotic Analysis (Big Oh)
- Regular Expressions
- Generics
- Recursion
- Sorting Algorithms
- Linear Data Structures
- Linked lists
- Stacks
- Queues
- Circular lists
- Maps
- Hashing
- Java Collections Framework
- You do not need to memorize any methods associated with the
interfaces/classes defined by the Java Collections Framework, however,
you should be familiar with the examples provided in class, and should
be able to use the classes during the implementation of a problem
solution. For example, how to use a HashMap to solve a particular
problem.
- Graph algorithms (Dijkstra's, Prim's, BFS, DFS, etc.)
- Compression
- Huffman trees
- Multithreading in Java
- Synchronization in Java
The exam will NOT
include the following topics:
- Software life cycle
- UML
- Servlets and JSP
- Eclipse
Readings From
You are not responsible for material from Koffman/Wolfgang that has not been
discussed in lecture and or lab, but it is a good idea to review this material
and the exercises in the back of each chapter, since this will provide you with
a more complete understanding of the material.
Practice Material