General Information
    
        - Date: Wed., June 26, 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
    The exam will include all the material covered in discussion session (lab),
        lecture (Week 1 to Week 4), quizzes(Q1) , and projects (#1, #2 and #3) including the following topics:
    
    
        - Computer Organization
- Number bases (coverting between bases, etc.)
- Object-Oriented Terminology
- Java Variables and Types
- Expressions and Side Effects
- Java Numeric/String/Logical Operators
- Assignment Operators
- Short Circuiting
- Scanner Class
- System.out.print() and println()
- Conditional Statements - to include nested decision making
- Blocks and Scoping
- Constants with the final keyword
- Loops (whiles, do whiles, for loops) and nested loops
- Static methods- how to define them, how to call them, pass in arguments, use the return value
- String Class and String library methods
- StringBuffer Class and StringBuffer library methods
- Look up and use information on the Java API page 
-   Libraries, Precedence, Associativity, and Casting 
-  Math class and working with floats and doubles 
The exam will NOT cover the following topics:
    
        - Pseudocode, Constructors, Instance Variables, Non-static Methods, toString, equals method,Memory Organization (Heap/Stack), Memory Maps, or other contents from Week 5
        
Practice Material
        Here are actual exams from previous terms: PreviousExam1.zip and also some quizzes:  oldQuiz1.zip and  oldQuiz2.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.