General Information
- Date: Wednesday, March 25, 2009
- Time/Location: Your exam will take place in
lecture.
- Duration: 50 minutes
- Closed-book, Closed-notebooks, No Computers/Calculators.
- Use a pencil/mechanical pencil (no pen) to answer the exam.
Exam Structure
- Short answer questions: This includes for example, multiple
choice, True/False and fill-in-the-blank type 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 given
problem. 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:
- Object-Oriented Programming Principles (Abstraction, Encapsulation,
etc.)
- Testing/Program Correctness
- Event-Driven Programming
- Generics (be prepared to define generic classes)
- Algorithm Complexity
- Linear Data Structures (linked lists, stacks, queues, etc.)
- Sets, Maps
- Hashing
- Specific Java Topics
- Definition and use of classes in inheritance relationships
- Defiinition and use of Java Interfaces
- ArrayList
- Iterators
- Comparable Interface
- Comparator classes
- "this"
- "super"
- Collections class methods (those used for the projects)
- Enhanced for loop
- Enumerated types
- Autoboxing and Unboxing
- Exceptions Fundamentals
- Visibility Modifiers
- Method Overloading/Overriding
- Packages
- Inner Classes
- I/O Streams
- Program Testing - JUnit testing
The exam will NOT cover the following topics:
- Eclipse, Trees, Recursion, Heaps
Practice Material
Below we have included selected previous exams for the course. Keep in
mind that the material covered by the exams may not be the same material we
are covering this semester. We recommend you complete the following
midterms in the allocated time specified in the exam. In addition, do not
read a problem and assume you know how to solve it; try to solve it.