Skip to content

learn-co-curriculum/BeLikeMike-swift

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Swift Work

If you can't explain it to a six year old, you don't understand it yourself. ~Albert Einstein

The goal here is to provide you with a list of tasks that should be completed by YOU. This isn't a race to the finish, but it also shouldn't be something you take lightly. Consistently approach the subject on a daily or every other day basis. Keep the planning of a mature adult, but retain the curiosity and attitude of a child. When a child is unable to spell the word "immediately", she will continue to eat her pop tarts, smile and go about her day. That's how I want you to approach this subject matter. Don't get frustrated when times get tough. Keep on smiling, eat those pop tarts and learn!

Step 1

The Swift Programming Language

You need to start reading this book. It's a must. It's a ... stop thinking about and click this link to download it must. It's important to make this book part of your daily routine. If you're reading Harry Potter for the 5th time.. it's time to put it down for a few months. Does it mean yo should stop leisurely reading all together? No. But it's important at this stage in your career, to keep the train moving. Bounce around between topics that challenge you, that are most unfamiliar to you. Don't stick around in your comfort zone only approaching topics most familiar to you. After a week or two of possibly finishing the book, re-read it. Re-read the sections that were challenging. Re-create some sections in code. This isn't about seeing it once and understanding it completely. It's about taking the necessary steps to get this knowledge in your head. Reading this book often and consistently is crucial.

Step 2

Build a side project. You don't have an idea? Make a weather app. Don't like that idea.. build a to-do list. To be honest, I would prefer that you put more thought into it and make an attempt to build something you have some passion about. You love board games, build an app that helps you play one of them. Are you obsessed with the planets? Build an app educating people about the planets. If you're still stuck, take a pen/pencil and grab a piece of paper and start drawing stuff. Draw an iPhone screen, draw some circles/squares in it.. see what comes to mind. If not, call up your Mom and say.. "Mom, if you could make an app.. what would it do?"

You should be working on this daily (or every other day). Draw/sketch out what this app looks like on paper and execute it in code. Instead of working along with a friend, you should be building this app on your own. It might be good to have a friend review your code here and there or to provide feedback as to the direction you're going in. Don't look to jump around between projects. Stay focused and realize the end goal is to produce an app in the App Store with code you're proud to speak about.

Step 3

Create an account on hackerank.com

Begin with the Data Structures section. It's important to stay on top of this. Solve at least one problem a day. Also, in your progression through this material.. feel free at times to go back and re-implement a problem you solved from a few days prior or week earlier to stay on top of the material. Similar with what I stated above, don't rush through these problems. If any of these problems brings up a core concept, make an attempt to implement it on a white board or in a Google Doc challenging yourself to solve it without using auto-complete from the compiler.

When a problem is asked, open up a playground file and make an attempt at solving it. These are questions that can and will very well be asked of you on an interview.

Step 4

Check out my YouTube channel here. I think it's important to watch someone step through code solving problems unfamiliar to you. Or they might be familiar to you and you want to see how someone else solves the problem. Don't just watch my video, look to see others on YouTube who communicate a topic you're struggling with.

Step 5

I pay for a subscription on https://www.raywenderlich.com and I highly recommend it. The videos they have amongst the countless articles they release are super helpful. This site is crucial to your success.

Step 6

https://www.objc.io Creates videos and has books that have helped me become the developer I am today. This site (and their books) are more on the advanced side. Feel free to not include this in your daily routine until you feel ready. The Advanced Swift book they have is incredible.

Step 7

This should be something you hold off on until you really find a comfortable groove with all of the above steps first. When that moment comes, you should learn about data structures and sorting algorithms (more computer science stuff) as they become crucial when going on certain types of interviews.

This YouTube channel explains it incredibly well. https://www.youtube.com/user/mycodeschool

Watch these videos and then implement what he's referring to in the video in Swift in a playground file.

Step 8

Have fun. Go get it!


Books I HIGHLY Recommend (Swift)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published