Learning Objectives

You can demonstrate your understand of all remaining learning objectives on the final exam:

  • BB2: Write a definite and indefinite loop to perform a given task or produce a given output
  • BB3: Write a 2 branch conditional statement
  • BB4: Create, access, and change values in a list
  • BB5-AD: Write an indefinite loop that terminates based on unknown input
  • BB6-AD: Write a nested loop to produce a given output

  • FR1: Define a function with parameters and return value based on a specification
  • FR2: Define the three laws of recursion
  • FR3-AD: Define and use functions (with parameters and return values) in very clear pseudocode to solve a specified problem
  • FR4-AD: Define a recursive function in very clear pseudocode to solve a specified problem

  • OOP1: Identify classes and objects in example code
  • OOP2: Create and change an instance of a given class
  • OOP3: Define a class with a constructor, instance variables, and additional method
  • OOP4-AD: Define and use a class (with constructor, instance variables, and methods) in very clear pseudocode to solve a specified problem

  • PD3-AD: Draw a memory diagram for how variables change in a given program
  • PD4-AD: Identify and explain logic errors (e.g., variable scope, infinite loop, infinite recursion)
  • PD5-AD: Predict the behavior of a program with several functions
  • PD6-AD: Predict the behavior of a program with several objects and/or classes

  • AE1: Demonstrate the process of insertion or selection sort
  • AE2: Demonstrate the process of binary search
  • AE3: Identify the worst case efficiency of an algorithm we’ve talked about in class (eg: sorting or searching algorithms)
  • AE4-AD: Demonstrate the process of merge sort
  • AE5-AD: Identify and explain at a high-level the worst case efficiency of a new algorithm similar to those we’ve discussed in class

You can’t bring anything into the self-scheduled exam. Instead, you should fill out this form by Wednesday at 10pm and I will include a print out of it in your packet.

Suggestions

Good ways to study for the exams are:

  • Finish any labs that you hadn’t finished or redo ones that you did finish
  • Go back over the readings/videos relevant to the learning objectives
  • Try any of the exercises at the ends of relevant chapters of the Runestone book that are about the learning objectives
  • Work on any homework revisions, since they help you practice the exam concepts
  • Attend the prefect sessions
  • Try out the Exam 4 Study Buddy Gem. Remember, these bots can make mistakes, so reach out with questions or if it is doing something strange!