Skip to content

Concept Taxonomy

This document defines the categorical taxonomy used to organize the 400 concepts in the AP Computer Science (Python Version) learning graph. Each category has a 3-5 letter abbreviation (TaxonomyID) used in the CSV and JSON files.

Taxonomy Categories

1. Foundation Concepts (FOUND)

TaxonomyID: FOUND

Prerequisite concepts that provide the foundational knowledge needed before programming begins. Includes computational thinking, hardware basics, number systems, and general computer science principles.

Concept range: 1-20 (approximately)

2. Python Basics (PYBASIC)

TaxonomyID: PYBASIC

Core Python language fundamentals including variables, data types, operators, input/output, and basic expressions. The building blocks for all Python programming.

Concept range: 21-50 (approximately)

3. Boolean Logic (BOOL)

TaxonomyID: BOOL

Boolean expressions, comparison and logical operators, truth tables, and evaluation rules. Essential for conditional programming and control flow.

Concept range: 51-65 (approximately)

4. Control Flow (CTRL)

TaxonomyID: CTRL

Conditional statements, loops, iteration patterns, and program flow control. The mechanisms that direct program execution order.

Concept range: 66-90 (approximately)

5. Strings (STR)

TaxonomyID: STR

String data type operations including indexing, slicing, methods, formatting, and iteration. Working with text data in Python.

Concept range: 91-115 (approximately)

6. Functions (FUNC)

TaxonomyID: FUNC

Function definition, parameters, return values, scope, documentation, higher-order functions, and lambda expressions. Modular program design.

Concept range: 116-142 (approximately)

7. Recursion (REC)

TaxonomyID: REC

Recursive thinking, base cases, recursive cases, call stacks, and comparison with iterative approaches. A fundamental algorithmic technique.

Concept range: 143-150 (approximately)

8. Data Structures (DATA)

TaxonomyID: DATA

Lists, tuples, sets, and dictionaries - Python's built-in collection types. Includes creation, manipulation, methods, comprehensions, and nested structures.

Concept range: 151-230 (approximately)

9. Object-Oriented Programming (OOP)

TaxonomyID: OOP

Classes, objects, inheritance, polymorphism, encapsulation, composition, and design patterns. The object-oriented paradigm in Python.

Concept range: 231-275 (approximately)

10. File I/O (FILEIO)

TaxonomyID: FILEIO

Reading from and writing to files, file modes, context managers, and working with CSV and JSON data formats.

Concept range: 276-290 (approximately)

11. Error Handling (ERR)

TaxonomyID: ERR

Exceptions, error types, try-except blocks, raising exceptions, and defensive programming techniques.

Concept range: 291-305 (approximately)

12. Testing and Debugging (TEST)

TaxonomyID: TEST

Unit testing, test cases, debugging strategies, code tracing, and quality assurance practices for software development.

Concept range: 306-325 (approximately)

13. Algorithms (ALGO)

TaxonomyID: ALGO

Algorithm design, searching, sorting, complexity analysis (Big-O), and algorithmic problem-solving strategies.

Concept range: 326-360 (approximately)

14. Software Engineering (SENG)

TaxonomyID: SENG

Software development practices, code organization, modules, packages, version control, style guides, and documentation.

Concept range: 361-380 (approximately)

15. Advanced Python (ADVPY)

TaxonomyID: ADVPY

Advanced language features including generators, decorators, type hints, dataclasses, and standard library modules for experienced students.

Concept range: 381-400 (approximately)

Summary Table

Category TaxonomyID Description Approx. Count
Foundation Concepts FOUND CS fundamentals, hardware, number systems 20
Python Basics PYBASIC Variables, types, operators, I/O 30
Boolean Logic BOOL Boolean expressions, logical operators 15
Control Flow CTRL Conditionals, loops, patterns 25
Strings STR String operations and methods 25
Functions FUNC Function design and higher-order functions 27
Recursion REC Recursive algorithms and patterns 8
Data Structures DATA Lists, tuples, sets, dictionaries 80
Object-Oriented Programming OOP Classes, inheritance, polymorphism 45
File I/O FILEIO File operations and data formats 15
Error Handling ERR Exceptions and error management 15
Testing and Debugging TEST Testing, debugging, code quality 20
Algorithms ALGO Searching, sorting, Big-O analysis 35
Software Engineering SENG Development practices and tools 20
Advanced Python ADVPY Generators, decorators, type hints 20
Total 400