Bill Skrzypczak
Introduction To iOS Programming With Swift

Course Details

Embark on an exhilarating journey into iOS App Development with Introduction To iOS Programming With Swift. This practical course teaches the fundamentals of Swift programming in the Xcode Development Environment, empowering you to create cutting-edge mobile applications. Gain hands-on experience, build a portfolio on GitHub, master Agile Project management, and emerge with a solid understanding of Swift and software development. Unleash your coding potential and enroll today!
Grasp core Swift concepts Grasp language fundamentals Concept overviews Hands-on exercises Critical thinking exercises Build confidence Nurture creativity and innovation Showcase your work Gain invaluable skills management methodologies Culminate your journey Comprehensive skillset Stand out in the job market Unlock endless possibilities
Step into the exciting world of iOS App Development with Introduction To iOS Programming With Swift, an immersive and comprehensive course designed to ignite your passion for coding and empower you to create captivating mobile applications.
  • Practical approach: Grasp core Swift concepts and language fundamentals and learn how to apply them effectively in real-world scenarios.
  • Proven three-step approach: Concept overviews, hands-on exercises, and critical thinking exercises to solidify your understanding of Swift.
  • Build confidence: Design programs, test your comprehension, and gain programming expertise through hands-on experience.
  • Nurture creativity and innovation: Embark on an exciting personal project, continuously refine and debug it, and bring your ideas to life.
  • Showcase your work: Delve into GitHub repositories, learn effective showcasing techniques, and build a compelling portfolio.
  • Gain invaluable skills: Document your progress, embrace Agile Project management practices, and gain experience in iterative development and project management methodologies.
  • Culminate your journey: Showcase your software development project through a captivating final presentation, demonstrating functional and innovative Swift applications.
  • Comprehensive skillset: Master debugging, version control, project management, and object-oriented programming.
  • Stand out in the job market: Build a compelling portfolio and demonstrate your proficiency to potential employers.
  • Unlock endless possibilities: Whether you aspire to be a professional app developer or simply explore coding, this course equips you with the necessary knowledge and skills to excel in iOS app development.
  • Enroll today: Join Introduction To iOS Programming With Swift and embark on an exciting journey of discovery and growth!

Lessons

1
Lesson 1 - Learning Objectives

GettingStarted Learning ObjectivesKnow how to contact your instructorHow to turn in assignmentsUnderstand the role your mindset plays in achieving your goal to become an App Developer Understand the role of your instructor as a coach and mentor.Understand the job of an App DeveloperLearn ..

2
Lesson 2 - Contacting Your Instructor

GettingStarted Contacting The Instructor / Turning In AssignmentsYou can email me at bill@waveridertradingtechnologies.com. I will respond within 24 hours.You will learn how to create a Repository in a future lesson. You will upload all of your assignments to your repo and will invite me t..

3
Lesson 3 - Closed Mindset/Open Mindset

GettingStarted Closed Mindset/Growth MindsetResearch has found that the human mind has an incredible capability to accomplish any goal it believes in. Most people note "That little voice inside my head" as either a great motivator or de-motivator. Behavioral scientist and psychologists hav..

4
Lesson 4 - Coach/Player

GettingStarted Coach vs PlayerIn this class I will play the role of the coach and you will play the role of the player. You will find during this course when you bring issues to me I may not always have the answer. What I will have is a variety of suggestions for finding the answer to your..

5
Lesson 5 - Best Job In America

GettingStarted Best Jobs In AmericaThis is one of the best paying, most interesting, and in demand jobs in America today. Click on the link below to read an article in CNN Money about becoming a mobile app developer.CNN Money Article <- Click MePlay Me..

6
Lesson 6 - Introduce Yourself

GettingStarted Introduce YourselfRecord a brief video introducing yourself following the instructions below. Tell us a little about yourself and why you are taking this course. Create a Google Drive, post this video to it and share it with me so I can give you feedback on your work in this..

7
Lesson 7 - Lecture Videos

Lecture VideosNo Videos For This Module..

8
Lesson 8 - Objectives

GettingStarted Module ObjectivesBy the end of this module you will be able to:Understand a little about the size and growth of the smartphone marketLearn about everything Apple announced at the last developer's conferenceSetup Xcode on your SystemDevelop your first Swift PlaygroundWatch th..

9
Lesson 9 - The Smartphone Market

GettingStarted The Smartphone MarketThe smartphone market is one of the largest and fastest-growing markets in the high-tech world. As a result of this growth, there are countless career opportunities available.Find more statistics at Statista..

10
Lesson 10 - WWDC

GettingStarted World Wide Development ConferenceEach summer Apple Computer hosts a worldwide developer conference where all the new software upgrades and features are presented to the audience. There are breakout sessions and labs on specific topics. As a budding developer, it is your job ..

