General Information
- Date: Wed., April 24, 2023
- 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.
- 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.
Exam Structure
- Code Writing: Write a program/method 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 12 Lec 1. 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)
- 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) and drawing a formal memory map
- Ternary Operator
- Exceptions
- Privacy Leaks
- Copying Objects: Shallow, Reference, Deep Copying
- Abstraction
- Encapsulation
- Interfaces
- Comparable interface
- Polymorphism with Interface types
- Wrappers
- Method Overloading
- break and continue
- ArrayList
- Stacks
- Two Dimensional Arrays (of primitives and references) and drawing a formal memory map
The exam will NOT cover the following topics:
- Recursion, Eclipse Debugger, Javadoc,
Inheritance, Iterators,
JOptionPane Class (methods used for input and output),
Computer Organization, Packages, JUnit Testing
Practice Material
Here are actual exams from previous terms: PreviousExam3.zip. My old 2022/2023 stuff is in a subfolder. I am just making this available for extra practice, but remember the coverage/format of your exam in Spring 2024 will be different than what was done in the past.