Online Course Packet
Online Course Packet
Bootcamp
PHP |
ME AN
R U BY O N R A ILS
PYT H ON
IOS
TABLE OF CONTENTS
ONLINE
Program Overview & Prerequisites
Schedule4
Curriculum Overview
10
11
12
Admissions Process
13
14
15
OVERVIEW
ONLINE
CURRICULUM*
STRUCTURE
Web Fundamentals
2 Full Stacks
Python
20 weeks
20-30 hours/week
The Online Bootcamp is an ideal alternative for students who are looking to kick-start a career
in web development but are unable to attend our on-campus programs. Within the first 12
weeks, youll start with the fundamentals of front-end development, and afterwards transition to
mastering the Python software stack. Next, youll have an additional eight weeks of access to our
online learning platform to learn the stack of your choice: iOS, MEAN, Ruby on Rails, or LAMP.
As a student, youll receive direct support from our instruction team and utilize our industryleading online platform to complete hands-on projects and master the curriculum. Instructional
support will be delivered through live online lectures, set office-hours for feedback and
questions, real-time TA support by phone or Skype, and more.
Furthermore, students and alumni will have access to our Career Services program, where
youll work closely with our team to pursue short and long-term career goals. Youll be able to
schedule one-on-one sessions with our Career Advisor team, access our online collection of jobhunting workshops, and more.
PREREQUISITES
Personal laptop to work on during the program
Spent 100 hours of learning how to code on his/her own**
*If you have spent less than 100 hours of coding on your own, you may still be accepted into the program.
However all students with no experience are required to complete the pre-course materials.
SCHEDULE: 20 WEEKS
Week 1-4
WEB FUNDAMENTALS
Start the program by learning the fundamentals of
front-end development.
Week 5-12
FULL STACK 1
PYTHON
Week 13-20
FULL STACK 2
OR
LAMP
OR
MEAN
OR
RUBY/RAILS
IOS
Pick between LAMP, MEAN, Ruby on Rails, or iOS as your second stack.
Our instructors will help you choose the stack best fit for you.
CURRICULUM OVERVIEW
WEB FUND.
PYTHON
LAMP
TECHNOLOGIES
TOPICS COVERED
HTML/HTML5
CSS/CSS3
Basic Javascript
Advanced jQuery
Git/Github & Terminal
Responsive Web Design*
Balsamiq*
Bootstrap*
LESS & SASS*
Front-end Development
Frameworks & Libraries
Wireframes & Mockups
Code Version Control
HTTP Request
Dynamic Content
Python
MySQL
Flask
Ajax
APIs
jQuery
Django*
PostgreSQL*
OOP in Python
SQL Queries & ERD Diagrams
Web Security Basics
CRUD Operations
MVC Framework & Design Patterns
Application Deployment
Object Relational Mapper*
Web Crawler*
Scaling Web Apps*
MySQL
PHP
Ajax
Advanced PHP
CodeIgniter
API
Basic Javascript
jQuery
OOP in PHP
Web Security Basics
Semi-Restful Routes
SQL Querries & ERD Diagrams
MVC Framework & Design Patterns
CRUD Operations
Application Deployment
Web Crawler*
Scaling Web Apps*
MEAN
RUBY/RAILS
IOS
TECHNOLOGIES
TOPICS COVERED
MongoDB
Express
AngularJS
Node.js
Advanced JavaScript
Node Package Manager
Socket.IO
Bower*
OOP in Javascript
Ajax Requests
Building an MVC Framework
Creating Custom JS Libraries
Building Real-time Apps
NoSQL Database Design
RESTful Routing
Agile Development*
Ruby
Rails
RSpec
Capybara
PostgresSQL
Active Record
Angular on Rails*
Ember*
Coffeescript*
OOP in Ruby
Object Relational Mapper
Test Driven Development
RESTful Routes
MVC Framework & Design Patterns
Authentication/Authorization
Rails Deployment
Ember + Sockets*
SASS & HAML*
Swift
Xcode
Core Data
AV Foundation
iOS Fundamentals
Core Motion
Core Location
iOS Sockets
WEB FUND.
HTML/HTML5
GIT/GITHUB
Intro to HTML
Basic Nesting Practices
The Header & Body
Common Body Tags (lists, tables, etc.)
Building Forms & Declaring Input Values
Containers, Elements, Attributes, & Classes
HTML Best Practices
Intro to HTML5
CSS
Intro to CSS
CSS Selectors & Declarations
Inspecting Element
Inline, Block, Float, and Positioning
Div Layout & Formatting
Styling Text & How Fonts Work
Using Properties & Backgrounds
Replicating Complete User Interfaces
Optimizing & Cleaning Your Code
Intro to CSS3 & More Styling Properties
How to Build Your Own Shapes*
Constructing Complex Tables*
Intro to Bootstrap*
CSS Preprocessors, LESS, & SASS*
Optional Frameworks, UI Assets, & Tools*
JQUERY
Intro to Github
How to Use a Github Repository
Forking, Cloning, & Pulling
Github Collaboration & Workflow
RWD
Intro to Responsive Web Design (RWD)
Breakpoints, Units, & Media Queries
Basics to Typesetting & Scaling
Cross-device RWD
Grid System, Fluid Grids, & Adaptive Layouts
Intro to CSS Frameworks
Responsive Typography
Using CSS Reset & Boilerpoint
WIREFRAMES*
Intro to Wireframes
Importance of Wireframes
Intro to Balsamiq & How to Use It
Intro to jQuery
jQuery Functions & Debugging
How to Use Parameters & Getters/Setters
Essentials of the jQuery Library
Troubleshooting jQuery
Intro Advanced jQuery
Implementing Dynamic Content
Callbacks in jQuery
Transversing DOM Elements
Using Forms in jQuery
Using jQuery UI Library*
Extra jQuery Libraries*
MYSQL
PYTHON
Intro to MySQL
Database Design & Relationships
Entity Relationship Diagrams (ERD)
Database Normalization
Intro to MySQL Workbench & Querying
Conventions & Common Data Types
How to Use ERDs
Using a Database with Your UI
Recreating ERDs*
FLASK
PYTHON
Intro to Python
Creating Variables in Python
Common Data Types & Best Practices
Using Strings & Built-in String Functions
List Creation & Manipulation
Using Tuples & Built-in Tuple Functions
How to Use Dictionaries in Python
Conditionals, Operators, & Nested Loops
Constructing Functions in Python
PYTHON OOP
Python Object Oriented Programming (OOP)
Creating Objects & Classes
Adding Properties/Attributes to Classes
Constructing & Adding Methods to Classes
Chaining Methods & Using Magic Methods
How to Use Modules & Packages in Python
Creating Multiple Objects
Updating Methods with Super
Intro to Python Advanced Topics
How to Use Multiple Arguments
Ternary Operators in Python
Using Lambda
Overriding Inheritance & Polymorphism
Using Composition Over Inheritance
Python Test Driven Deployment (TDD)
Unit Testing in Python & Outcomes
How to Use Assertions
Using TDD Methods: setUp & tearDown
Intro to Flask
Routing in Flask Applications
Building & Using Forms
Rendering Templates & Views
Delivering Static Content
The Different HTTP Methods
Implementing Cookies & Sessions
Hidden Inputs
Form Validation
PYLOT MVC
Intro to Pylot Model View Controller (MVC)
What is an MVC?
How Controllers Work
Rendering Views
Session Classes & Using Session Data
Routing in Pylot
How to Use Models with Controllers
Data Validation with Pylot
Using Bcrypt with Pylot MVC
How to Use Multiple Controllers & Models
DEPLOYMENT
Intro to Python Application Deployment
Tools Youll Use:
Amazon Web Services (EC2)
Linux (Ubuntu)
Gunicorn & Nginx
PostgreSQL
Virtualenv
Git
Custom Domains
LAMP
MYSQL
PHP OOP
Intro to MySQL
Database Design & Relationships
Using Entity Relationship Diagrams (ERD)
Database Normalization
Intro to MySQL Workbench & Querying
Conventions & Common Data Types
PHP
AJAX
CODEIGNITER
Intro to CodeIgniter Fundamentals
What is an MVC?
How Controllers Work
Views & Passing Data
Using Input Classes & Security
Session Classes & Using Session Data
Using Models with the Database/Controllers
Data Validation with CodeIgniter
How to Use Multiple Controllers & Models
DEPLOYMENT
Intro to PHP Application Deployment
Tools Youll Use:
Heroku
Azure
Hostmonster
Amazon Web Services (EC2)
Rackspace
GoDaddy
MEAN
10
JAVASCRIPT
MONGO DB
Intro MongoDB
CRUD Operations for MongoDB
Intro to Mongoose
Dependencies in Mongoose
Mongoose Communication with MongoDB
Mongoose Methods
Data Validation with Mongoose
Create Associations Between Mongo Objects
RESTful Routing with Mongoose & Express
ANGULAR.JS
Intro to Angular.JS
Dependencies for Angular
Directives, Data Binding, & Compiling
Using Modules in Angular
Controllers, $scope, & this
How to Create Factories
Using Data Filters in Angular
Ajax Requests Using Angular
NODE.JS
Intro to Node.JS
How to Use Package Managers (NPM/Bower)
File System Module & HTTP
Making a Full Web Sever
How to Work with Node Modules
Common & Useful Node Modules
Modularization
Using Require & Module.exports
How to Modularize Existing Projects
EXPRESS.JS
Intro to Express.JS
Render Templates With Express View Engines
HTTP Methods: Forms, Data Tranfers, & Routing
MEAN
Building MEAN Applications
Connecting Angular to Node
Making API Requests in MEAN
Tracing Data in the MEAN Stack
DEPLOYMENT
Intro to MEAN Application Deployment
Tools Youll Use:
Heroku
Amazon Web Services (EC2)
Linux Servers
Intro to Socket.io
Applications with Real-time Communication
RUBY/RAILS
11
RUBY
TDD
RAILS PART 1
Intro to Rails Model View Controllers (MVC)
How to Get Started with an MVC
Intro to Gems
Using Models in Rails
How to Use ORM in Rails
Validations, Relationships, & Migrations
Intro to Controllers & Views
Using Restful Routes & Routing in Rails
How to Use Controllers
Passing Information with Variables
Rendering Data with Controllers
How to Use Views
Intro to Form Helpers
Using Scaffolding in Your Projects
Basic Web Security in Rails Part 1
Patch & Delete Methods in Restful Routes
Basic Web Security in Rails Part 2
TDD vs. Error Driven Development (EDD)
Layouts with Controllers & Views
RAILS PART 2
Intro to TDD in Rails
User Permissions in Rails
Intro to Postgres & Database Setup
Basic Encryption in Rails
User Authentication in Rails
User Authorization in Rails
How to Build App Features with Rails & TDD
RAILS PART 3
Intro to Ajax, Gems, OAuth, & APIs in Rails
How to Use The Asset Pipeline
Using Ajax with the Rails Framework
API Integration in Rails
OAuth, Graph API, & REST API
Uploading Files with Paperclip
Integrate Rails with Node.js & Express.js
DEPLOYMENT
Intro to Rails Application Deployment
Tools Youll Use:
Heroku
Amazon EC2
ANGULAR ON RAILS
Intro to Ruby on Rails with Angular
Using Angular Route Libraries
How to Create Models with Rails & Angular
IOS
12
SWIFT BASICS
IOS INTERMEDIATE
IOS BASICS
Intro to iOS Fundamentals
Storyboarding in iOS
Working with Autolayout
Linking your Storyboard to Code
Intro to Xcode
How to Use a Debugger
View Lifecycle Basics
IOS ADVANCED
Intro to iOS Advanced Topics
Linking iOS to a Back-end Server
Making HTTP Requests in iOS
JSON Data in Swift
Grand Central Dispatch in iOS
Using Type Coercion
ADMISSIONS PROCESS
13
1. APPLICATION
2. ACCEPTANCE
LETTER
3. SAFETY
DEPOSIT
Due to limited seats and high demand, you must first submit your safety
deposit to reserve your seat and access the pre-course materials.
Optional Advisory Session
If youd llike to speak to an admissions member before reserving your
seat, you may attend an optional Advisory Session where well answer
any questions that you have about the program.
14
FRONT-END
CLIENT-SIDE LANGUAGES/FRAMEWORKS
HTML*
CSS
JAVASCRIPT
ANGULAR
JQUERY
BACK-END
WEB SERVERS
APACHE*
NGINX
IIS
NODE.JS
BACK-END LANGUAGES/FRAMEWORKS
PHP/CODEIGNITER*
RUBY/RAILS
PYTHON/DJANGO
DATABASES
MYSQL*
MONGODB
REDIS
FRONT-END DEVELOPER
BACK-END ENGINEER
DATABASE ENGINEER
Full Stack Developers are well-rounded software engineers who have the know-how
to independently build fully functional platforms, from the front-end to the back-end.
Conventionally, web development requires several variations of engineers: front-end
developers, web server administrators, back-end engineers, and database engineers.
However a full stack developer is all of the above, and whether in a large or small
engineering team, s/he can add value and insight to all layers of the project.
15