General Information
- Date: Wed., July 17, 2024
- Time/Location: Your exam will take place in person in Antonov Room 0324 in the IRB building from 6 to 7:20 PM.
- Duration: 1 hour and 15 minutes
- Closed-book, Closed-notebooks, No Computers/Calculators.
- Use a pencil/mechanical pencil (no pen) to answer the exam.
- Bring a good eraser
- Posting any information in Piazza about the exam after taking it
is considered an academic integrity violation.
- Do not separate the pages of the exam (e.g., remove the staple).This
will interfere with the scanning process.
-
You need to bring your student id to the exam.
-
We provide space in the exam to be used as scratch area (you cannot
bring your own scratch paper).
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/class, but we may also
ask you to provide just a single method or a code fragment.
Topics
For this exam, focus on Weeks 1 to Week 7. A main focus of the exam will be to see if you can design a complete class and work with 1-D arrays. The exam will include all the material covered in discussion session (lab),lecture, quizzes, exams, and projects including the following topics:
- Object-Oriented Terminology
- Java Variables and Types
- Expressions and Side Effects
- Java Numeric/String/Logical Operators
- Assignment Operators
- Short Circuiting
- Scanner Class
- System.out.println()
- Conditional Statements
- Blocks and Scoping
- Constants
- Loops (whiles, do whiles, for loops)- including how break and continue work
- Static methods
- String Class
- Constructors
- Using "this" for classes
- Instance variables
- Static variables
- static and non-static methods
- get/set methods
- toString()
- How to write an equals method for a class
- switch statement
- StringBuffer
- One Dimensional Arrays (of primitives and references)
- Ternary Operator
- Exceptions
- Privacy Leaks
- Copying Objects: Shallow, Reference, Deep Copying
- Drawing fromal Memory Maps according to CMSC 131 rules for Classes and/or Arrays
- Wrapper Classes
- Stack ADT
The exam will NOT cover the following topics:
- Eclipse Debugger, Recursion, Two-Dimensional Arrays, Model View Controller,
ArrayList, Javadoc,Interfaces, Polymorphism, Inheritance, Iterators,
JOptionPane Class (methods used for input and output), Computer Organization,
Packages, Junit, Abstractions, Encapsulation, Pseudocode.
Practice Material
Here are actual exams from previous terms: PreviousExam2.zip and also some quizzes: oldQuiz3.zip . I am just making this material available for extra practice, but remember the coverage of your exam in Summer 2024 will be different than what we did in the past. Some of these old exams are not even my old exams. Use these as practice, but pay attention to what we did this term. Also, pay attention to the time limit. These exams are meant to be done in 50 minutes (and quizzes in 20 to 30 minutes). Your exam will be 1.5 times longer and have more problems, because in the summer you are only taking two exams and not three 50 min exams.