Welcome to Byte Academy
=======================

We've put together this program to get you all on the same footing before entering. You will be learning some basic git, Unix, JavaScript, and Python. Our goal is for you hit the ground running when you come to campus.

The resources will build upon each other to whatever extent they can. A lot of it is horizontal to other skills. So if you are stuck on something, feel free to move on and come back to it later.

## Step 1

Congratulations on making a GitHub account.

Pick a text editor to use. We recommend [Sublime](http://www.sublimetext.com/) or [Atom](https://atom.io/).

Make sure [Python 3.4.2](https://wiki.python.org/moin/BeginnersGuide/Download) and [Node](http://nodejs.org/download/) are installed on your computer

## Step 2

Do these tutorials:  
* [Command Line Crash Course](http://cli.learncodethehardway.org/book/)
* [Try git](http://try.github.io)
* [Git Immersion](http://gitimmersion.com/)
* [Code Academy HTML/CSS](http://www.codecademy.com/en/tracks/web).

The tutorials below are not needed to do the rest of the pre-work, but will be necessary for your time at Byte Academy:  
* [SQL Course](http://www.sqlcourse.com/)
* [SQL Course 2](http://www.sqlcourse2.com/)

## Step 3

Work through the practice problems provided in this repository. We recommend starting with [front end](https://github.com/ByteAcademyCo/Prework/tree/master/front-end), moving to [JavaScript](https://github.com/ByteAcademyCo/Prework/tree/master/javascript), and finishing with [Python](https://github.com/ByteAcademyCo/Prework/tree/master/python).

Here are some resources to help you on assignments, as well as good reads.

#### Front End

* [Guide to wireframing](http://webdesign.tutsplus.com/articles/a-beginners-guide-to-wireframing--webdesign-7399)  
* [A compilation of wireframing articles](http://www.gracesmith.co.uk/get-wireframing-the-all-in-one-guide/)  

#### JavaScript

* [Javascript Loops](http://www.w3schools.com/js/js_loop_for.asp)
* [Javascript Object Literals](http://www.w3schools.com/js/js_objects.asp)
* [Javascript Functions](http://www.w3schools.com/js/js_functions.asp)
* [Javascript Constructors and the new keyword](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new)
* [Read through the design patterns in this book](http://addyosmani.com/resources/essentialjsdesignpatterns/book/#designpatternsjavascript)
* [Javascript Constructor and Prototype](http://pivotallabs.com/javascript-constructors-prototypes-and-the-new-keyword/)
* [JQuery API Docs](http://api.jquery.com/)
* [jQuery Best Practices](http://gregfranko.com/jquery-best-practices/#/)

#### Python

* [Python Cheatsheet](http://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf)

#### Miscellaneous

* [Rubular (for regex)](http://www.rubular.com)
* [Wikipedia on pair programming](http://en.wikipedia.org/wiki/Pair_programming)

#### Good Videos

* [Simplicity Matters](https://www.youtube.com/watch?v=rI8tNMsozo0)
* [Hammock Driven Development](https://www.youtube.com/watch?v=f84n5oFoZBc)

#### Good Books

* [Pragmatic Thinking and Learning](http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050)
* [Make It Stick](http://www.amazon.com/Make-It-Stick-Successful-Learning/dp/0674729013)
* [How to Solve it](http://www.amazon.com/gp/product/4871878309/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=1944687442&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=069111966X&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=0R8YW9P9CKC2SGH3JK89)
* [The Pragmatic Programmer](http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
* [Code Complete](http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?s=books&ie=UTF8&qid=1417644559&sr=1-1&keywords=code+complete)
