iOS Development


Purpose

To teach students how to create an iOS application from start to finish, that they can use on their iPhones and iPads.

A typical class day

  1. Class will begin with a logic problem that encourages group interaction and thinking like a programmer. There will be a review of the concepts from the previous lesson.
  2. An instructor will demonstrate building a simple app that resembles the project for the day, and the students will follow along. Other instructors will be available if a student needs particular assistance in order to keep pace with the group.
  3. Students will individually build an app similar to the “follow along” lesson.
  4. Coding challenge – Students will be asked to solve a problem or complete an objective on their computers. We allow students to try the challenge on their own, followed by an in-class discussion and explanation of the challenge.

 

Course Timeline

Week 1

Day 1 – Introduction to swift. Students will use the “Swift Playground” application. Help them get familiarized with what computer programming is. Help students understand that they are the architects and builders/ A computer is only capable of doing what you tell it to do.

  • Guided project 1: Understand functions through “Swift Playgrounds”. Explain that a “function” is implemented every time they touch a button on their favorite apps. Help students to get through the second section of the playgrounds app: Functions
  • Guided project 2: Individual project :Use simple “functions” to buttons or create the flashlight application.

Day 2 – Introduction to variables. Help students understand that variables, through classes, represent the backbone/ blueprint of an application. Example: Just as a blueprint of a house isn’t an actual house, rather a representation of a house, a “Class” and it’s “variables” represent whatever you are creating.

  • Guided project: “Hello, my name is _______ “ with two truths and a lie. Have them create variables for: name, truthOne, truthTwo, and lie. Have the students present their code to the class, implement their code, and the student can enjoy it more by guessing/participating
  • Project: Create a “Class” for whatever application is chosen to make. Preferably something like Journal. Students will create the class and necessary variables for this application and will also create a the blueprint for necessary functions.

Day 3 – Review. Go over everything that we have learned thus far, Answer any questions/ clarify concepts. Reiterate what programming is/ they are the builders and architects.

  • Guided project: Recreate Journal as a class.
  • Project: Create a “Human” class with the ability to modify visual characteristics of the avatar on screen.
    Objective: Understanding Xcode. Help students understand story boards and folders. Teach students MVC in the most simple way possible:

Week 2

Students will learn basic software architectural patterns and to correctly identify where to place particular logic in order to reuse code, enabling their apps to perform efficiently.

Day 1 – Model-View-Controller (MVC)
Controller: Have the students copy and pasted functions to the controller that will make the human move.

  • Guided project: HumanIcon
  • Project: DogIcoç

Day 2 – Relate those MVC principles to journal.

  • Guided project: The class will start creating a journal app by creating basic wireframes and a user experience flow on paper or the whiteboard. The next step will be to create a plan for how the designs will translate into code. The class will then begin building all the necessary classes that serve as a foundation to the program.
  • Project: Student’s choice – A basic storage application that implements the same principles as the journal application that allows the students to customize particular visual and data-related components of the app to their interests.

Day 3 – Review. Go over everything that we have learned thus far, Answer any questions/ clarify concepts.

Week 3

Day 1 – Project planning. Decide as a class what application the class as a whole will make and download on their phones at by the end of week four. Guide the student to pick a project that is challenging but within their capabilities.

  • Guided project: Shopping list
  • Personal Project: friend list

Day 2 – project planning. Organize all the classes, variables, functions, etc. for the application chosen by the students.

  • Guided project: Organize an application with the class
  • Personal project: give each student an example of an app and have them do the project planning process.

Day 3 – Review day. Go over everything that we have learned this week. Help them get started on the app they are going to create and finish next week.

Week 4

Final projects: Apple App store application that students collectively decide to build at the beginning of the course, incorporating all of the lessons of the previous weeks.

Day 1 – Connecting visual elements of the application to various actions performed throughout the user flow
Day 2 – Adding core functionality to the app and instructing students on how they can alter it in order to personalize the version on their device
Day 3 – Final project completion and camp wrap-up.