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.
Object Oriented Programming
- Fundamentals: Classes as objects, state vs behaviour, instance vs class methods & variables, setters & getters.
- More advanced concepts: Inheritance, private & public methods, singletons, factory methods, etc.
- Fundamentals: Rspec and testing syntax
- More advanced concepts: Unit tests, Test Driven Development, stubbing, context, etc.
- Resume best practices.
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.
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.
Rails best practices
- Intermidiate 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.
- DOM manipulation: Libraries, JQuery, selectors, modifying attributes, etc.
- Styling concepts: More CSS, HTML attributes, etc.
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.
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!
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.