Hello! Congratulations on enrolling at CodeClan!
Welcome to CodeClan and the introduction to your pre-course work! The aim of the pre-course work is to prepare you for the intensive 16 week coding course.
This means by the end of the next 3 weeks, you should:
- Understand basic terminology related to software development.
- Be aware and understand some of the basic concepts of object-oriented programming.
- Be comfortable with the Mac computers and navigating the development environment.
- Have a typing speed that will help you keep pace in class.
We'll check-in with you a few times during the 3 weeks, but if you have a big blocker stopping you from making progress or any questions, don't hesitate to get in touch.
The pre-course work resources are not the course materials that you will use during the 16 weeks: it is exposure, not instruction. Learn as much of the terminology as you can before you start the course, as class is very immersive and it will help you in the first few weeks. When completing the pre-course work, the following is the order that you will tackle the content in:
- Week 1: Computer Familiarity, Terminal & Command Line, Git & Github
- Week 2 & 3: Ruby, HTML & CSS
The first thing is to make sure you're comfortable using a Unix-like computer. Your computer is going to be the tool of your trade, so it's essential that getting to be comfortable using it like a developer. Challenge yourself to learn a keyboard shortcut each day.
Terminal & Command Line
You're hopefully pretty handy already at using your computer's Graphical User Interface or GUI. However, as programmers we do prefer to use command-line access for lots of functionality - it can be a lot quicker, and it can be very powerful.
Git & Github
All the text files you create as a programmer are the source code of your applications. We use tools and utilities to help us manage these files. This gives us a safety net of backups, to make sharing with colleagues easier and to allow us to speed up our development. Of the many options we have, we're going to use a program called Git. Your Mac will have it installed.
There are many programming languages. We are going to introduce you to the world of programming using a language called Ruby. Ruby is one of the best programming languages for beginners. Using Ruby, you will learn about the fundamentals of programming. This is why we want you to spend a fairly large chunk of time during the pre-course work weeks learning about it. It will give you a better idea of what programming is about.
HTML & CSS
We're not going to spend time teaching the basics of HTML and CSS during our 16 weeks. The basic principles are yours to study during the pre-course work.
Practicing your typing is very important. An ideal minimum typing speed by the end of the three weeks would be 40-50 words per minute with a normal typing speed and 30-40 words per minute for Ruby code. Class can be quite fast paced at times, so to ensure you can keep up practicing your typing is essential. After all, practice makes perfect!
During the course, you will use Slack. Slack is a messaging service we use at CodeClan for communication between students and staff. Whilst completing the pre-course work, we encourage you to ask your fellow classmates questions using Slack. The benefits of using Slack are:
- You get to know your cohort by discussing your interests and problems.
- You can support each other through your pre-course work.
- All of the instructional team are on Slack so using their knowledge is highly recommended.
We will send you a link to Slack just before Meet Your Cohort and give you an intro on the day.
The pre-course work needs to be completed and we will check-in with you a few times during the three weeks, to see how you are doing and provide help with any queries or problems.
If you have any issues, responsibilities or commitments that mean you might struggle to complete the pre-course work, you need to contact us to let us know and we can offer extra support and guidance.
If you complete all the listed work, there is a ‘Keeping Warm’ section below with resources that you can use to practice. Make sure you revise what you have already done - you can complete the courses more than once. It is also essential you continue to practice typing to get your speed as high as possible.
Below is the list of resources that you need to use to complete the pre-course work, what you need to do and when you should do it by. The pre-course work is designed to last the three weeks before the main course starts. However, we understand that everyone works at different speeds and may have different home/work responsibilities.
Codecademy has time suggestions on how long it should take to complete each course, students find this is not necessarily representative of how long it takes to complete each course. We have set aside three weeks for the pre-course work to allow you time to complete the courses at a pace that is right for you. You do not need to complete any "Pro" paid courses.
- How to use a Mac: Learn the Mac In Under An Hour (https://www.youtube.com/watch?v=wSPisJXyjso)
- How the internet works:
- Read “How does the Internet work” (http://www.bbc.co.uk/guides/z3tbgk7)
- Read “How stuff works” (http://computer.howstuffworks.com/internet/basics/internet.htm)
- Read "What does the term 'full-stack programmer' mean?" (https://www.quora.com/What-does-the-term-full-stack-programmer-mean-What-are-the-defining-traits-of-a-full-stack-programmer)
- How to navigate the keyboard comfortably to find 'special' characters (Focus on: Copy, Cut and Paste, Undo and Redo, Save, Move to trash, Open spotlight tool):
- Keyboard shortcut cheat sheet (http://macmost.com/downloads/MacMostKeyboardShortcutsYosemite.pdf)
- Top 10 Mac keyboard shortcuts (http://www.cultofmac.com/317935/top-10-mac-keyboard-shortcuts/)
- Mac Keyboard Shortcuts (http://www.danrodney.com/mac/)
- Watch 25 Basic Mac Keyboard Shortcuts (https://www.youtube.com/watch?v=AdMuZses96Q)
- How to search using the Spotlight tools: Using "Spotlight" (https://support.apple.com/en-gb/HT204014)
- Learn some programming vocabulary. DON'T SKIP THIS! It's essential to understand the words we use to communicate as programmers (http://www.programmingforbeginnersbook.com/blog/expand_your_programming_vocabulary/)
Terminal & Command Line:
- Know what UNIX is: UNIX Tutorial for Beginners: Tutorials 1, 2 and 4 are good to do. You can do the other tutorials too if you're feeling keen but they're not necessary for the start of the course. (http://www.ee.surrey.ac.uk/Teaching/Unix/)
- How to use the Command Line:
- Codecademy's “Learn the Command Line course” (https://www.codecademy.com/learn/learn-the-command-line)
- David Baumgold’s “Getting to Know the Command Line” (http://www.davidbaumgold.com/tutorials/command-line/)
Git & Github:
- Understand the basics of source code version control and why it is used: Read “Git vs. GitHub” - we got you to register an account on GitHub. This website explains the differences between Git and Github. (http://jahya.net/blog/git-vs-github/)
- Know how to use Git: Work through “Codecademy's Learn Git course" (https://www.codecademy.com/learn/learn-git)
- Be able to type quickly and accurately:
Here's what you're aiming for in weeks 2 & 3:
- Send a screenshot of both your normal typing speed and your Ruby code typing speed by the Friday of week 2
- Create a simple website about yourself with two HTML pages and styled a little with CSS. Zip it up and send it to us by the Friday of week 3.
- Send another screenshot of both your normal typing speed and your Ruby code typing speed by the Friday of week 3.
- How to use Ruby to do basic programming:
- Work through Codecademy's “Learn Ruby” track. The track insists that you complete the "Blocs, Procs, and Lambdas" section, however you do not need to know this so don't worry about understanding this section. (https://www.codecademy.com/learn/learn-ruby)
- Once you've worked through the Codecademy lessons, read “Learn to Program by Chris Pine”. Many of our students have found this an excellent book. (http://www.amazon.co.uk/Learn-Program-Using-Ruby-Facets/dp/1934356360/). There is a shortened version available but the book is highly recommended. (https://pine.fm/LearnToProgram/chap_00.html)
HTML & CSS:
- Follow Codecademy's “Learn HTML" (https://www.codecademy.com/learn/learn-html)
- Follow Codecademy's "Learn CSS" (https://www.codecademy.com/learn/learn-css)
- HTML & CSS “Make a Website” (https://www.codecademy.com/learn/make-a-website)
- Once you've completed these lessons, create a simple website about yourself with two HTML pages and styled a little with CSS. Use the Atom text editor to create your website. Atom should already be installed on your computer and you can spend a bit of time reading their "Flight Manual" if you're unsure how to use it. Here's a few tips:
- Create a new folder called my_website on your computer (doesn't matter where).
- Open Atom and then go to File -> Open and select your my_website folder. Now you can use New File to create your HTML and CSS files inside the my_website folder.
- Be able to type quickly and accurately: