Complete Swift Programming Guide
4.3 (15 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
165 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete Swift Programming Guide to your Wishlist.

Add to Wishlist

Complete Swift Programming Guide

Now updated for Swift 2. Come Out of This Course Prepared to Learn Cocoa Touch to Build Your Own iPhone Apps with Swift!
4.3 (15 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
165 students enrolled
Created by Justin Rose
Last updated 12/2015
English
Current price: $39 Original price: $50 Discount: 22% off
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • 80 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Prepared To Master Cocoa Touch to Build Elegant iOS Applications.
  • Converse Over Swift with Other Developers Without A Problem.
  • Read Swift Code And Understand What is Going On.
  • Write Clean and Concise Swift Code.
  • Understand The Best Programming Practices
  • Comprehend Basic Object-Oriented Principles
View Curriculum
Requirements
  • You Need Mac OS X Running Mavericks or Later.
  • You Don't Need to Install Xcode Before This Course, We Will Cover Everything You Need In The Videos.
  • A Strong Interest or Passion in iOS Development and Technology.
Description

Are you ready to build elegant iOS apps? A prerequisite to that is learning Swift, Apple's maturing Programming Language for iOS Development. This is the course for you if you're curious about iOS, or if you even know it already. Let's dive into the specifics about this course.

What Do I Need to Take This Course?

  • Mac OS X 10.10 or Later
  • Strong Interest and/or Passion for Technology and iOS Development
How Experienced Do I Have to Be For This Course?
  • My Target Audience For this Course is a Beginner to Intermediate Programmer
  • If You've Never Coded in Your Life, You Will Finish This Course Without a Problem.

Why this course?

  • I've Spent Over 250 Hours Perfecting This Course For My Students
  • I Relate to Beginner Programmers To Explain Things In a Way They Can Understand
  • I Spent A While of Time Reading Not Only The Swift Docs, but Other Books On Swift
  • I Put Nearly 20 Challenges With Solutions For The Sections
  • I'm Active! Any Question You Have, I Will Answer Them Quickly
  • After Completing This Course, You Will Be Ready to Learn Cocoa Touch

How Much Commitment Do I Have to Have To Complete This Course?

  • Spending 30 Minutes A Day: Complete it in 24 Days
  • As Long as You Have A Passion For Learning Swift, You'll Be Fine

How is This Course Structured?

  • This Course Covers Swift Front and Back
  • We Start Out By Installing Xcode, and Move Our Way Up To Generic Types
  • There Are Challenges After The Sections To Practice What You've Learned

Whether You're New To Programming Or You're Experienced In It, This Course is For You Because You're Going To Be a Master Of Swift By The End Of The Lectures.

Who is the target audience?
  • This Course is Meant For A Person Who Is Either New To Programming, or Experienced In Programming.
  • This Course is Not For You if You Are Not Passionate About The Field, and Are Just Worried About Making Apps For Money. The Money will Come If You Build Amazing iOS Apps.
  • If You Have An Interest in Building iOS Apps With a Purpose, This Is The Course For You.
Curriculum For This Course
295 Lectures
11:46:48
+
What's new in Swift 2
2 Lectures 05:15
Watch Me, I'm Important!
03:15

+
Getting Started With Xcode
2 Lectures 10:10
Installing Xcode
01:25

The Xcode IDE
08:45
+
The Basics
28 Lectures 01:06:14
Your First Playground
01:50

Variables
05:32

Type Annotation
02:07

Naming Variables
02:03

Changing Values of Variables
00:54


Naming Convention of Variables and Constants
01:17


Integer Type
05:19

IntegerType Playground
00:06

Float Type
03:58

Comments and Semicolons
02:40

Type Safety and Inference
05:14

FloatType Playground
00:11

Numeric Type Conversion
03:19

Type Aliases
02:10

NumericTypeConversion Playground
00:08

Booleans
03:36

Booleans Playground
00:05

Tuples
03:39

Tuples Playground
00:04

Optionals
07:05

Wrapping and Unwrapping Optionals
02:07

Forced Unwrapping
03:22

Optional Binding
03:32

Optionals Playground
00:06

Challenge
03:30

TheBasicsChallenge Playground
00:40
+
Basic Operators
22 Lectures 01:05:34
Basic Operators Intro
05:08

Unary and Binary Operators
06:43

BasicOperatorsIntro Playground
00:16

Assignment Operator
03:51

Arithmetic Operators
02:19

Remainder Operator
02:41

ArithmeticOperators Playground
00:21

Compound Assignment Operators
04:03

MoreAssignmentOperators Playground
00:05

Comparison Operators
09:44

ComparisonOperators Playground
00:17


TernaryConditionalOperator Playground
00:15

Nil Coalescing Operator
04:32

NilCoalescingOperator Playground
00:06

Range Operators
05:26

Scope
01:38

RangeOperators Playground
00:07

Logical Operators
10:54

LogicalOperators Playground
00:29

Challenge
02:23

Basic Operators Challenge Playground
00:20
+
Strings and Characters
18 Lectures 33:46
String Literals
02:16

Initializing an Empty String
01:39

String Mutability
02:27

StringLiterals Playground
00:10

Working with Characters
03:04

Concatenating Strings and Characters
01:52

String Interpolation
01:39

StringsAndCharacters Playground
00:11

Unicode
00:59

Special Unicode Characters
04:38

Extended Grapheme Clusters
02:49

Unicode Playground
00:21

Counting Characters
01:50

Comparing Strings
03:00

Prefix and Suffix Equality
04:54

CountingCharactersAndComaringStrings Playground
00:17

Challenge
01:25

Strings and Characters Challenge Playground
00:13
+
Collection Types
16 Lectures 45:32
Intro to Collection Types
06:07

IntroToCollectionTypes Playground
00:04

Intro to Arrays
02:38

Array Literals
03:02

Accessing Arrays
07:54

Iterating Over an Array
03:13

Creating an Empty Array
01:34

Arrays Playground
00:22

Intro to Dictionaries
02:43

Dictionary Literals
01:48

Accessing and Modifying Dictionaries
07:43

Iterating Over a Dictionary
03:35

Creating an Empty Dictionary
01:19

Dictionaries Playground
00:30

Challenge
02:32

Collection Types Challenge Playground
00:26
+
Control Flow
19 Lectures 59:35
Intro to Control Flow
01:05

For-In Loops
08:48

ForInLoop Playground
00:15

For Loops
05:00

ForLoop Playground
00:07

While Loops and Repeat-While Loops
07:10

WhileLoops Playground
00:07

If Statements
05:29

IfAndSwitch Playground
00:11

Switch Statements
06:42

SwitchStatements Playground
00:21

Tuples in Switch Statements
06:19

Value Bindings in Switch Statements
03:38

Where in Switch Statements
04:40

TuplesInSwitchStatements Playground
00:33

Continue and Break
05:45

ContinueAndBreak Playground
00:07

Challenge
02:42

Control Flow Challenge Playground
00:32
+
Functions
16 Lectures 45:43
Intro to Functions
01:10

Defining and Calling Functions
06:22

Parameters and Return Types
06:30

Functions with Multiple Return Values
04:22

Function Parameter Names
04:05

DefiningAndCallingFunctions Playground
00:17

Variadic Parameters
03:15

Constant and Variable Parameters
04:25

MoreOnFunctions Playground
00:14

Function Types
03:25

Function Types as Parameter Types
03:13

Function Types as Return Types
04:26

Nested Functions
01:32

FunctionTypes Playground
00:22

Challenge
01:50

Functions Challenge Playground
00:14
+
Closures
13 Lectures 20:49
Intro to Closures
00:47

Closure Expressions
03:45

Closure Expressions Syntax
03:02

Inferring Types From Context
01:20

Implicit Returns
00:34

Shorthand Argument Names
02:06

Operator Functions
01:16

Trailing Closures
00:47

Capturing Values
02:28

Closures are Reference Types
00:59

ClosureExpressions Playground
00:29

Challenge
03:05

Closures Challenge Playground
00:10
+
Enumerations
10 Lectures 16:56
Intro to Enumerations
00:42

Enumeration Syntax
03:49

Enums in Switch Statements
01:28

EnumerationSyntax Playground
00:10

Associated Values
02:18

Raw Values
02:47

Initializing From a Raw Value
03:05

MoreEnums Playground
00:34

Challenge
01:47

Enumerations Challenge Playground
00:15
17 More Sections
About the Instructor
Justin Rose
4.3 Average rating
163 Reviews
828 Students
2 Courses
Student, Udemy Instructor

My name is Justin Rose, and I am an passionate and experienced software developer. Growing up, my career path changed a whole three times! Not too big right? Anyways, it started as an architect, move to pharmacy, and then I took a career test. Little did I know, three months after that career test, I would obtain an internship at a global company as a software engineering intern. This was bizarre knowing I was just in high school, from there on out, I knew the sky was the limit.

I've realized recently I'm extremely gifted in this technology industry, and I just feel so blessed to love this field. I'm also fortunate to have the opportunity to teach what I love, and that is why I'm so excited about teaching on Udemy. I plan to teach very in depth courses. A downside of mine is that I'm a perfectionist, so the courses I put out, will not be a let down. I'm just getting started, and I'm looking forward to where this path takes me.