gbgabiola / progress

Progress towards my learning goals

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Progress towards my learning goals

In each folder, separated by courses, books, and others are my notes, related to what I'm studying, doing, or learning...

2018 -

My goals are to

  • focus and be proficient with web development with computer science concepts
  • learn while building useful projects
  • increase my confidence and join the network of communications
  • learn more by contributing to an open source project

Computer Science and Programming

Current Book: You Don't Know JS: Up & Going Current Course: The Complete 2019 Web Development Bootcamp

Junior developer

If you want to develop the skills necessary to be 'job ready' for a junior developer position - complete tier X, 0, and 1.

Tier X - Math Prep

Math will be relevant throughout the guide. Begin it as you start the guide, and incrementally work through it alongside the guide. (You need not finish this before moving to tier 0, or tier 1, but be actively working on it alongside them.)

Courses Status Evidence
Algebra I
Algebra II
Trigonometry
Precalculus

Tier X - Programming Prep Prep

A very gentle introduction, complete if feel you would benefit from it, skip if you'd rather dive right into tier 0

Courses Status Evidence
Intro to JS: Drawing & Animation 08/22/19 Notes
Intro to HTML/CSS: Making webpages 09/05/19 Notes
Intro to SQL: Querying and managing data WIP Notes
Advanced JS: Games & Visualizations
HTML/JS: Making webpages interactive
Capstone Status Evidence
Create a website highlighting what you learned and built during this tier. Use this as an opportunity to create a portfolio of your projects, notes, blog posts, etc.

Tier 0 - Web Development - Fullstack Bootcamp - App Academy Open

Complete the App Academy Open free online Fullstack Bootcamp.

Courses Status Evidence
Welcome To Coding 03/28/2020 Notes
Full Stack Online - Intro to Programming 05/20/2020 Notes
Full Stack Online - Software Engineering Foundations
Full Stack Online - Ruby
Full Stack Online - SQL
Full Stack Online - Rails
Full Stack Online - JavaScript
Full Stack Online - React
Full Stack Online - Full Stack Project
Full Stack Online - Job Search
Capstone Status Evidence
Create a website highlighting what you learned and built during this tier. Use this as an opportunity to create a portfolio of your projects, notes, blog posts, etc.

Tier 1 - Getting Started

Deepen understanding of Web Development and begin learning Computer Science topics

Courses Status Evidence
CS50's Introduction to Computer Science WIP
How to Learn Math: For Students
CS50's Web Programming with Python and JavaScript
Single Variable Calculus (more rigorous) or Khan Academy Calculus I and Khan Academy Calculus II (a more gentle introduction)
Algorithms
Software Debugging
Software Testing
CS50's Mobile App Development with React Native
Reading Status Evidence
MDN HTML - Advanced topics
MDN CSS - Reference - Key Concepts
MDN JavaScript - Tutorials - JavaScript Guide
You Don't Know JS: Up & Going
You Don't Know JS: Scope & Closures
You Don't Know JS: this & Object Prototypes
Practice Status Evidence
Complete all Classic Puzzles - Easy on CodinGame
Complete Google Kick Start 2018
Tier Programming Project
Tier Programming Project
Specialization Status Evidence
Complete a Specialization - note: you will have the opportunity to complete a specialization in each tier so don't worry overmuch about picking 'the right one'. That said, if you didn't do App Academy in Tier 0 Web Development - Fullstack Bootcamp - App Academy Open is highly recommended.

Intermediate Developer

If you want to develop the skills necessary to move beyond junior to intermediate developer - once you've finished tiers X, 0 and 1, proceed to complete tiers 2 and 3.

Tier 2 - Develop More Expertise

Dive deeper into the Computer Science topics which will prove useful throughout all programming

