- Show understanding of why user-defined types are necessary
- Define and use non-composite types
- Including enumerated, pointer
- Define and use composite data types
- Including set, record and class/object
- Choose and design an appropriate user-defined data type for a given problem
