General Information
- Time: The exam will be posted on Friday April 9, 9 AM (morning), and due the same day, Fri. April 9, at 5 PM (afternoon).
- It is designed to be completed in about 1 hour, but I am making it available for 8 hours since people have different schedules.
- You will not have a lecture video to watch on Fri. 4/9, so that should free up 1 hour for everyone to work on the exam.
- We will have normal office hours on Fri. 4/9, but TAs cannot answer any questions about the exam in OH (They can help you submit if you have submit server issues).
- Did you install the correct version of Eclipse, Java 15, and course management software on your computer at the start of the semester? Link for Eclipse
- If you don’t have this exact Eclipse setup and you are not able to submit the exam, that will not be a valid reason for an extension.
- The exam will be posted similar to a class project. You will write code in an Eclipse project and submit as usual.
- You can only post clarification questions in Piazza on exam day and a CMSC 131 staff member will reply. You should
post as a private post and we will make it public or update the FAQ if others can benefit from the answer.
As a student, do not answer any piazza post on exam day. Debugging questions, why code is not compiling, why
is code not passing a test, are invalid questions to post in Piazza.
- Posting of any kind of code in Piazza (or any other public platform), during the exam period, represents an academic integrity violation and will be reported as such.
- The exam may be graded based on submit server tests (release and secret) and code inspection (e.g.style, following rules, etc.). The exact rubric will not be available before the exam. Just follow all the rules to avoid point deductions
- You must work by yourself. Sharing of exam solutions represents an academic integrity violation and will be reported as such. Submissions can be checked with cheating detection software.
- You can use class resources (lecture notes, lecture/lab examples, videos, etc.), but no other resources (e.g., code from the web).
- All submissions must be done via the submit server (no e-mail). The highest scoring submission on the submit
server will be downloaded for manual TA grading purposes (you can submit as many times as you want before the
deadline).
- There will be a 1-hour late submission period, therefore you need to submit often and before Fri., 4/9, at 5 PM
(afternoon) for your exam to count on time. If you turn it in between 5 and 6 PM, it will be marked late and there will
be a 10-point deduction. Questions will not be answered on piazza during the late period.
- If you are student with an extended time accommodation from ADS, the time frame provided takes into consideration your time allocation. If you need any other assistance or still have concerns to finish the exam, contact me via email BEFORE the exam.
- It is in your best interest to complete this work by yourself, and following the guidelines provided above. You need to identify which topics you understand and which ones you don’t, so you can be successful in CMSC132 and future CS courses.
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 8. The 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)
- 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
- Abstraction
- Encapsulation
- Pseudocode
- JUnit Testing (how to write a test using assertions)
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
Practice Material
Here are actual exams from previous terms: PreviousExams.zip . A worksheet can be found at Exam2Worksheet.pdf. I am just making this available for extra practice, but remember the coverage/format of your exam in Spring 2021 will be different than what we did in the past.