General Information
    
        - Date: Wed., Oct 2, 2024
- 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.
        
Topics
    The exam will include all the material covered in discussion session (lab),
        lecture, quizzes(Q1 and Q2) , 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
- Look up and use information on the Java API page 
- Precedence, Associativity, and Casting
The exam will NOT cover the following topics:
    
        - StringBuffer, Pseudocode, Constructors, Instance Variables, Non-static Methods, toString, equals method,Memory Organization (Heap/Stack), or  Memory Maps
        
Practice Material
        Here are actual exams from previous terms: PreviousExam1.zip . I am just making this available for extra practice, but remember the coverage of your exam in Fall 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.