Data Structures & Algorithms in Swift

share ›
‹ links

Below are the top discussions from Reddit that mention this online Udacity course.

Review and practice the skills technical interviewers expect you to know and learn how to explain your Swift solutions.

Reddacity may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Udacity. Thank you for using these buttons to support Reddacity.

Reddit Posts and Comments

0 posts • 1 mentions • top 1 shown below

r/cscareerquestions • comment
1 points • NattyBoi4Lyfe

For context, I'm a bootcamp grad who does iOS engineer and been in the industry for almost 3 years. I'm going to keep it straight with you...you need to be better. Straight up.

> Literally no jobs/internships for new iOS developers

Where are you located? I see that you've mentioned you're from New York. You need to stop looking for specific entry level roles and apply to roles you're interested in. This is how I got into the industry. I applied for a role that required experience, but got it anyways.

  • Focus on making a complex app or keep making medium sized apps that make use of technologies that companies are using such as SnapKit, AlamoFire, etc. Then figure out what problems the frameworks are aiming to solve and use your own native implementation. For example, if you see that people are using AlamoFire, make an app with two approaches...one of them with AlamoFire and another with native networking frameworks. Repeat.
  • Make an app using one paradigm and then make that same app using another paradigm
  • Get experience making applications. Look at open source code to see how they're structuring their code.
  • Develop multiple ways to do the same thing and learn how to communicate tradeoffs.
  • Expose yourself to higher level stuff like Concurrency/Multithreading, Memory Management, Core Data, Animations, etc etc. These aren't rocket science...literally shit you can read off the internet and play with. No joke.

This is how you develop experience, most notably the experience to understand tradeoffs between approaches.

> Swift is not the best language for algorithms for me

I think this stems from the fact that you don't know Swift deeply enough. You need to get intimate with the ins and outs of this language if you wish to separate yourself from those with professional experience.

  • Master the fundamentals like manipulating strings and collections
  • Understand pattern matching & error handling
  • Understand structs vs classes
  • Understand protocols and extensions
  • Understand generics
  • Understand enums
  • Building your own types
  • Understand custom operators and subscripts
  • Understand the functional programming

Really get to know Swift. Once you know what's at your disposal, I guarantee you'll have no issues learning data structures and algorithms. Which brings up my next point.

> Limited resources for learning swift algos

This isn't true. In my opinion, you don't need to learn "Swift" algorithms. You need to learn the concepts behind these data structures and algorithms.

Yes, I understand that examples in online courses are written in Java, C++, or Python, But that should not be an excuse for you. Yes it'll take you a bit of time to translate, but it gets easier the more you look at code in other languages. "hmm...this looks like a loop, but I don't understand the other stuff"...okay, then go look it up. Will take you less than 5-10 minutes. After you get an understanding for the basics of these languages, it'll be trivial to translate them into Swift. It'll make you better in the long run as it'll help you to look at the concepts beyond the syntax.

If you're hell bent on the resources that are strictly Swift, then today is your lucky day. This is all you'll need. If you need clarification on a specific topic, youtube or google it. Look for visual diagrams. Focus on the concepts and translate those concepts into the language of your liking.

  1. Swift Data Structures and Algorithms book - https://store.raywenderlich.com/products/data-structures-and-algorithms-in-swift
  2. Swift Data Structures and Algorithms course - https://www.udacity.com/course/data-structures-and-algorithms-in-swift--ud1011
  3. Swift Data Structures and Algorithms club - https://github.com/raywenderlich/swift-algorithm-club
  4. Swift Coding Challenges - https://www.hackingwithswift.com/store/swift-coding-challenges