Module 07 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 and illustrate 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 in class.
Deliverables
The test for this module will take place on Canvas 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.