Cosi105b Required Preparation slides |

The course starts fast so you absolutely have to prepare ahead of time!

This course builds on Cosi166b (Capstone) that you will have completed. However depending on how long ago that was you might very well need to review some of the material. Also of course you may have a new or changed computer.

**ALERT: I am serious when I recommend strongly that you invest a few hours before the first day of class. You will have a better time, learn more, and have more fun.

Install Ruby, Sinatra and required other software on your computer

Save yourself and the TAs headaches by installing exactly these versions!

Checking your installation

Versions must match in the first two numbers, but it’s ok if they don’t match 100%. So if I ask for 3.0.3 and you install 3.0.4 that’s ok, but 2.7.0 is not ok. Here’s how you check but your specific numbers may be different as long as they match the versions above.

rbenv -v; ruby -v; git --version; psql --version rbenv 1.2.0 ruby 3.0.3 git version 2.28.0 psql (PostgreSQL) 13.3

Ensure you have these gems

sinatra (2.1.0) sinatra-activerecord (2.0.25)

Review Ruby

Because you’ve taken Cosi166 Capstone, you know that ruby is a very cool language with basic and advanced features. You will be doing a lot of Ruby programming so if you came to this class without knowing Ruby, you need learn it on your own, before class begins..

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 tutorials.

Our 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!

Learn the (Unix) Shell (Command Line)

Throughout the course we are going to use the Unix command line extensively. If you are on a Mac, this is what you use in terminal. You may have to use it a lot more than you have in the past. Here are a couple of resources: