Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


AppLab 3.27: Checklist Workshop

Unit 1: Introduction to XCode

Jason Eiben

on 3 January 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of AppLab 3.27: Checklist Workshop

AIM: SWBAT construct an app that makes use of 'list-view' items.
Purpose: to master one of the key components of most successful mobile apps - lists!
I. Do Now
II. Finishing the Semester
III. This Week's Goals
IV. Workshop - Checklists
Aim & Purpose
Lesson 3.27
Do Now:
II. Lesson
III. Classwork
V. Home Work
Sign on to Google Classroom
- Problem Set 2 is due Fri

- Journal Lab is due Thurs

- Quiz #2 Friday

"This class is a marathon, not a sprint"
Marathons are the worst!
You WILL struggle
But you will also learn and get stronger
As a team, we will support each other to keep up the struggle!
This is where you start today
You will need to practice a LOT
did the bootcamp work
Didn't start yet
- Read the linked article about MVC
- Take notes on the article
- Answer the question
- Start Tutorial 2: Checklist
IV. Closing
1) Grab your binder

2) Take a Stand-Up entry log.

Real Talk
What this class is:
What this class isn't:
- A chance to learn something real
- An opportunity that doesn't exist elsewhere
- A serious challenge
- A free period
- A structured, hand-holding learning experience, lead by an expert
3 Minute Reflection:
Pick your two favorite apps - what are the aspects of these apps that you like the most? Consider what it feels like to use the apps!

If you could make an app, what would it do? What would a user like about it?
Turn & talk with a partner
Based on today's lab, what will be your approach to adding constraints to an app? For example, if you had 5 elements in your app, which would you constrain first, and what strategies would you use?
Annotations Comparison
Take the next 5 minutes to turn and talk with a partner about the reading that you annotated last night. Your goals are to:
1) Identify important ideas in the text
2) Identify questions that you still have
3) Summarize each section of the text, and the text as a whole
Reading 1 Lecture:
Reminder - Documentation:
Documentation is the set of notes, explanations, and guides that an operating system, programming language, or library uses to explain
a system works.

Programmers refer to documentation frequently if they need help solving a problem.

You can use any documentation that
created (read: notes) on any lab or quiz!
Why iOS?

iOS vs Android vs Other

iOS vs. OSX

iOS versions

What is an 'app'?

How an app is made
What's XCode for?

XCode features

XCode Views

Device Emulator

Publishing an app

Lab Expectations
1) Use the time you are given

2) Follow the help protocol (read-search-ask)

3) If you finish Part 2, upload your work onto Google Classroom!
Lab Turn-In
1) Log on to Google Classroom

2) Follow the instructions on the lab assignment

3) Don't forget to officially turn in the assignment!
Purpose: to control the layout of an app containing many elements, on a screen of any size or orientation.
Unit 2 Reading 1: Swift Basics
Unit 2 Problem Set 2
Problem set questions have been shared with you on Google Classroom. You should write your answers by hand on a printed copy so that you can use these answers as a part of your documentation for Friday's quiz!

Then, type your answers into the shared document on Google Classroom. Problem sets are due on Friday before the quiz.
Lab Goal: To learn HOW to solve the problem

NOT 'to solve the problem'
Mr. Eiben will help you look at your notes and the documentation, he will NOT help you solve the problem!
Changing next week!
More Swift Practice
You will turn this in at the end of the period!
10 Minutes:
Find a partner, open your labs, and complete the peer review for their work.





- instance variables

- initializers

