Skip to content

cs27x/cs279_2015

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

#Project Milestone 1

The goal of this milestone is to create enough of a concrete vision for you project to allow other people to "kick the tires" on your idea. You should be prepared to present your prototype to both people in the class and people outside of the class.

1. Create a Repo

All teams should create a GitHub repo. You are free to use any structure that you want. However, there are a couple of simple guidelines that must be followed:

  1. All projects must have a "dev" branch that will contain all of the code that was completed at the end of each build cycle
  2. I will be using the contributor pages to track participation (https://github.com/JakeWharton/butterknife/graphs/contributors?). If you do not believe that your contribution is accurately reflected in the contribution graph, you should send me an email listing each of your contributions (preferrably with links to commits) for that build cycle

2. Create a README for the Project

Each project should have a README.md file in valid GitHub markdown in the root of the project. This file should include the following:

  1. A short description of the project - The description should be 1-2 paragraphs.
  2. Instructions on how to checkout, build, run and use your project - These instructions should be kept up to date. The instructions should include all information needed to build/run the project (e.g., install nodejs, install Java 1.8.x, etc.). Anyone with reasonable computer knowledge should be able to checkout, build, run, and use your project by reading your clear and thorough directions. Make sure that you include examples of how to "use" your project after it is running (e.g., don't end with "Right-click, run as->Java Application").
  3. A list of build cycles and links to their milestones - At the start of each build cycle, which will be announced in class, you will need to create a milestone that includes issues for each user story that you intend to complete as part of the build cycle. An example milestone in the correct format is available here: https://github.com/cs27x/cs279_2015/milestones/Build%20Cycle%200. You should close issues in the milestone as they are completed.

3. Create a "Prototype"

To help other people understand the vision for your project, you will need to create a simple "prototype" that describes what you are trying to do. Depending on the type of your project, your "prototype" will take on different forms. Select the appropriate prototype from the list below and complete it.

Prototyping for Projects with User Interfaces

Projects with user interfaces should complete a paper prototype of the project. The bulk of the prototype must be hand drawn in a collaborative meeting of the entire project team. The expectation is that the version you turn in will clearly have been drawn by multiple people and capture ideas from everyone on the team. When you are done with your prototype, you should either scan or photograph it and create a PDF that you link to from your README.

The requirements for the paper prototype are as follows:

  1. The prototype should be drawn for 8.5" X 11" paper
  2. The prototype must be thorough and cover every screen / screen state requried to fully explain how your application will work
  3. The prototype must be collaboratively created by the group as a whole and not by a single member of the team
  4. You should NOT use a wire framing tool -- this should be a rough hand-drawn prototype
  5. Without your assistance, a user should be able to figure out how to use all of the major functionality of your application
  6. You should create your own diagram notation to indicate navigation between screen mockups (e.g., a line with a number indicating the screen that you go to when you click a button, etc.)
  7. You should fully consider a user's workflow. If you were building an e-commerce site, just prototyping how someone adds something to their cart would be insufficient -- real users need to remove things from carts, update quantities, provide payment, etc.
  8. The prototype screens must be scanned and turned into a PDF and linked to from your README.md file

Prototyping for Framework / Library Projects

If you are building a framework or library for other people to build off of, you should create a set of code examples showing how you expect your framework to be used. The code does not have to work, but it should demonstrate how you intend for users of your project to write their code. For example, see the ButterKnife project's examples:

http://jakewharton.github.io/butterknife/

If your library or framework isn't just a compilation of random utility methods, you should provide examples of semi-complete applications that show how your code is used and the overall life-cycle. An example that fits this criteria is provided by Butterknife:

https://github.com/JakeWharton/butterknife/tree/master/butterknife-sample/src/main/java/com/example/butterknife

The examples should be added to your README file and/or checked into your repository (e.g., larger examples in the repo, small examples in the repo).

Prototyping for Research-oriented Projects

Students that are pursuing a research oriented project that does not have a user interface component should be prepare a 5-10min slide presentation to answer the Heilmeier questions. Each question should be addressed in a separate slide.

The Heilmeier questions:

  1. What are you trying to do? Articulate your objectives using absolutely no jargon. What is the problem? Why is it hard?
  2. How is it done today, and what are the limits of current practice?
  3. What's new in your approach and why do you think it will be successful?
  4. Who cares?
  5. If you're successful, what difference will it make? What impact will success have? How will it be measured?
  6. What are the risks and the payoffs?
  7. How much will it cost?
  8. How long will it take?
  9. What are the midterm and final "exams" to check for success? How will progress be measured?

Your presentation should also provide a summary of related work, your hypothesis/assumptions, what experimentation you will do and how, metrics, etc. You should read the "research paper patterns" discussion (https://code.google.com/p/mobilecps/wiki/ResearchPaperPatterns) and the "how to conduct research" discussion (https://code.google.com/p/mobilecps/wiki/HowToConductResearch).

Your slides should be checked into your repo and linked to from your README.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages