There are quite a few tasks and learning topics that are necessary to take care of before we can actually start learning how to be front end developers. Rather than using class time to get through these, I expect that you can accomplish and learn these things without assistance so that we can spend class time only on those things that are difficult to learn on your own. That being said, feel free to email me if you have any questions.
I don't believe you can really learn to program by watching a few videos and answering some questions (and if you believed that, you probably wouldn't be coming to The Iron Yard). However, skill acquisition takes a long time, and this work will help introduce you to some of the ideas and skills that will form the foundation of your in-person learning experience.
This work should be completed by May 1st and any deliverables should be emailed to me by then. I will assume that you have completed this work before class, so you will likely feel very far behind if you haven't finished when we start class on May 4th.
In order to complete some of these tasks, you will need to register for an account with Treehouse. Treehouse is free for 14 days (which should be more than enough to finish the required courses), and is $25/month after the trial. You may cancel your account after you have completed the required work, as we will not be using it during class, but it is a great resource so that is up to your discretion.
The following are the learning objectives for this prework, all of which are important requirements expected of a professional developer. Though they are not technically "programming" skills, they are crucially important to success both during the class and on the job.
WARNING: The OS X upgrade can take a bit of time to complete and will require a restart. Plan on doing this in the evening or over a lunch break.
HTML and CSS are the foundation of all the content of a webpage or web app. However, we will only be spending about a week on HTML and CSS, so you should have a basic foundation before the class starts.
Complete the Codecademy course at http://www.codecademy.com/tracks/web. This should take you approximately 7 hours, depending on your prior experience.
JavaScript is the programming language that allows web pages to react and change as we use them, instead of waiting on a page load to change content. It will form the backbone (no pun intended) of what we learn during the front end course, so it's important to have a general idea of how it works before we start. I recommended that you go through this course during our interviews, so if you've already completed it, feel free to move on to the next section.
Complete the Codecademy course at http://www.codecademy.com/tracks/javascript. This should take you approximately 10 hours, depending on your prior experience.
The command line is an interface to the internals of your computer, as opposed to the graphical user interface (GUI) that we commonly use. We will be using the command line extensively in our class, but the point of this prework is not to be an expert, just to start to get comfortable.
Especially if you've never used the command line before, you may want to go through these more than once. Make sure not just to read/watch, but really dive in and use the commands that you learn about.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
It is a command line tool that we will be using for every project we do in class. Again, the objective is not to become an expert before the class, but just to start to get comfortable.
Go through the Treehouse course on Git Basics
If you want to spend some more time with git, Git immersion is a great resource.
GitHub is a web-based hosting and communication service for software development projects that uses the Git revision control system.
Check out the GitHub Guides if you want to learn how to use GitHub prior to class.
Believe it or not, a lot of time in the first weeks of programming is spent fixing simple typing errors. It would not be ridiculous to suggest that many of you will spend 12-24 hours (or more) fixing typing errors during class.
If you don't know how to touch type (i.e. type without looking at the keyboard), try to spend some time each day working on touch typing (you can try http://www.keybr.com/). If you already know how to touch type, I would highly recommend working through the JavaScript lessons on http://typing.io. Typing for programming is actually a good bit different than everyday typing, so getting some practice in could potentially save you a ton of time the first few weeks of class.
Finally, if you're interested in learning how best to study and learn, many of the principles that I use to design our course can be found in the book Make it Stick(public library). It is not required for you to read this book, but it might help.