Week 1 INTRODUCTION AND BASICS
Introduction to AWS tools
Programming basics: variables, if statements, loops, data structures, functions & classes, etc.
Ruby fundamentals: Ruby syntax, iterations, chaining methods, gems, etc.
Week 2 OBJECT ORIENTED PROGRAMMING
More advanced concepts: Inheritance, private & public methods, singletons, factory methods, etc.
Week 3 TESTING
Fundamentals: Rspec and testing syntax
More advanced concepts: Unit tests, Test Driven Development, stubbing, context, etc.
Resume best practices.
Week 4 RAILS & FRONT-END BASICS
We will discuss manageable ideas for your first project.
Fundamentals: Model-View-Controller pattern, routes, SQL, etc.
Rails basics: Databases, migrations, ActiveRecord, Rake tasks, etc.
Front-end basics: HTML & CSS.
Week 5 FIRST INDIVIDUAL PROJECT!
You will make your first web application with rails! We're going to focus on the back-end of the site rather than design, but we'll make use of Bootstrap to have a nice looking layout.
Version Control: Git & Github.
Week 6 RAILS BEST PRACTICES
Intermediate rails topics: Application Programming Interfaces, authentication with Devise, whitelisting params, workers, custom & RESTful routes, etc.
Testing with rails: Capybara & Cucumber, integration testing, controller testing. etc.
Deployment basics and more git: Heroku, branch workflow, pull requests, authomatic deployment, etc.
Week 7 FRONT-END
DOM manipulation: Libraries, JQuery, selectors, modifying attributes, etc.
Styling concepts: More CSS, HTML attributes, etc.
Week 8 SECOND PROJECT - GAME
We'll be creating a game in the browser using your knowledge on the front-end (JS & DOM manipulation.)
Front-end & back-end interaction: Asynchronous requests, Promises, AJAX, asset pipeline, etc.
Testing the front-end: Jasmine, debugger, etc.
Week 9 ADVANCED FRONT-END & FRAMEWORKS
Frameworks: Angular & React basics, difference between these frameworks.
Front-end: Breaking up templates, patterns in the front-end, two-way data binding, wire framing.
Final project preparations!
Week 10 FINAL INDIVIDUAL PROJECT
This week we'll be focused on your final project, in which you'll use all your acquired knowledge and work with new web technologies of your choosing, such as Electron, Ionic, Vue.js, etc. You'll also deploy this project to the internet.
Start Date: May 8, 2020 - July 24, 2020