About the APE

You do NOT have to drop any classes in order to take the APE. APE will NOT be counted towards the total number of credits you are taking in a quarter. APE is a programming exam, a degree requirement in computer science, and a prerequisite for some (not all) CS advanced courses. You may take the exam any time after you passed CSCD 211. We typically offer the APE exam in each quarter once. The topics on APE may include the following.

Data Abstraction and Class Design

  • Extending a class
  • Overriding a method, such as toString
  • Creating a class
  • Accessing super class methods and/or fields
  • Implementing an interface, such as Comparable

General Program Design

  • Penalty points can be assessed in this category for grossly inefficient code
  • File input and output
  • Exception handling
  • Order-related manipulations, such as addOrderedsort, and search

Linked List Manipulation

  • This will be a non-circular singly-linked list, either with or without a header/sentinel node
  • Operations will be chosen from the following list
    • Adding a node — all cases (to an empty list, to a non-empty list, at front, at back, in the middle)
    • Remove a node — all cases (based on index, based on Object equality, from front, from back, from middle)
    • Retrieve an item based on index or some other criterion (such as maximum or minimum)
    • Order-related manipulations, such as addOrdered and sort, may be exemplified within the linked list
    • Generate a sublist based on some criterion or criteria.

Recursion

  • Simple recursive methods to accomplish a task, which may or may not be list related. Examples would be printing a linked list in reverse, computation of factorials, and other recursive algorithms at the level of those covered in Programming Principles I and II and in Data Structures.