[go: up one dir, main page]

100% found this document useful (1 vote)
242 views15 pages

Online Course Packet

This document provides an overview and curriculum details for an online bootcamp program focused on teaching full stack web development. The 20-week program covers front-end fundamentals, back-end development with Python, and a choice of second stack including LAMP, MEAN, Ruby on Rails or iOS. Key topics covered include HTML/CSS, JavaScript, databases, frameworks, and full stack architectures. The program is designed to be completed fully online with instructional support.

Uploaded by

Ander Ferreras
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
242 views15 pages

Online Course Packet

This document provides an overview and curriculum details for an online bootcamp program focused on teaching full stack web development. The 20-week program covers front-end fundamentals, back-end development with Python, and a choice of second stack including LAMP, MEAN, Ruby on Rails or iOS. Key topics covered include HTML/CSS, JavaScript, databases, frameworks, and full stack architectures. The program is designed to be completed fully online with instructional support.

Uploaded by

Ander Ferreras
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Online

Bootcamp
PHP |

ME AN

R U BY O N R A ILS

PYT H ON

IOS

Last Updated: 2016 June 22

TABLE OF CONTENTS

ONLINE
Program Overview & Prerequisites

Schedule4
Curriculum Overview

Chapters & Topics: Web Fundamentals

Chapters & Topics: Python

Chapters & Topics: LAMP

Chapters & Topics: MEAN

10

Chapters & Topics: Ruby

11

Chapters & Topics: iOS

12

Admissions Process

13

What is a Full Stack?

14

Why Become a Full Stack Developer?

15

OVERVIEW

ONLINE
CURRICULUM*

STRUCTURE

Web Fundamentals

2 Full Stacks

Python

20 weeks
20-30 hours/week

LAMP, MEAN, Ruby, or iOS

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

Pick up Python as your first stack and enter the


world of back-end development.

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*

*Optional topics available

CURRICULUM OVERVIEW CONTINUED

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

Strongly Typed Language


OOP in Swift
User Interface Views
iOS with a Server
iOS and Sockets
Data Persistence with Swift
Storyboarding in iOS

*Optional topics available

CHAPTERS & TOPICS: WEB FUNDAMENTALS

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

Intro to Git & Version Control


Using Terminal Commands
How to Create & Utilize a Repository
Making, Tracking, & Reverting Changes
Git Workflow Overview & States
Advanced Git Commands & Concepts
Branching, Merging, & Conflicts

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*

*Optional topics available

CHAPTERS & TOPICS: PYTHON

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 Flask with MySQL


Import, Export, & Connect Your Database
Connecting & Running Python Across Files
Database Communication with Python
Data Validation with Python
Encryption & Data Security Basics
Using BCrypt for Encryption

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

*Optional topics available

CHAPTERS & TOPICS: LAMP

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 Object Oriented Programming (OOP)


Creating Objects & Classes
Adding Properties/Attributes to Classes
Constructing & Adding Methods to Classes
Creating Multiple Objects
Magic Methods & Instantiation
How to Chain Methods

PHP

OOP Advanced Topics


Procedural Programming vs. OOP
Extending & Inheriting Classes
Overwriting or Preserving Parent Classes
Visible, Private, & Protected Inheritance
Intro to Linked Lists & Data Structures
Singly & Doubly Linked Lists

Intro to PHP Fundamentals


Declaring Variables & Array Variables
Conditionals, Operators, & Nested Loops
Array Manipulation
Associative & Multidimensional Arrays
Utilizing Built-in Functions
How to Construct Functions & Debugging
PHP Advanced Topics
Data Transfers & Get/Post
Implementing Cookies & Sessions
How to Utilize Headers with PHP
Hidden Inputs

AJAX

Integrating PHP with MySQL


Import, Export, & Connect Your Database
Database Communication with PHP
Data Validation with PHP
Blocking MySQL Injections
Encryption & Data Security Basics

Ajax API with jQuery & CodeIgniter


How Web Applications Work & HTTP Request
API with JSON & HTML
Debugging JavaScript & jQuery
Access Control Origin
Connecting to Various APIs
Construct an Ajax Enabled App

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

Ajax API with jQuery


