Required Preparation

Background and motivation

This course is all about Software Engineering. We will learn about it, from the programming, design, architecture, testing and deployment side. After this you will be really confident working on a new product from scratch!

Cool eh? One of the big things that a Software Engineer has to learn is how to deal with unknowns and randomness and this pre-work might force you to confront a little of that even before the course starts!

Ruby and Windows just don’t get along!

As you might know, this course uses Ruby (a programming language) and Ruby on Rails (a ruby-based framework) as the foundation. Ruby and Rails require that you be on a Linux or Unix based computer. For those of you using a Mac or an actual Linux laptop, you are all set.

For those of you on Windows, you have some work to do! See below for specifics.

  • You might read and think that you can do everything you need to on Windows.
  • You might think it’s a nuisance to through this pre-work
  • You might think that you don’t have enough free space
  • You might think that you will get to this later

You are mistaken

I’ve taught this course for multiple years now, and every single year one or two students resist setting up a Linux partition, and every single year, they have lots and lots of trouble and heartache. They sometimes even end up dropping the course. Please don’t let this be you.

Assignment Your pre-work assignment (for Windows computers only) is to set up either a VMWare or Linux partition. This is mandatory.

What to do if you are on Windows

NB Only required if your computer is Microsoft Windows. If you are already on MacOS or Linux, then none of this applies to you

If you are on a Windows computer, we recommend one of these approaches:

  1. Using VMWare to create a Virtual Machine running Linux, and doing all your work there. Here are our instructions: Installing Rails using VMWare

  2. Set up a linux partition on your Windows computer. Here are the instructions: Setting up a Linux Parition

What else can you do to prepare?

In the first 10 days of the course we will fly through an introduction to Ruby programming. If you already know Ruby then you are probably all set. If you know Python well then you’re in good shape.

The rest of you are all competent Java programmers, so learning Ruby should be manageable. In fact I predict once you know Ruby you will love it.

Ruby is a very cool language with basic and advanced features. We will have a brief time at the start of the course to get into Ruby but it will really pay off if you get ahead on this.

Learn Ruby before day one of class!

Depending on how you best learn there are several approaches to take for learning Ruby. You can of course just use google to find resources and tutorails.

The recommended self-study site is Learn Ruby The Hard Way. Students have had good success with it. Go through all the lessons up to 40. The first dozen or so are trivial, but soon it will get hard. It will pay off, believe me!