This is a list of some good resources I’ve come across in my time trying to learn programming. It isn’t comprehensive, but I’ve had some people ask about resources to look into, so I thought I’d put my list together in one place. If you have a good resource you think is worth adding, let me know and I’ll take a look.
Getting Started with Swift/iOS/MacOS
- The Swift Programming Language Guide Read this! Really. Download it on your phone and read one section every day while you’re eating breakfast instead of scrolling through Twitter or Instagram or whatever. It’ll take 15 minutes and you’ll be amazed at how much you pick up.
- Swift API Design Guidelines - How you should name things
- Developing Apps for iOS by Stanford - Stanford makes all the content from their CS courses available for free. This is a great one to get you started. Go learn all the Computer Science you want without paying for tuition.
- 100 Days of Swift - Paul Hudson is astonishingly prolific and has put tons of great resources out into the world. If you’re just getting started go through these 100 days and you’ll be well on your way.
- 100 Days of SwiftUI - Similar to 100 days of Swift, but focused on the SwiftUI framework. Why not do both?
- App Development with Swift - This introduction to developing iOS apps comes straight from Apple.
Keeping Up with Swift/iOS/MacOS
- Swift.org - Especially the forums
- Swift By Sundell
- Hacking With Swift
- Sarun W
- iOS Dev Weekly - Weekly newsletter from Dave Verwer with a lot of great resources and recent articles.
- Awesome Swift - list of libraries and resources
- NSHipster
General Computer Science & Programming
- Kahn Academy - Computer Science
- Kahn Academy - Hour Of Code
- Codecademy
- FreeCodeCamp (especially the Javascript Algorithm section)
- Swift Playgrounds (on iPad)
- Grokking Algorithms - Easy to read book on algorithms
Code Challenges/Technical Interview Prep
- Leet Code
- HackerRank
- Advent of Code - Yearly Christmas-themed coding challenges, each day in the month of December
- Project Euler - Math-based code challenges