Web Development Study Guide
The following are free courses
They are ordered and included in a convenient checklist.
Courses
Intro to Programming(Epicodus)
(Pre-Work) Getting Started at Epicodus
- Weekend Learn How to Program
- Weekend Growth Mindset
- Weekend Making Epicodus an Inclusive Place
- Weekend Making the Most of Code School
- Weekend Pair Programming
- Weekend How to Ask for Help
- Weekend Curriculum Details: Intro to Programming
- Weekend Weekly Schedule
- Weekend Independent Projects and Code Reviews
(Pre-Work) Getting Started with Intro to Programming
- Weekend Welcome to Intro
- Weekend Introduction to the Command Line
- Weekend Interacting with the Command Line
- Weekend Practice: Command line
- Weekend Text Editor: Atom
- Weekend Git and GitHub
- Weekend Git Configurations
- Weekend Homework: Installation and Setup
(Week 1) Git, HTML and CSS
- Weekend Git, HTML and CSS Objectives
- Monday Practice: Git Project Setup
- Monday Practice: Tracking Changes with Git
- Monday Practice: GitHub Remote Repositories
- Monday Practice: Command Line, Git, GitHub
- Monday Hypertext Markup Language (HTML)
- Monday HTML: Indentation and Spacing
- Monday Practice: Indentation and Spacing
- Monday HTML: Block Elements
- Monday HTML: Block Elements Part 2
- Monday Practice: Block Elements
- Monday HTML: Inline Elements
- Monday Practice: Inline Elements
- Monday Homework: READMEs
- Tuesday Practice: READMEs
- Tuesday CSS: Styling Text
- Tuesday Debugging HTML and CSS
- Tuesday Practice: Styling Text
- Tuesday GitHub Pages
- Tuesday Practice: GitHub Pages
- Tuesday Git Branching
- Tuesday Git Merging
- Tuesday Practice: Branching and Merging
- Wednesday Styling with Classes
- Wednesday Practice: Styling with Classes
- Wednesday Divs and Spans
- Wednesday Practice: Divs and Spans
- Wednesday Using Floats
- Wednesday Practice: Using Floats
- Wednesday Box Model
- Wednesday Practice: Box Model
- Wednesday Cascading
- Wednesday Practice: Cascading
- Wednesday Class vs Id
- Wednesday Media Queries and Responsive Design
- Wednesday Practice: Media Queries and Responsive Design
- Thursday Practice: CSS Diner
- Thursday Introduction to Bootstrap
- Thursday Bootstrap: Downloading & Installing
- Thursday Bootstrap: Basic Elements
- Thursday Practice: Installing and Implementing Bootstrap
- Thursday Bootstrap: Grid System
- Thursday Bootstrap: Customizing Styles
- Thursday Practice: Grid System, Custom Styles and More
- Thursday Bootstrap: Navigating Documentation
- Thursday Practice: Re-Create a Site with Bootstrap
(Week 2) JavaScript and jQuery
- Weekend Welcome to JavaScript and jQuery
- Weekend Documentation and Resources
- Weekend JavaScript & jQuery Objectives
- Weekend Arithmetic
- Weekend Practice: Arithmetic
- Weekend JavaScript Variables
- Weekend Practice: Variables
- Weekend Strings
- Weekend Practice: Strings
- Weekend Methods
- Weekend Practice: Methods
- Weekend String Methods
- Weekend Practice: String Methods
- Weekend Assignment and Comparison Operators
- Weekend Practice: Assignment and Comparison Operators
- Weekend Data Types
- Weekend Practice: Data Types
- Monday Functions
- Monday Practice: Functions
- Monday Parsing Integers
- Monday Writing Functions
- Monday JSFiddle
- Monday Practice: Writing Functions
- Monday Business and User Interface Logic
- Monday Calculator: Business Logic
- Monday Practice: Calculator Business Logic
- Monday Homework: Introduction to jQuery
- Monday Practice: Bonus Function Writing
- Tuesday Simple Effects
- Tuesday Practice: jQuery Effects
- Tuesday jQuery: Add & Remove Classes
- Tuesday Practice: Add & Remove Classes
- Tuesday More jQuery Basics Practice
- Tuesday DOM Manipulation and Traversal
- Tuesday Practice: DOM Manipulation and Traversal
- Tuesday Homework: Variable Scope
- Tuesday Homework: Forms
- Wednesday Practice: Forms
- Wednesday Debugging in JavaScript
- Wednesday Calculator: User Interface
- Wednesday Practice: Calculator User Interface
- Wednesday Form Input Types
- Wednesday Practice: Form Input Types
- Wednesday Homework: Branching
- Thursday Practice: Branching
- Thursday More Branching
- Thursday Practice: More Branching
- Thursday Git: Rewriting History with Rebase
- Thursday Practice: Triangle Tracker
- Thursday Calculator with Branching
- Thursday Practice: Calculator and More
(Week 3) Arrays & Looping
- Weekend Arrays & Looping Objectives
- Weekend Additional Pair Programming Tips
- Weekend JavaScript Arrays
- Weekend Comparing and Cloning Arrays
- Monday Practice: JavaScript Arrays
- Monday Looping
- Monday Practice: Looping
- Monday Array Mapping
- Monday Practice: Array Mapping
- Monday Practice: forEach and Map
- Monday Homework: Looping with For
- Tuesday Practice: Looping with For
- Tuesday Gathering Data with Checkboxes
- Tuesday Transportation Survey, Quiz of Choice
- Tuesday Homework: Behavior-Driven Development
- Tuesday Homework: Leap Year - Part 1
- Tuesday Homework: Leap Year - Part 2
- Wednesday Practice: Leap Year, Pig Latin
- Thursday Practice: Roman Numerals
- Friday JavaScript Arrays & Looping Independent Project
(Week 4) Object-Oriented JavaScript
- Weekend Object-Oriented JavaScript Objectives
- Weekend JavaScript Objects
- Weekend Literal Notation vs Constructors
- Weekend Constructors and Prototypes
- Weekend Address Book: Constructor
- Weekend Address Book: Prototype
- Weekend Intro Team Week: Project Pitch
- Monday Practice: Address Book, Places You've Been and To Do
- Monday Homework: Objects within Objects
- Monday Homework: Address Book Objects within Objects - Business Logic
- Monday Homework: Address Book Objects within Objects - User Interface Logic
- Monday Homework: Address Book Prototype 2
- Monday Optional Homework: Address Book Refactoring
- Tuesday Practice: Address Book, Movie Tickets, Bank Account
- Wednesday Game of Choice (Two-Day project)
(Week 5) Team Week
- Weekend Team Week Objectives
- Weekend Git with Collaborators: Setup
- Weekend Git with Collaborators: Workflow
- Monday Coding in Larger Teams
- Monday Group Project Development
- Friday Team Week Presentations and Code Review
CSS
(Pre-Work) Getting started with CSS
(Week 1) Moving forward with CSS
- Weekend Moving forward with CSS objectives
- Weekend All about CSS
- Weekend Box-Sizing: border-box
- Weekend Centering with CSS
- Weekend Block-level vs. inline
- Monday Top 8, Div playground, Landing pages, Event flyer
- Monday Styling with pseudo-classes
- Monday Using ::before and ::after pseudo-elements
- Monday Positioning
- Tuesday Pinboard and endangered species infographics
- Tuesday Floats
- Wednesday 2-column layout, Treehouse library, "About me" page
- Wednesday Normalizing your CSS
- Wednesday Selector level up
- Wednesday Styling HTML forms
- Wednesday Tables
- Thursday Contact form, Films table, Scores table, Nutrition facts
(Week 2) Responsive design
- Weekend Responsive design objectives
- Weekend Media queries
- Weekend Responsive layout
- Weekend Responsive wireframing
- Monday Media queries practice, fluid images, Baker Street, fan page
- Monday Responsive design patterns
- Tuesday Patterns and parks
- Tuesday Using Bootstrap's grid
- Wednesday Bootstrap grid practice, Bagdad, Food Sense, OMSI
- Thursday Choose your own adventure: Frameworks and jQuery
- Thursday Weekly Technical Interview Prep: Responsive Design
(Week 3) Sass
- Weekend Sass Objectives
- Weekend What is Sass?
- Weekend Installing and using Sass
- Weekend Learning Sass
- Monday Sass practice
- Monday Learning to think modularly
- Tuesday CSS to Sass, library redux
- Tuesday Structuring your Sass project
- Tuesday Incorporating Bourbon and Neat
- Wednesday The Guardian, Facebook, periodic table (2-day project)
- Thursday Weekly Technical Interview Prep: Sass
- Friday Sass independent project
(Week 4) Beyond the basics
- Weekend Beyond the basics objectives
- Weekend What is Flexbox?
- Weekend Cross-browser compatibility, vendor prefixes, autoprefixer
- Monday Flexbox Defense, flexy panels, dice, practical examples
- Monday Using Flexbox -- other practical examples
- Tuesday Practical examples, Nike, Album Art Exchange
- Tuesday Understanding CSS transitions and transforms
- Tuesday Understanding CSS animations
- Wednesday CodePen adventures
- Thursday Laying the groundwork for a personal portfolio (solo day)
- Friday Beyond the basics independent project
(Week 5) Team Week
- Weekend Team Week Objectives
- Monday Git with Collaborators: Setup
- Monday Git with Collaborators: Workflow
- Friday Team Week Presentations and Code Review
JavaScript
(Pre-Work) Getting Started with JavaScript
- Weekend Welcome to JavaScript
- Weekend JavaScript Documentation and Resources
- Weekend Installing Node.js
- Weekend JavaScript Installation and Setup Homework
(Pre-Work) Introduction to JavaScript
- Weekend Review: Object-Oriented JavaScript
- Weekend Build Tools
- Weekend Object Oriented JavaScript with Node Modules
- Weekend Introducing Npm and Gulp
- Weekend Writing Gulp Tasks
- Weekend Using Browserify with Gulp
- Weekend Concatenation
- Weekend Minification
- Weekend Build and Clean Tasks
- Weekend JSHint
- Weekend Dissecting a Gulpfile
- Weekend Node Commands Overview
(Week 1) Modern JS Apps
- Weekend Modern JS Apps Objectives
- Monday Practice with Gulp and npm
- Monday Introducing Bower
- Monday Using a Development Server
- Monday Introduction to APIs and AJAX
- Monday Retrieving Data from an API
- Monday Promises and Asynchrony
- Monday Managing API Keys
- Monday Refactoring into Multiple Files
- Tuesday Alarm Clock, Weather App
- Tuesday Dissecting a Gulpfile
- Tuesday Node Commands Overview
- Tuesday Sass with Gulp
- Wednesday API-Driven App: Dino Ipsum, Bike Index, Google Maps (Two-day project)
- Thursday Weekly Technical Interview Prep
(Week 2) Ember JS
- Weekend Ember.js Objectives
- Weekend Installing Ember.js
- Weekend Ember Core Concepts
- Weekend Application Setup and Structure
- Weekend Routes and Templates
- Weekend Models
- Weekend Ember Data and Firebase
- Weekend Components - Hide/Show Image
- Weekend Components - Delete
- Weekend Components - Save
- Weekend Ember Debugging
- Weekend Additional Pair Programming Tips
- Weekend Documenting the Development Process
- Monday Property Rental App
- Monday Components - Update
- Monday Dynamic Routing: Find Record
- Monday Add-ons: Bootstrap
- Monday Application Template
- Tuesday Bustle Clone
- Tuesday One Route: Multiple Models
- Wednesday Blog: Day One
- Wednesday Model Relationships
- Wednesday Deleting Model Relationships
- Thursday Blog: Day Two
- Thursday Weekly Technical Interview Prep: Ember
(Week 3) Angular JS
- Weekend Angular JS Objectives
- Weekend TypeScript: Introduction and Installation
- Weekend TypeScript: Compiling and Optional Typing
- Weekend TypeScript: Declaring Custom Classes
- Weekend TypeScript: Methods and Looping
- Monday TypeScript Practice and Intro to Angular 2
- Monday Modern JavaScript MVCs
- Monday Introduction to Angular 2
- Monday Angular 2 Setup: Dependencies, Build Tools, and TypeScript
- Monday Angular 2 Setup: Root Component, Root Module, and More
- Monday Views: Displaying Dynamic Data
- Monday Creating a Model
- Monday Views: Introduction to Directives
- Tuesday To Do, Recipe Box
- Tuesday Event Bindings
- Tuesday One-Way Data Bindings and Property Bindings
- Tuesday Two-Way Data Binding
- Tuesday Views: Conditional Directives
- Wednesday Tap Room (Two-Day Project)
- Wednesday Nested Components
- Wednesday "Data Down, Actions Up" with Inputs and EventEmitters
- Wednesday Editing Models
- Wednesday Template Reference Variables and Creating Objects
- Wednesday Filtering Data with Pipes
- Thursday Weekly Technical Interview Prep: Angular
(Week 4) Angular Extended
- Weekend Angular Extended Objectives
- Weekend Team Week: Project Pitch
- Weekend Angular CLI: Installation and Setup
- Weekend Angular CLI: Creating a Project
- Weekend Angular CLI: Bower Setup
- Weekend Angular CLI: Developing, Building and Serving
- Weekend Multi-Page Angular Applications
- Weekend Implementing a Router
- Weekend Managing and Navigating Multiple Routes
- Monday Online Store, Discussion Forum, Craigslist
- Monday Dynamic Routing: Navigation
- Monday Dynamic Routing: Retrieving Parameters
- Monday Dependency Injection
- Monday Services
- Tuesday Online Store, Choose Your Own Adventure
- Tuesday Firebase: Introduction and Setup
- Tuesday Firebase: Retrieving Data
- Tuesday Firebase: Saving Data
- Tuesday Firebase: Finding and Retrieving Entries
- Wednesday Crowdfunding, Minesweeper (Two-Day Project)
- Wednesday Firebase: Updating Entries
- Wednesday Firebase: Deleting Entries
- Thursday Weekly Technical Interview Prep: Angular Extended
- Thursday Optional: Deploying Angular Applications
- Thursday Optional: Subscribing to Observables
(Week 5) Team Week
- Weekend Team Week Objectives
- Monday Git with Collaborators: Setup
- Monday Git with Collaborators: Workflow
- Monday Git: Rewriting History
- Thursday Team Week Presentations and Code Review
Java
(Pre-Work) Getting Started with Java
- Weekend Welcome to Java
- Weekend Installing Java: OSX
- Weekend Installing Java: Windows
- Weekend Java Documentation and Resources
- Weekend Java Installation and Setup Homework
(Pre-Work) Java Basics
- Weekend Java REPL
- Weekend Strings and Concatenation
- Weekend Practice: Strings and Concatenation
- Weekend Integers and Arithmetic
- Weekend Practice: Integers and Arithmetic
- Weekend Variable Assignment
- Weekend Practice: Variable Assignment
- Weekend Objects and Methods
- Weekend Method Arguments
- Weekend Practice: Java Methods
- Weekend Primitives and Wrapper Classes
(Pre-Work) Java Applications
- Weekend Writing a Java Program
- Weekend Compiling and Running a Java Program
- Weekend Practice: Writing, Compiling and Running a Program
- Weekend Importing Code
- Weekend Optional: Resolving Issues with System In / Console ReadLine
- Weekend Practice: Importing Code
- Weekend Transforming Data Types
- Weekend Practice: Transforming Data Types
- Weekend Writing Custom Methods
- Weekend Practice: Writing Custom Methods
(Pre-Work) Java Branching and Looping
- Weekend Branching with Booleans
- Weekend Practice: Branching with Booleans
- Weekend Branching with Logical Operators
- Weekend Practice: Branching with Logical Operators
- Weekend Data Structures: Arrays
- Weekend Practice: Arrays
- Weekend For Each Loops
- Weekend Practice: For Each Loops
- Weekend For Loops
- Weekend Practice: For Loops
(Week 1) Behavior-Driven Development with Java
- Weekend Behavior-Driven Development Objectives
- Monday Object-Oriented Java Practice
- Monday Declaring Classes
- Monday Practice: Declaring Classes
- Monday Using Custom Classes in Java Applications
- Monday Practice: Using Custom Classes in Java Applications
- Monday Custom Methods and Objects
- Monday Practice: Objects and Methods
- Monday Instantiating Objects with Constructors
- Monday Practice: Instantiating Objects with Constructors
- Monday Comparing Strings
- Monday Dynamically Creating Objects and Interacting with Users
- Monday Practice: Dynamic Objects and Comparing Strings
- Monday Data Structures: ArrayList
- Tuesday Triangle Tracker, CD Store, Parcels and Text-Based Adventure
- Tuesday Behavior-Driven Development Review
- Tuesday The "Red, Green, Refactor" Workflow
- Tuesday Gradle and Project Dependencies
- Tuesday Setting Up a Project with Gradle
- Tuesday Testing with JUnit
- Tuesday Red, Green, Refactor with JUnit
- Tuesday Debugging Java
- Wednesday Scrabble Scorer, Rock-Paper-Scissors, Testing for Randoms, Anagrams, and Prime Sifting
- Wednesday Leap Year with Behavior-Driven Development
- Wednesday Encapsulation and Visibility
- Wednesday Testing with Objects
- Wednesday Git: Ignoring Files
- Wednesday Java Primitives: char
- Wednesday Random
- Thursday Leap Year, Rectangles, Word Game, Blackjack, and More
- Thursday Formatted Strings
- Thursday Nested Looping
(Week 2) Web Applications in Java
- Weekend Web Applications in Java Objectives
- Weekend Web Clients and Servers
- Weekend Uniform Resource Locator (URL)
- Weekend HTTP Requests
- Weekend HTTP Responses
- Weekend Web Developer Tools
- Weekend Introduction to Spark
- Weekend Velocity Templates in Spark
- Weekend Data Structures: HashMap
- Weekend Using Layouts in Spark
- Weekend Gathering Data with Forms
- Weekend More Routing and Form Practice
- Monday Hello Friend, Mad Libs, Change Machine, Previous Projects
- Monday Looping and Branching in Velocity Templates
- Monday Persisting Data with Spark Session Storage
- Monday To Do List: Back-End Logic
- Monday To Do List: Routing and User Interfaces
- Tuesday To Do, Places You've Been, CD Organizer
- Tuesday Static Variables and Methods
- Tuesday Objects in Objects
- Tuesday To Do List: Finding and Saving Objects
- Tuesday To Do List: RESTful Routes
- Tuesday To Do List: Objects within Objects
- Wednesday To Do List, Hobby Organizer, Job Board
- Wednesday Testing Objects Within Objects
- Wednesday Catching and Handling Exceptions
- Thursday More Practice, Go Fish, Squad
- Thursday Adding CSS to Spark Applications
- Thursday RESTful Routing with Objects Within Objects
- Thursday Optional: Deploying Spark Applications to Heroku
(Week 3) Database Basics
- Weekend Database Basics Objectives
- Weekend Installing Postgres
- Weekend Database Relationships
- Weekend SQL Basics
- Weekend Database Naming Conventions
- Weekend Comparing Objects and Type Casting
- Weekend To Do List: Integrating a Database
- Weekend To Do List: One-to-Many Relationship
- Weekend To Do List: Integrating Spark with Databases
- Monday SQL and Schema Practice, To Do, Address Book
- Monday Select Form Fields in Spark
- Monday User Stories
- Monday CRUD, HTTP, Updating Objects, and Redirecting Responses
- Tuesday Animal Shelter, Doctor's Office
- Tuesday Deleting Objects
- Tuesday Backing Up and Restoring Schema
- Tuesday Refactoring Tests with Rules
- Wednesday Crowd-Sourced Review Site (Two-Day Project)
- Wednesday SQL: Querying, Ordering, and More
- Thursday Weekly Technical Interview Prep
(Week 4) Advanced Topics in Java
- Weekend Advanced Topics Objectives
- Weekend Team Week: Project Pitch
- Weekend Virtual Pets: Class and Database Setup
- Weekend Virtual Pets: One-to-Many Relationship Setup
- Weekend Constants
- Weekend Virtual Pets: Interacting with Constants
- Weekend Throwing and Catching Exceptions
- Weekend Virtual Pets: Exceptions
- Weekend SQL: Dates and Timestamps
- Weekend Working with Dates in Java
- Weekend Automating and Scheduling Tasks
- Monday Virtual Pets, Sales Tracker or Library Catalog (Two-Day Project)
- Monday Inheritance and Polymorphism
- Monday Abstract Classes
- Monday Virtual Pets: Abstract Classes
- Monday Single Table Inheritance
- Tuesday Virtual Pets, Library or Sales Tracker (Continued)
- Tuesday Many-to-Many Database Relationships
- Tuesday Optional: Join Statements
- Wednesday Virtual Pets, Recipe Box or Blog
- Wednesday Interfaces
- Wednesday Defining and Implementing Interfaces
- Wednesday Abstract Classes vs. Interfaces
- Thursday Virtual Pets, Project of Choice
- Thursday Weekly Technical Interview Prep
(Week 5) Team Week
- Weekend Team Week Objectives
- Monday Git with Collaborators: Setup
- Monday Git with Collaborators: Workflow
- Monday Git: Rewriting History
- Friday Team Week Presentations and Code Review
Android
(Pre-Work) Getting Started with Android
- Weekend Welcome to Android
- Weekend Installation
- Weekend Android Documentation and Resources
- Weekend Homework: Android Installation and Setup
- Weekend Android Weekly Independent Projects
(Pre-Work) Introduction to Android
- Weekend Creating a New Project
- Weekend Android Emulator
- Weekend GitHub Integration
- Weekend Introduction to XML and Android Layouts
- Weekend Creating a Basic Layout
- Weekend Buttons and Toasts
- Weekend Intents
- Weekend User Input
- Weekend Passing Data Between Activities
- Weekend Unit Testing Basics with Robolectric
- Weekend UI Testing Basics with Espresso
(Week 1) User Interface Basics
- Weekend User Interface Basics Objectives
- Monday MyRestaurants
- Monday Adding Custom Fonts
- Monday ArrayAdapters and ListViews
- Monday Implementing a ListView and ArrayAdapter
- Monday ButterKnife
- Monday Debugging: The Android Log
- Monday Debugging: Breakpoints and the Android Debugger
- Tuesday Doing more with ArrayAdapters - Customization
- Tuesday Mad Libs
- Tuesday The Android Manifest
- Tuesday App Bar, Hierarchical Parent and Android Themes
- Tuesday View.OnClickListener Interface
- Wednesday Creating a GridView with a Custom Layout File
- Wednesday Boggle Solitaire
- Thursday Working with Simple Fragments - DialogFragment
- Thursday Local Business App
- Thursday Optional Further Exploration: Using a builder class to create a dialog
(Week 2) Web Service Backends and Custom Fragments
- Weekend Web Service Backends and Custom Fragments Objectives
- Weekend Managing API Keys
- Weekend Backend Web Services with OkHttp
- Weekend API Security, OAuth and SignPost
- Weekend API Requests and Responses
- Weekend JSON and Data Models
- Weekend Threading and the UI Thread
- Weekend Refactor: Subpackages
- Weekend Custom Adapters with RecyclerView
- Weekend Images with Picasso
- Weekend Android Activity Lifecycle
- Weekend LinkedIn, Mock Interviews, and Cover Letters Preparation
- Monday LinkedIn, Mock Interviews, and Cover Letters Classwork
- Monday Independent Project API Homework
- Tuesday MyRestaurants and Weather App
- Tuesday Custom Fragments
- Tuesday Parcelables and PagerAdapters
- Wednesday Weather App Continued
- Wednesday Refactor: Scaling Images
- Wednesday Implicit Intents
- Thursday Movie App
- Thursday Technical Interview Prep: Web Service Backends and Fragments
(Week 3) Data Persistence
- Weekend Data Persistence Objectives
- Weekend Shared Preferences
- Weekend NoSQL vs SQL : Database Review and Prep
- Weekend Setting up Firebase
- Weekend Firebase: Firebase Structure and Further Setup
- Weekend Firebase: Reading Data and Event Listeners
- Weekend Firebase: Writing POJOs
- Weekend Firebase: RecyclerAdapter
- Weekend Capstone Project Brainstorming Homework
- Monday Discussion Forum (Two-day project)
- Monday User Authentication Setup
- Monday Further Exploration: SearchView Widget
- Tuesday Registering Accounts in Firebase
- Tuesday Logging Out and Overflow Menus
- Tuesday Registering Accounts: Additional Features
- Wednesday Instant Messaging Application (Two-day project)
- Wednesday Logging In
- Thursday Weekly Technical Interview Prep: Data Persistence
- Thursday Connecting Users and Object Data
(Week 4) Gestures, Animations & Flexible UIs
- Weekend Gestures, Animations, & Flexible UIs Objectives
- Weekend ItemTouchHelper Setup
- Weekend Implementing Gestures with ItemTouchHelper
- Weekend Updating Data After Gesture Interactions
- Weekend Animations
- Weekend The Minimum Viable Product
- Weekend Independent Capstone Project Proposal
- Monday MyRestaurants, Bells & Whistles
- Monday Flexible UIs: Fragments
- Tuesday Flexible UI App of Choice (Three-Day Project)
- Tuesday Flexible UIs: Alternative Resources
- Tuesday Communicating Between Fragments & Activities
- Wednesday Customizing Reusable Fragments
- Wednesday Using the Camera and Saving Images to Firebase
- Thursday Preparing Apps for Production
(Week 5) Independent Capstone Projects
Internship and Job Search
Internship Process
- Weekend Internship Process
- Monday LinkedIn, Mock Interviews, and Cover Letters Preparation
- Monday LinkedIn, Mock Interviews, and Cover Letters Classwork
Preparing to apply for jobs
- Weekend Resume and LinkedIn
- Weekend Cover letter
- Weekend Sprucing up GitHub
- Weekend Homepage/portfolio site
- Weekend Demo Day
Preparing for job interviews
- Weekend Non-Technical Interview
- Weekend Technical interviews
- Weekend Interview research
- Weekend Interview tips
- Weekend Negotiating a salary
- Weekend Review: How the Web Works
FreeCodeCamp
Front End Development Certification
- HTML5 and CSS(5 hours)
- Responsive Design with Bootstrap(5 hours)
- Gear up for Success(20 minutes)
- jQuery(3 hours)
Basic Front End Development Projects(50 hours)
-
- Get Set for our Front End Development Projects
-
- Build a Tribute Page
-
- Build a Personal Portfolio Webpage
- Basic JavaScript(10 hours)
- Object Oriented and Functional Programming(2 hours)
Basic Algorithm Scripting(50 hours)
-
- Get Set for our Algorithm Challenges
-
- Reverse a String
-
- Factorialize a Number
-
- Check for Palindromes
-
- Find the Longest Word in a String
-
- Title Case a Sentence
-
- Return Largest Numbers in Arrays
-
- Confirm the Ending
-
- Repeat a string repeat a string
-
- Truncate a string
-
- Chunky Monkey
-
- Slasher Flick
-
- Mutations
-
- Falsy Bouncer
-
- Seek and Destroy
-
- Where do I belong
-
- Caesars Cipher
- JSON APIs and Ajax(2 hours)
Intermediate Front End Development Projects(100 hours)
-
- Build a Random Quote Machine
-
- Show the Local Weather
-
- Build a Wikipedia Viewer
-
- Use the Twitch.tv JSON API
Intermediate Algorithm Scripting(50 hours)
-
- Sum All Numbers in a Range
-
- Diff Two Arrays
-
- Roman Numeral Converter
-
- Wherefore art thou
-
- Search and Replace
-
- Pig Latin
-
- DNA Pairing
-
- Missing letters
-
- Boo who
-
- Sorted Union
-
- Convert HTML Entities
-
- Spinal Tap Case
-
- Sum All Odd Fibonacci Numbers
-
- Sum All Primes
-
- Smallest Common Multiple
-
- Finders Keepers
-
- Drop it
-
- Steamroller
-
- Binary Agents
-
- Everything Be True
-
- Arguments Optional
Advanced Algorithm Scripting(50 hours)
-
- Validate US Telephone Numbers
-
- Record Collection
-
- Symmetric Difference
-
- Exact Change
-
- Inventory Update
-
- No repeats please
-
- Make a Person
-
- Map the Debris
-
- Pairwise
Advanced Front End Development Projects(150 hours)
-
- Build a JavaScript Calculator
-
- Build a Pomodoro Clock
-
- Build a Tic Tac Toe Game
-
- Build a Simon Game
- Claim Your Front End Development Certificate(5 minutes)
Data Visualization Certification
- Sass(5 hours)
- React(5 hours)
React Projects(200 hours)
-
- Build a Markdown Previewer
-
- Build a Camper Leaderboard
-
- Build a Recipe Box
-
- Build the Game of Life
-
- Build a Roguelike Dungeon Crawler Game
- D3(5 hours)
Data Visualization Projects(200 hours)
-
- Visualize Data with a Bar Chart
-
- Visualize Data with a Scatterplot Graph
-
- Visualize Data with a Heat Map
-
- Show National Contiguity with a Force Directed Graph
-
- Map Data Across the Globe
- Claim Your Data Visualization Certificate(5 minutes)
Back End Development Certification
- Automated Testing and Debugging(15 minutes)
Node.js and Express.js(20 hours)
-
- Manage Packages with npm
-
- Start a Node.js Server
-
- Continue working with Node.js Servers
-
- Finish working with Node.js Servers
-
- Build Web Apps with Express.js
- Git(3 hours)
- MongoDB(3 hours)
API Projects(150 hours)
-
- Get Set for our API Development Projects
-
- Timestamp Microservice
-
- Request Header Parser Microservice
-
- URL Shortener Microservice
-
- Image Search Abstraction Layer
-
- File Metadata Microservice
-
- Dynamic Web Application Projects(250 hours)
-
- Get Set for our Dynamic Web Application Projects
-
- Build a Voting App
-
- Build a Nightlife Coordination App
-
- Chart the Stock Market
-
- Manage a Book Trading Club
-
- Build a Pinterest Clone
- Claim Your Back End Development Certificate(5 minutes)
Video Challenges
- Computer Basics(2 hours)
- The DOM(30 minutes)
- JavaScript Lingo(1 hour)
- Chrome Developer Tools(1 hour)
- Big O Notation(30 minutes)
- Accessibility(0 hours)
- Agile(0 hours)
- Computer Science(0 hours)
- Data Visualization(0 hours)
- Embedded and Internet of Things(0 hours)
- Game Development(0 hours)
- Gamification(0 hours)
- Machine Learning(0 hours)
- Math for Programmers(0 hours)
- Mobile JavaScript Development(0 hours)
- DevOps(0 hours)
- Software Engineering Principles(0 hours)
- Statistics(0 hours)
- Tools(0 hours)
- User Experience Design(0 hours)
- Visual Design(0 hours)
Full Stack Development Certification
Nonprofit Projects(800 hours)
-
- Greenfield Nonprofit Project #1
-
- Greenfield Nonprofit Project #2
-
- Legacy Code Nonprofit Project #1
-
- Legacy Code Nonprofit Project #2
-
- Claim your Full Stack Development Certification
Coding Interview Preparation
Coding Interview Training(70 hours)
-
- Soft Skill Training
-
- Critical Thinking Training
-
- Whiteboard Coding Training
- Mock Interviews(10 hours)
CoderByte
Full Stack Web Development
Curriculum
Front End
-
- HTML
-
- CSS
-
- Responsive Design & Bootstrap
-
- JavaScript Basics
-
- Advanced JavaScript Topics
-
- Algorithms & Data Structures with JavaScript
-
- jQuery & AJAX
-
- React
-
- Common Interview Questions
Back End
-
- Node.js
-
- Express Framework
-
- Node.js Modules
-
- MongoDB & Mongoose
-
- Heroku
Challenges(Do them in JavaScript and Java)
Additional Material
Books
JavaScript
You Don't Know JavaScript
tutorialspoint
- HTML
- HTML5
- CSS
- Sass
- Bootstrap
- JavaScript
- jQuery
- jQueryUI
- AngularJS
- NodeJS
- CoffeeScript
- TypeScript
- Java
- Spring Framework
- Java Servlets
- Android Application Development
OpenStax Math
Bonus: Challenges
CodeWar
-
- Java
-
- JavaScript
-
- TypeScript
-
- SQL
30 Days of JavaScript
- 01 - JavaScript Drum Kit
- 02 - JS and CSS Clock
- 03 - CSS Variables
- 04 - Array Cardio Day 1
- 05 - Flex Panel Gallery
- 06 - Type Ahead
- 07 - Array Cardio Day 2
- 08 - Fun with HTML5 Canvas
- 09 - Dev Tools Domination
- 10 - Hold Shift and Check Checkboxes
- 11 - Custom Video Player
- 12 - Key Sequence Detection
- 13 - Slide in on Scroll
- 14 - JavaScript References VS Copying
- 15 - LocalStorage
- 16 - Mouse Move Shadow
- 17 - Sort Without Articles
- 18 - Adding Up Times with Reduce
- 19 - Webcam Fun
- 20 - Speech Detection
- 21 - Geolocation
- 22 - Follow Along Link Highlighter
- 23 - Speech Synthesis
- 24 - Sticky Nav 24 - Sticky Nav: reset index and sty
- 25 - Event Capture, Propagation, Bubbling and Once
- 26 - Stripe Follow Along Nav
- 27 - Click and Drag
- 28 - Video Speed Controller
- 29 - Countdown Timer
- 30 - Whack A Mole
Optional Paid Courses
HTML5 and CSS3 All-in-One For Dummies, 3rd Edition
Part I: Creating the HTML Foundation
- Chapter 1: Sound HTML Foundations
- Chapter 2: It’s All About Validation
- Chapter 3: Choosing Your Tools
- Chapter 4: Managing Information with Lists and Tables
- Chapter 5: Making Connections with Links
- Chapter 6: Adding Images, Sound, and Video
- Chapter 7: Creating Forms
Part II: Styling with CSS
- Chapter 1: Coloring Your World
- Chapter 2: Styling Text
- Chapter 3: Selectors: Coding with Class and Style
- Chapter 4: Borders and Backgrounds
- Chapter 5: Levels of CSS
- Chapter 6: CSS Special Effects
Part III: Building Layouts with CSS
- Chapter 1: Fun with the Fabulous Float
- Chapter 2: Building Floating Page Layouts
- Chapter 3: Styling Lists and Menus
- Chapter 4: Using Alternative Positioning
Part IV: Client-Side Programming with JavaScript
- Chapter 1: Getting Started with JavaScript
- Chapter 2: Talking to the Page
- Chapter 3: Decisions and Debugging
- Chapter 4: Functions, Arrays, and Objects
- Chapter 5: Getting Valid Input
- Chapter 6: Drawing on the Canvas
- Chapter 7: Animation with the Canvas
Part V: Server-Side Programming with PHP
- Chapter 1: Getting Started on the Server
- Chapter 2: PHP and HTML Forms
- Chapter 3: Using Control Structures
- Chapter 4: Working with Arrays
- Chapter 5: Using Functions and Session Variables
- Chapter 6: Working with Files and Directories
- Chapter 7: Exceptions and Objects
Part VI: Managing Data with MySQL
- Chapter 1: Getting Started with Data
- Chapter 2: Managing Data with MySQL
- Chapter 3: Normalizing Your Data
- Chapter 4: Putting Data Together with Joins
- Chapter 5: Connecting PHP to a MySQL Database
Part VII: Integrating the Client and Server with AJAX
- Chapter 1: AJAX Essentials
- Chapter 2: Improving JavaScript and AJAX with jQuery
- Chapter 3: Animating jQuery
- Chapter 4: Using the jQuery User Interface Toolkit
- Chapter 5: Improving Usability with jQuery
- Chapter 6: Working with AJAX Data
- Chapter 7: Going Mobile 883
Part VIII: Moving from Pages to Sites 909
- Chapter 1: Managing Your Servers 911
- Chapter 2: Planning Your Sites 933
- Chapter 3: Introducing Content Management Systems 953
- Chapter 4: Editing Graphics 977
- Chapter 5: Taking Control of Content 995