User Tools

Site Tools


apcs_phase_1

APCS Phase 1

In Phase 1 we do a quick check to see that the student knows the basic requirements. Then in phase 2 we work through sample problems and/or a sample exam.

Skill Checklist

Although, at this level, we assume the student already has basic programming skills, we will provide a basic explanation of all the concepts used. This commentary would be aimed at a student who knows two or more of the required languages already, but needs to be able to write the program in a third or fourth language. If the student is a beginner we don't recommend starting here, but go to the Basics page instead.

Students must be able to write a complete working example program, which compiles and runs, in either C, C++, Java or Python, for every concept covering each of the following:

  • APCS-BPC – Basic programming concepts, ex. input and output (commands and streams)
  • APCS-NVO – numeric variables, arithmetic, logical and bitwise operators
  • APCS-OVT – other variable types character, string, etc. and basic operations (excluding “as array”)
  • APCS-DTS – Data types, constants, variables, scope: global / local
  • APCS-LCS – control structures and loop structures
  • APCS-FUN – functions
  • APCS-REC – recursion
  • APCS-ARS – arrays and structures (how to do C’s “struct” is in other languages)
  • APCS-BDS – Basic data structures (how to make queues, stacks, trees, graphs)
  • APCS-BAL – Basic algorithms, including: sorting, searching, greedy method, dynamic programming
  • APCS-DPC – Dynamic programming (Top Down Design): simplifying a complicated problem by breaking it down into simpler sub-problems in a recursive manner. This is not refactoring; it is a design method.

The above list is not very well defined. If a more defined list can be provided we will provide one. Otherwise the example programs given will be assumed to fully cover the requirements of each category they are mapped from.

apcs_phase_1.txt · Last modified: 2023/09/12 10:40 by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki