CS314: Project P4
Application Development in Android

CS314 Fall 2014
Group Project Part 4
Assigned: Nov 20, 2014
Team artifacts due: 11:59 pm, Dec 8, 2014, through RamCT
Individual artifacts due in class Dec 9, 2014
100 points


In this project you will develop an application for the Android platform. The application simulates a quiz with multiple-choice questions. Each quiz presents the user with a series of questions and produces a summary of the results.


1. Installing Android

Follow the instructions given in the lecture slides and demonstrated in class to install and set up your eclipse for Android development. We reccommend that before developing the project, you follow the steps described in class or use other tutorials such as here to develop a simple Hello World application.

Once you have successfully created and executed the Android examples done in class and the Hello World project, try developing simple layouts and widgets in your application. This tutorial provides examples to create simple layouts and widgets. The "Form Stuff" section contains tutorials to create radio buttons, text fields, buttons, some of which you will be using in your project.


2. Specification of the quiz problem

The quiz application presents the user a series of multiple-choice questions. You can pick any domain. Your application must contain a knowledge-base of 50 questions, and it will select 10 questions at random for a quiz. The questions must contain only English text (i.e. no figures or images). The answers must also contain only text. Each question has one right answer among four alternatives. For example, you can use questions similar to the clicker questions from CS160 or CS161.

The application presents questions one by one. For each question should display the text of the question and the four options on one screen. If the user selects an answer, the application provides feedback about the correctness of the answer (i.e., whether the answer was right or wrong) and moves to the next question (if available). If the answer was wrong, it doesn't tell you the right answer.

For each question, the screen for that question should let the user do any of the following: (1) answer the current question, (2) go back to the previous question (if available) without answering the current question, (2) go to the next question (if available) without answering the current question, and (4) finish the quiz to view the summary.

For example, you may provide buttons for "Answer", "Back", "Next", and "Finish". Or you could use icons to represent these tasks. Feel free to design the GUI in any way you like. The user should be given the option to navigate through the questions without answering them or by answering a question multiple times. For each question, the application always counts the last provided answer (if it was provided).

Choosing the finish option any time or reaching the end of the quiz produces a performance summary. The summary contains the following information: (1) the total number of questions in the quiz, (2) the number of questions attempted by the user, and (3) the number of correct answers. A question is treated as not attempted if the user never chooses the answer option for that question.

The application must run on the Android emulator in eclipse. If you happen to have an Android phone, feel free to upload the app to the phone, but we will not be testing your application that way.


3. Self evaluation and peer review

Type this up based on the instructions given in a previous document describing the entire group project. Put your name and group name at the top of the document.


4. Using GitHub

GitHub repository set up for this course by Dr. Ghosh must be used, and a commit log submitted. Please refer to the general project description for more information.


5. What to turn in

There are two types of things to turn in --- team artifacts and individual artifacts.

Team artifacts (90 points)

Team artifacts are to be submitted through RamCT, once for each team. One and only one team member can do the submission. Please check to see that the files have actually been submitted, not just uploaded.

  1. 70 points: Zip the entire eclipse project that you created to build the Android application in a file P4.zip and submit it through RamCT.
  2. 15 points: Submit a file called P4Tests.pdf that contains a listing of all the system tests that you used to test the application. For each test, mention how the test was set up and what the expected output was.
  3. 5 points: Commit log for GitHub.

Individual artifacts (10 points)

Individual artifacts are to be printed and submitted beginning of class. Emailed self evaluations and reviews will NOT be accepted.
  1. (5 points) Self evaluation
  2. (5 points) Peer review