Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.

Latest commit

 

History

History
172 lines (115 loc) · 12.5 KB

File metadata and controls

172 lines (115 loc) · 12.5 KB

Webcast: About the iOS Developer Nanodegree

Here is a link to the video

#What is iOS Development? iOS Development is any type of development for the iPhone or iPad. These two devices run on an operating system called iOS. Occationally development for the Apple Watch it thrown in under the iOS development umbrella, but that device uses a different operating system than the iPhone or iPad.

#What is the iOS Developer Nanodegree about? The iOS Developer Nanodegree is what is going to take a student who has basic understanding of Object Oriented Programming, and teaches them the basics of iOS development. Much like the Intro to Programming Nanodegree structure, the program is broken into a variety of projects, as well as courses which prepair you to complete the projects.

#Expected Prerequisite Knowledge
###What is Expected Prerequisite Knowledge to start the iOS Developer Nanodegree? First, there are the requirements for any Nanodegree here at Udacity:

  • You are self-driven and motivated to learn. Participation in this program requires consistently meeting the deadlines set for your cohort and devoting at least 10 hours per week to your work.
  • You can communicate fluently and professionally in written and spoken English.
  • You are willing to contribute to the success of the program, including collaborating with fellow students and giving us feedback on how we can improve.

There are also iOS Developer Nanodegree Specific Requirements:

  • Access to a Mac computer running OS X 10.10 or later. Basically, you need to have access to the most current version of OSX, so when El Capitan comes out, you will most likely need to upgrade to it as well. It should have the same technical requirements as Yosemite, though, so hardware shouldn't be a problem when that update occurs.
  • Prior object-oriented programming experience, in any object-oriented language
  • Strong understanding of programming concepts like variables, if statements, and loops, as well as object-oriented programming concepts like functions and classes. The iOS Developer Nanodegree will involve instantiating a lot of classes, using inheritance quite a bit, and it will use method overriding.
  • A basic understanding of Git and GitHub, specifically how to: clone a branch, fork, and create a new repository.

There is also a Readiness Assessment; taking that should give you a sense as to your preparedness to enter the iOS Developer Nanodegree.

In summary, before starting the iOS Developer Nanodegree, you should have a strong understanding of programming concepts like variables, if statements, loops, functions, and classes. Additionally, you should have a basic understanding of Git and GitHub, specifically how to: clone a branch, fork, and create a new repository.

###What gaps may need to be filled in from the Intro to Programming Nanodegree?

First, it's probably useful to go over what you will learn (or have learned) in the Intro to Programming Nanodegree:

#####What you learn in the Intro to Programming Nanodegree

#####From Stage 1: In Stage 1 of the Intro to Programming Nanodegree, you will learn the basics of HTML and CSS, as well as how they fit together. You'll get practice with developing your own static web pages, building the foundations with HTML and formatting them with CSS. You'll learn a variety of HTML tags and attributes, as well as how to use them.

You will also learn how to use various tools common in programming, like a text editor (we use Sublime Text).

#####From Stage 2: In stage 2 you will learn the basics of Python, including:

  1. Strings
  2. Loops (for and while)
  3. Variables
  4. If statements
  5. Types (like int, str, and bool)
  6. Lists
  7. Tuples
  8. Mutability
  9. Functions
  10. Return statements
  11. Print statements
  12. Debugging Python code
  13. Problem Solving

This will set you up to be able to build your own programs!

#####From Stage 3: In stage 3, you will continue learning Python, this time getting into its object oriented side. Here you will learn about:

  1. Classes
  2. Objects
  3. Methods
  4. Instances
  5. Instance variables
  6. Inheritance
  7. Method Overriding
  8. Import Statements
  9. The Python Standard Library
  10. Importing External Libraries
  11. Using documentation

#####From Stage 4: In stage 4 of the Intro to Programming Nanodegree, you will build the backend of a website using Python and Google App Engine. You'll learn:

  1. How to install, run, and deploy with Google App Engine
  2. How to use the .yaml file with GAE (Google App Engine)
  3. How to navigate folders appropriately when referencing different files with GAE
  4. Google Datastore
  5. How to use the webapp2 framework
  6. How to use jinja2 templates
  7. How to use Python dictionaries
  8. How to use the modulus operator in Python

#####From Stage 5: Stage 5 in the Intro to Programming Nanodegree will provide awareness of a variety of things instead of providing a higher level of competency. Some of the concepts in computing you will develop awareness about will be:

  1. Using JavaScript to bring web pages to life.
  2. Using APIs to easily access powerful data.
  3. Recursion
  4. Parallel computing
  5. How to solve large and long problems.
  6. Responsive Web Design: How to make web pages look good.

Now we can move into what a student will need to know before taking the iOS Developer Nanodegree.

