Skip to content

Instantly share code, notes, and snippets.

@ameseee
Last active July 9, 2018 18:33
Show Gist options
  • Save ameseee/d229efb122fef8cdc9e4b32b3db328c5 to your computer and use it in GitHub Desktop.
Save ameseee/d229efb122fef8cdc9e4b32b3db328c5 to your computer and use it in GitHub Desktop.

KWK Level 3 June 9 Call

Instructor Prep

Before call: Review slides for days 1-3, complete labs for days 1-3 (marked with ⭐️)

Agenda

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

Days 1-3

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

Xcode Project: image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment