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