####Going into the iOS Developer Nanodegree from the Intro to Programming Nanodegree You should hopefully have developed some level of mastery over object oriented concepts in the Intro to Programming Nanodegree. It would most likely still be useful to take all of CS101 in order to master various programming concepts.

Additionally, you will need to take How to Use Git and Github in order to learn how to use Git and Github effectively, which is a requirement for starting the iOS Developer Nanodegree. This could be taken after you start the iOS Developer Nanodegree, but it is a knowledge base that will be used significantly during the iOS Developer Nanodegree. This is true of most of Udacity's Nanodegrees; knowledge of Git and Github will be used extensively in the course, but the course can be taken during the Nanodegree instead of before hand if a student prefers to do so.

#What students will learn in the iOS Developer Nanodegree

##The iOS Developer Nanodegree Structure Nanodegree Structure

In the Nanodegree program, you’ll build five portfolio-worthy apps. Depending on your knowledge and skill level, you can either learn the necessary skills through our supporting courses, or jump into building the apps directly. A summary of each of these apps, as well as a link to their supporting course are included in the sections below.

###Project: Pitch Perfect

Build an app that records a message and plays the audio back through user-selected filters. These filters include making the audio faster, slower, higher, or lower.

####Course to prepair: Intro to iOS App Development with Swift. Swift is the main language you will be using for iOS development! Swift is a new language, launched last year, that takes over from Objective-C, which used to be the main language used for iOS development. Swift is extremely similar to Python, and is a joy to work with.

The course will also give you an introduction to XCode, the main IDE used on Mac's.

###Project: MemeMe

Take a photo, and overlay text to meme-ify your friends. Then share on your favorite social channels!

####Course to Prepair: UIKit Fundamentals.

We'll go into how to transition between screens. We'll go into the delegate patern, which is how we can delegate certain actions to certain other classes and pass data between different views.

###Project: On the Map

Add your current location to a map of locations for other nanodegree students. Also, post a link to your own blog post, project, or portfolio for others to see.

###Course to Prepair: iOS Networking with Swift.

Here we'll learn on how to work with public API's online and how to use networks, which will allow you to use resources that aren't available on your phone and can only be accessed by accessing the internet.

###Project: Virtual Tourist

Tour the world without leaving the comforts of your couch! This app allows you to drop pins on a map and pull up Flickr images associated with that location. You will store the locations and images using Core Data.

####Course to Prepair: iOS Persistence and Core Data

This course allows a student to learn how to save items onto the phone. Is there life after you close an iPhone app? Yes, and this course will show you how to save data in a variety of ways.

###You Decide!

Landing a job as an iOS Developer requires more than technical chops; it also requires a certain amount of creativity and innovation. Drawing from all of the skills you've developed so far in the Nanodegree, you'll dream up, design, and code your own custom app.

####Course to Prepair: How to Make an iOS App

###Curriculum Length: How long does the whole Nanodegree take? The first iOS Developer Nanodegree graduate finished in about 2 months; this person had significant experience coming in and is a bit of an extreme case. The Nanodegree is expected to usually take students between 6 and 12 months, assuming students put in 10 hours a week. This isn't something that can be known definitively, though, as the Nanodegree has not been out long enough!

###Project Difficulty Levels Every project and course in the iOS Developer Nanodegree builds upon previous courses, and every project tends to be more difficult than the last. Don't worry if things become more difficult as you move along; that is to be expected! Courses are also frequently being adjusted, so if there are large stumbling blocks for many students, we will typically try to introduce new material to build students up to achieve the goals of the course more readily.

##iOS Tools ####Xcode vs. Sublime Xcode is similar to many other IDE's. For the most part, it is, at its base, a text editor, like Sublime Text. It does, however, allow more advanced usage than Sublime might provide for particularly complicated projects. It is only available on OS X, which means you have to own a Mac to use it.

####Swift vs. Python Swift may be one of the easiest languages to transition to Python from, as it shares significant commonalities with Python in terms of both syntax and form. It is much more like Python than Java, C++, etc. You can see some of the simililarities and differences between the two languages here.

#What kind of career does the iOS Developer Nanodegree prepare you for?
The Nanodegree will get a student ready for entry-level iOS developement roles. In addition, it will provide the education to graduates to let them build their own apps for whatever ideas they (or their friends or family) may have. The iPhone is sort of a Swiss army knife for the 21st century, combining many different tools into one, and being able to program apps for it opens many opportunities!

###What programming skills and languages would a typical iOS engineer have that aren't covered in the Nanodegree

The iOS Developer Nanodegree doesn't go over Front-End or Back-End Web Development, although both are quite useful for an iOS developer to know. The iPhone is much more powerful when it is connected to the internet, so the things taught in the Front-End Web Developer Nanodegree (HTML, CSS, Javascript, jQuery) and Full-Stack Web Developer Nanodegree (Databases, server code) would be useful for the development of iPhone and iPad apps, even if those topics are not covered in the iOS Developer Nanodegree.