General Information
- Date: Tue., May 14, 2024
- Time/Location: If your last name starts with the letters A to M, your exam will take place in ESJ 0202(This is not our regular lecture room). If your last name starts with the letters N to Z, your exam will take place in ESJ 0224 (This is not our regular lecture room). It will be from 4 to 6 PM
- Duration: 120 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
The final exam will be cumulative and include ALL the material covered in discussion session (lab),
lecture, quizzes, 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() / System.out.print()
- Conditional Statements
- Blocks and Scoping
- Constants
- Loops (whiles, do whiles, for loops, for-each (enhanced) loops)
- String Class
- String Class Methods: toLowerCase, toUpperCase, length, charAt, substring, isEmpty
- Static and Non-Static Methods
- Constructors
- Using "this" for classes
- Instance variables
- Static variables
- Get/Set methods
- How to override the toString() method
- How to override the equals(Object obj) method
- switch statement
- StringBuffer
- One and Two Dimensional Arrays (of primitives and references)
- Ternary Operator
- Exceptions
- Privacy Leaks
- Copying Objects: Shallow, Reference, Deep Copying
- Abstraction
- Encapsulation
- Interfaces
- break and continue
- Wrappers
- Stacks
- ArrayList
- ArrayList Class Methods: add, get, isEmpty, indexOf, remove, size
- Comparable Interface (compareTo method)
- Sorting Data Using Collections.sort()
- Polymorphism
- Method Overloading/Overriding
- Iterators
- getClass(), instanceof
- Recursion
- Integer.parseInt(), Double.parseDouble()
- Inheritance (extending other classes using "extends")
- Early and late binding
- Terms You Need to Know
- Current Object
- Index and Indices
- Instance of a Class
- Instance Variables
- Auxiliary / Helper Method
The exam will NOT cover the following topics:
- Computer Organization
- Memory Maps - Although you are not responsible for drawing memory maps, understanding
the java use of memory is important. See the information available at
Memory Map Information
- Pseudocode
- Model View Controller
- Javadoc
- Eclipse Debugger
- Java Packages
- Command line arguments
Practice Material
I am just making the material below available for extra practice, but remember the coverage/format of your exam in Spring 2024 will be different than what we/other sections of CMSC 131 did in the past. Use the material below to supplement your study, but focus on what we did this term
- Fall 2019 Lectures Notes
- Practice material we posted for semester exams #1, #2, and #3
- Lab Material that you should review. Import as Eclipse projects.
-
PracticeQuestions.pdf -
We don't have answers, but you are welcome to post and discuss answers in Piazza. Ignore questions that
cover material you are not responsible for the final.
-
PracticeFinalOther131Sections.pdf -
This practice material corresponds to another cmsc131 section.
From this material you should practice problems: 1. Arrays, 2. ArrayLists,
5. Interfaces & Classes, 7. Recursion.
-
PracticeFinalOther131SectionsII.pdf -
This practice material corresponds to another cmsc131 section.
From this material you should practice problems: Q1, Q2, Q3, Q6,
Q7 (Don't worry about the TreeSet part), Q8
-
PreviousExams.zip -
Old Exams in an on-line format