Description
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.
Outline
A new section of each course starts monthly. 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.
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 lessons are released. You will have access to all lessons until
the course ends. However, the interactive discussion area that accompanies each
lesson will automatically close two weeks after the lesson is released. As such,
we strongly recommend that you complete each lesson within two weeks of its release.
The final exam will be released on the same day as the last lesson. Once the final
exam has been released, you will have two weeks to complete all of your course work,
including the final exam.
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 take a closer look at how Rails handles our data with the default SQLite database. You'll see how you can view and manipulate data outside of the Rails application. And we'll also discuss how Rails provides a production environment geared for performance—instead of the development environment we've been using.
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, the Microsoft Internet Explorer or Mozilla Firefox Web browser, and the Adobe Flash and PDF plug-ins (two free and simple downloads you obtain at http://www.adobe.com/downloads by clicking Get Adobe Flash Player and Get Adobe Reader).
Instructor Bio
This course includes a knowledgeable and caring instructor who will guide you through
your lessons, facilitate discussions, and answer your questions. The instructor
for this course will be
Richard Blum.
Student Reviews
“
The Instructor quickly answered my questions. I was truly able to maximize my learning.
”
“
Rich Blum teaches in a clear and concise style. I learned a lot from this class and my questions were answered promptly.
”
“
I enjoyed this class and plan to continue learning more about Ruby on Rails. The instructor did a good job of maintaining my interest in the subject matter.
”
“
This was a great course! In underestimated the content. It introduced many elements of web programming technology. Professor Blum's teaching is so easy to follow; his curriculum is challenging, informative, and comprehensive. Thank you!
”
“
This course was exactly what I was looking for. A nice intro to Ruby Programming and I felt it covered the basics very well. It exposed to a broad range of features. Great course!
”
“
Excellent course! The instructor was flexible; providing rails 3 version. My hats off to instructor! Thank you and well done!
”
“
I have taken several ed2go courses and this one was the best. Mr. Blum is a great instructor and Ruby on Rails rocks!
”
“
The instructor was very knowledgeable, helpful and always available in the discussion area. He was able to answer questions from basic to advanced or provide web sites to assist when needed.
”
“
The instructor was knowledgeable and answered my questions thoroughly and promptly. I enjoyed the course.
”
“
This was my first course through ed2go and by far, the most comprehensive and useful for learning a new programming language! I felt I was given just the right amount of information to understand Ruby on Rails and then go do further research on my own. Awesome course!
”