11
Lesson 11 - Xcode Install / Lab Hello World

GettingStarted Xcode Install / Hello World LabWhat are the first things you're going to have to be able to do is get Xcode installed on your system. Do you need to have either an Apple desktop or a laptop, in order to install Xcode. Watch the videos below and follow the links to get Xcode ..

12
Lesson 12 - Lecture Videos

Lecture VideosNo Videos For This Module..

13
Lesson 13 - Objectives

Version Control/Agile Project ManagementModule ObjectivesBy the end of this module you will be able to:Understand what a repository is and how professional developers use it to work on a project as a teamUnderstand what Agile project Management is and how to use it to manage a software dev..

14
Lesson 14 - Welcome To Github

Version Control/Agile Project ManagementGitHubIn the professional developer world, something called a repository is used as a way to store and share your work. A repository is basically a shared hard drive in the cloud that allows teams of people to work on large projects. Watch this video..

15
Lesson 15 - Intro To Agile Project Management

Version Control/Agile Project ManagementAgile Project ManagementThe origins of project management go back to the World Wars and the Manhattan Project. Watch the videos below to understand a little bit about how Agile Project Management is used to manage complex team-based software developm..

16
Lesson 16 - LAB (Scrums and Sprints)

Version Control/Agile Project ManagementLAB (Scrums & Sprints)The word Scrum is derived from a game called Rugby. Rugby is a very popular sport in which the objective is to move the ball as a team down the field. This is also a perfect analogy for what is required in an Agile Project. ..

17
Lesson 17 - LAB (Playgrounds)

PlaygroundsLAB (Playground Basics)Playgrounds were designed by Apple as a place where you could quickly prototype your app ideas in a proof of concept environment that gives you instant feedback.Download the zip file below and complete this playground which takes you through some of the ba..

18
Lesson 18 - Commit Hello World To Your Repository

PlaygroundsLAB (Commit Hello World)Follow the instructions in the video below to commit and add your Hello World app to your newly created repository.Use the following naming convention to make yours unique. App name followed by your first name and last initial.Example -> HelloWorld_Bil..

19
Lesson 19 - Lecture Videos

Lecture VideosIntro To Github, Agile & Playgrounds..

20
Lesson 20 - Objectives

Data TypesLearning ObjectivesBy the end of this module you will be able to:Understand what the different data types are and how to use themUnderstand the proper syntax to define variables and constants in SwiftComplete a Lab which walks you through the basics of constants and variablesComp..

21
Lesson 21 - Variables and Constants

Data TypesVariables & ConstantsVariables and Constants are the most basic building block upon which you start your journey to learn to code.They are a place to hold your "coding stuff".READ ME  To Learn More About Variables And Constants..

22
Lesson 22 - LAB (Variables and Constants)

Data TypesLAB (Variables & Constants)Variables and Constants are like containers to put your coding stuff in. Download the playground below and learn all about these concepts in a hands on approach. Commit the completed playground to your repository and submit your link for credit.Cons..

23
Lesson 23 - Critical Thinking Exercise

Data TypesCritical Thinking ExerciseThis will be your first attempt at developing a skill I hope becomes a very enjoyable and gratifying experience for you, the art of Design! You accomplish this by applying knowledge recently acquired to create. So let's get started!1) Design a program th..

24
Lesson 24 - Your Project Plan

Data TypesProject PlanFor this class I ask that students come up with an idea for a project. The purpose of this exercise is to get you to think on a scale similar to what you might encounter as a software engineer in the business environment. There are some limitations to what can be done..

25
Lesson 25 - Lecture Videos

Lecture VideosData Types - Variables & Constants..

26
Lesson 26 - Objectives

Basic OperatorsLearning ObjectivesBy the end of this module you will be able to:Understand what operators are and how to use themUnderstand the proper syntax to use when using operators in SwiftComplete a Lab which walks you through the basics of operatorsComplete a Critical Thinking Exerc..

27
Lesson 27 - Basic Operators

Basic OperatorsBasic OperatorsSooner or later you're going to need to use operators to figure out the solution to some problem. Whether that's adding a couple of numbers performing complex calculus equations, a firm understanding of how operators work and Swift is essential. Watch the vide..

28
Lesson 28 - LAB (Operator Exercise)

Basic OperatorsLAB - (Basic Operators)Create a calculator playground and break it into 3 sections. The top section defines all your input variables. The middle section defines all the operations. The bottom section prints all the results to the screen. Have the calculator perform the follo..

29
Lesson 29 - Critical Thinking Exercise

Basic OperatorsCritical Thinking ExerciseCome up with a program idea that uses what you learned about operators creatively!Upload the app you just created to your repository and provide me a link...

30
Lesson 30 - Project Idea Presentation

Project IdeaProject Idea PresentationRecord a video of you presenting your project plan and post it in your shared Google Drive...

