"> Module 3 Back End Development: 170 hours – Code Immersives

Module 3 Back End Development: 170 hours

In this module, students will be immersed in more advanced application and data tier topics. Students will learn the fundamentals of Ruby on Rails and come to understand the design patterns that drive much of the web while getting deeper into JavaScript browser frameworks. SQL and hosting topics will be tackled. By the end of this module, students will have an understanding of:

  • Advanced JavaScript
  • Intermediate Ruby on Rails topics
  • Postgres
  • Node.js
  • Python
  • Django
  • SQL databases
  • Hosting providers (Digital Ocean, AWS, etc)

Books: Extensive online material will be leveraged throughout this module such as online tutorials and YouTube videos and may shift as new resources become available. However, four physical books will be leveraged:

  • Beginning Rails 4 (Expert’s Voice in Web Development) By Adam Gamble
  • Practical Object-Oriented Design in Ruby: An Agile Primer by Sandy Metz
  • The Rails 4 Way (3rd Edition) by Obie Fernandez and Kevin Faustino
  • Eloquent Ruby by Russ Olsen

(Module 3 is made up of 30 class sessions and 27 lab sessions)

C1: Introduction to Module 3

  • Refresher>
  • Expectations for Module 3

C2: Advanced JavaScript refresher in class assignments

C3: Advanced JavaScript

  • Type Conversation
  • Errors / Debugging
  • Hoisting

L1: Advanced JavaScript assignments in Type Conversation and Debugging

C4: Advanced JavaScript
  • Strict Mode
  • Style Guide
  • Reserved Word
  • JS JSON

L2: Advanced JavaScript assignments in creating style guides

C5: Advanced JavaScript: Forms
  • Form Validation
  • Form API

L3: Advanced JavaScript assignments in forms

C6: Advanced JavaScript: Objects
  • Function Definitions
  • Function Parameters
  • Function Invocation
  • Function Closures

L4: Advanced JavaScript functions assignments

C7: Advanced JavaScript: JS HTML DOM
  • DOM Intro, Methods, Document, Elements
  • DOM HTML and DOM CSS
  • DOM Events, EventListener
  • Navigation
  • Nodes
  • Nodelist

L5:Advanced JavaScript: JS HTML DOM assignment

C8: Advanced JavaScript: JS Browser BOM
  • Window, Screen, Location
  • History
  • Navigation
  • Popup Alert
  • Timing
  • Cookies

L6: Advanced JavaScript: JS Browser BOM assignment

C9: Intermediate Ruby on Rails topics
  • Refresher on Ruby on Rails
  • Advanced style techniques and troubleshooting

L7: Ruby on Rails refresher assignment

C10: Intermediate Ruby and Rails topics
  • Media in Ruby and Rails
  • Image uploads

L8: Ruby on Rails media assignment

C11: Intermediate Ruby on Rails topics
  • Debugging and troubleshooting techniques
  • Spring processes, bundling

L9: Ruby on Rails troubleshooting assignment

C12: PostgreSQL
  • Installing
  • Setting up a database table
  • Creating users with permissions

L10: PostgreSQL assignment on installing

C13: PostgreSQL
  • Connection strings
  • Sequal
  • ACID

L11: PostgreSQL assignment on strigns, sequal and ACID

C14: Node.js
  • Installation
  • NPM
  • HTTP server

L12: Node.js installation and server assignment

C15: Node.js
  • Asynchronous style coding
  • Templating language

L13: Node.js installation and style coding language

C16: Python
  • Overview
  • Setting up Python
  • Basic Syntax
  • Variable Types

L14: Assignments in setting up Python on your machine

C17: Python
  • Basic Operators
  • Decision Making
  • Loops

L15: Python: Looping assignment

C18: Python
  • Numbers
  • Strings
  • Lists

L16: Python: assignment in data sheets, numbers and lists

C19: Python
  • Tuples
  • Dictionary
  • Date & Time
  • Functions

L17: Python assignment on functions and dates

C20: Python
  • Modules
  • Files I/O
  • Expectations

L18: Python: assignment on Modules

C21: Django
  • Creating a project
  • Database set up
  • Developer Server

L19: Django assignment: setting up your workstation, server set up

C22: Django
  • Creating Models
  • API in Django

L20: Django assignment, creating models and API examples

C23: Django
  • Creating an admin user
  • Starting the development server
  • Enter the admin site
  • Make the poll app modifiable in the admin
  • Explore the free admin functionality

L21: Django admin set up assignment part 1

C24: Django
  • Customizing the admin form
  • Adding related objects
  • Customizing the admin change list
  • Customizing the admin style: look and feel
  • Customizing admin index page

L22: Django admin set up assignment part 2

C25: Django
  • Writing your first view
  • Using the template system
  • Removing hardcore URLs in templates
  • Namespacing URL names
  • Testing / troubleshooting

L23: Django assignment for debugging and troubleshooting

C26: SQL databases
  • SQL overview / history / process
  • Commands
  • Fields, record/rows, columns
  • Constraints: Null, Not Null, Default, Unique, Drop, Primary

L24: setting up a SQL database with 2 constraints

C27: SQL databases
  • Forms, First normal form, second normal form, third normal form
  • MS SQL Server
  • MS Access
  • Syntax

L25: SQL database assignments using form commands

C28: SQL databases
  • SQL Data types
  • Numbers, Dates, Exact Numbers, Character, Binary, Misc Data Types

L26: SQL database assignments using numbers

C29: Hosting providers (Digital Ocean, AWS, etc)

L27: Finding a host that works for your project

C30: Hosting providers (Digital Ocean, AWS, etc)