The Project will consist of building a program that will run on the Android OS ( http://developer.android.com/guide/index.html
The project will have three parts:
- GPS application that tracks the positions of the smartphone and of the friends of the phone's owner. The application is called GPSFriendFinder.
- A chess game client. The client will connect to a chess server on the Internet. The chess server used will be the best one developed during last year's sweng class. The application is called ChessGame.
- ChessGame comprises three parts:
- ChessGameUI: the UI of the chess client
- ChessGameLogic: validation of chess moves
- ChessGameConnect: talking to the Chess server
- A chat client. The user will be able to initiate a conversation with another person and play a chess game with the respective person. This application is called SmartChat.
- In the end, we will have an application that allows a user to select friends (or other people) from a map, start a chess game and be able to chat with the opponent while playing the game.
Each of the applications will be developed independently and can be used independently.
Each student will develop his/her own project.
Collaboration is not allowed for functionality development.
Collaboration will be permitted at specified moments.
Time to implement (estimate)
|| Duration ( in person-days )
|Horatiu and Vitaly
| Chess Server
| TOTAL + 33% (buffer)
The assignments will be evaluated against these requirements
- must compile and build an android application
- must install on an android phone
- must pass student's own written test cases
- must pass TA written test cases
- code review done by TA
- IDEA: It will be a nightmare to read 60 submissions.
- What about splitting the total number of projects into 5/6 depends on everybody's availability. Every one will get 10-12 projects
- We will rotate so as to make sure we do not correct the same person's project twice.
- 6 Homeworks and 6 of us makes this possible.
- Each of the Homeworks 1 through 6 account for 15% of the project final grade
- Homeworks 5 and 6 are considered without the integration with another student's project
- Integration with another student's project accounts for 10% of the project final grade.
- 5% for Homework5
- 5% for Homework6
- Late homeworks (Homework 1-5): strict deadline. If the homework is late, the student gets 0%.
- Android DSK
- Eclipse Android Plug-in
The competition will find the best application developed by the students.
Criteria for evaluating projects are:
- code coverage achieved by unit testing
- students will be asked to start multiple games with multiple people
- user testing
- independent reviewers will interact with the developed projects
- crash testing
- projects will be tested against failure inducing scenarios
- battery life
- if we get Android phones, than we will test how fast each application drains the battery.
- student developed apps will be ran for 10 minutes and the amount of battery used is computed.
- the lower the amount of battery, the better the app is.