CPSC 310 Assignments and Project
Main Page
The project is worth 35% of your mark in CPSC 310. You will work in teams of 3, 4, or 5.
Problem Statement
You will be building data-intensive web applications using the freely-available datasets from Data BC and/or Data Vancouver (see links below).
The project deliverables are intentionally vague: it is up to you and your team to choose a dataset, load it in to your application, and display it.
The TAs will be your onsite Customers and can give you feedback with respect to your project. However, you must meet the following constraints:
- your user stories should relate to one of the technical requirements below.
- the dataset(s) recommended are the Data BC or Data Vancouver websites. You cannot use other datasets without talking to your TA first. Adventurous students can find data to import from other Web services here: Programmable Web
- the data must be parsed and persisted on the server-side of your application. This means you must not simply load the data in by hand.
- the web application must display the data in a tabular format and a geographic format. The Google Maps API is highly recommended (but not mandatory) for the geographic format.
- your mark will be affected by the ambition and follow-through of your project. If you do a simple project exceptionally well, you might get an A. If you do an ambitious project poorly, you will get a low mark.
Technical Requirements
The following are the categories of technical requirements that your user stories' acceptance criteria must cover:
- Import and clean data - access data on a remote server, parse it, and translate it into a format useful for manipulation.
- Storage - the data should persist once uploaded. You must load your data programmatically. You should have a button that an admin can use to load the data.
- Data display - display the imported data in a tabular and a geographic format.
- Social network integration - integrate with at least one social network (e.g. Facebook, Twitter, LinkedIn, etc.).
- Access - Users need to login with a password and have some user-specific account data (profile, preferences, media, etc...)
Educational Objectives
During this project you will:
- learn how to leverage APIs and cloud computing infrastructure.
- work on an inter-disciplinary software development project.
- work with legacy data formats.
- use acceptance criteria to verify and validate your code.
- use team software infrastructure to collaborate.
- turn requirements into implementation.
- prioritize and plan.
- design and architect your system.
You must:
- work with Eclipse, EGit and Github to manage your code and your team.
- use Google Web Toolkit and Java to deliver the application online (if you wish to use another language or framework, please ask your TA).
- use Google App Engine to host your application (if you wish to host your application somewhere else, please ask your TA).
Marking Scheme
The assignments and final project are worth 35% of your mark, comprised of:
- (Participation credit, checked for completeness) Assignment 1: Intro to GWT
- (Participation credit, checked for completeness) Assignment 2: Intro to Git and EGit
- (5%) Assignment 3: Project Requirements Engineering phase. Create user stories.
- (5%) Assignment 4: Project Sprint Planning. Use stories to prioritize future work.
- (2%) Assignment 5: Design.
- (10%) Assignment 6: Project Sprint 1. Demo to TA in lab.
- (12%) Assignment 7: Project Sprint 2. Demo to TA in lab.
- (1%) Project retrospective. Reflect on what you did, how your project evolved, and how the tools worked and didn’t work.
Milestones
The project will be built as a series of deliverables. Initially you will work on understanding the tools you will be using; later in the semester we will begin building the final working application.
The TAs will serve as your customers and your team leaders.
Assignment 1
- Objective: Prepare yourself to work on software development in CPSC 310 with Eclipse and GWT. This is an individual assignment.
- Procedure: For this assignment please first read the document titled CPSC 310 Web Applications (see below) and then work through the GWT tutorial (see below again).
The TAs will check that you've completed this assignment at the beginning of your next lab.
- Mark: Participation credit.
- Due: Start of the next lab (lab #2, week of Sept. 15th)
- Related material: Web Application Reading Source code for Reading
- Assignment: GWT tutorial
Assignment 2
Tips
Student’s Guide to SE projects
GWT tutorial
How to set up Google App Engine in Eclipse
GWT and Charts
Google Maps API
Facebook API
Twitter API
Helpful links