Get ready to hit the ground running. We want to you to start learning iOS development from day one of Lambda's iOS program. To meet this goal, you may have to catch up with some critical core skills used in this program.
Here are the materials you need to review and prepare before class starts.
- Understand how the 15-week iOS Curriculum works. [https://youtu.be/P7qKjBbDkcY]
- Be able to use the Zoom online meeting tool. Watch these videos: Join a Zoom meeting: https://support.zoom.us/hc/en-us/articles/201362193-How-Do-I-Join-A-Meeting- and Zoom meeting controls: https://support.zoom.us/hc/en-us/articles/206618765-Zoom-Video-Tutorials.
- Establish an Apple ID and install Xcode. Visit http://appleid.apple.com and https://developer.apple.com/download/. Make sure to run Xcode, confirm that it works, and allow it to install supplemental command line tools
- Brush up on your Swift skills. Swift is the primary iOS development language. Practice your skills and grow your language mastery with these Swift resources.
- The Swift Programming Language (iBooks, free)
- Using Swift with Cocoa and Objective C (iBooks, free)
- Everyone Can Code: App Development with Swift (iBooks, free)
- Learn to Code (iPad only, Swift Playgrounds for iOS, free)
The text-based command line is a common platform for most development environments. Learning how to use this text-based interface enables you to interact directly with your computer's file system and access many developer-facing tools. Lambda's track focuses on the bash shell.
- Type and edit text into the bash command line interpreter shell [https://youtu.be/mq2RWXEfJ6s]
- Explain what the command line is and the advantages it offers [https://youtu.be/tCrkdcDycjA]
- Understand, navigate, and use shell history to repeat previous commands [https://youtu.be/urz7sdC556s]
- Navigate through the Unix file system and list directory files. [https://www.youtube.com/watch?v=mFh4vbOH81Q]
- Perform basic file and directory management tasks [https://www.youtube.com/watch?v=wvTTkiPyjCs]
These supplemental materials may be useful in learning more about this topic.
- Command line cheat sheet (via Tower): https://www.git-tower.com/blog/command-line-cheat-sheet/
- The Unix Family Tree: https://www.computerworld.com/article/2524660/operating-systems/the-unix-family-tree.html
Version control manages the distributed development of software, enabling collaboration, safe feature development, and snapshotted backups. Lambda's track uses the git revision control system and GitHub.com hosting.
- Understand and explain the goals of version control [https://www.youtube.com/watch?v=aKmW0oe_aEU&t=0s]
- Set up your git identity on your computer [https://www.youtube.com/watch?v=U5flh0sRGBU]
- Establish a global "git ignore" file [https://www.youtube.com/watch?v=0fzNSluYjNM]
- Sign up for GitHub [https://www.youtube.com/watch?v=GeyDJAwTEO8]
- Create a project starting at GitHub [https://www.youtube.com/watch?v=txRu0pWqR_c]
- Connect an existing project to GitHub [https://www.youtube.com/watch?v=D7ytcVKsSB0]
- Fork and contribute to a project [https://www.youtube.com/watch?v=ggP3jBpWZwQ]
- Create good commits [https://www.youtube.com/watch?v=0jO9BUQUcsY]
These supplemental materials may be useful in learning more about this topic.
- Git cheat sheet (via Tower): https://www.git-tower.com/blog/git-cheat-sheet
- 19 Git Tips for Everday Use: https://www.alexkras.com/19-git-tips-for-everyday-use/
Markdown defines a plain-text format used across the industry for writing rich text documents. Lambda's track uses the Common Mark standard from commonmark.org.
- Learn Markdown Basics: [https://youtu.be/rU7KfaEvYD4]
These supplemental materials may be useful in learning more about this topic.
- Common Mark: https://commonmark.org/help/
- MacDown open source Markdown editor: https://macdown.uranusjr.com
New developers often ask for help, mostly for technical issues, and often for material they are already capable of finding on their own. Finding your own answers and helping yourself is a skill set that nutures your own capabilities. Building these competencies involves insight into understanding what you've already tried, good search skills, and the ability to meticulously self-inspect. Problem solving isn't a human quality one is born with, it is a skill set that is nutured and grown.
- Smart Questions [http://www.catb.org/%7Eesr/faqs/smart-questions.html]
- Getting Answers [http://www.mikeash.com/getting_answers.html]
- What Have you Tried [http://whathaveyoutried.com/]
- Rubber Duck Problem Solving [https://blog.codinghorror.com/rubber-duck-problem-solving/]