Skip to content

Jon1VK/p1xt-guides

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Science and Programming Curriculum

This is a modified version of P1xt's Computer Science and Programming guide. In this file I keep track of my progress in the curriculum and link all the stuff I have done during my learning journey. I try to complete this in 5 years but hopefully even faster.

I skipped some introductory parts of the original guide since I have already some programming experience from my studies in University of Turku. I also skipped some of the content related to mathematics as I graduated on May 2021 from University of Turku as Master of Science having mathematics as my major so I already have broad knowledge in mathematics.

I started working on this curriculum on January 2021 when I was still studying in university.

Currently I am working on Tiers 0 and 1 and the objective is to have completed them before the end of 2021.

Table of Contents

Junior developer

Intermediate developer

Advanced developer

Specializations

Advanced Specializations

Junior Developer

Tier 0 - Programming Prep

Complete the App Academy Open free online Fullstack Bootcamp.

Courses Status Evidence
Welcome To Coding Done -
Intro to Programming Done -
Software Engineering Foundations Done GitHub
Ruby Done GitHub
SQL Done GitHub
Rails Done GitHub
JavaScript Done GitHub
React Done GitHub
Full Stack Project Done GitHub / Live
MERN Stack Curriculum In Progress
Job Search
Docker
GraphQL
Data Structures and Algorithms

Tier 1 - Getting Started

Deepen understanding of Web Development and begin learning Computer Science topics.

Courses Status Evidence
CS50's Introduction to Computer Science Done CS50x Certificate
CS50's Web Programming with Python and JavaScript In progress
Algorithms Done -
Software Debugging Done -
Software Testing Done -
CS50's Mobile App Development with React Native
Reading Status Evidence
MDN HTML - Advanced topics Done -
MDN CSS - Reference - Key Concepts Done
MDN JavaScript - Tutorials - JavaScript Guide Done -
You Don't Know JS: Get Started Done
You Don't Know JS: Scope & Closures In Progress
You Don't Know JS: this & Object Prototypes
Practice Status Evidence
Complete all Classic Puzzles - Easy on CodinGame Done GitHub
Complete Google Kick Start 2018
Tier Programming Project
Tier Programming Project
Specialization Status Evidence
Complete a Specialization

Intermediate Developer

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
CS50's Introduction to Artificial Intelligence with Python
Software Construction
Intro to Algorithms
Introduction to Algorithms
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: Async & Performance
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

Tier 3 - Add More Rigor

Dive deeper yet, exploring algorithms and different programming paradigms

Courses Status Evidence
Software Architecture & Design
Structure and Interpretation of Computer Programs
Design and Analysis of Algorithms
Linear Algebra
Computability, Complexity & 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

Advanced Developer

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
Intro to Relational Databases
Differential Equations
Database Systems Concepts & Design
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

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

About

Programming curricula

Resources

License

Stars

Watchers

Forks