It’s Day Four of #6DaysOfiOS, and we’re giving away six Apple devices: two iPhone 6s, an Apple TV, an Apple Watch Sport, an iPad, and a Macbook Air! If you enroll in a free trial of the Beginning iOS App Development Nanodegree program between October 13th at 12pm ET and October 26th at 12pm ET you’ll be entered in a random drawing to win!

~

The classroom environment is an integral component of the entire Udacity experience, and everyone from our instructors to our engineers to our developers to our course managers is involved in making it as incredible a space as we can. Which is why we’re so excited to share something very special with you here. An exclusive classroom preview of our just-launched Beginning iOS App Development Nanodegree program!

This is a unique opportunity not only to test the waters of your interest in developing apps for iPhone, iPad, and Apple Watch, but to directly experience what it’s like to learn through our innovative online classroom model. We invite you to read on, and as you start to “take” this first class, we hope that you’ll start thinking about enrolling in the full program. Enrollment is open now, you’ve got a free 7-day experience waiting for you, and we’re saving you a seat in the classroom!

*What you see below is exactly what you see as a new enrollee in the Beginning iOS App Development Nanodegree program. Time to start learning!

Download & Install Xcode

As we mentioned in the video, Xcode is Apple’s integrated development environment (IDE). That’s programmer-speak that basically says, “the place where you build your apps.” Xcode can only be run on a Macintosh computer.

You can download and install Xcode for free from the App Store on your Mac. To do so, simply click this link. Depending on your default browser, you may see a popup similar to this one:

If you do see this popup, be sure to select “Launch Application.” This will bring up Xcode in the Mac App Store. Click the “Install” button to start the installation process. Remember that this may take some time based on your internet speed, so in the meantime, continue on for more information about programming and the Swift language!

IMPORTANT! If you have previously downloaded a version of Xcode, take a minute now to make sure you’re running the most up-to-date version. You can check this by opening the Mac App Store and clicking the “Updates” icon.

Demystifying Cryptic Representations

To write apps for the iPhone, iPad, and Apple Watch, you must learn to read and write code. However, for many people, learning how to read and write code can be rather challenging. Some compare it to reading sheet music for the first time: pitch, key, and timing are all represented with specific symbols, working together to produce a song. Others compare it to seeing the blueprints of an engine: there are thousands of parts on the paper, all of which must fit perfectly together for the engine to actually work!

In its rawest form, code is a lot like these cryptic representations.

The Swift Programming Language

As we mentioned, Swift is a programming language used to write iOS apps. Prior to Swift, the main programming for writing iOS apps was Objective-C; however, we will not cover it here. Instead, here are a few details and features of the Swift language (it’s okay if some of these do not make sense now, you can always return to this at a later time):

  • Swift was released in 2014 by Apple.
  • Swift builds on the best of the C and Objective-C programming languages.
  • Swift adopts multiple programming paradigms (like procedural, object-oriented, and functional).
  • Swift is designed to work with Apple’s Cocoa frameworks; the Cocoa frameworks are used to create applications for OS X, iOS, and watchOS.
  • Swift is designed to catch and handle errors gracefully.
  • Swift contains many modern programming language features (like closures, protocols, and generics).

The Nature of Static Representations

Sheet music, blueprints, and code are all static representations. This means that once they are finalized, they do not change. However, even though sheet music, a blueprint, or code may not change, it can be recreated or reproduced many times. With each replication, these static representations can yield a slightly different result. For example, many orchestras around the world might share the same sheet music, but each time that sheet music is played, the sound may be just ever-so slightly different.

The applications we build are like orchestra music in the sense that each time we run the application, or “execute the application”, we can get something entirely different. For example, on any given run of an application, a whole new set of variables, such as network strength or our current location, could influence the way your app runs and performs. The nature of static representations is just this: they may be static to begin with, but every instance of the representation is a completely new experience.

Launching the Maze App: Prepare

At this point, we assume you have finished installing Xcode. If you have not, then you will have difficulty following the upcoming content. Also, before continuing forward, you will need to download the Maze app. Once you’ve completed both those items, join us in launching the Maze app.

*****

Amazing, right???

Ready to keep learning? Just click here: Beginning iOS App Development Nanodegree and enroll today!

Jessica Uelmen
Jessica Uelmen
Herder of Cats at Udacity, interested in all things nerdy. If she's not working to build fun and engaging online learning experiences, she's out traveling the world, chowing down on sushi, or stitching circuits into clothing.