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 addOrdered, sort, 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.