MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.09 GB | Duration: 14h 43m
Mastering Algorithms in SwiftUI: An Expert Guide to Swift Programming
What you'll learn
Problem solving using Loops, Arrays, Dictionaries
Functional Programming
Code Optimization and measure performance of code
Unit Testing, UI Testing and Test Driven Development
Creating Complex User Interfaces to Illustrate the Algorithms Implemented
Create cool Command Line Tools
Requirements
Familiarity with the basics of Swift and SwiftUI at a beginner level
The course is not for absolute beginners
If anything is unclear then I am always happy to help in the Q&A or one can send me a direct message
Description
Welcome to an immersive and transformative journey into the heart of Swift programming! In this comprehensive course, "An Algorithmic Approach to Swift Programming," we'll delve deep into Swift's core concepts and explore advanced topics, empowering you to become a proficient Swift developer and a master problem solver.Throughout this course, we will explore key aspects of Swift programming, emphasizing a problem-solving mindset. Our curriculum covers essential topics such as loops, arrays, dictionaries, recursion, memoization, and functional programming, all designed to equip you with the skills needed to tackle real-world programming challenges using Swift.In addition to mastering these core concepts, we will delve into the art of problem-solving and algorithm development using Swift. This includes a comprehensive exploration of unit testing and UI testing techniques. Moreover, we will rigorously test the performance of various algorithm implementations to ensure not only correctness but also resilience against potential code changes in the future.A fundamental aspect of this course is Test-Driven Development (TDD), where we will guide you in crafting tests before implementing the actual algorithms. This practice ensures robust and reliable solutions.We will also discuss the effective utilization of classes to create self-referential data structures, such as doubly linked lists, broadening your understanding of Swift's capabilities.In addition, you will have the opportunity to build intriguing command-line tools, applying your newfound skills in practical scenarios.Our overarching goal is to nurture your ability to think critically and analyze complex programming problems effectively. Rest assured, this course is regularly updated to stay current with industry trends, and I am always here to address any questions or concerns you may have along the way. Welcome to an exciting journey of Swift programming and problem-solving!Throughout the course, our hands-on approach encourages you to implement algorithms, solve problems, and experiment with Swift to solidify your understanding. Always Available: Have questions or need assistance? Your instructor is always available to provide guidance and support on your learning journey.Enroll now and embark on this exciting and rewarding journey towards algorithmic excellence in Swift!
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Starting Up Main Project including Unit Tests
Section 2: Part 1 - Variables, Strings, Conditions
Lecture 3 Trapezoid
Lecture 4 Number Divisible by N
Lecture 5 Number Divisible by N Optional Version
Lecture 6 strangeRepeat
Lecture 7 reverseSplit
Lecture 8 hello
Lecture 9 First Steps of the UI
Lecture 10 HelloView and Extending the UI
Lecture 11 CardView and introduction to ViewWithHelp
Lecture 12 Complete ViewWithHelp
Lecture 13 Trapezoid View - Part 1 - Getting Started
Lecture 14 TrapezoidView Part 2 - Setting up the Data
Lecture 15 TrapezoidView Part 3 - Data and Sliders
Lecture 16 TrapezoidView Part 4 - The Canvas
Lecture 17 Number Divisible By N View
Lecture 18 Strange Repeat and Reverse Split Views
Lecture 19 Hello Unit Testing !
Lecture 20 Trapezoid Unit Test and Doubles
Lecture 21 Number Divisible By N Optional Unit Test and Trim
Lecture 22 Test StrangeRepeat and ReverseSplit
Section 3: Part 2 - Loops and Lists
Lecture 23 First Divisible Algorithm and UI Challenge
Lecture 24 First Divisible View - Part 1
Lecture 25 First Divisible View - Part 2
Lecture 26 First Divisible Generic Challenge
Lecture 27 Number Of Strings Above Average - The Problem
Lecture 28 (For) Number Of Strings Above Average - Solution - Solution
Lecture 29 (While) Number Of Strings Above Average - Solution
Lecture 30 Number Of Strings Above Average View - Part 1 - Randomness
Lecture 31 Number Of Strings Above Average View - Part 2 - Completing the View
Lecture 32 Sum Of Products Problem
Lecture 33 Sum Of Products Solution
Lecture 34 Sum Of Products View
Lecture 35 Growing Differences Problem
Lecture 36 Growing Differences Solution and View
Lecture 37 Repeated Substring Problem
Lecture 38 Repeated Substring Solution
Lecture 39 Repeated Substring View
Lecture 40 Repeated Substring Off By One Bug Resolution
Lecture 41 Unit Test First Divisible
Lecture 42 Unit Testing Loops and Arrays
Section 4: The "Swifty" / Functional Approach
Lecture 43 Functional First Divisible
Lecture 44 Functional Number of Strings Above Average
Lecture 45 Functional Sum of Products
Lecture 46 "Functional" Growing Differences
Lecture 47 Functional Repeated Substrings
Lecture 48 UI Exercise
Section 5: Part 4 - Dictionaries
Lecture 49 Most Popular Character Problem
Lecture 50 Most Popular Character Solution
Lecture 51 Testing Most Popular Character
Lecture 52 Functional Most Popular Character
Lecture 53 Introducing the Sparse Matrix and Difference
Lecture 54 Sparse Matrix Data Structure
Lecture 55 Sparse Matrix - Test-driven development
Lecture 56 Difference of Sparse Matrix Solution
Lecture 57 Find Substring Locations Problem
Lecture 58 Find Substring Locations Solution and Test
Lecture 59 Functional Find Substring Locations Solution
Section 6: Part 6 - Recursion
Lecture 60 Recursive Reverse String
Lecture 61 Recursive Reverse String Solution
Lecture 62 Recursive Find Max
Lecture 63 Recursive Is Palindrome ?
Lecture 64 Recursive Climb Combinations Problem
Lecture 65 Recursive Climb Combinations Tests
Lecture 66 Recursive Climb Combinations Solution
Lecture 67 UI Exercise
Lecture 68 Sample UI for UI Exercise
Section 7: Part 7 - Memoization and Recursion
Lecture 69 Four-bonacci, Recursion, Memoization
Lecture 70 Four-bonacci Recursive and Test
Lecture 71 Four-bonacci Memoization Solution 1
Lecture 72 Four-bonacci Memoization Solution 2
Lecture 73 Four-bonacci Memoization Big Integer Solution 3
Lecture 74 Four-bonacci Performance Tests
Lecture 75 Factorial Problem
Lecture 76 Recursive Factorial Solution, Test and Performance
Lecture 77 Memoization Factorial Solution and Test
Section 8: Classes
Lecture 78 Minibar, PriceList, Price Classes
Lecture 79 Completing Minibar Class
Lecture 80 Minibar Test
Lecture 81 Room Class - Part 1 - Introduction and Properties
Lecture 82 Room Class - Part 2
Lecture 83 Room Class - Part 3
Lecture 84 Room Class - containsGuest, description - Part 4
Lecture 85 Room Class - description - Part 5
Lecture 86 Introducing the Hotel Class
Lecture 87 Hotel Class - Check Out
Lecture 88 Hotel Class - Properties and General Structure
Lecture 89 Hotel Class - Upgrade
Lecture 90 Hotel Class - Check In
Lecture 91 Hotel Class - Description
Lecture 92 Test Hotel Class
Section 9: Use Case of class: Doubly Linked Lists
Lecture 93 Doubly Linked List Node
Lecture 94 Doubly Linked List Init and Append
Lecture 95 Doubly Linked List Node View
Lecture 96 Doubly Linked List Null View
Lecture 97 Doubly Linked List View
Lecture 98 Doubly Linked List Delete
Programmers who are interested in learning Swift and SwiftUI in the context of Problem Solving,Anyone who wants to learn more about problem solving and algorithms,Anyone interested in exploring Unit Testing, UI Testing and Test Driven Development
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.