Courses Status Evidence
Mathematics for Computer Science
Introduction to Computer Science and Programming in Python
Introduction to Computational Thinking and Data Science
Software Construction
Introduction to Algorithms
Algorithms: Design and Analysis
Reading Status Evidence
MDN JavaScript - Tutorials - Advanced
MDN HTTP - Tutorials
MDN Web Components
You Don't Know JS: Types & Grammar
You Don't Know JS: ES6 & Beyond
JavaScript Allongé, the "Six" Edition
D3 Tips and Tricks v3.x
Practice Status Evidence
Complete all Classic Puzzles - Medium on CodinGame
Complete all ES6 Katas here
Complete Google Kick Start 2017
Complete Google Code Jam 2018
Complete FaceBook Hacker Cup 2017
Tier Programming Project
Tier Programming Project
Specialization Status Evidence
Complete a Specialization - note: you may elect to complete another round of a specialization you selected in a prior tier, or branch out and complete a different specialization

Tier 3 - Add More Rigor

Dive deeper yet, exploring algorithms and different programming paradigms

Courses Status Evidence
Software Architecture & Design
Probabilistic Systems Analysis and Applied Probability
Algorithms: Design and Analysis, Part 2
Multivariable Calculus (more rigorous) or Khan Academy Multivariable Calculus (a more gentle introduction)
Structure and Interpretation of Computer Programs
Design and Analysis of Algorithms
Artificial Intelligence
Reading Status Evidence
Official docs for Angular, React, or Vue
Jest Official Docs
JavaScript Design Patterns
Understanding ECMAScript 6
Professor Frisby's Mostly Adequate Guide to Functional Programming
Functional Light JS
Essential TypeScript
Practice Status Evidence
Complete all Classic Puzzles - Hard on CodinGame
Write the CSS Necessary to create your own 12 column based grid layout - see here for an example
Study The official Sass docs and convert your 12 column based grid layout to Sass
Complete All Tracks (Basic Programming, Data Structures, Algorithms, Math, Machine Learning, and Python) on HackerEarth
Complete Google Kick Start 2016
Complete Google Code Jam 2017
Complete FaceBook Hacker Cup 2016
Tier Programming Project
Tier Programming Project
Specialization Status Evidence
Complete a Specialization - note: you may elect to complete another round of a specialization you selected in a prior tier, or branch out and complete a different specialization

Senior Developer

If you want to develop the skills necessary to move beyond intermediate to senior developer - once you've finished tiers X, 0, 1, 2, and 3, proceed to complete tiers 4 and 5.

Tier 4 - Polish the Rough Edges

Wrap up by taking a look at some specific areas of computing to complete a breadth of knowledge that can be leveraged regardless of specialty

Courses Status Evidence
Computation Structures
Introduction to Databases - all mini-courses
Differential Equations
Computer System Engineering
Performance Engineering of Software Systems
Mining Massive Datasets
Compilers
Reading Status Evidence
How to Design Programs
97 Things Every Programmer Should Know - Extended
Think Java - How to Think Like a Computer Scientist
Open Data Structures
Node.js Docs
Practice Status Evidence
Complete all Classic Puzzles - Very Hard on CodinGame
Study The Google Android Developer Guide and build the Android App of your choice
Complete Google Kick Start 2015
Complete Google Code Jam 2016
Complete FaceBook Hacker Cup 2015
Tier Programming Project
Tier Programming Project
Specialization Status Evidence
Complete a Specialization - note: you may elect to complete another round of a specialization you selected in a prior tier, or branch out and complete a different specialization

Tier 5 - Specialize

Wrap up by diving more deeply into your specialization(s). If you haven't already done an Advanced Specialization, strongly consider including it in this tier. Beyond that, feel free to laser focus on one specialization, practicing more in that area, or branch out and develop expertise across multiple specializations.

Practice Status Evidence
Complete a Specialization
Complete a Specialization
Complete a Specialization
Complete a Specialization
Complete a Specialization
Capstone Status Evidence
Create a website highlighting what you learned and built during this specialization. Use this as an opportunity to create a portfolio of your projects, notes, blog posts, etc.

Specializations

