Summary: CS 4700
Written Homework 1 Due February 4, 2010 (10 points)
Note, these exercises may be done in groups of one, two, or three. Working with someone else is
strongly recommended. If more than one person is involved, list all the names on ONE set of answers.
Groups may change throughout the term.
Working in groups is a BIG plus for you. Take advantage of it. If you work in groups, you must work in
the group for the ENTIRE assignment. It is considered cheating if you work with someone else for
some of the answers, but turn in an individual copy of the answers. It is an all or nothing situation. You
can't work together on some questions and alone on some. Sometimes I see an individual whose name
is listed in two groups. This is strictly forbidden and is considered cheating. You cannot work in two
groups. Assignments are due at the beginning of class and should be typed.
1. What are advantages and disadvantages of an interpreted language?
2. Ruby claims to be truly object-oriented. In what way is Ruby more object-oriented than other
languages that claim to be object-oriented.
3. List three interesting differences between C++ and Ruby.
4. Giving Ruby examples, explain the difference between deep and shallow copy.
5. When code blocks are passed in Ruby, do the variables in the code block have the scope of the
caller or the callee? Explain.
6. What is a symbol in Ruby (e.g., :MyName)? Why is a symbol used?