Projects
Read and complete each exercise through Chapter 21 of the Swift Big Nerd Ranch Guide. You will need to purchase a copy of this book.
Use a paid account or free trial to complete the Team Treehouse Learn Swift course.
Use the guide to complete the Food Tracker application.
Learn about Git, Github, and GitHub Desktop. Use GitHub Desktop to upload your Food Tracker project to GitHub.
Use Slack to schedule a precourse code review with one of the mentors. This must be completed before the first day of class.
Students will build a simple Flashlight app to practice working with IBOutlets, IBActions, and UIControlEvents.
About Me is an opportunity for students to introduce themselves via their first app. Students will explore Storyboards, use a variety of UIKit elements, add images, and use Xcode to install the application on an iOS device.
Students will work with table views, learn about protocols, and implement the UITableViewDataSource and UITableViewDelegate protocols to build a Solar System directory.
Students will build a simple Journal app to practice MVC separation, protocols, master-detail interfaces, table views, and persistence.
Journal is an excellent app to practice basic Cocoa Touch princples and design patterns. Students are encouraged to repeat building Journal regularly until the principles and patterns are internalized and the student can build Journal without a guide.
This assessment is designed to help you practice using what you learned in this Unit. You will have to use UITableViewControllers, different UIKit elements, segues, outlets, actions, and persistence with NSUserDefaults.
Students will build a simple alarm app to practice intermediate table view features, protocols, the delegate pattern, NSCoding, UILocalNotifications, and UIAlertControllers.
Students will build a simple alarm app to practice intermediate table view features, protocols, the delegate pattern, NSCoding, UILocalNotifications, and UIAlertControllers.
Students will build a simple task tracking app to practice project planning, progress tracking, MVC separation, intermediate table view features, and Core Data.
Students will build a simple task tracking app to practice project planning, progress tracking, MVC separation, intermediate table view features, and Core Data.
This assessment is designed to help you practice using what you learned in this Unit. You will have to use UIAlertControllers, Core Data, and intermediate table view concepts, including a custom UITableViewCell and a protocol.
Post is a simple global messaging service. Students will review MVC principles and work with NSURLSession, JSON parsing, and closures to build an app that lists and submits posts to a global feed.
Post is a simple global messaging service. Students will review MVC principles and work with NSURLSession, JSON parsing, and closures to build an app that lists and submits posts to a global feed.
Students will build an app to get the current weather in a user-requested city to practice asyncronous network requests, working with JSON data, and closures.
Students will build an app to get the representives (law makers) in a user-requested state to practice asyncronous network requests, working with JSON data, closures, and intermediate table views.
Students will build a reverse polish notation calculator that demonstrates auto layout, stacks, target-actions on UIButtons, programatic views.
This assessment is designed to help you practice using what you learned in this Unit. To complete it you will need to be familiar with closures and asynchronous calls, NSURLSession, failable initializers, parsing through the returned data from network APIs, and working with network API documentation.
Timeline is a simple photo sharing service. Students will bring in many concepts that they have learned, and add complex data modeling, Image Picker, Collection Views, NSURLSession, Firebase, and protocol-oriented programming,
This is a Capstone Level project spanning many class days and concepts. Most concepts will be covered during class, others are introduced during the project. Not every instruction will outline each line of code to write, but lead the student to the solution.
Students will build a simple Journal app to practice MVC separation, protocols, master-detail interfaces, table views, and persistence.
Journal is an excellent app to practice basic Cocoa Touch princples and design patterns. Students are encouraged to repeat building Journal regularly until the principles and patterns are internalized and the student can build Journal without a guide.
Students will build a Calculator app to practice skills and concepts learned so far, with an emphasis on this week's content: UX/UI design, and the development process.
Calculator is a mini-capstone project where students are given direction on required and optional features. It is the job of the student to turn that list of requirements into an application by going through market research, prototyping, designing a solution, evaluating different technologies, architecting the application, implementing the features, and submitting the project to TestFlight or the App Store.
Students will practice writing in Objective-C by building an app that allows users to search for open source libraries using the libraries.io API. This app requires students to use concepts and APIs they already know, including MVC, property "observers", NSNotifications, NSURLSession, and JSON parsing. The challenge is learning to use these concepts in Objective-C instead of Swift.
Students will practice writing in Objective-C by building an app that allows a user to browse images provided by the NASA Mars Rover API. This app requires students to use concepts and APIs they already know, including MVC, table and collection views, custom model objects, property "observers", NSNotifications, NSURLSession, JSON parsing, etc.
In response to Christopher Burke's answer to the question 'What is the difference between a programmer, a good programmer, and a great programmer?' we have built this technical challenge to assess where you are at after six weeks.
Students will build a timer/alarm app, similar to Apple's Clock app, using NSTimer, StackViews, UIAppearance, UITabBarController, UIPickerViews, UIButtons.
Students will build an app to get the posts in a user-requested subreddit to practice asyncronous network requests, working with JSON data, Codable, closures, and intermediate table views.