FAQs About the APE

  1. What is the Advancement Programming Exam(APE) exam?
    • Answer: APE is a programming exam that you will take on a computer, a degree requirement in computer science for BSCS and BCS degree, and a prerequisite for some (not all) CS advanced courses.
  2. When should I take the APE?
    • Answer: We strongly suggest that you take the APE right after you passed CSCD 211. We typically offer the APE exam in each quarter once including the summer quarter.
  3. Should I drop a course to take the APE or will taking APE be counted towards the number of credits I take in a quarter?
    • Answer: 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.
  4. Should I register at least one course to take the summer APE?
    • Answer: No, you do not have to take summer courses in order to take the summer APE.
  5. What is the Operating System and IDE in the APE that I will use?
    • Answer: You will write your Java program in Intellij on Windows computers.
  6. When will the registration be usually open?
    • Answer: Usually the registration will be open after the first week of the Fall, Winter and Spring quarter. Registration will stay open for about 10 business days. Summer quarter may be different. You may receive a message via your EWU email once the registration is open each quarter. Also please check this website regularly.
  7. When does the APE exam usually happen in each quarter?
    • Answer: The APE will happen about a month after a new quarter start for the Fall, Winter and Spring quarter. Yet, summer quarter will be different.
  8. Is there any cost or fee associated with the APE registration?
    • Answer: No
  9. How should I register the APE exam?
    • Answer: please go to the main page of this site, https://test-inside.ewu.edu/csape/ and follow the instructions once the registration is open.
  10. Does there exist a maximum number of attempts that I am allowed to take the APE?
    • Answer: Yes, you may be allowed to take the APE for three times. After three failures of APE, you will be invited to talk to the chair for continuing enrollment.
  11. May I come to the exam directly without registering it?
    • Answer: No. The test computers need to be set up in advance. If you do not register the exam, you will be turned away because we may not have enough machines that have been set up.
  12. The scheduled APE this quarter conflicts with my personal schedule, such as travel, may I take the APE on an alternative day?
    • Answer: No, we cannot accommodate your personal schedule and allow you to take the APE on a different day, other than the scheduled date. In this case, you may take the APE during the next quarter.
  13. What if I am a DSS student and need accommodations?
    • Answer: After you register your APE exam, please email the exam coordinator (ytian@ewu.edu) at least ONE week before the exam occurs to verify your DSS documents. If approved, you will be granted an extra hour on top of the allotted four-hour exam time. And you must go to CAT 219 to take the exam 30 minutes earlier than the scheduled start time. You cannot take the APE exam elsewhere.
  14. What if I am a transfer student and have already passed CSCD 300? Do I need to take APE exam at EWU?
    • Answer: Yes. The CS department has a policy in place that all transfer students must take APE regardless of the time when they have passed their CSCD 300.

15. 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.