/computer-science-and-web-development

Computer Science and Web Development - A comprehensive path

Primary LanguageRacket

💻 Computer Science and Web Development - comprehensive

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.

Prerequisite

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!

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.

The list - work down it in order

Tier 1 - getting started

Tier 2 - develop more expertise

Tier 3 - add more rigor

Tier 4 - polish the rough edges

Bookmarks you should have

  • 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

Things to keep in mind

  • 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).

For each item you should:

  • 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

For four projects of your choosing

  • 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

Once per month - do two or more of the following:

If you need a breather from an item, do one of these, then get back to it

  • 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

Additional Resources

OpenStax - Open Source textbooks on a variety of University level topics, check here if you want a reference math or physics textbook


Attribution