Each tier has a 'specialization' based capstone which involves further study and extensive practice in an area of your choosing. Fullstack Bootcamp - App Academy Open is highly recommended (but not required) as the first specialization. Beyond that, feel free to complete a different specialization each tier, or dive deeply into a specialization by selecting it during multiple tiers to explore it in greater detail and further develop your specialized profile.


Advanced Specializations

The following specializations rely on knowledge gained in earlier tiers. Additionally, they are typically 'more difficult' or will require more work than those listed above.


Tier Programming Projects

Both tiers and specializations will require 'Tier Programming Projects', you are free to select any programming project you want. To help combat the 'but I don't know what I want' roadblock, Tier Programming Project Ideas lists a variety of ideas.

Note: In specializations, the Tier Programming Projects might have extra criteria (such as 'if you're doing a mobile app development specialization your projects must be mobile apps')


Extras

Courses Status Evidence
Build Responsive Real World Websites with HTML5 and CSS3 07-06-18 N/A
Advanced CSS and Sass: Flexbox, Grid, Animations and More! 07-31-18 Notes
How to Use SMART Goals - Achieve More in Less Time 08-10-18 Notes
How to Contribute to an Open Source Project on GitHub 10-16-18 N/A
Pre-Programming: Everything you need to know before you code 10-19-18 Notes
Introduction to JavaScript 11-03-18 N/A
JavaScript Basics for Beginners 11-05-18 Notes
Learning How to Learn: Powerful mental tools to help you master tough subjects 11-18-18 Notes
Modern HTML & CSS From The Beginning (Including Sass) 07-23-19 Notes
The Complete 2019 Web Development Bootcamp 09-14-19 Notes
Learn JavaScript: Full-Stack from Scratch 02-23-20 Notes
CS50's Understanding Technology 06-26/20 Notes
Modern JavaScript From The Beginning WIP Notes
The Complete JavaScript Course 2018: Build Real Projects!
The Web Developer Bootcamp
The Advanced Web Developer Bootcamp
The Complete Web Developer in 2018: Zero to Mastery
The Complete Web Developer Course 2.0
The Modern Python 3 Bootcamp
The Ultimate MySQL Bootcamp: Go from SQL Beginner to Expert
JavaScript: Understanding the Weird Parts
Learn and Understand NodeJS
ES6 Javascript: The Complete Developer's Guide
Node with React: Fullstack Web Development
The Complete Developers Guide to MongoDB
Webpack 2: The Complete Developer's Guide
Modern React with Redux
Advanced React and Redux: 2018 Edition
React 16 - The Complete Guide (incl. React Router 4 & Redux)
The Complete React Web Developer Course (with Redux)
The Complete Node.js Developer Course (2nd Edition)
Complete Python Bootcamp: Go from zero to hero in Python 3
Intro to JavaScript

Books Status Evidence
A Smarter Way to Learn JavaScript WIP Notes
The Complete Software Developer's Career Guide WIP Notes
The JavaScript Handbook WIP Notes

Projects Status Evidence
Basic Project 07-07-18 Omnifood
Basic Project 07-19-18 Natours
Basic Project 07-26-18 Trillo
Basic Project 07-31-18 Nexter
Basic Project 07-10-19 HBS
Basic Project 07-13-19 bridgeledger
Basic Project 07-19-19 TechNews
Basic Project 07-23-19 johndoe-portfolio
Basic Project 08-05-19 tinderPet
Build a Tribute Page 03-09-20 Brad Traversy | Tribute Page
Build a Survey Form 03-11-20 FCC Survey Form
Build a Product Landing Page 03-12-20 UPlayer | Product Landing Page
Build a Technical Documentation Page 03-20-20 JS Documentation | Technical Documentation Page
Build a Personal Portfolio Webpage 03-24-20 FCC Portfolio | Personal Portfolio Webpage

Additional books can be found here


Helpful links


Credits: P1xt

About

Progress towards my learning goals

License:MIT License


Languages

Language:HTML 80.2%Language:JavaScript 12.7%Language:CSS 5.4%Language:EJS 1.3%Language:SCSS 0.4%