Hint for exam 2: Chapters 5 to 10 plus OOP.

Don't forget to go through your quizzes.

Chapter5:

Chapter 6:
         Primitive Data Types
         Arrays
         Record ( struct)
         Pointers:   Explain two common problems with pointers by examples.
                         Pointer operations: *, ->
Chapter 7:
        Evaluating expression from left or from right, what will be output? Explain the way to get it.
        Explain the following terms by examples:
        Side Effects
        Type Coercion
        Short-Circuit Evaluation

Chapter 8:
        Convert nested if/else to switch statement.
        Convert switch to nested if/else statement.
        Rewrite program without "continue", "goto" or "break".
        Write the output for some programs with continue or break or switch or it/else.
        Draw flowcharts and write output for nest if/else, nested loops.

Chapter 9:
       Write output for different parameter passing methods:
           Pass by value
           Pass by value result
           Pass by reference
           Pass by name
        Understand each method and be able to explain them.

Chapter 10:
       Write output for static scoping / dynamic scoping.
       Draw activation records for execution of a pseudo code, including both dynamic and static links.
      Write the output for a recursive function and draw ARI.

OOP:
     Three characteristics of OOP and explain by examples.