Common CS1 Topics Excluded from the APCS A Exam
Required Prerequisite Knowledge for CS314

Background: The APCS A exam has a set and limited scope of Java and object-oriented programming features. This makes perfect sense in order to focus on the basics and be clear on what can and cannot be on the APCS exam. However, I have found this means many APCS A teachers ignore these topics completely, even though they are taught in many CS1 (first course in programming) courses that use the Java programming language.

Therefore, as a CS314 student, you are expected to be familiar with the following topics. We will review some of them. All of them are covered thoroughly in the recommended Java textbook, Building Java Programs: A Back to Basics Approach (5th Edition), Publication Date: March 28, 2019 | ISBN-13: 978-0135471944 | Pearson Education / Addison  Wesley. I reference the section of the textbook that covers the concept below. BJP = Building Java Programs.

  1. the char data type. BJP 4.3, (One of my biggest issues with the APCS curriculum is the exclusion of the char data type. Please learn how to use string_var.charAt(index) instead of the string_var.substring(index, index + 1) idiom.

  2. Using Scanners for input from the keyboard and files, BJP 3.3

  3. Using Scanners to read from files, token-based input, line-based input, BJP Chapter 6

  4. checked and Unchecked Exceptions. try / catch blocks for dealing with checked exceptions. hrows clause on methods for passing the buck on checked exceptions,. BJP 4.4, Appendix C

  5. logical assertions about programs, BJP 5.5

  6. the assert statement, BJP Appendix C

  7. the conditional operator <Boolean condition> ? <result if true> : <result if false> (typically referred to as the ternary operator), BJP Appendix C

  8. designing and implementing classes in Java using inheritance, BJP 9.1, 9.2, 9.4, 9.6

  9. polymorphism, BJP 9.3 and 9,6

  10. the prefix increment and decrement operators, --x, and the use of the prefix and postfix increment and decrement operators inside expressions,
    array_va[index++] vs. array_var[++index], BJP 2.2

  11. enumerated types,  BJP Appendix C