Note: Modeled on this repo from @P1xt
Note: Curriculum taken from 💻 Guide: Computer Science and Web Development - comprehensive path.
Note Curriculum has moved to this repo.
The only things that you need to know are how to use Git and GitHub. Here are some resources to learn about them:
Note: Just pick one of the courses below to learn the basics. You will learn a lot more once you get started!
- Try Git
- Git - the simple guide
- GitHub Training & Guides
- GitHub Hello World
- Git Immersion
- How to Use Git and GitHub
There WILL be math. And, it's important. If the thought frightens you, or bores you, or has you thinking "this isn't for me", head to Khan Academy right now, sign up, and start devoting 30 minutes a day. This is an investment that will pay off. I'm not making this up.
- Book: You Don't Know JS: Up & Going
- Book: You Don't Know JS: Scope & Closures
- Book: You Don't Know JS: this & Object Prototypes
- Course: Learn to Code HTML & CSS
- Project: Clone this online resume template
- Course: Introduction to Computer Science - CS50
- Book: You Don't Know JS: Types & Grammar
- Book: You Don't Know JS: Async & Performance
- Book: You Don't Know JS: ES6 & Beyond
- Course: Learn to Code Advanced HTML & CSS
- Project: Portfolio from the frontend section of FCC
- Article: Read Project Specification Documents and get in the habit of including every bit of information it details that makes sense for a project in the README.md or other supporting documentation for your projects
- Course: Effective Thinking Through Mathematics
- Book: Setting Up ES6
- Book: JavaScript Allongé, the "Six" Edition
- Course: Getting Sassy with Sass
- Project: Build an online Towers of Hanoi solver that accepts a tower height between 5 and 10, and then displays a graphical (animated) solution, iteratively moving each piece until the puzzle is solved
- Course: How to Code: Simple Data
- Course: How to Code: Complex Data
- Book: DOM Enlightenment
- Project: Simon Game from the frontend section of FCC
- Project: Complete all Classic Puzzles - Easy on CodinGame in JavaScript
- Course: Programming for the Web with JavaScript on edX.
- Course: M101JS: MongoDB for Node.js Developers on MongoDB University
- The FCC Backend Certification - all projects, ignore the tutorials and just read the official docs if you want.
- Course: Calculus One
- Book: JavaScript Design Patterns
- Project: Clone this landing page
- Course: Mathematics for Computer Science
- Article: Read Algorithms and Flowcharts and then familiarize yourself with Pencil ... start flowcharting complex portions of your code logic as part of your documentation
- Project: Clone this Admin template using React, Angular, or Vue
- Book: Think Java - How to Think Like a Computer Scientist
- Book: Open Data Structures
- Course: Algorithms, Part I
- Course: Algorithms, Part II
- Project: Complete all challenges from the Code Jam Qualification Round 2015
- Project: Clone the front page of this website modifying it to highlight a different product or industry. Make special note of the secondary navigation bar at the top. Implementing that is the highlight of this project.
- Course: UX Design for Mobile Developers
- Course: Android Development for Beginners
- Project: Build the Pomodoro project from the FCC frontend curriculum - as an android app
- Book: Professor Frisby's Mostly Adequate Guide to Functional Programming
- Course: Software Testing
- Course: Software Debugging
- Project: Clone the Netflix interface using React, Angular, or Vue - pulling data from the Movie DB API or an API in a backend you create yourself.
- Course: Calculus Two: Sequences and Series
- Project: Complete all Classic Puzzles - Medium on CodinGame in JavaScript
- Course: Software Architecture & Design
- Project: Complete all challenges from the Code Jam Round 1A 2015
- Book: JavaScript Spessore
- Project: Clone this blog template - note that there are multiple pages
- Course: Databases
- Course: Agile Software Development
- Project: Complete all ES6 Katas here
- Course: Introduction to Cloud Computing
- Project: Complete all challenges from the Code Jam Round 1B 2015
- Project: Build FaceBook: yes, all the functionality. See here for a list of requirements you should fullfill.
- Course: Intro to Theoretical Computer Science
- Project: Complete all challenges from the Code Jam Round 1C 2015
- Course: Introduction to Probability - The Science of Uncertainty
- Project: Write the CSS Necessary to create your own 12 column based grid layout - see here for an example
- Course: Linear Algebra - Foundations to Frontiers
- Project: Complete all Classic Puzzles - Hard on CodinGame in JavaScript
- Course: Cryptography I
- Project: Complete all challenges from the Code Jam Round 2 2015
- Course: Cryptography II
- Project: Clone Twitter - yes, all the functionality
- Course: Computer Architecture
- Project: Complete all challenges from the Code Jam Round 3 2015
- Course: Introduction to Cyber Security
- Project: Complete all Classic Puzzles - Very Hard on CodinGame in JavaScript
- Course: Computer Graphics
- Course: Artificial Intelligence
- Project: Complete all challenges from the Code Jam World Finals 2015
- Course: Machine Learning
- Project: Design, implement, test, and deploy a game that is playable on the web, using the technologies of your choice. The only criteria are that it be playable online, and that it inculde a substantial AI component.
- Course: Operating Systems and System Programming
- Project: Create a node module that will convert markdown to properly formatted html
- Course: Compilers
- Course: Introduction to Natural Language Processing
- Project: Clone Learn Harmony
- Course: Computer Networks
- Course: Parallel Computer Architecture and Programming
- Project: Complete all problems from all rounds of the Distributed Google Code Jam 2015 - scroll down to the appropriate section
- Project: Clone Slack - the functionality should be complete to the point that one user can create a room, invite other users, and all users of that room can real-time chat. The room should be secure and inaccessible to anyone but those invited.
- Project: Create an npm module that bootstraps a fullstack application, with Node.js on the backend, and the SPA library/framework of your choice on the frontend. Include a full test suite and comprehensive build processes. Publish it to NPM.
- Project: Complete all problems from all rounds of the Google Code Jam 2016 - scroll down to the appropriate section
- Project: Extend your CSS grid framework to include the CSS and JavaScript required to implement 5 to 10 material design components
- surge.sh - deploy your frontend projects here (or use github pages)
- MDN - look HTML, CSS, and JavaScript stuff up here
- Heroku - deploy your fullstack projects here (or hyperdev)
- Firebase or mLab - database hosting
- GitHub - store your code here
- Material Design - lean on this when you need a structure for creating a minimalistic but awesome looking site
- Material Palette - for selecting color schemes
- Wirify - for quickly turning a web page into a wireframe so you can see the big picture instead of all the graphics
- have git commits every week, most of the days of the week
- try to get in one of @tropicalchancer's cohorts - be active once you're in
- try to pick one to two other languages to use regularly for solving algorithms and implementing projects in addition to JavaScript (good choices would be to pick one of C++, Java or Python and one of Golang or Rust).
- take notes, on a blog, in markdown, wherever, somewhere - not about what you read, or about what the instructor said - about what you learned
- build something - even if it's just a 20 line function that computes something you find interesting
- if you build something, document it and test it as appropriate
- do the exercises, build the projects - fully, not some scaled down halfassery
- Seek 1-3 other developers to collaborate on the project
- Coordinate with the team to complete the project
- Build the project out to a full production quality application
- Invite others who are not associated with the team to rigorously test the final product.
- Resolve any legitimate issues found
- Write up a comprehensive blog post or markdown entry in a repository detailing the high points of what you learned that month
- Watch this video and this video - on interviewing
- Read this - on crafting a resume
- Do one lesson from CUST104: Business Communications
- Live stream what you're working on for an hour. Or, lend a hand to someone who needs help by screensharing and walking them through it.
- Catch up on industry reading on sites like Joel on Software, Coding Horror, CSS Tricks, A List Apart, UX Myths, JavaScript Weekly
- complete a project from FCC that isn't included in this list
- pick a pet web development project you can code in a week and complete it
- code another android application
- write a guide for the FCC wiki or create a video tutorial and post it to YouTube
- learn golang or rust and complete any of the backend projects from FCC with that language as the backend language
- redo any of the algorithmic type projects you've already completed from the list, in a language other than JavaScript
- pick an open source project from Code Triage and contribute to fixing an open issue
- visit the FCC forum and pick a couple of the toughest questions, that people are having trouble getting help with, and help them
- code a flash cards application, for jotting quick notes you can use to quiz yourself later
OpenStax - Open Source textbooks on a variety of University level topics, check here if you want a reference math or physics textbook
- Many of the courses listed closely mimic the list from Open Source Society University - Computer Science
- Many of the topics selected to augment were inspired by Google Interview University
- Many of the projects were inspired by (or are directly taken from) Free Code Camp and The Odin Project
- Many of the projects were inspired by (or are directly taken from) Free Code Camp and The Odin Project