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
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.