Final Exam Final Exam (CMSC131 (Spring 2022)) General Information Date: Fri., May 13, 2022 Time/Location: Your exam will take place in BRB 1101 (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 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 Git and Version Control Practice Material I am just making the material below available for extra practice, but remember the coverage/format of your exam in Spring 2022 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. ClassesInterfacesLabCode.zip CopyingExampleImp.zip InterfacesLabImp.zip RecursionLabCode.zip IteratorsRecursionCode.zip 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 Web Accessibility