Introduction to Ruby
Course Code: PRA2
Length: 5 days
Schedule and Registration
This course is not currently scheduled.
This course builds on the first two weeks of Ruby Academy. We continue to emphasize the sorts of practical applications which can be developed in Ruby, adding context and relevance to actual programs and utilities. Regular expressions and pattern matching are covered in depth. We make sense of how code blocks can become method parameters, and how this is useful. Method signatures and argument lists are examined in detail. Program organization and structure is discussed to illuminate modules, classes and namespaces. Complete programs are developed using error and exception handling. Metaprogramming concepts are introduced and explored.
Who Should Attend
The Ruby Academy is designed for software developers, technologists, system administrators, devops and site reliability engineers, data scientists, and others who need to solve problems with code and scripts. Ruby Academy is ideal if you want to:
- Learn a modern functional, object-oriented language
- Add Ruby to your programming language repertory
- Become more productive using a dynamic scripting language
- Start building the foundation of a new technical career with Ruby
- Pivot your career into Ruby software development
- Improve your problem solving abilities using Ruby as an exemplar
- Experience agile, team-oriented programming techniques
Ruby Academy students are not expected to be experienced software developers, but the Academy is not appropriate for absolute beginners in programming. We do expect each student to have a certain level of technical, computer-user competence.
- Some level of exposure to and experience in writing programs, in any language. The general idea of writing software should not be a complete novelty to you..
- Basic ability to type competently (keyboard skills beyond hunt-&-peck)
- Experience with a text editor.
- A level of comfort at the command line (bash).
- An ability to think and execute with clarity and precision.
Each student is expected (encouraged) to bring his or her own Linux or Mac laptop computer (no Windows) for use in labs, exercises and projects.
Ruby in context
- Standard and common idioms
- Regexps and pattern matching
- Blocks, Procs and lambdas
- Defining, organizing and invoking methods and classes
- Arg-lists and parameters
- Defining and initializing classes with attributes
- Modules and mix-ins
Ruby's advanced topics
- Handling errors and exceptions
- Object scoping
The variable menagerie
- Constants, globals and locals
- Instance and class variables
A taste of Ruby metaprogramming
- Introspection and reflection
- Advanced Ruby techniques
- How Ruby finds and invokes methods
- The missing method