Getting Started
Month 0

Month 0 is the first month of the curriculum here at Code School. It is here to let you prepare for what is to come. It also gets you to a point where you understand the basic fundamentals of computer science, computers, and the internet.

The general plan of Month 0 is to install a text editor on your computer that will help you write code, install related technologies such as Git, and take an introduction to computer science course working on fundamentals.

Resources for Month 0 below:

  1. Take this quick course on How to Learn.
  2. Install Visual Code Studio on your computer.
  3. Refer to this video on the basics of using VS Code.
  4. Install Git.
  5. Learn the basics of Git using this video.
  6. Take this course: CS50 Introduction to Web Programming. Make sure to complete the accompanying problem sets.

After you feel confident with the above steps, feel free to move on to Month 1. Keep in mind that although it is listed as "months," you are to study at your own pace. You might take 2 weeks to finish the above. Or you might take 2-3 months. It's up to you.

Month 1

Month 1's goals are to get you started learning front-end technologies such as HTML5, CSS3, and basic DOM manipulation using Javascript. By the end of Month 1, you should be able to make a decent portfolio website showcasing some of your project websites.

Complete the following exercises and tutorials in Visual Studio Code.

Resources for Month 1 below:

  1. Shay Howe's course on HTML and CSS is a great comprehensive resource for learning how to create a website from scratch. Be sure to follow along.
  2. Complete the projects on freeCodeCamp's Responsive Web Design Certification. Feel free to complete the exercises in the corresponding sections as needed for review. Only the projects are required. Complete them in your own programming environment(Visual Studio Code) and then put into CodePen.
  3. Complete this game on learning CSS Flexbox.
  4. Complete this game on learning CSS Grid.
  5. Start working through freeCodeCamp's section on Javascript: only the basic Javascript section at this point
  6. Read the first 6 chapters of Eloquent Javascript and work through the examples and exercises of each chapter.
  7. Begin reading through YDKJS. Don't rush through these, it is a lot of content. Re-read as needed. Don't feel compelled to read it all. It is just an additional resource for learning Javascript.
Month 2

In month 2, we dive deep into Javascript. After this, we'll feel comfortable with object-oriented programming and functional programming. Our websites will be dynamic.

Resources for Month 2 below:

  1. Finish the Javascript section in freeCodeCamp. Complete the accompanying projects.
  2. Continue reading through Eloquent Javascript and YDKJS as needed.
  3. Add to your portfolio website to include the things that you learned. You are free to add some creative flair.
  4. At the end of this, feel comfortable with the following:
    • The this keyword
    • OOP (object-oriented programming)
    • Functional programming
    • Inheritance
    • DOM Manipulation
    • Asynchronous code
Month 3

This month, we'll dive further into front end technologies such as React, Redux, Node.js, MongoDB, and more.

The focus of this month is to complete the Full Stack Open class.

It is a comprehensive class that will take you from where you are to completing a full stack web app.

You are free to take CS50's Web Programming with Python and Javascript as well.

Month 4 and Onwards

Month 4 is for YOU. Start making a project that you've been wanting to do. If you have no ideas, here is a list of ideas.

Continue to take freeCodeCamp and finish the certifications as you feel more confident with each topic. Complete the accompanying projects as well.

Start to review data structures, algorithms, and different implementations of each. Here is a good list on what you should know before starting interview prep.

Look at LeetCode and start solving through them. Look at other's solutions after solving it yourself. Think of ways your code could improve and how their code is better in terms of speed and ease of reading.

Summary of the Months
Month 0 Git, VS Code, CS50
Month 1 HTML, CSS, basic Javascript
Month 2 Advanced Javascript
Month 3 Full Stack Open, CS50 Web
Month 4+ Projects, freeCodeCamp, data structures, algorithms