CS 4980, Winter 2017
Homework Descriptions

Note: Schedule will change, please check frequently.

WK Class/Date Topic Homeworks Notes

1

Tue 1/3

Introduction, and watch the Lecture 1 (Overview) and Lecture 2 (Applying MVC) lectures in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten? Bring list of your questions to class, for sharing (and grading).

Wed 1/4

Thu 1/5

Watch Lecture 3: (More Swift and Foundation Framework), and Lecture 4: (Views) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.
Download "Learn Programming with Swift" app (available in both iTunes and Google Play stores) from SoloLearn.com. Get through as much as you can by today (hopefully through functions and closures).
Assigned: Homework 1
Bring list of your questions to class, for sharing (and grading). Questions can be from both the lectures and the Swift app.

2

Tue 1/10

Watch Lecture 5: (Interface Builder...), and Lecture 6: (Multiple MVCs...) and Lecture 7 (Closures...) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.
Also watch WWDC 2016: Visual Debugging with Xcode (or same talk, on Youtube) and WWDC 2016: Debugging Tips and Tricks (or same talk, on Youtube) and WWDC 2016: Thread Sanitizer and Static Analysis (or same talk, YouTube). Take notes on each of these three WWDC talks, bring them. It may also be helpful to read through About Debugging with Xcode in the Apple Developer Guides.
Assignment: watch two or more assigned videos from WWDC 2016, come to class Tuesday ready to explain your topic to the rest of us. Sample code probably available in Apple Developer site, if you want to walk us through some code.
Kevin - sensors and motion stuff
  • Getting the Most Out of HealthKit, Health and Fitness with Core Motion (or Building Great Workout Apps could be used instead of the HealthKit video, if you prefer)
Ryan - cameras and pictures
  • Advances in iOS Photography, AVCapturePhotoOutput - Beyond the Basics (or Advances in AVFoundation Playback instead of AVCapturePhotoOutput, if you prefer)
Debbie - authentication, privacy
  • What's New in Security, How iOS Security Really Works
  • "Authentication, Authorization, and Permissions" Guide in Apple Developer site may help
Assigned: Homework 2
Bring your notes and list of questions to class, for sharing (and grading). And either a PPT presentation or a 2+ page outline of (plan for) your talk / topic information sharing session.
Wed 1/11
Thu 1/12 Watch Lecture 8: (Multithreading and...), and Lecture 9: (Table View) and Lecture 10 (Core Data) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.


Assigned: Homework 3
Bring your notes and list of questions to class, for sharing (and grading).
3 Tue 1/17 Watch Lecture 11: (Core Data Demo), and Lecture 13: (NSTimer and Animation) and Lecture 14 (Animation and Core Motion) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.
(Note: Lecture 12 is not in iTunes.)
Read: Table View Programming Guide for iOS and take notes / questions to turn in, as you would if this were a video lecture.
Read: Core Data Programming Guide and take notes / questions to turn in, as you would if this were a video lecture.

Assigned: Final Project
Bring your notes and list of questions to class, for sharing (and grading)
Wed 1/18

Thu 1/19

Watch Lecture 15: (Application Lifecycle, Alerts, CloudKit), and Lecture 16: (Notifications and CloudKit) and Lecture 17 (Segues, Core Location, and MapKit) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.

4

Tue 1/24

Watch Lecture 18: (Persistence) in Paul Hegarty's Spring 2016 'Developing iOS 9 Apps with Swift' class and take notes. Write down questions. What confuses you? What do you think you need to know more about before you're a full-fledged app developer? What words are unfamiliar? What word do you think you knew once, but have forgotten?
Hint: Less than a half-page of (densely written, if handwritten) notes and questions may not earn full credit. Less than six good questions may not earn full credit.
Bring your notes and list of questions to class, for sharing (and grading)

Wed 2/25

Thu 1/26 Spring 2017 classes begin today.