31
Lesson 31 - Lecture Videos

Lecture VideosOperators..

32
Lesson 32 -Flow Control

Flow ControlLearning ObjectivesUnderstand what Flow Control means in programmingKnow and use a few of the Apple keyboard shortcutsKnow what a Swift If Statement is and how to use itKnow what a Swift While Statement is and how to use itKnow what a Swift Switch statement is and how to use it..

33
Lesson 33 - Apple Keyboard Shortcuts/Pomodoro Technique

Flow ControlThe Apple Keyboard/Pomodoro TechniqueCLICK ME to learn all the Apple Keyboard ShortcutsWatch this video to learn a technique that will turbocharge your coding productivity!..

34
Lesson 34 - If Statements

The IF StatementThe IF StatementAn If statements is a tool you can use to make decisions within your code. Watch the video below to learn more about this powerful building block.CLICK ME to learn more about the IF Statement..

35
Lesson 35 - While Loops

The While LoopThe While LoopThe While command allows you to suspend some type of action until something changes. Watch the  video below to learn more about this powerful building block.CLICK ME to learn more about While Loops..

36
Lesson 36 - Switch Statements

The Switch StatementThe Switch StatementThe switch statement allows you to select different behaviors based on the value of an input. . Watch the video below to learn more about this powerful building blockCLICK ME to learn more about the Switch Statement..

37
Lesson 37 - LAB (Decision Making)

LAB (Decision Making)LAB (Decision Making)Download this playground and get some practice and experience working with flow control and decision making.Upload a link to your repository.Making Decisions..

38
Lesson 38 - Recipe For A Clock

Recipe For A ClockRecipe For A ClockThe purpose of this exercise is to get you used to planning your code before starting to code. I use the analogy of recipe because most people at least have some basic skills in cooking. These skills are very much the same that you use when you start to ..

39
Lesson 39 - Critical Thinking Exercise

Critical Thinking ExerciseBuild A ClockDesign a Playground that simulates a working clock that keeps track of hours minutes and seconds..Upload the app you just created to your repository...

40
Lesson 40 - Lecture Videos

Lecture VideosFlow Control..

41
Lesson 41 - Objectives

CollectionsCollectionsBy the end of this module you will be able to:Understand what Arrays are and how they are used.Understand what Dictionaries are and some of their benefits.Understand what Tuples are and when you might use them.Complete a lab on each of these topics.Complete a Critical..

42
Lesson 42 - Arrays

CollectionsArraysWatch the video below to learn about arraysCLICK ME to learn more about Arrays..

43
Lesson 43 - Dictionaries

CollectionsDictionariesWatch the video below to learn about DictionariesCLICK ME to learn more about Dictionaries..

44
Lesson 44 - Tuples

CollectionsTuplesWatch the video below to learn more about TuplesCLICK ME To learn more about Tuples..

45
Lesson 45 - LAB (Arrays)

CollectionsLAB - (Arrays)Download the exercises and complete them. When you are finished upload them to your repository and provide me a link.Arrays.playground..

46
Lesson 46 - LAB (Dictionaries)

CollectionsLAB -(Dictionaries)Download the exercise and complete it. When you are finished upload them to your repository and provide me a link.Dictionaries.playground..

47
Lesson 47 - LAB (Tuples)

CollectionsLAB - (Tuples)Download the exercise and complete it. When you are finished upload them to your repository and provide me a link.Tuples.playground..

48
Lesson 48 - Recipe For A Hockey Team

CollectionsRecipe For A Hockey TeamProvide a recipe with the ingredients and instructions to complete the following Blackhawks lab...

49
Lesson 49 - Critical Thinking Exercise

CollectionsCritical Thinking Exercise - The Chicago BlackhawksCLICK ME For link to Chicago Blackhawk dataCreate a dictionary of team members using their number as the key valueCreate as many other arrays as needed to store the rest of the infoUsing control flow statements do the following;..

50
Lab 50 - Lecture Videos

Lecture VideosCollections..

51
Lesson 51 - Objectives

FunctionsModule ObjectivesBy the end of this module you will be able to:Understand what Functions are and the 6 easy steps to define them.Understand what Closures are and the steps to define them..Complete a Practice Exercise on functions.Complete a Lab on functions.Complete a Critical Thi..

52
Lesson 52 - Functions In 6 Steps

FunctionsIn 6 StepsFunctions are self-contained chunks of codethat perform a specific task. Here is a function to decide the type of beer you like.• The 6 step program1) Keywordfunc2) Name your functionfunc myBeerType3) Decide if you need parametersfunc myBeerType (whatiLike:)4) Decide t..

53
Lesson 53 - Closures In 3 Steps

