The purpose of this guided inquiry is to learn more about defining and using custom functions.
Basic learning objectives
You are responsible for learning and demonstrating proficiency in the following objectives prior to the next class meeting:
- describe how functions work in terms of memory
- recognize and correct common errors when writing a function
- explain the key differences between pass-by-value and pass-by-reference
- demonstrate how to specify a vector parameter in a function signature
Advanced learning objectives
You should demonstrate mastery of the following objectives by the end of the next class meting through the in-class activities:
- predict the result calls to functions with pass-by-value and pass-by-reference parameters
- implement advanced examples with pass-by-value and pass-by-reference parameters
- implement programs that require vectors to be passed back and forth to functions
Read zyBook sections 6.6–6.10. You may work with others on the exercises listed below. If you have questions, please talk with a classmate or post your question to Piazza under the "gi 16" tag.
Attempt the following. Spend no more than 20 minutes on a challenge activity or lab (unless you want to).
- carry out at least 80% of the "Participation Activities" (the orange ones) in each section of the reading
- complete the following "Challenge Activities"—for every challenge activity you cannot pass at least one test for, please take a screen shot of your final attempt after 20 minutes and submit that here (make sure your photo includes the challenge number)
- Challenge 6.7.1: Function errors: Copying one function to create another
- Challenge 6.8.1: Function pass by reference: Transforming coordinates
- Challenge 6.9.1: Use an existing function
- Challenge 6.9.3: Modify a vector parameter
- post one or more questions to the class Piazza board with the "gi 16" tag (if there's already a post for a question you had, there's not need to add another one; feel free to post anonymously)