You are here:   ArielOrtiz.info > Software Design and Architecture > Final Project: Design Patterns Quiz App

Final Project: Design Patterns Quiz App

Objectives

During this activity, students should be able to:

This activity helps students develop the following skills, values and attitudes: ability to analyze and synthesize, capacity for identifying and solving problems, and efficient use of computer systems.

Activity Description

This activity must be solved individually or in pairs.

Write a web application that allows testing the user about her/his knowledge on design patterns. The application must allow the user to select how many questions (between one and ten) she/he wants to answer. The questions must be selected randomly from a bank of at least 30 multiple choice items. All questions must be related to design patterns or antipatterns, and must be taken from any of the following resources: [OLSEN], [GAMMA] or [SOURCEMAKING].

Each question should appear by itself in its own page. Once the user answers the question, the application must give the user the corresponding feedback, indicating if the answer was right or wrong, and displaying the correct answer if the user’s choice was wrong. Once all questions have been answered, the application must display the final score, and give the user the option to restart it.

The application must be developed using the Ruby programming language, the Sinatra DSL, and the SQLite RDBMS via the TO and DAO patterns. The user interface must be intuitive and easy to use.

Deliverables

Place in one tarball file called quizapp.tgz all the contents of your project and deliver it using the Online Assignment Delivery System (SETA). No assignments will be accepted through e-mail or any other means. If the project was developed by a pair, only one person is required to deliver it.

IMPORTANT: All the Ruby source files must include at the top the authors' personal information (name and student id) within comments. For example:

# Final Project: Design Patterns Quiz App
# Date: 10-May-2013
# Authors:
# 456654  Thursday Rubinstein 
# 1160611 Anthony Stark

Due date: Friday, May 10.

Evaluation

This activity will be evaluated using the following criteria:

-5 The program doesn't contain within comments the authors' personal information.
DA The program was plagiarized.
20-50 The program doesn't work, but it seams that some significant amount of time was spent in it.
60-90 The program works, but has some flaws.
100 The program works as requested.