- functions
are used to store information, need to be of a specific data type in Swift
var miles: Int
var color: String
var isUsed: Bool
var value = 12000.00
allows certain lines of code to happen if specific conditions are met
if(miles > 10000){
print("time to get a checkup!")
} else {
print("keep driving!")
allow lines of code to be repeated
for num in 1...5{
var x = 0
while(x < 3){
x = x + 1
define instructions that can be used over and over again.
func numCubed(num: Int) -> Int {
return num * num * num
return type
using the function
define the properties of special 'objects' in code. Can include data, rules to 'create' the objects, and functions that the objects can execute.
variables that objects belong to a class contain
define how objects in this class are created
things that the class can DO
Car class
var miles: Int
var color: String
init(m: Int, c: String){
self.miles = m
self.color = c
//used init
- a private space to hold journal entries
- you can add journal entries
- you can search through old entries
- you can scan entries to find info
Journal Entry
- includes the text of the entry (String)
- includes the date
- could include topics (#bigGame, #compsciLife)
a class!
a class!
variables: month, day, year, title, text, hashtags (array of Strings), mood
initializer: sets the variables above
functions: addHashTag()
variables: entries (array of JournalEntry), lockCombo
initializer: sets the variables above
functions: addEntry(), averageMood()
var myJournal = Journal("pass123")

var entry1 = JournalEntry("September", 27, 2016, "Stuart's Birthday", "Today was Stuart's birthday, how fun!", ["#party", "#bigDay"], 8)

myJournal.addEntry("pass123", entry1)

myJournal.addEntry("pass345", entry1)

using the Journal initializer
JournalEntry initializer, takes in values for properties
calling the .addEntry() function for the Journal class
using the incorrect password
calling the .averageMood() function for the Journal class
//returns an error!
//returns 8, the average mood
have your notes and readings out, search online for help, ask a partner, and THEN raise your hand
Unit 1 Assessment Data
Topics: Swift Syntax, If/Else, Loops, Functions & Classes
25% of students
25% of students
50% of students
Strengths: Class Structures
Weaknesses: Functions, Concept questions
90% or higher, fully prepared to move forward
70% or higher, need some review but can move forward
below 70%, moving forward at this point does not make sense
So what can we do with a class with such a wide range of mastery?
We need to change things up...
Real developers don't learn new skills in a class full of students working on the same lesson at the same time. So why should you?
Starting tomorrow, we will begin an individually-paced, independent-study style unit.
Benefits: if you are behind, you have more time to catch up. If you are ahead, you don't need to wait to move on.
Challenges: we won't all be doing the same thing, so you need to make yourself productive!
Before we can start that, we need to wrap up loose ends from Unit 1...
The assessment was curved. No, you can't re-do it.
But grades CAN be better:
Problem Set #2
Journal Lab
2 students done
4 students done
Today is your LAST day to work on and turn in any work from Unit 1
A daily meeting where developers working on a project can quickly share what they are working on, what they are struggling with, and hopefully find other people who can help them.
For the Do Now each day, you will prepare for such a meeting. 6 students will be randomly chosen to present their Do Now, earning a minor test grade.
The only 'right' answer is an honest one - be clear about where you are in the work, and what you need help with!
Unit 2 Documents
Unit 2 Pacing
Your grade is based on completion AND effort. All of the information that you need is in the provided iOS guide.

You can't sit and wait for Mr. Eiben to help you - use the resources you have, the internet, and your classmates for help before you raise your hand!
The start of the iOS text may seem very easy based on our prior work - if so, work through it quickly. If not, take your time and start from scratch!
Today's Stand-Up presenters are...
Help Topics:
What ideas or instructions from the tutorial do you need some extra help with? Mr. Eiben will be at the front of the room helping to explain these for the first 20 minutes of work time.
Today's Presenters:
Unit 2 Quiz 1 (Pages 1-54)
In the first section of the reading, the guide explained how to...
- connect objects in the storyboard to IBActions in ViewController.swift
- create a new app
- set up a storyboard layout
- add styles and constraints to items
- set your app in landscape mode
Unit 2 Quiz 1
Tutorial Materials
Soon the tutorial will ask you to add specific pictures or other documents to your app. A folder of these documents has been shared with you on Google Classroom!
You should complete part 3 of the tutorial (through page 259) by the end of next week!
Part 1: (1-54)
- iOS & XCode
- Storyboard Layouts
- ViewController.swift
- IBActions
- Alert actions
Part 2: (55-104)
- IBOutlets
- Optionals
- Random nums
- Updating outlets
- 'about' screen
- 2nd Views
- view segues
New Stand-Up Policy:
You MUST write down a detailed account of exactly what topic you are working on! Also, you MUST take notes on the presenters - what are they working on and what do they need help with?
Unit 2 Problem Set #2:
Codewars is not working on the mac lab computers, so this assignment will be an optional EXTRA CREDIT assignment, but you will need to do it outside of our lab!
Quiz THURSDAY - not Friday!
Tomorrow's Open-Note Test:
Setting up a simple layout
adding basic constraints
picking random numbers
linking labels to IBOutlets
linking buttons to actions
- checking some value
- updating the labels
- triggering alert pop-up
- switching to a new view
Q1 Remaining Work:
1) Old assignments (labs, problem sets, screenshots)
2) Unit 2 Test
3) BullsEye App (parts 1-3)
Unit 2 Test: PickOne App
- App picks a random # 1-5
- User clicks on buttons 1-5
- Pop-up tells the user if their guess was correct
- Info screen can open up
Post your ViewController code and a screenshot of the working app on Google Classroom
PickOne App Overview
Major Topics
- storyboard layout
- random numbers
- button functions
- pop-up alerts
- game logic
- 'about' screen
Last Call for Missing Work:
- BullsEye Part 1
- BullsEye Part 2
- BullsEye Part 3
- PickOne Quiz
Tutorial #2 - Checklist
***You can start Tutorial 2 even if you did not finish Tutorial 1!***
We are behind schedule
- the challenging material in this unit

- a lack of work during lab time

- a reliance on help rather than trying and working through problems on your own
This could be due to...
Revised Schedule:
Part 1: pages 1-109
Should be done already!
Part 2: pages 110-204
Should be done before Winter Break
Part 3: pages 205-269
Should be done by end of Q2
No Stand-Up today (you probably don't remember...)
11 Days of Class Before Midterm!
- 2 Days
- Build an app
- Includes two screens
- Includes a list view
- You can use your binder & other XCode projects
Full transcript