Exam Structure

As discussed in the syllabus, the exams in this class are meant to assess your ability on a specific set of core and advanced learning objectives. Each exam will have a posted set of learning objectives that you can demonstrate your ability on for that exam, and all learning objective will appear on at least 2 exams.

Exam Learning Objectives

The learning objectives that will ultimately all be assessed via exams are:

Building Blocks

Core

  • BB1: Define variables for basic types
  • BB2: Write if-else statements
  • BB3: Write a basic indefinite and definite loop
  • BB4: Write a specified function
  • BB5: Instantiate and use an object
  • BB6: Order polynomial complexity classes
  • BB7: Define the three laws of recursion

Advanced

  • BB8-AD: Order mixes of polynomial, logarithmic, and exponential complexity classes
  • BB9-AD: Write a recursive function in very clear pseudocode

Linear Data Structures

Core

  • LD1: Demonstrate the effects of a sequence of operations on a linear data structure (linked lists, arrays, stacks, queues, hash table)
  • LD2: Define the Big-O of a specified linear data structure operation

Advanced

  • LD3-AD: Demonstrate how you get the Big-O of a specified linear data structure operation
  • LD4-AD: Use the appropriate linear data structure to solve a problem in very clear pseudocode
  • LD5-AD: Explain the idea behind the Big-O of a specified hashing operation

Complex Data Structures

Core

  • CD1: Identify in-order, pre-order and/or post-order tree traversal
  • CD2: Demonstrate insertion/deletion in a binary search tree
  • CD3: Demonstrate adding to a 2-3 tree
  • CD4: Identify the full sequence of BFS and DFS
  • CD5: Define the Big-O of BFS and DFS
  • CD6: Demonstrate the effects of a sequence of heap operations

Advanced

  • CD7-AD: Use an appropriate complex data structure to solve a problem in very clear pseudocode (any kind of tree, graphs, heaps, priority queues)
  • CD8-AD Explain the idea behind the Big-O of BFS and DFS

Sorting

Core

  • SO1: Demonstrate quicksort on a diagram
  • SO2: Define the best and worst case Big-O of mergesort, quicksort, and heapsort

Advanced

  • SO3-AD: Explain the idea behind the Big-O of quicksort
  • SO4-AD: Explain the idea behind the Big-O of heapsort

You can see how you are doing on each of these on Moodle under the “Grades” tab.