CECS 424
Final Review

12.  Know the steps for creating a Rails application, including MVC.

13.  Understand the idea of event-driven programming.  Understand what a 
        delegate represents, and how to use one as an event handler.

14.  Understand what a function closure is.  Illustrate using C# anonymous
        methods.

15.  a.  Know the difference between C# 1.0 and C# 2.0 iterators.  Show two 
             different ways to define a C# 2.0 iterator.
        b.  Understand the idea of a generic type.  Illustrate with C# generics.

16.  a. Use C# 3.0 implicitly typed local variables.  Where would they be particularly 
            useful in LINQ?
        b. Use C# 3.0 extension methods.  Where are they used in LINQ?

17.  Trace the evolution in C# from delegates to lambda expressions.  Define and 
        use a lambda expression.  Create an expression tree in C#.  Where are
        lambda expressions and expression trees useful in LINQ?

18.  a. Use C# 3.0 object initializers.  Why are object initializers an important 
            feature for language integrated query.
        b. Use C# 3.0 anonymous types.  Where are anonymous types use often in 
             LINQ?

19.  Use C# 3.0 query expressions.

20.  Use DLinq.  Explain how the SQL data are mapped to CLR types.

21.  Use XLinq to query an XML document.

00.  Show how to use unit testing when programming Ruby.