Hello and welcome to Front End Engineering!
Congratulations on being selected for the Spring 2016 cohort of The Iron Yard, and welcome to the class. This is an intense program, and Kelly and I are really looking forward to meeting each of you in person and getting to know you better over the course of the upcoming 12 weeks. We're also really excited about teaching and mentoring you all, seeing what awesome things you'll build and what interesting ways you'll approach the assignments and projects in the class.
About the Class
If you're the type who wants to know where you're going before you leave, then likely you'll want to read the syllabus first, which lays out the basic roadmap of the class. Details are intentionally withheld, as the pacing of the class and material is very dependent on you, the students.
Here's a cold reality many of you already realize from your own experience: it's very difficult to learn a technical skill like programming from just watching videos and answering questions. There's an additional reality: it's also very difficult in a short amount of time. Wait, what? Isn't that what you're coming to us for? Well... Yes, but no.
Learning -- the productive acquisition of practicable skill -- comes slowly in fits and spurts, but a period of highly focused attention on the practice and development of a skill can allow you to make great leaps of progress. That is what this is: a highly focused period of intense, immersive activity. It's exciting, exhausting (even for us instructors), and empowering. However, in order to be most successful, you need to be primed for that experience.
I assume that you already know...
- ...how to use your Mac. -- You can easily find files, navigate through folders, delete things, install and open programs, and perform the appropriate actions with those programs. If this does not describe you, start with "Back to Basics".
- ...how to use a browser (like Google Chrome). -- You can navigate through web pages and sites, perform searches with Google or similar, and fill out forms on the internet. How else did you apply for this class, after all?
- ...how to perform meaningful, productive research. -- Given a topic that you're unfamiliar with, you can use your favorite search engine, library, or network of peers to discover accurate information about the topic. You may even be able to perform meta-research -- research about research -- on a topic to find out what others are looking for and discover the validity of your own questions.
- ...how to enumerate the steps of a problem and solution. -- Presented with a problem, you can -- to various degrees of detail and success -- generate a list of steps that describe the problem and several potential solutions. If you gave those steps to another reasonable person, that person could probably follow them to fulfill the solution.
- ...how to follow a sequence of steps to reproduce a problem or solution. -- Given a sequence of steps, you can follow them carefully and conscientiously to completion, producing similar results. This manifests in many different areas: baking (moreso than just cooking), mechanical repair, craftsmanship (moreso than artistry), farming or gardening.
- ...how to read and write basic HTML and CSS. -- Given explicit direction, you can reproduce a given design with 60% or more accuracy. There are probably lots of questions remaining about why you were told to use X or do Y, but you know what "a tag" means and how to apply "styles" to one.
If any of these skills are a struggle for you, that doesn't mean that you'll be a horrible developer. These aren't prerequisites for being a successful developer, just potential limitations in an environment as fast-paced as this one. If there's something in this list that scares you, ask us. Chances are we have some resources that you can use to get up to speed on one or more of these topics.
Priming the Pump
In order to be most successful in this (or any) course, your brain needs some initial exposure to the terms and concepts that we're going to cover (very quickly) in class. You don't need a lot -- 20 hours minimally but maybe 100 hours or so would be optimal -- and you don't need years of prior experience -- 30 to 90 days prior to class is sufficient.
As a first step, complete our prep-work assignment: 00 -- Ready Player One
. This serves as an initial gauge of your individual place in the learning process and gets you the initial exposure you need to be successful on Day 1. Please don't treat this (or any) assignment as a game level to be beaten; your goal is not just to complete the assignment once but to fulfill the learning objectives by becoming familiar with the material.
The Day-to-Day
Once the course begins, you'll use a similar process to submit assignments and demonstrate progress. Each assignment will be delivered as a README.md
file in the appropriately numbered folder, and any code that we produce together in class will be in that folder alongside it. You'll be responsible for opening an Issue in this repo and including links to your work for review. For details about that process, see About Assignments
in the wiki.