ClosuresIn 3 StepsClosures are self-contained blocks of functionality that can be passed around and used in your codeClosures can capture and store references to any constants and variables from the context in which they are defined.Closures can be stored in variables or constants and used..

56
Lesson 56 - Functions Playground

FunctionsPlaygroundDownload the playground below and complete it. Provide me with a link to your repositoryFunctions.playground..

57
Lesson 57 - Closures Playground

ClosuresPlaygroundDownload the Closures Playground below and complete it. Upload it to your repository and provide me with a link.Closures.playground..

58
Lesson 71 - Critical Thinking Exercise Lab Bill's Burgers

Critical Thinking ExerciseBill's Burgers RecipeUsing Enumerations, Structures, and Optionals, build a playground to prototype an interactive menu for my new gourmet burger bistro.Upload it to your repository..

59
Lesson 58 - Practice Exercise

PracticePracticePractice makes perfect so here is some more. Upload it to your repository and provide me with a link.Functions-1.playground..

60
Lesson 59 - Lab - Fibonacci Numbers

LABFibonacci1) Write a function that calculates and displays all the Fibonacci numbers from 0 to 10002) Upload it to your repository and provide me with a link...

61
Lesson 60 - Critical Thinking Exercise - Functions

CRITICAL THINKING EXERCISEDESIGN A PLAYGROUND1) Write a playground to do something useful for you in your daily life that contains the following items;* A function* A closure2) Upload your code to Git and provide me a link..

62
Lesson - 61 - Lecture Videos

Lecture VideosFunctions..

63
Lesson 62 - Objectives

Optionals Structures EnumerationsObjectivesBy the end of this module you will be able to:Understand what Optionals are and when to use them.Understand what Enumerations are and the steps to define them.Understand what Structures are and the steps to define them.Complete a Practice Exercise..

64
Lesson 63 - Optionals

OptionalsWhat are Optionals?Click LINK to learn more about Optionals..

65
Lesson 64 - Enumerations

 EnumerationsWhat are Enumerations?Click LINK to learn more about Enumerations...

66
Lesson 65 - Structures

 StructuresWhat are Structures?Click LINK to learn more about Structures..

67
Lesson 66 - Value vs Reference

Values vs ReferenceAn important concept to understand!..

68
Lesson 67 - Optionals Playground

Optionals PlaygroundOptionals PlaygroundDownload and complete the playground below. Upload it to your repositoryOptionals.playground..

69
Lesson 68 - Enumerations Playground

Enumerations PlaygroundEnumerations PlaygroundDownload and complete the playground below. Upload it into your repository.Enums.playground..

70
Lesson 69 - Structures Playground

Structures PlaygroundStructures PlaygroundDownload and complete the playground below. Upload it to your repositoryStructs.playground..

71
Lesson 70 - Critical Thinking Exercise - Bill's Burgers Recipe

Critical Thinking ExerciseBill's Burgers RecipeCreate a recipe for a playground that tells you how to make a few different types of burgers. Use what you have learned about Optionals, Enumerations, and Structures as part of the program.Upload it to your repository..

72
Lesson 72 - Lecture Videos

Lecture VideosOptionals Structures Enumerations..

73
Lesson 73 - Objectives

Object Oriented ProgrammingObjectivesBy the end of this module you will be able to:Understand the concept of Object Oriented ProgrammingUnderstand how to design a ClassComplete a Playground designed to give you experience with designing a ClassComplete a Critical Thinking Exercise giving y..

74
Lesson 74 - Object Oriented Programming

Object Oriented ProgrammingWhat is Object Oriented ProgrammingA software developers’s job is to to translate attributes and behaviors of the real-world into commands understood by a computer.A class is a template that defines attributes and behaviors of a program...

75
Lesson 75 - How To Define A Class

Class DesignClass Design5 STEPS Give your Class a Name Define your properties and variables (Attributes) Initialize your properties and variables (Attributes)Define your functions and methods (Behaviors)Instantiate your classClick the LINK to learn more about Classes..

76
Lesson 76 - Class Playground

Object Oriented ProgrammingClass PlaygroundDownload and complete the playground. Upload it to your repository.Classes.playground..

77
Lesson 77 - Critical Thinking Exercise Build My Prius Recipe

Object Oriented ProgrammingCritical Thinking - Build My Car RecipeCreate the recipe and ingredients to define a playground that allows you to select the model, color, packages, and accessories for your new car...

78
Lesson 78 - Critical Thinking Exercise Build My Prius

Object Oriented ProgrammingCritical Thinking - Build My Car Design a playground that allows you to select the model, color, packages, and accessories for your new car.This LINK has an example of what is typically available from a car manufacturer...

79
Lesson 79 - Final Project Presentation

Final Project PresentationFinal Project PresentationRecord a video of you demonstrating and explaining your final projectUpload your project to your repositoryI will review your project and provide you with a critique..