Before call: Review slides for days 1-3, complete labs for days 1-3 (marked with ⭐️)
Overview of Resources - 15 min.
- GitHub Repo
- Sessions/Calendar page
- Downloading repo - when, how
- Any logistical questions from instructors?
Deckset - 10 min.
- Download
- How to open files
- Themes, etc.
Review of Days 1-3 - 15 min.
- Specific questions from instructors
- Key points to hit on/challenges that may come up
StoryBoards - 35 min.
- Intro Xcode projects
- Object Library
- Drag and drop
- Run/stop simulator
- Constraints
- Amy will be making a video tutorial of StoryBoards/contraints this week for an instructor & student resource!
Next Steps - 10 min.
- Next call - Monday, July 16 - 6pm MST
- Prep for call: Complete days 4-5 (Aviatrix and StoryBoard/SideLoading), download Atom
- Continue posting questions/feel free to DM Amy anytime. Also available to screen share which may be more helpful on StoryBoard challenges.
- Final call (whole group) - Monday, July 23 - 6pm MST
Data Types:
- conversion to use math operations on integers/doubles (Aviatrix)
Conditionals:
- Order matters! The program reads the first condition, if it is evaluated true, it doesn't read any other
else if
/else
statments. (FizzBuzz Challenge)
Arrays:
- All elements must be the same data type. This is different from what they've seen in Ruby and JavaScript. The syntax to add/remove elements is also very different. You'll probably want an anchor chart with
append
andremove
examples for the students to refer to!
Functions:
- The biggest probelem we will probably run into is around arguments. Make sure to reinforce - we should declare (write) the function before we call it. When we start typing in the code to call a function, Xcode will help us out and populate the arguments, eliminating easy-to-make mistakes.
- One big takeaway is that arguments are what allow functions to be dynamic. If we don't use arguments, a function would do the same thing/have the same return value every time. Passing in an argument allows the function to take the same action on different info. Example: a function that adds 2 + 2 VS. a function that adds any two integers passed in.
Dictionaries:
- The big conceptual idea here is that dictionaries should be used when we have associative information. A list of all my students' names may work in an array, but a list of how many students are in each class period - dictionary is better. (Aviatrix)
Classes & Objects:
- As we are getting into more complex work, you'll notice that the labs call for the students to plan before coding. This is very intentional, not just for 'the way we learn' but it truly is the process software developers follow as/before they develop applications.