Module 12 Study Guide
Learning Objectives
- Explain what pointer and reference types are and explain pointer operations and pointer problems
- Explain the differences between reference and value types and illustrate these differences
- Explain and illustrate dangling pointers and memory leaks
- Explain how to resolve dangling pointer problems with tombstones and locks-and-keys
- Explain the reference count and mark-and-sweep methods of garbage collection
- Explain what type checking is and why it is important
- Define type compatibility, type errors, type conversion and type coercion
- Contrast strong typing and weak typing and give examples of each
- Contrast static typing and dynamic typing and give examples of each
- Explain why type equivalence is important
- Compare name equivalence and structure equivalence
- Determine when two types are equivalent given type equivalence rules for a language
Resources
- CPL 6.11-6.15
- Slides: Lam
Lab
Please complete the lab for this week: types
Deliverables
The test for this module will take place in class on Friday. You will have an opportunity to re-take a different version of the same test next week. If you choose to do the re-take, your grade for this module will be the higher of the two scores.