Curriculum guide for teaching iOS development using swift in Universities

Good day!


So I am teaching iOS development (as an elective subject) for almost two semesters now.

I have difficulty in organizing the topics for my course since there are so many things to discuss and we only meet 5 hours a week (for approximately 15 - 18 weeks). I usually do my lectures for 1.5 hours and the remaining time for their laboratory activities.

My students taking this course are already in their final year and already have a background in software analysis and design, software development and data structures.

So my question is what topics should I include and how do I organize them?

Normally I do the following:


1. The Swift language (is this necessary for me to lecture? or can I just give them a cheat sheet or something and let them study it?)

2. Xcode (toolbars, tools, etc) and I start with storyboarding (scene and segue)...

3. MVC... with the highlights on both view and controller (iboutlets, ibactions). Normally I ask them to create an app that changes the color of text/background when changing the value of some uisliders

4. TableViewController and I discuss about the Model... I usually ask them to create their model clases (domain) during the first meeting (to see if they have actually learned the Swift language with the emphasis on Object oriented) and I make them to wire up those classes on their ui and viewcontrollers in this topic. I also discuss prototype, any objects and delegation during this time.

5. I then proceed with data persistence using NSUserDefaults and Core Data

6. Grand Central Dispatch and Web Services (i ask them to create a twitter app)

7. SpriteKit


And for the last 2 remaining weeks I usually ask them to create an app of their own.

Can anyone help me on this?

Take a look at the topics covered in Teaching App Development with Swift.

My own view is to avoid replication and minimise the API you teaching. For example, UIPickerView and UITableView are so similar, and share a design pattern, cover one and get the students to do the other for example. Students get bored listening to talk about APIs in my experience. Get past the basic design patterns, driving Xcode, teach them the language well and concentrate on navigating the docs and they should be self-teaching in a fairly short time.


A useful tip: Focus on Jargon especially if students are coming from another platform - Jargon is often the key to what makes a platform different (it's why it exists in the first place).


My own course (iOS Development in Swift on iTunes U tries to do just this - I say tries - it's always 'work in progress' 🙂 )

Curriculum guide for teaching iOS development using swift in Universities
 
 
Q