Learning Ruby at the Boston Ruby Workshop
This weekend, I attended the first Boston Ruby Workshop. While I have previously picked up bits and pieces of Ruby through sources such as RubyMonk and Try Ruby, I was really looking forward to learning more about Ruby and Rails in a structured environment. The workshop spans two days, with the first day devoted to getting all of the necessary elements installed and the second day offering participants a chance to dive into programming with Ruby on Rails. The workshop was geared towards those with no experience with Ruby on Rails and limited or no experience with any type of computer programming. The goal for the weekend was to teach participants to create a simple Ruby on Rails application that would be completely functional by the end of the second day.
Day one of the workshop was only three hours on Friday evening, giving participants time to get their computers set up with the programming environment to be used for the second day of the workshop. The workshop website included step-by-step instructions for various operating systems, but teaching staff was also on hand to help any participants who ran into trouble. The ratio of teaching staff to participants was perfect to insure that even those with complicated issues had someone on hand to walk them through the installation process. For those who finished the process more quickly, a subset of the teaching staff offered introductory breakout sessions, for both those with and without programming experience, that provided background information on Ruby and the Rails framework.
Day two of the workshop was a full-day session on Saturday where the teaching staff walked participants through the use of Git, Heroku, Ruby and Rails. The day was broken up into six segments with presentations by different members of the teaching staff at the start of each segment, as well as brief presentations from the workshop’s sponsors and from Jessica McKellar, one of the creators of Boston Python’s two-day introduction to Python that inspired this workshop. She spoke about the importance of these types of events to increase diversity in computer programming. After the first introductory presentation, participants were split up into small groups of 4-5 people by relative experience levels. Once a topic was introduced, these groups worked through the related exercises with members of the teaching staff on hand to help them with any difficulties. For those who finished early, there were extra credit exercises that covered additional topics and provided additional depth on the main topics of the day. Participants who worked through all of the exercises completed and deployed a functional application that allows users to post topics online and then vote on each of the topics.
The workshop did a great job of breaking the topics down to very manageable chunks that were approachable for participants of any skill level. It can be difficult to structure a programming class so that it works for both those with experience with other programming languages and those who have never previously programmed. By having students self-sort by relative experience level, students were already together with others of a similar background, which made it easier for the teaching staff to work effectively with each group. I also really appreciated that the workshop included extra exercises for those who finished early. While these exercises weren’t necessary to complete the application, they added additional depth to the curriculum for those who were interested and also, in some cases, improved the functionality of the application. As someone who worked through the exercises somewhat quickly, I appreciated having something more to work through while I waited for the next segment to start. I also felt that the teaching staff effectively provided students with an overview of Ruby on Rails that was broad enough to provide the foundation for creating an entire application while still providing enough depth to make participants comfortable with programming in Ruby. And, by having participants complete and deploy a working application, the workshop also managed to give participants a concrete example of their labor and a real sense of accomplishment. I would definitely recommend this workshop for those interested in getting started with Ruby on Rails. It was a fun and effective way to get started and to create a first simple application.