What follows is a proposal to update our curriculum projects, homework, and assessments to Rails 5.
There are several reasons why we should update to Rails 5.
Perhaps the biggest reason to switch is that students are already using Rails 5. The school's computers currently use Rails 5.0.4, meaning that the majority of students' work on the daily projects is in Rails 5. This has been a source of difficulty for both staff and students. Students are confused when their code does not return what the curriculum claims their code should return, and staff members have to be on the lookout for bugs and unexpected results that occur because of version mismatches.
Rails 5 brings about several technologies that would benefit students' work. Three such technologies that it introduces are api_mode
, ActionCable
, and ActiveJob
. Students in job search often use these in their projects. It's likely beneficial for our students to be acquainted with Rails 5 before they get to job search.
Rails 5, released June 30, 2016, has been out for a year. Most of the minor bugs that previously could have swayed us from adopting Rails 5 have been addressed.
If we plan to continue using Rails as the backend framework in the curriculum, we'll likely want to update at some point in time. Right now, the cost of switching is not very high. Some classes/modules are renamed, and some features from Rails 4 have been moved into separate gems.
The following estimates are liberal estimates of updating various portions of our curriculum to Rails 5.x.
In order to update the curriculum, we will need to update the projects, readings, homework, assessment preparation projects, assessments, and quizzes.
I estimate that it will take about 55 hours of work to switch everything over. What follows is a breakdown of my estimate.
It will probably take about an hour on average to properly update a project in our curriculum. There are 16 total projects to update, meaning it will likely take around 16 hours to update the projects.
Readings and homework should probably be delegated by day, since most of them will deal with similar aspects of Rails. I estimate that it will take 80 minutes on average to convert a given day's readings and homework to Rails 5. This means that it will take roughly 15 hours to update them all.
It will probably take 3 hours to update both assessment preparation projects.
It will probably take about two hours to update each of the assessments. Being that there are 8 assessments to update, it will likely take 16 hours total.
It will likely take thirty minutes to update each of the quizzes. There are 11 quizzes, therefore it should take around 5.5 hours.
One potential problem is that the Rails 5 update could be made much more difficult if it doesn't occur quickly. If we end up having to merge in simultaneous updates to the curriculum, we could end up playing a game of catch up.
What I propose is the following:
I'm hoping that we can get 4+ people interested in working on this update. Jr. TA's are prime candidates for this sort of work. They have spare time, and they have all expressed interest in working on this project. All of them are more than capable of doing so.
With four people working four hours a week on this, we would be able to finish this in three and a half weeks, according to the estimate.
I would provide a general guide for updating our projects, pointing out things to look for when working on the update.
Each person working on the update would be assigned several projects. Each person would also be assigned several days of readings and homework.
Assessments would be delegated to the assessments team, and I would fix the quizzes.
- Associations Exercise
- Url Shortener
- Movie Buff
- Polls
- First Routes
- Art Share
- 99 Cats I
- 99 Cats II
- Music App
- Goals
- AJAX Twitter
- Todos
- JBuilder
- Pokedex
- BenchBnb
- W3D3
- Readings
- First Rails
- Migrations
- ORM
- Associations
- Validations
- Indexing
- Homework
- Readings
- W3D4
- Readings
- Homework
- W4D1
- Readings
- Homework
- W4D2
- W4D3
- Readings
- Homework
- W4D4
- Readings
- Homework
- W4D5
- Homework
- W5D1
- Readings
- Homework
- W6D3
- Readings
- W7D2
- Readings
- W7D5
- Readings
- Assessment Preparation
- Assessments
- A03A
- A03B
- A03C
- A03D
- A04A
- A04B
- A04C
- A06
- Quizzes