Skip to content

This site has been moved to https://shannonphu.github.io/advice/hackers-roadmap/. Learning new CS topics can be hard. Follow these tutorials step-by-step to learn something new. All these resources are free and open for anyone to use! Use as much or as little as you need to feel comfortable!

Notifications You must be signed in to change notification settings

shannonphu/hackers-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 

Repository files navigation

Hacker's Roadmap

Table of Contents

Full-Stack Web Development

Basic Frontend Web Development

Topics: HTML, CSS, Responsive Design, Javascript

  1. Learn HTML & CSS
  2. Project: Build your personal website using just HTML/CSS!
    • Don't worry if you don't know how to start! Revisit the tutorials and Google your questions! Starting is always the hardest part.
    • Optional for debugging: If you use Chrome, use Chrome Developer Tools by right-clicking and selecting "Inspect" to debug and edit any website in-browser
  3. Responsive Web Design
  4. Project: Upgrade your personal website to be responsive and use a nav-bar component!
  5. Javascript
  6. Project: Add animation, interaction, or a form to your website using Javascript!
  7. Congratz! You know enough to build static frontend websites! Keep practicing by making websites till you feel more comfortable.

Intermediate Frontend Web Development

This section is not required, but encouraged if time permits. If you do read anything here, read up on #2: Templating Engines and #4: Using CDNs.

  1. jQuery Overview
    • Note: jQuery is typically not used for large projects, and is seen more in small purely frontend projects. So having some idea of what it looks like is useful.
  2. Templating Engines
  3. CSS Preprocessor: Sass
  4. Using 3rd Party Javascript Libraries

Advanced Frontend Web Development

Topics: NPM, React.js, and Redux

  1. Installation
    1. Install npm and node.js
  2. Package/Dependency Managers
  3. React.js
  4. react-router
  5. Project: Build a restaurant menu using React.js while trying to separate the view from the underlying data.
  6. Redux
  7. Project: Build a new react app using redux.

Backend Web Development

  1. What is frontend & backend development
  2. Client-server Architecture Introduction & Analogy
  3. What is an API?
  4. What is HTTP?
  5. What is REST?
  6. Server-side Web Frameworks
  7. Databases: what & why
  8. Piecing everything together: Full-Stack Application Architecture
  9. Framework Specific Tutorials
    • Try choosing 1 particular framework (ie Node.js, Django, Ruby on Rails (RoR), etc.) and stick with it till you are comfortable with implementing the concepts you read about above. Then feel free to experiment with other frameworks to gain exposure in how they also implement the same thing.
    • Note: UCLA students tend to have more experience with Node.js due to UCLA ACM mentors/workshops/events, so it's recommended you learn Node.js first if you are a UCLA student for the larger support community.
    Node.js Django RoR
    Installation Installation Installation
    Video Tutorials Official Tutorials: Part 1 - 7 Michael Hartl's RoR Book
    Build a Web API Build a Web API Build a Web API
    Build an online shopping cart Build a blog Tutorial
  10. Project: Build your own full-stack web app using any frontend/backend technology you want!
    • Suggestions:
      • social media app
      • finance tracker app
      • event, food, etc. recommendation app
      • workout buddy finder app
      • Meetup, Twitter, Reddit, etc. clone
  11. Congratz! This completes your full-stack web development roadmap. Continue working on your own projects till you feel comfortable building your own API and web app.

iOS App Development

  1. Learn Swift
  2. iOS Core Concepts
  3. Guided Tutorials
  4. Introducing Other Types of View Controllers
    • in iOS apps you often put different view controllers together to create the full app storyboard (i.e. UITableViewController, UITabBarController, UICollectionViewController)
  5. CocoaPods
  6. Build your own app!
  7. Other Advanced Topics

Data Science & Machine Learning

Topics: Python, pandas, numpy, matplotlib, traditional ML models, guided & unguided projects

  1. Learn Python
  2. Setup virtualenv to create and work in a Python virtual environment
  3. Introduction to pandas
    • Note: you can follow along with as much of the tutorial as you want till feeling comfortable with Pandas
  4. Introduction to numpy
  5. Matplotlib Tutorial: Political Tweets
  6. Machine Learning Concepts
  7. Optional for more mathematical intuition: Andrew Ng's Stanford Coursera Course
  8. Guided Data Cleaning Project
  9. Guided Data Storytelling Projects
  10. Do your own project!
    • Choose a dataset from Awesome Public Datasets, clean the data, try to extract meaning/trends, and make predictions and classifications similar to the guided projects above.
  11. Congratz, you've learned and done enough to gain enough knowledge to onboard to more complex data science and machine learning projects in the future!

About

This site has been moved to https://shannonphu.github.io/advice/hackers-roadmap/. Learning new CS topics can be hard. Follow these tutorials step-by-step to learn something new. All these resources are free and open for anyone to use! Use as much or as little as you need to feel comfortable!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published