These are the pages that I use with the Ruby on Rails course that I teach. This site provides general background and support materials for anyone interested in learning Rails.
There is one lecture a week with slides and recordings in MyAberdeen. The second lecture each week is a ‘deliberate practice‘ session. Each of these is a programming exercise tied to the previous lecture for students to work at in pairs. The details for each of these will come from my repositories on Github.
Each session will have three coding and discussion cycles: Each cycle consists of 12 minutes of working we’ll stop to discuss how people are approaching the problem, and what they plan to do next. After the final one we’ll wrap up with lessons learned during the session.
During each round we’ll offer a different point of focus for the round so that you are guided in your direction of development. In order to gain the most from these sessions you should not always work with the same person each week so that you benefit from different perspectives on development.
If you’re doing this remotely, then work through the ‘deliberate practice‘ session on your own, and set a timer for each round of activity. This will help focus your work during the exercise.
The Lectures and the Deliberate Practice Sessions
Week 1: Introduction – Story Generator
Week 2: The Basic Rails app – Temperature Conversion
Week 3: Rails Databases – Parsing CSV into Models
Week 4: Database Relations plus Search and Filter – Shopping Exercise
Week 5: Git and Heroku – Deploy the Shopping Exercise from last week onto Heroku – use Rails Tutorial Chapter 1.5 deploy for details
Week 6: Behaviour Driven Development Testing – A BDD example
Week 7: Authentication Systems – work on assessment
Week 8: Presentations – both sessions this week
Week 9: RSpec testing with FactoryBot
Week 10: Security and Web Applications- Explore security issues with the security shopping example
Week 11: Scaling up applications to work in production – exploring problem sites with the rails guessing game
The Practical Sessions
Week 1: Setting up Ruby and Rails for your work this term.
Week 2: Work on the start of our larger travel agent website. The ‘travel agent’ site builds into a larger Rails application with cross-referenced tables in the database so that we can explore more complex structures.
Week 3: Start adding some tables and objects in the next part of the travel agent site and enable exception handling, and seeding data to tables for a dashboard with charts.
Week 4: This week we continue with the travel agent site by adding search and customers to the site.
Week 5: We want to be able to use Git to deploy our applications to Heroku.
Week 6: Working with Capybara to do tests from the outside in of the travelagent.
Week 7: Work on your assessment.
Week 8: We should add customer bookings to the travelagent along with more admin support in the dashboard.
Week 9: We need an authentication system so we’ll create user accounts for staff as well as a login system.
Week 10: We can now make our system ready for production, and see which security issues the OWASP site suggests we should address.
Week 11: We can now tidy up everything.
Week 12: Work on your assessment.