Introduction to Ruby
Course Code: PRA1
Length: 5 days
Schedule and Registration
This course is not currently scheduled.
This course is a complete introduction to the Ruby programming language. We cover Ruby’s syntax and program structure. By introducing some of Ruby’s basic uses, and how to develop, test and run simple Ruby program scripts. Interactive Ruby is introduced using the IRB tool. We begin to work with imperative, functional and object-oriented programming paradigms. Basic and essential Ruby classes, including Integer, Numeric, String, Array and Hash are covered and used in-depth. Essential software development tools, especially the text editor and git/GitHub, are used as foundational requirements.
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: What is it, what's it used for, an overview
Essential laptop/coder tools and resources
- Ruby and RVM (Ruby Version Manager)
- IRB (Interactive Ruby) and Pry
- Text editor, the programmer's best friend
- Sublime Text
- The command line (bash)
- Help: man pages, ri (Ruby Information)
- Repositories: Git and GitHub
- Variables (objects), assignments
- I/O: puts and gets, chomp
- Strings and interpolation
- To quote: single or double?
- Expressions and statements
- Flow control (comparisons, decisions, if, case, loops)
- Ranges, Iterators and Enumeration
- Program structure
Intro to objects
- Methods and messages
- Data classes
- What are hashes and arrays?
- What is a regex, and what is pattern matching?
- Invoking methods
- Arguments, parameters and defaults
- Return values
- Duck typing, built-in data objects
Intro to and survey of the Ruby standard library
- Numerical library methods
- String library methods
- Array library methods
- Hash library methods