Module 06 Study Guide
Learning Objectives
- Understand what a variable is
- List the six attributes of a variable and explain what the name, address, value, and type attributes are
- Recognize the conventions governing naming in programming languages
- State the difference between keywords and reserved words
- Explain what bindings and binding times are and give examples of important bindings and binding times
- Distinguish between static and dynamic bindings
- Distinguish between static and dynamic typing, give examples of languages with static and dynamic typing, and explain their relative advantages and disadvantages
- Explain what memory allocation is
- Define the lifetime of a variable
- Distinguish the four variable lifetime categories of static, stack-dynamic, explicit heap-dynamic, and implicit heap-dynamic
- Give examples of variables with each of the four variable lifetime categories
- Explain the regions where memory is allocated for each of the four variable lifetime categories
- Explain what variables with different lifetimes are used for, and identify languages that provide variables in each variable lifetime category
Resources
- CPL 5.1-5.4
- Slides: Lam
Deliverables
The test for this module will be due on Canvas this Friday at the time given on the Canvas assignment. 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.