Table of Contents


Full-Stack Web Development

Basic Frontend Web Development

Topics: HTML, CSS, Responsive Design, Javascript

  1. 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. 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
    • 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. 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  
  9. 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
  10. 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. Important Concepts
  4. Guided Tutorials
  5. 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)
  6. CocoaPods
  7. Build your own app!
  8. Other Advanced Topics

Data Science & Machine Learning

Topics: Python, pandas, numpy, matplotlib, machine learning concepts and project tutorials

  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. Feature Engineering Tutorials
  8. Data Storytelling Tutorials
  9. 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.
  10. Congrats, you’ve learned and done enough to gain enough knowledge to onboard to more complex data science and machine learning projects in the future!

DevOps