Object oriented design
Programming project
Develop an interesting program in Ruby.
Possible projects:
- Significantly enhance one of the programming assignments from this course.
- Develop a game, such as a board, adventure, word, or computer game.
- Develop a domain-specific language (DSL) within Ruby, such as for manipulating files in a directory system, editing files, generating quizzes, describing graphical or geographical scenes, and adding and viewing entries in a calendar.
- Develop useful metaprogramming tools, similar to the attr_* class methods, or the methods defined in the Forwardable or Singleton modules.