Agile Development Using Ruby on Rails - Basics (edX)

Agile Development Using Ruby on Rails - Basics (edX)
Learn Ruby programming language basics, the Ruby on Rails Model-View-Controller (MVC) development framework and software engineering fundamentals. This intermediate computer programming course uncovers how to code long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails.


A newer version of this course is available here:
Introduction to Agile Software Development: Tools & Techniques


You will understand the new challenges and opportunities of SaaS versus shrink-wrapped software and learn to apply fundamental Rails programming techniques to the design, development, testing, and public cloud deployment of an Software as a Service (SaaS) application.

Using best-of-breed tools that support modern development techniques including Behavior-Driven design, user stories, Test-Driven Development, velocity, and pair programming, learners will discover how modern programming language features in Ruby on Rails can improve productivity and code maintainability.

Weekly coding projects and quizzes will be part of the learning experience in this SaaS course. Those who successfully complete the assignments and earn a passing grade can get an honor code certificate or verified certificate from BerkeleyX. The videos and homework assignments have been updated to use Ruby 2, Rails 4 and RSpec 3. The new class also includes embedded live chat with Teaching Assistants and other students and remote pair programming with other students.

This course is part of the Agile Development Using Ruby on Rails Professional Certificate.


What you'll learn:

- Learn the Ruby programming language and Ruby on Rails MVC Framework

- Develop Software as a Service (SaaS) using Ruby on Rails and an agile technique

- Understand and apply fundamental programming techniques to the design, development, testing, and public cloud deployment of an SaaS application

- How modern programming language features can improve productivity and code maintainability


Prerequisites:

Programming proficiency in an object-oriented programming language such as Java, C#, C++, Python, or Ruby is required. We will teach the basics of Ruby at a very accelerated pace that assumes thorough familiarity with OOP inheritance, static/class vs. instance methods and attributes, recursion, hash tables/hash maps, list comprehensions, higher-order functions, lambda expressions. This course is NOT a good first course in programming. Basic Unix command-line skills are helpful. Familiarity with Git, GitHub and Heroku will also be helpful.