Introduction to Ruby Programming

Learn how to create an interactive Web blog that allows visitors to register and post articles and comments. You'll see how to use the Ruby on Rails framework environment to create a full-featured Web blog using the Ruby programming language and the MySQL database server.

We'll walk through the development of a complete Web blog application. During the course, you'll see step-by-step how to create all of the software and database objects used in the application. We'll begin by looking at exactly what the Ruby programming language is. Ruby has taken the Web world by storm, providing an object-oriented approach to Web programming. Its simplicity and user-friendliness make it ideal for beginning programmers to use to dive into the world of dynamic Web sites.

After going through the basics of Ruby programming, we'll turn to the Ruby on Rails framework environment. Ruby on Rails is a relatively new, but already very popular, player in the world of dynamic Web sites. We'll go through the steps of creating the Ruby on Rails framework and then modifying that framework with Ruby programming to customize your Web site just the way you want it. At the end of this course, you'll be able to use the techniques you've learned to build and customize your own dynamic Web application.


To enroll in this course, click the Enroll Now button below:


Requirements:

A Ruby on Rails software development environment is required for this course. The first lesson walks through installing the InstantRails software package, which provides a complete Ruby on Rails development environment, including the Apache Web server and MySQL database server, for the Windows platform. InstantRails can be downloaded from instantrails.rubyforge.org; You must have a Windows NT, Windows 2000, Windows XP, or Windows Vista workstation or server to install the InstantRails software. Please note that InstantRails does not work on Windows 95, Windows 98, nor Windows Me. Students using the Macintosh platform may be able to use the default Ruby environment included on Macintosh OS X 10.4 (Tiger) and 10.5 (Leopard). Please consult the Apple Web site for instructions on how to update the installed software to the latest version of Ruby on Rails; Prior HTML coding experience is helpful, but not required; Internet access, e-mail, and the Microsoft Internet Explorer or Mozilla Firefox Web browser.


Syllabus:

All courses run for six weeks, with a two-week grace period at the end. Two lessons are released each week for the six-week duration of the course. You do not have to be present when the lesson is released, but you must complete each lesson within two weeks of its release.

A new section of each course starts on the second or third Wednesday of each month. If enrolling in a series of two or more courses, please be sure to space the start date for each course at least two months apart.

Week One
Wednesday - Lesson 01
The Ruby programming language uses simple, easy-to-remember syntax, along with a host of special functions that perform many time-consuming programming jobs for you. These features make it an excellent choice for creating dynamic Web pages. We'll start the course by examining what Ruby is all about, including Ruby on Rails, which allows you to incorporate Ruby code directly in your HTML code. Throughout the course, we'll use Ruby on Rails to develop a full-blown blogging application called the Restaurant Review. Then you'll be able to take what you learned and use it to develop other dynamic applications. Today, you'll take the first step in creating your own dynamic Web site by installing a Ruby on Rails server on your computer.
Friday - Lesson 02
In this lesson, we'll look at the basics of the Ruby programming language. You'll learn how to store and manipulate data in Ruby programs and how to use some of the built-in functions Ruby provides. Data is crucial to any programming application, and understanding how Ruby processes data will make it much easier to complete our course project.
Week Two
Wednesday - Lesson 03
Today we'll look at three features that are crucial to the operation of just about every Ruby program you'll ever create. First, we'll look at structured commands, which allow you to alter the flow of a program based on values within the data, such as a variable. Following that, we'll discuss using loops in Ruby. Loops are a common way to process multiple data items with a minimum amount of code. Finally, we'll see how Ruby can use arrays to hold values of similar data and explore how to extract those values from the arrays.
Friday - Lesson 04
One of the main features of the Ruby programming language is that it's object-oriented. We'll start this lesson by looking at the general principles behind object-oriented programming (OOP) and how it differs from the regular programming you may be familiar with. Then we'll see how Ruby implements OOP features and start playing with some object-oriented code. We'll finish by digging a little deeper into Ruby coding as we explore how you can customize pre-built objects.
Week Three
Wednesday - Lesson 05
Today you'll find out about the Ruby on Rails concept of scaffolding. The scaffolding process automatically produces generic code for most of the common features contained in Web applications. You'll generate the scaffolding code for your Restaurant Review project and examine its features.
Friday - Lesson 06
In this lesson, you'll learn exactly how to modify the scaffolding code to customize your Web pages. We'll start by looking at the database model code. We'll add some features that make the code more meaningful for our application, and we'll see how we can easily modify the database tables in the project. Finally, we'll start actually rearranging code in the scaffolding files by altering how the Web pages for the Restaurant Review display data.
Week Four
Wednesday - Lesson 07
It's important to liven up your Web site using common HTML features, as well as Cascading Style Sheets (CSS). Today we'll walk through the steps necessary to modify the main application Web page layout, and you'll see how to incorporate an external CSS style sheet file to add color to the Restaurant Review project.
Friday - Lesson 08
In this lesson, we'll discuss how to add new features to the generic ones that Ruby on Rails generated. You'll see how to add new data tables to the project, as well as the Web pages necessary to interact with them. We'll also look at how to create the Ruby code necessary to incorporate the new data on every page in the application by just creating a single file!
Week Five
Wednesday - Lesson 09
Thanks to the popularity of Google and Yahoo!, Web surfers expect every good Web site to provide data searching features. Our Restaurant Review blog will be no different. Today we'll examine common searching algorithms and see how they affect the performance of the application. You'll find out how to use some SQL tricks along with Ruby coding to incorporate searching in your Web site.
Friday - Lesson 10
Just saying the word security can send Web application administrators into a frenzy. Any dynamic site that allows visitors to post data needs to include some level of security. In this lesson, we'll look at what we can do to protect our Restaurant Review application from vandals and comment spammers. You'll learn how to use Ruby on Rails to control who can post reviews by creating a login system and tracking visitors.
Week Six
Wednesday - Lesson 11
Testing your application is a crucial part of the development process. You want to make sure that everything works as it's supposed to before turning it loose on the Internet. Fortunately, Ruby on Rails provides excellent features for automatically testing applications. In this lesson, we'll look at those features and how to use and customize them. You'll see how to use testing to narrow down where a problem occurs so that it's easy to find it and fix it.
Friday - Lesson 12
Today we'll examine the servers required to host your application on the Internet. We'll take a closer look at the MySQL database server, the storage engine behind our Ruby on Rails application. You'll learn how to interact with the server to directly view and manage your data. We'll then look at the Apache Web server and determine how to interface it with the Ruby on Rails environment. With these two servers working together, you can host your custom Restaurant Review blog on the Internet for everyone to see and use.


To enroll in this course, click the Enroll Now button below:


Recommended Courses:

Students who enrolled in Introduction to Ruby Programming were also interested in the following courses:

Introduction to ASP.NET

Introduction to PHP and MySQL

Introduction to Java Programming

Introduction to Dreamweaver CS3

Introduction to CSS and XHTML


Top