It's easy to feel lost in the world of tech or not know where to start. We created Hackschool to give you a place to start in this wonderful universe of possibilities. We wanted to fill the gaps between what is taught in class and what is needed to build change you'd like to see in the world. By the end, you'll have glimpsed a little bit of everything behind the websites you visit every day.
In this repository, you'll find a guide to all the topics we introduce this quarter, and links to helpful resources.
We hope you have a blast this quarter, and encourage you to reach out to any of us if you have any questions or comments.
- Week 2: Introduction to Front-End Development
- Week 3: Introduction to Back-End Development
- Week 4:
- Front-End Track: JavaScript and the DOM
- Back-End Track: What is an API?
- Week 5:
- Front-End Track: CSS Layout
- Back-End Track: More on Express
- Week 6:
- Front-End Track: A First Look at React
- Back-End Track: Asynchronous Actions
- Week 7:
- Front-End Track: A Second Look at React
- Back-End Track: Databases
- Week 8:
- Front-End Track: Dynamic Content with React
- Back-End Track: DevOps
- Week 9:
- Project work
- Week 10:
- Demo Day!
-
A text editor. We recommend Sublime Text 3 as a default choice, but VS Code and Atom are also excellent choices. If you already use another editor, that's perfectly fine. Don't worry about using the "best" one; any modern editor is more than enough for what we'll tackle this quarter.
-
Google Chrome: it has the best developer tools and the most market share of any web browser
Bonus items (if you have time; these are not needed for frontend web development):
-
Create a GitHub account
-
If you're on a Mac, you may later run into issues where software is missing. To prevent this, install Xcode from the App Store. Then run
xcode-select --install
in Terminal. This will install command-line tools that we'll need later on. Here's a tutorial with screenshots -
Download and install the latest version of Node.js.
-
(Advanced) If you're on a Mac, you'll eventually want Homebrew to manage installing command-line tools and n to manage different versions of Node.js.
-
http://jsbin.com/ for quick in-browser prototypes
-
Mancy if you want an interactive JavaScript prompt (called a REPL: Read, Evaluate, Print, Loop)
-
http://codepen.io/ to share ideas with other people
-
You'll find the Mozilla Developer Network (MDN) documentation very helpful for looking up the particulars of a built-in function or CSS property.
For HTML and CSS:
- Interneting is Hard is a beautiful and complete tutorial
For JavaScript:
-
Codecademy if you've never programmed before
-
A Reintroduction to JavaScript if you've touched JS a bit before
-
JavaScript 30 for a free 30-day series of daily mini-projects
-
You Don't Know JS to learn the language more deeply
-
freeCodeCamp for a massive, highly comprehensive curriculum covering everything you would need to know to start a new career as a software engineer