Image credit: Metro-Goldwyn-Mayer
Ruby Adventures
This assignment asks you to do several programming tasks designed to give you a feel for the Ruby language, and explore the possibilities it creates.
As you work through these tasks, consider: How would you implement this same task in Java? In Python? How does your development experience differ from those other languages? Get beyond the immediate shock of seeing unfamiliar syntax. Where do you find your attention going as you code in this language vs. the others? Why? What language features shape these differences?
(You do not need to write up answers to these questions. I am, however, curious to hear your thoughts!)
You may use external resources, such as online documentation, blog posts, and Stack Overflow, to learn about the Ruby language and gems used in this project.
You may not use external resources, including AI, to copy or generate code that solves the specific problems this assignment poses. Puzzling over each detail for yourself is the point! You should find and turn off any AI assistant in your development environment before you start coding, because it stands a very high chance of robbing you of your learning here.
Please study the academic integrity section of the syllabus if you haven’t already done so.
Get oriented and set up
-
As always, follow the homework instructions to fork and clone the assignment repository.
-
Open a terminal in the
ruby-adventuresdirectory. -
Install the project dependencies:
bundle install -
Test your setup:
bundle exec rake testThe tests should run with some skips and TODOs, but no failures or errors. Look for this at the end of the test output:
... 0 failures, 0 errors ...If you see that, you’re up and running.
The assignment
- Part 1: Desugaring
- Part 2: Going Loopless
- Part 3: Static Site Generator
- Optional bonus: DIY Metaprogramming
- Last up: Do a small reflection