- Full-Stack Web Development
- iOS Mobile App Development
- Data Science & Machine Learning
- Learn HTML & CSS
- Option 1:
- Option 2: Interneting is Hard
- 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
- Responsive Web Design
- What does responsive mean?
- Examples of responsive web design
- What is Bootstrap?
- Check out Bootstrap Components
- Note: Bootstrap's documentation has example code snippets which show you how to use different components/widgets which you can just copy and paste into your code.
- Bootstrap Grids Tutorial
- Bootstrap Nav Bar Tutorial
- Project: Upgrade your personal website to be responsive and use a nav-bar component!
- Note: you can use different frontend frameworks such as Foundation, Materialize, SemanticUI, etc if you prefer.
- Javascript
- Why JS?
- Codecademy: Learn JS
- Intro to the DOM
- Using JS to interact with a website
- Project: Add animation, interaction, or a form to your website using Javascript!
- Congratz! You know enough to build static frontend websites! Keep practicing by making websites till you feel more comfortable.
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.
- 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.
- Templating Engines
- CSS Preprocessor: Sass
- Using 3rd Party Javascript Libraries
- Installation
- Install
npm
andnode.js
- Install
- Package/Dependency Managers
- React.js
react-router
- Project: Build a restaurant menu using React.js while trying to separate the view from the underlying data.
- Redux
- Introduction
- Intro Code Example
- Video Series: egghead.io
- Code Example: Todo List
- Project: Build a new react app using redux.
- What is frontend & backend development
- Client-server Architecture Introduction & Analogy
- What is an API?
- What is HTTP?
- What is REST?
- Server-side Web Frameworks
- Databases: what & why
- Piecing everything together: Full-Stack Application Architecture
- 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.
- 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
- Suggestions:
- 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.
- Learn Swift
- iOS Core Concepts
- Option 1: Video Series
- Option 2: Apple's Official Tutorial
- Guided Tutorials
- Build a Card Matching Game: Video Series
- UITableViewController
- Build a SoundBoard App: Video Series
- Animation Tutorial
- 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
)
- in iOS apps you often put different view controllers together to create the full app storyboard (i.e.
- CocoaPods
- Build your own app!
- Other Advanced Topics
- Delegates & Protocols
- Memory Management
Topics: Python, pandas, numpy, matplotlib, traditional ML models, guided & unguided projects
- Learn Python
- Setup
virtualenv
to create and work in a Python virtual environment- Why use it?
- How to use
virtualenv
- What is
requirements.txt
?
- Introduction to
pandas
- Note: you can follow along with as much of the tutorial as you want till feeling comfortable with Pandas
- Introduction to
numpy
- Matplotlib Tutorial: Political Tweets
- Machine Learning Concepts
- Option 1:
- Option 2:
- Introduction:
- Linear Regression
- K Nearest Neighbors (kNN)
- Introduction
- Terminology, Applications, and Trade-offs
- Algorithm Visualization
- Code Example: Breast Cancer
- Code Example: Iris Flower
- Support Vector Machines (SVM)
- Logistic Regression
- K-Means
- Introduction
- Video: Clustering Introduction
- K-Means vs. kNN
- Video Series: Code Example
- Elbow method
- Code Example: Self-implementation of Clustering
- Additional Topics
- Principal Components Analysis: Dimensionality Reduction
- Decision Trees
- Introduction
- Code Example: Iris Flower
- Additional Topics
- Entropy
- Information Gain
- Neural Networks
- Do Sections 8-10 under "Learning Machine Learning"
- Credits: Adit Deshpande from ACM AI @ UCLA
- Optional for more mathematical intuition: Andrew Ng's Stanford Coursera Course
- Guided Data Cleaning Project
- Guided Data Storytelling Projects
- 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.
- 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!