Intro to Application Programming Interfaces
Requesting from APIs
Using JavaScript Objects (JSON)

DEPLOYMENT
Intro to PHP Application Deployment
Tools Youll Use:
Heroku
Azure
Hostmonster
Amazon Web Services (EC2)
Rackspace
GoDaddy

CodeIgniter Advanced Topics


Client-side Validation, Functions, & Listeners
Client-side & Controller Validation
Client-side & Model Validation
Redirecting vs. Calling a Controller

*Optional topics available

CHAPTERS & TOPICS: MEAN

MEAN

10

JAVASCRIPT

MONGO DB

Intro to JavaScript Fundamentals (ES5 & ES6)


Declaring & Referencing Variables
Variable Hoisting in JavaScript
Conditionals, Operators, & Nested Loops
Using Arrays & Loops in JavaScript
Objects, Functions, & Function Scoping
Variable Hoisting with Scoping
Return Statements in JavaScript
Function Hoisting

Intro MongoDB
CRUD Operations for MongoDB

JavaScript Object Oriented Programming (OOP)


How to Use Object Constructors
Common Constructors: This & New
Private Methods & Variables
Creating Prototype Objects in JavaScript
Best Practices for JavaScript OOP
Intro to JavaScript Advanced Topics
How to Use Callbacks
Delegating Functionality & Event Handling

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

*Optional topics available

CHAPTERS & TOPICS: RUBY/RAILS

RUBY/RAILS

11

RUBY

TDD

Intro to Ruby Fundamentals


The Elegance of Ruby
Using Puts, Strings, & Basic Ruby Syntax
Conditional Statements in Ruby
For Loops & Arrays in Ruby
How to Use Iterators & Blocks
Intro to Modules in Ruby & Enumerable

Intro to RSpec & Capybara


Using Expectations in RSpec
Using Describe & It
Testing Your Models with RSpec
RSpec with Capybara Part 1
RSpec with Capybara Part 2
How to Test Routes in RSpec
Testing with RSpec in Various Scenarios

Intro to Ruby OOP


Creating Classes, Methods, & Properties
Using Private Methods
Working with Inheritance in Ruby
Ruby Test Driven Deployment (TDD)
Intro to RSpec Methods
How to Write Tests in TDD
Implementing Test Driven Deployment

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

*Optional topics available

CHAPTERS & TOPICS: IOS

IOS

12

SWIFT BASICS

IOS INTERMEDIATE

Intro to Swift Fundamentals


Data Types: Constants & Variables
Conditional Statements, Operators, & Loops
Basic Types & Typecasting
Array Manipulation
How to Use Dictionaries in Swift
Swift Optionals
Swift Object Oriented Programming (OOP)
Creating Classes & Structs
Inheritance in Swift
Value vs Reference Types
Using Functions in Swift

Intro to iOS Intermediate Topics


Using CoreData
Storing User Defaults in iOS
Using Protocols & Delegates
How to Use Table Views
Collection Views
Segueing Between Views
Using Navigation
Tab Bar Controllers

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

*Optional topics available

ADMISSIONS PROCESS

13

1. APPLICATION

Prospective students must first submit an admissions application.


This is a brief application form where youll share your background,
answer several questions about your goals for the program, submit
your resume, and provide contact information. Based off your written
answers, our admissions team will decide if youre a good fit for the
program, and dont worry, we arent specifically looking for coding
experience. Culture fit is an important piece of our admissions process.
An admissions decision will be made within 3-5 business days.

2. ACCEPTANCE
LETTER

If selected to attend, you will receive an acceptance letter through email


and a link to submit your payment, which will reserve your seat in the
Coding Dojo program. You will also receive instructions concerning the
required preparation for your upcoming program.

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.

WHAT IS A FULL STACK?

14

A full stack, also known as a software stack or bundle, is a set of


software components needed to create a complete web application.
A web application can be divided into two areas: front-end and backend. The front-end contains client-side languages and frameworks.
The back-end consists of web servers, back-end languages/
frameworks, and databases.

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

*Popular languages and technologies.

WHY BECOME A FULL STACK DEVELOPER

FULL STACK DEVELOPER

FRONT-END DEVELOPER

WEB SERVER ADMIN

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

You might also like