General Information
- Date: Wednesday, Mar 2
- 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.
- Please take a look at the general exam rules available at
Exam Rules.
- The best way to prepare for the exam is to practice old exams. Complete several
of them in the allocated time specified in the exam.
- We curve in this course. After you taken the exam, do not discuss
anything associated with the exam with other students that have
not taken the exam yet.
- Posting any information in Piazza about the exam after taking it
is considered an academic integrity violation.
- Please bring a stapler if you tend to separate the pages of 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 (#1 and #2) including the following topics:
- Object-Oriented Programming Principles (Abstraction, Encapsulation,
etc.)
- Testing/Program Correctness
- Event-Driven Programming
- Model-View-Controller
- Object-Oriented Design
- Specific Java Topics
- Definition and use of classes in inheritance relationships
- Definition and use of Java Interfaces
- Abstract Classes
- Arrays
- 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
- Visibility Modifiers
- Method Overloading/Overriding
- Packages
- Inner Classes (anonymous inner classes will not be part of the exam)
- Program Testing - JUnit testing
- Algorithmic Complexity I
- You need to understand generic classes, but you do not need to know how
to define them
The exam will NOT cover the following topics:
- UML, Eclipse, GUI material (but you need to know
how to use inner class to add functionality to
swing buttons), Linked lists, Hashing, Sets/Maps, Defining
Generic Classes
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 or in this midterm. 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.
- MidtermI132Fall15.docx,
MidtermI132Fall15Key.docx
- MidtermSummer14.docx,
MidtermSummer14Key.docx
- MidtermISummer13.docx,
MidtermISummer13Key.docx
- MidtermISpring13.docx,
MidtermISpring13Key.docx
- MidtermSummer12.docx,
MidtermSummer12Key.docx
- MidtermSpring12.docx,
MidtermSpring12Key.docx
- MidtermFall11.doc,
MidtermFall11Key.doc
- MidtermSpring10.doc,
MidtermSpring10Key.doc
- MidtermFall09.doc,
MidtermFall09Key.doc
- MidtermSummer09.doc,
MidtermSummer09Key.doc
- MidtermSpring09.doc,
MidtermSpring09Key.doc
- MidtermFall08.doc, MidtermFall08Key.doc
- Midterm1Summer08.doc, Midterm1Summer08Key.doc
- Midterm1Spring08.doc, Midterm1Spring08Key.doc
Web Accessibility