TIP
Please copy and paste this entire page into a new entry within your portfolio.
Over the next four classes, simply fill in the blanks.
Here is an exemplar showing what that might look like.
Enduring Understanding
Careful use of a large language model to co-develop code can be an effective vehicle not just for more rapidly creating an end-product but for learning new concepts as well.
Goal
Rather than studying for an exam this week, having fun iteratively improving and implementing the app you have planned for earlier this year, or, by creating a different app, such as a simple game.
Getting started
Choice
Describe the app you have chosen to build for the culminating task:
Below this line, add a one-sentence description of the app you intend to build.
Project and remote repository
Create a new Xcode project named ICS3UCulminating using the Basic MVVM template and create a remote repository.
Below this line, add a screenshot of your Xcode project immediately after you created it:
Below this line, add a screenshot of your remote repository on GitHub:
Below this line, paste the address of your remote repository on GitHub – use the Option-Command-V keyboard shortcut:
Evaluation and success criteria
Fill in the sections below a bit more each day.
Prompts to help you fill in this template are provided in italics, like this:
This is a prompt.
IMPORTANT
Please do not remove any elements of this template.
As needed, you can copy and paste to add elements to this template within a given section.
Thinking (25%)
Success criteria:
- for each day that you work on the task, you have included the prompts you used with the large language model – your goal(s) – along with screenshots of the results – the outcome(s)
- overall, the provided evidence makes your thinking process clear and visible

Day 1
Below this line, add evidence of meeting the provided success criteria
Day 2
Below this line, add evidence of meeting the provided success criteria
Day 3
Below this line, add evidence of meeting the provided success criteria
Day 4
Below this line, add evidence of meeting the provided success criteria
Knowledge (25%)
Success criteria:
- you are observed by Mr. Gordon as being able to independently and effectively navigate the programming environment (Xcode)
- you author readable code and a well-organized project
- you develop the application over time, making effective use of source control to make incremental additions to your codebase

Replace this with evidence of meeting the provided success criteria
Application (25%)
Success criteria:
- to meet expectations within this evaluation category:
- your application makes use of arrays in some way
- you separate concerns by:
- using custom subviews or helper views to reduce code duplication
- applying the MVVM design pattern
- optionally, to exceed expectations within this evaluation category, you do one or more of these things:
- make use of web endpoints or a database to obtain data to present within your app
- persist information in some way, either by using JSON files or a database

Using the Record Screen feature of the Simulator app, make a video that demonstrates the running of your program. Your video must not be longer than 1 minute in length. It must show input to your program, at least one aspect of the central functionality of your program, and the output produced by your program.
Replace this with an embedded video (must be playable directly within the page)
Write a couple of brief paragraphs (with one screenshot per paragraph) identifying any ways that your project has met expectations, referring to the success criteria above:
Replace with two paragraphs and two screenshots
Write, at most, a couple of brief paragraphs (with one screenshot per paragraph) identifying any ways that your project has exceeded expectations, referring to the success criteria above:
Replace with up to two paragraphs and two screenshots
Communication (25%)
Success criteria:
- in your end-of-year 7-minute interview, be able to explain:
- where input and output occur within your program
- how an array is used within your app
- how a function within your app operates differently depending on the arguments provided
- briefly explain how a section of code selected by Mr. Gordon – but unknown to you before the interview – works

NOTE
A slide deck template will be provided during our interview prep period to help you prepare for the interview. You do not need to add anything to this entry within your portfolio for this section.