In this path, you'll first learn Swift and iOS Development from scratch. You don't need to have any previous knowledge of programming, Swift or iOS. Next, you'll learn some of the most useful algorithms for solving challenging problems. Topics covered include sorting, searching, dynamic programming, graph algorithms and various data structures to support these algorithms such as heaps and disjoint sets. This path makes a complete beginner proficient in solving problems for coding interviews or competitive programming.