![RepoCover](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Images/Other/RepoCover.png)

# 🎯 My-iOS-Dev-Learning-Tracker

Hi! This is my log of iOS development skills, resources, highlights and many more that eventially evolved into a constantly growing knowledge base  
Here gethered the bare minimum you need to know to become an iOS developer. `Highlighted` themes are most essential topics 
Feel free to contribute!  

# 🗺 iOS Developer skills Tree navigation

[**`❇️ General notes`**](#-general-notes)  

[**`✊ Practical knowledge`**](#-practical-knowledge)  
* [Pet projects](#pet-projects)  
* [Practice projects](#practice-projects)  
* [Languages](#languages)  
* [Memory management](#memory-management)  
* [Multithreading and concurrency](#multithreading-and-concurrency)  
* [SwiftUI](#swiftui)  
* [Cocoa Touch](#cocoa-touch)  
* [Software Architecture](#software-architecture)  
* [Dependencies management](#dependencies-management)  
* [Project structure organisation](#project-structure-organisation)  
* [Version Control Systems](#version-control-systems)  
* [Debugging](#debugging)  
* [UX](#ux)  
* [Caching and Persistency](#caching-and-persistency)  
* [Testing](#testing)  
* [Performance optimization](#performance-optimization)  
* [Code signing](#code-signing)  
* [Tools](#tools)  
* [Continuous Integration](#continuous-integration)  
* [Security](#security)  
* [tvOS](#tvos)  
* [WatchKit](#watchkit)  
* [Core ML](#core-ml)  

[**`🧠 Computer Science knowledge`**](#-computer-science-knowledge)  
* [Algorithms](#algorithms)  
* [Abstract Data Types](#abstract-data-types)  
* [System design](#system-design)  
* [Programming Paradigms](#programming-paradigms)  

[**`🥁 Project Management knowledge`**](#-project-management-knowledge)  
* [Project Management Metodologies](#project-management-metodologies)

----

### [`❇️ General notes`](Resources/Note_attachments/General_notes/General_notes.md)
- [My Skills and Experience](Resources/Note_attachments/General_notes/My_Skills.md)
- [References](Resources/Note_attachments/General_notes/References.md)  
- [Useful Tools](Resources/Note_attachments/General_notes/Useful_Tools.md)  
- [Useful links](Resources/Note_attachments/General_notes/Useful_links.md) 
  - [**`🧳 My main source of useful stuff`**](https://github.com/BohdanOrlov/iOS-Developer-Roadmap/blob/master/RoadmapProject/Script/Generated/ROADMAP.md)   
  - [**`🎒 Good practices`**](https://github.com/futurice/ios-good-practices)
- [Courses and books](Resources/Note_attachments/General_notes/Education.md)  
- [Inspiration](Resources/Note_attachments/General_notes/Inspiration.md)  
- [Job hunt](Resources/Note_attachments/General_notes/Job_hunt.md)  
- [Command Line](Resources/Note_attachments/General_notes/Command_Line.md) 

---

### `✊ Practical knowledge`
#### [`Pet projects`](Resources/Note_attachments/General_notes/Practice_Projects.md)
#### [`Practice projects`](https://github.com/Lemonbrush/Practice-Apps)
#### [`Languages`](Resources/Note_attachments/Practical_knowledge/Languages/Languages.md)
- [ ] [`Objective-C`](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Objective-C.md)
    - [X] [Program Structure](https://www.tutorialspoint.com/objective_c/objective_c_program_structure.htm)
    - [X] [Basic Syntax](https://www.tutorialspoint.com/objective_c/objective_c_basic_syntax.htm)
    - [X] [Data Types](https://www.tutorialspoint.com/objective_c/objective_c_data_types.htm)
    - [X] [Variables](https://www.tutorialspoint.com/objective_c/objective_c_variables.htm)
    - [X] [Constants](https://www.tutorialspoint.com/objective_c/objective_c_constants.htm)
    - [X] [Operators](https://www.tutorialspoint.com/objective_c/objective_c_operators.htm)
    - [X] [Loops](https://www.tutorialspoint.com/objective_c/objective_c_loops.htm)
    - [X] [Decision Making](https://www.tutorialspoint.com/objective_c/objective_c_decision_making.htm)
    - [X] [Functions](https://www.tutorialspoint.com/objective_c/objective_c_functions.htm)
    - [X] [`Blocks`](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Blocks.md)
        - [X] [Memory Management](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Memory_Management.md)
    - [X] [Numbers](https://www.tutorialspoint.com/objective_c/objective_c_numbers.htm)
    - [X] [Arrays](https://www.tutorialspoint.com/objective_c/objective_c_arrays.htm)
    - [X] [Pointers](https://www.tutorialspoint.com/objective_c/objective_c_pointers.htm)
    - [X] [Strings](https://www.tutorialspoint.com/objective_c/objective_c_strings.htm)
    - [X] Structures
    - [X] Preprocessors
    - [ ] Typedef
    - [ ] Type Casting
    - [ ] Log Handling
    - [ ] Error Handling
    - [ ] Line Arguments
    - [X] Classes & Objects
    - [X] Inheritance
    - [X] Polymorphism
    - [X] Data Encapsulation
    - [ ] Categories
    - [ ] Posing
    - [X] Extensions
    - [X] Protocols
    - [ ] Dynamic Binding
    - [ ] Composite Objects
    - [ ] Foundation Framework
    - [ ] Fast Enumeration
    - [ ] Memory Management
    - [ ] KVC
    - [ ] KVO
    - [ ] Toll-free bridging
    - [ ] `Runtime`
        - [ ] Method messaging
        - [ ] NSZombies and KVO implementation
        - [ ] Swizzling
- [x] [`Swift`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Swift.md)
    - [X] [The Basics](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Basics.md)
    - [X] [Basic operators](https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html)
    - [X] [Strings and Characters](https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html)
    - [X] [Collection Types](https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html)
    - [X] [Control Flow](https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html)
    - [X] [Functions](https://docs.swift.org/swift-book/LanguageGuide/Functions.html)
    - [X] [Closures](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Closures.md)
    - [X] [`Enums`](https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html)
    - [X] [`Structures and Classes`](https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html)
    - [X] [Properties](https://docs.swift.org/swift-book/LanguageGuide/Properties.html)
    - [X] [Methods](https://docs.swift.org/swift-book/LanguageGuide/Methods.html)
    - [X] [Subscript](https://docs.swift.org/swift-book/LanguageGuide/Subscripts.html)
    - [X] [Inheritance](https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html)
    - [X] [`Initialization`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Initialization.md)
    - [X] [Deinitialization](https://docs.swift.org/swift-book/LanguageGuide/Deinitialization.html)
    - [X] [Optional Chaining](https://docs.swift.org/swift-book/LanguageGuide/OptionalChaining.html)
    - [X] [Error Handling](https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html)
    - [ ] [Concurrency](https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html)
    - [X] [Type Casting](https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html)
    - [X] [Nested Types](https://docs.swift.org/swift-book/LanguageGuide/NestedTypes.html)
    - [X] [Extensions](https://docs.swift.org/swift-book/LanguageGuide/Extensions.html)
    - [X] [`Protocols`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Protocols.md)
    - [X] [Generics](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Generics.md)
    - [X] [Opaque Types](https://docs.swift.org/swift-book/LanguageGuide/OpaqueTypes.html)
    - [X] [Automatic Reference Counting](https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html)
    - [X] [Memory Safety](https://docs.swift.org/swift-book/LanguageGuide/MemorySafety.html)
    - [X] [Access Control](https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html)
    - [x] [Advanced Operators](https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html)
    - [x] [Runtime](https://stackoverflow.com/questions/37315295/how-does-ios-swift-runtime-work)
        - [x] [Method dispatch](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Method_dispatch.md)
    - [X] [KVO](Resources/Note_attachments/Practical_knowledge/Languages/Swift/KVO.md)
- [X] [Swift & Objective-C work together](https://medium.com/flawless-app-stories/swift-objective-c-mixed-languages-app-16b6c9c3e9b0)
    
#### [`Memory management`](Resources/Note_attachments/Practical_knowledge/Memory_management/Memory_management.md)
- [X] [`Stack and Heap`](Resources/Note_attachments/Practical_knowledge/Memory_management/Stack_and_Heap.md)
- [X] [`Value vs Reference type`](Resources/Note_attachments/Practical_knowledge/Memory_management/Value_vs_Reference_type.md)
- [X] [MRC](Resources/Note_attachments/Practical_knowledge/Memory_management/MRC.md)
- [X] [`ARC`](Resources/Note_attachments/Practical_knowledge/Memory_management/ARC.md)
    - [X] [Weak references](Resources/Note_attachments/Practical_knowledge/Memory_management/Weak_references.md)
- [X] [`Retain cycles`](Resources/Note_attachments/Practical_knowledge/Memory_management/Retain_cycles.md)
- [X] [Garbage collection](Resources/Note_attachments/Practical_knowledge/Memory_management/Garbage_collection.md)
- [X] [`Memory leaks`](https://link.medium.com/KaTkGXHuVfb)
- [X] [Shallow and deep copying](Resources/Note_attachments/Practical_knowledge/Memory_management/Shallow_and_deep_copying.md)
- [X] [Autorelease pool](Resources/Note_attachments/Practical_knowledge/Memory_management/Autorelease_pool.md)

#### `Multithreading and concurrency`
- [ ] POSIX and NSThreads
- [ ] Perform selector family
- [ ] [`GCD`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/GCD.md)
- [X] [`NSOperation(Queue)`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/NSOperation.md)
- [X] [`Runloop`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/Runloop.md)
- [X] [`Synchronization`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/Synchronization.md)
- [ ] Problems
    - [ ] Race condition
    - [ ] Deadlock
    - [ ] Readers–writers problem  

#### [SwiftUI](https://github.com/vlondon/awesome-swiftui)  

#### [`Cocoa Touch`](https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html)
- [X] [`UIKit`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIKit.md)
    - [X] [`UIApplication`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIApplication.md)
        - [X] [`States`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/States.md)
        - [X] [UIApplicationDelegate](https://developer.apple.com/documentation/uikit/uiapplicationdelegate)
    - [X] [`UIView`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIView.md)
        - [X] [`UITableViews`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UITableViews.md)
        - [X] [`UICollectionViews`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UICollectionViews.md)
    - [ ] Layers
    - [X] [`Layout`](https://tech.gc.com/demystifying-ios-layout/)
        - [X] [`Frame-based`](https://nshipster.com/cggeometry/)
        - [X] [`Autolayout`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/Autolayout.md)
            - [X] [UIStackView](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIStackViews.md)
    - [ ] Animations
    - [ ] Transform
    - [X] [`Navigation`](https://medium.com/bumble-tech/screen-navigation-in-ios-dd99b09228b2)
    	- [ ] [Deep links](https://ilya.puchka.me/deeplinks-no-brainer/)
    	- [ ] [FlowControllers](http://merowing.info/2016/01/improve-your-ios-architecture-with-flowcontrollers/)
    - [X] [`UIViewController`](https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/)
        - [X] [`Lifecycle`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIViewController_Lifecycle.md)
- [X] [`Foundation`](https://developer.apple.com/documentation/foundation)
    - [X] [`Notifications Delegation and Observing`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Notifications_Delegation_Observing.md)
    - [ ] Collections
    - [X] [`Networking`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Networking.md)
    - [X] [`Serialization`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Serialization.md)
        - [ ] NSCoding
        - [X] [`Codable`](https://medium.com/hackernoon/swift-codability-d0d232065cad)
        - [X] [`JSON`](https://www.avanderlee.com/swift/json-parsing-decoding/)
        - [ ] XML
        - [ ] Protobuf
- [ ] UserNotifications
- [ ] Core Location
- [ ] Core Motion
- [X] [`Work in background mode`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/WorkInBackgroundMode.md)

#### `Software Architecture`
- [ ] `Design Patterns`
    - [ ] [`Cocoa`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Cocoa.md)
        - [ ] Abstract Factory
            - [ ] Class cluster
        - [ ] Adapter
        - [ ] Command Pattern
        - [ ] Chain of Responsibility
        - [ ] Decorator
            - [ ] Delegation
            - [ ] Categories
        - [ ] Facade
        - [ ] Memento
        - [ ] Observer
        - [ ] Proxy
        - [ ] Receptionist
        - [X] [Singleton]((Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Creational/Singleton.md))
        - [ ] Template Method
        - [ ] MVC
    - [ ] `Architectural`
        - [X] [`MVC`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVC.md)
        - [X] [`MVVM`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVVM.md)
        - [X] [`MVP`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVP.md)
        - [ ] `Clean architecture`
            - [ ] VIPER
            - [ ] RIBs
        - [ ] Coordinators
    - [ ] `Creational`
        - [ ] Factory
        - [ ] Abstract Factory
        - [ ] Builder
        - [ ] Factory Method
        - [ ] Object Pool
        - [ ] Prototype
        - [X] [Singleton]((Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Creational/Singleton.md))
    - [ ] `Structural`
        - [ ] Adapter
        - [ ] Bridge
        - [ ] Composite
        - [ ] Decorator
        - [ ] Facade
        - [ ] Flyweight
        - [ ] Proxy
    - [ ] `Behavioural`
        - [ ] Command
        - [ ] Chain of responsibility
        - [ ] Interpreter
        - [ ] Iterator
        - [ ] Mediator
        - [ ] Memento
        - [ ] Observer
        - [ ] State
        - [ ] Strategy
        - [ ] Visitor
    - [ ] Concurrency
        - [ ] Anti-pattern
- [X] [`Design Principles`](https://www.dotnettricks.com/learn/designpatterns/different-types-of-software-design-principles)
    - [X] [`SOLID`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/SOLID.md)
    - [X] [`DRY`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/DRY.md)
    - [X] [`KISS`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/KISS.md)
    - [X] [`YAGNI`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/YAGNI.md)
    - [X] [`Inversion of Control`](https://martinfowler.com/bliki/InversionOfControl.html)
        - [X] [`Dependency Injection`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/DependencyInjection/SOLID.md)
        - [ ] [Service Locator](Resources/Note_attachments/Practical_knowledge/Software_Architecture/DependencyInjection/ServiceLocator.md)
    - [ ] Protocol-Oriented Programming

#### `Dependencies management`
- [X] [Cocoapods](Resources/Note_attachments/Practical_knowledge/Dependencies_management/Cocoapods.md)
- [ ] [Carthage](https://www.raywenderlich.com/7649117-carthage-tutorial-getting-started)
- [X] [Swift Package Manager](https://swift.org/package-manager/)

#### [`Project structure organization`](Resources/Note_attachments/Practical_knowledge/Project_structure_organisation.md)

#### `Version Control Systems`
- [X] [`Git`](Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md)
    - [X] [How to config](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#configuration)
    - [X] [How to clone](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#core-commands)
    - [X] [How to commit](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#core-commands)
    - [X] [How to pull](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#synchronization-of-changes)
    - [X] [How to push](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#synchronization-of-changes)
    - [X] [How to create/change/delete/merge branches](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#branches)
    - [X] [How to log](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#history)
    - [X] [How to reflog](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#commit-manipulation)
    - [X] [How to resolve conflicts](https://githowto.com/ru/resolving_conflicts)
    - [X] [GitFlow](https://proglib.io/p/git-github-gitflow/)

#### Debugging
- [ ] Instruments
- [ ] Best practices
    - [ ] Checklists

#### UX
- [ ] [Human Interface Gidelines](https://developer.apple.com/design/human-interface-guidelines/)
- [ ] [Custom transitions](https://theswiftdev.com/ios-custom-transition-tutorial-in-swift/)  

#### [`Caching and Persistency`](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/Caching_and_Persistency.md)
- [X] [UserDefaults](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/UserDefaults.md)
- [ ] Saving files to disk (Codable)
- [ ] Keychain
- [ ] SQLite
- [ ] [Core Data](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/CoreData.md)
- [ ] [Realm](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/Realm.md)
- [ ] Property Lists
- [ ] YAPDatabase

#### [`Testing`](Resources/Note_attachments/Practical_knowledge/Testing/Testing.md)
- [X] [`FIRST principles`](https://medium.com/@tasdikrahman/f-i-r-s-t-principles-of-testing-1a497acda8d6)
- [X] [`Unit Tests`](Resources/Note_attachments/Practical_knowledge/Testing/Unit_tests.md)
- [X] [Snapshot Tests](Resources/Note_attachments/Practical_knowledge/Testing/Snapshot_tests.md)
- [X] [Functional test](Resources/Note_attachments/Practical_knowledge/Testing/Functional_tests.md)
- [X] [UI Tests](Resources/Note_attachments/Practical_knowledge/Testing/UI_tests.md)
- [X] [TDD (Test Driven Development)](Resources/Note_attachments/Practical_knowledge/Testing/TDD.md)
- [ ] BDD

#### Performance optimization
- [ ] Increase FPS
- [ ] Decrease memory footprint

#### Code signing

#### Tools
- [X] [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
    - [X] [Xcode](Resources/Note_attachments/Practical_knowledge/Tools/XCode.md)
        - [X] [Interface Builder](https://www.toptal.com/ios/ios-user-interfaces-storyboards-vs-nibs-vs-custom-code)
        - [X] [Rename project](https://stackoverflow.com/questions/33370175/how-do-i-completely-rename-an-xcode-project-i-e-inclusive-of-folders)
        - [X] [Delete derived data with Xcode](https://programmingwithswift.com/delete-derived-data-xcode/)
- [X] [Swiftlint](https://github.com/realm/SwiftLint)
- [ ] [Sourcery](https://github.com/krzysztofzablocki/Sourcery)
- [ ] Fastlane
- [X] [Charles](https://www.charlesproxy.com)

#### Continuous Integration
- [ ] Jenkins / CircleCI / Bitrise / Github Actions
- [ ] Xcode server

#### Security
- [ ] Keychain
- [ ] Security Transforms API
- [ ] Secure Enclave

#### tvOS
- [ ] Focus interactions

#### [WatchKit](https://developer.apple.com/tutorials/swiftui/creating-a-watchos-app)

#### [Core ML](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Machine_Learning.md)  
- [X] [Model conversion](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Model_conversion.md)  
- [X] [Create ML](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Create_ML.md)

#### [Augmented Reality](Resources/Note_attachments/Practical_knowledge/AugmentedReality/AugmentedReality.md)

---

### [`🧠 Computer Science knowledge`](Resources/Note_attachments/Computer_Science_knowledge/Computer_Science_knowledge.md)
#### `Algorithms`
- [X] `Sorting`
    - [X] [Merge Sort](https://www.raywenderlich.com/741-swift-algorithm-club-swift-merge-sort)
    - [X] [Quick Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Quicksort)
    - [X] [Heap Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Heap%20Sort)
    - [X] [Counting Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Counting%20Sort)
- [ ] `Graph Theory`
    - [ ] Depth-First Search (DFS)
    - [ ] Breadth-First Search (BFS)
    - [ ] Minimum Spanning Tree (MST)
    - [ ] Trees
- [X] `Strings`
    - [X] [Brute-forse](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Brute-Force%20String%20Search)
    - [X] [Boyer-Moore](https://www.raywenderlich.com/541-swift-algorithm-club-boyer-moore-string-search-algorithm)
- [ ] Greedy
- [ ] Dynamic Programming
- [ ] Bit Manipulation
- [ ] [`Recursion`](https://leetcode.com/explore/learn/card/recursion-i/)
- [ ] Game Theory
- [ ] NP Complete
- [X] [`Big-O notation`](https://github.com/raywenderlich/swift-algorithm-club/blob/master/Big-O%20Notation.markdown)

#### [`Abstract Data Types`](Resources/Note_attachments/Computer_Science_knowledge/Abstract_Data_Types/Abstract_data_types.md)
- [x] `Arrays`
    - [x] [`Array`](https://developer.apple.com/documentation/swift/array) 
    - [x]  [Array 2D](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Array2D)
- [X] `Lists`
    - [X] [`Singly linked list`](https://itnext.io/linkedlist-in-swift-code-a-linkedlist-data-structure-in-swift-playgrounds-97fe2ed9b8f1)
    - [x]  [Doubly linked list](https://github.com/raywenderlich/swift-algorithm-club/blob/master/Linked%20List/README.markdown)
    - [X] [Circular linked list](https://redflowerinc.com/doubly-circular-linked-list-in-swift-capable-using-generics/)
- [X] `Maps`
    - [X] [`Map`](https://developer.apple.com/documentation/swift/dictionary)
    - [X] [Multimap](https://stackoverflow.com/questions/24197186/implementing-a-multimap-in-swift-with-arrays-and-dictionaries)
- [X] `Hash tables`
    - [X] [Hash table](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Hash%20Table)
    - [X] [`Set`](https://developer.apple.com/documentation/swift/set)
    - [X] [Hash Set](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Hash%20Set)
    - [X] [Multiset (Bag)](Resources/Note_attachments/Computer_Science_knowledge/Abstract_Data_Types/Multiset.md)
- [X] [`Graphs`](https://www.raywenderlich.com/773-swift-algorithm-club-graphs-with-adjacency-list#toc-anchor-014)
- [ ] `Queues`
    - [X] [`Stack`](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Stack)
    - [X] [`Queue`](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Queue)
    - [ ] Priority Queue
    - [ ] Double-ended priority queue
    - [ ] Double-ended queue (Deque)
    - [ ] Ring Buffer
- [ ] Trees
    - [X] [Tree](https://www.raywenderlich.com/1053-swift-algorithm-club-swift-tree-data-structure)
    - [ ] Binary Tree
    - [ ] Binary Search Tree (BST)
    - [X] [Heap](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Heap)

#### `System design`
- [ ] Problems

#### Programming Paradigms
- [X] [`Object-Oriented`](Resources/Note_attachments/Computer_Science_knowledge/Programming_Paradigms/Object-Oriented.md)
- [ ] Functional
    - [ ] Functional Reactive Programming Frameworks
        - [ ] React Native
        - [ ] RxSwift
        - [ ] RxRealm, RxDataSources
        - [ ] Combine
  
---
  
### `🥁 Project Management knowledge`  
#### [`Project Management Metodologies`](Resources/Note_attachments/Project_Management__knowledge/ProjectManagement.md) 
- [X] [`Kanban`](Resources/Note_attachments/Project_Management__knowledge/Kanban.md) 
- [ ] [Scrum]()  
- [ ] [Agile]()  
- [ ] [Lean]()  
- [ ] [Waterfall]()  
- [ ] [Six Sigma]()  
- [ ] [PMI/PMBOK]()

---

## 😉 Feel free to text me

Mail: `aa_rubtsov@mail.ru`  
Instagram: [**`@lemonbrusher`**](https://www.instagram.com/lemonbrusher/)  
Twitter: [**`@Lemonbrusher`**](https://twitter.com/Lemonbrusher) 

## 🙏 Acknowledgments

I was inspired by [Syknapse](https://github.com/Syknapse/My-Learning-Tracker). He does cool things!
The tree is almost complete copy of [iOS-Developer-Roadmap](https://github.com/BohdanOrlov/iOS-Developer-Roadmap)

---

[**`⬆️ Return to the Tree navigation ⬆️`**](#-ios-developer-skills-tree-navigation)