cs193p – Lecture #1 – Logistics, iOS8 Overview

Please note, this blog entry is from a previous course. You might want to check out the current one.

Like every year lecture #1 is an general introduction of the course with an overview about iOS, MVC and this time the Swift.

… and again Paul Hegarty stresses the importance of being familiar with object oriented programming as prerequisites for the course and that it is not for absolute beginners.
Continue reading “cs193p – Lecture #1 – Logistics, iOS8 Overview”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Season – Winter 2015

Please note, this blog entry is from a previous course. You might want to check out the current one.

Stanfords course cs193p has started its new Winter session 2015. The videos of the lectures are available via iTunes. Sample code and slides should be available directly at Stanford. A collaboration on Piazza – like last year – is missing for the moment …

This time, it is Swift powered!

The course material from previous seasons is still available:

Fall 2013/14
videos downloads

Winter 2013
videos downloads

Summer 2012 / Fall 2011
videos downloads

Fall 2010
videos downloads

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #18 – Localization, Adding UI to Settings

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #18 – the final lecture of fall 2013/14 – covers localizations (internationalizations) and settings with demos for both …

cs193p - Lecture 18 - Localization - Settings
cs193p – Lecture 18 – Localization – Settings

The code for this lecture is available at github for Photomania and for Bouncer as well as from Stanford

The lecture as well as its slides are available via iTunes called “18. Localization, Adding UI to Settings”.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #17 – Camera, Core Motion, Application Lifecycle

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #17 starts continuing the demo from the previous lecture (cleaning up code and location error handling).

A short introduction about how to use camera and the image-picker controller is followed by a short demo adding camera functionality to Photomania.

Core Motion theory is followed by another demo … including application states …

The code for this lecture is available at github for Photomania and for Bouncer as well as from Stanford

The lecture as well as its slides are available via iTunes called “17. Camera, Core Motion, Application Lifecycle”.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #16 – Modal Segues, Text Fields, Alerts, and Action Sheets

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #16 starts with modal view controllers (taking over the entire screen on the iPhone by covering it, on the iPad as pop overs) including unwind segues (providing data back to the presenting view controller).

… some information about text fields and keyboard control, alerts and action sheets …

The demo adds a modal view controller and some text fields to Photomania and shows the described concepts …

Lecture #16 - Modal Segues, Text Fields, Alerts, and Action Sheets
Lecture #16 – Modal Segues, Text Fields, Alerts, and Action Sheets

The code for this lecture is available at gitub as well as from Stanford

The lecture as well as its slides are available via iTunes called “16. Modal Segues, Text Fields, Alerts, and Action Sheets”.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #15 – MapKit and Embed Segue

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #15 introduces in detail the concept of MapKit and embed segues to use views from a view controllers as sub view as view of another view controller. … shown in an extensive demo …

Lecture #15 – MapKit and Embed Segue
Lecture #15 – MapKit and Embed Segue

The code for this lecture is available at gitub as well as from Stanford

The lecture as well as its slides are available via iTunes called “15. MapKit and Embed Segue”.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #6 Extra Tasks #5 and #6

Please note, this blog entry is from a previous course. You might want to check out the current one.

Assignment #6 Extra Task #5

Adding the fetch for place and region information is going to break the way background fetching updates the app-switcher. Can you figure out why? Fix this problem. Hint: It is the background fetch completion handler that tells iOS to update the UI in the app-switcher. You can simulate a background fetch while running in the Simulator using the “Simulate Background Fetch” menu item in Xcode’s Debug menu.

… seems we took care of this problem … it’s working

Assignment #6 Extra Task #6

Switching to UIManagedDocument for our NSManagedObjectContext is going to break launching due to a background fetch event. Can you figure out why that is? Fix it. Remember that you can launch your application as if it were happening due to a background fetch by choosing Edit Scheme from the popup in the upper left corner of Xcode (near the run and stop buttons), then turning on “Launch due to a background fetch event” in the Options tab of the window that appears. You can also create a new scheme there that has that switch always on for easy background fetch launching during debugging.

… it’s also working …

What did we do wrong, that it works? We took care encapsulating Core Data requests (e.g. performing blocks in the managed-object context). We made sure that there is a single managed doucment which – while it is opening or getting created – is only accessed by a single process …

The complete code for all extra tasks is available on github.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail