CMSC132 Midterm #2
Date: Wednesday, Apr 30, 2008
Time/Location: Your exam will
take place in lecture (NOT IN LAB).
Exam Structure
- The exam will have a duration of 50 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
True/False, multiple choice, and fill-in-the-blank types of
questions.
- Code analysis questions: We will give a short segment of code
and 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 projects including the following topics:
- Recursion
- Trees
- Binary Search Trees
- Heaps
- Priority Queues
- Event-Driven Programming
- Graphic User Interfaces (GUIs) & MVC model
- Software Development
- Software Life Cycle
- Software Process Models (Waterfall, Iterative...)
- Problem Specification
- Program Design
- Program Testing
- Object-Oriented Design
- UML Diagrams
- Designing UML class diagrams from problem specifications
- Generating UML class diagrams for Java classes
- Threads & Synchronization in Java
- Graphs
- DFS & BFS
- Single source shortest path (Dijkstra's Algorithm)
- Specific Java Topics
- Inner Classes
- Definition and use of classes in inheritance relationships
- Definition and use of Java Interfaces
- Instance Variable initialization (both static and non-static)
- Initialization blocks
- Constructors
- References
- "this"
- "super"
- Collection class methods (those used for the projects)
- Program scope
- Visibility Modifiers
- Abstract classes, methods
- Final classes, fields
The exam will NOT cover the following topics::
- Eclipse
- Networking
- Networking support in Java
Practice Material
- Previous Exams
- Notes
- Material covered by old exams may not be the same material we are
covering this semester.
- We recommend you complete the midterms in the allocated time.
- Do not read a question and assume you know how to solve it; try
actually to solve the problem.