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 |