Projects – General Instructions / Notes

No GUI
Graphical User Interface is generally NOT required and is ACTIVELY DISCOURAGED.  You are welcome to submit the code that runs from command line and prints the answers in command line.

Submission Guidelines
Use Blackboard to submit the written portion of the assignment. Use Github to submit the source code to the TA.

Scoring Guidelines

  • 40% for main source code – code needs to work as well as be understandable/explainable
  • 20% of unit test code (JUnit, PyUnit, etc)
  • 20% for comments
  • 20% for project documentation and write up

Implementation Guidelines

  • Use Java/C#/Python for these projects
  • No need to implement Binary Search, or Sort methods.  These are inbuilt in Java/C#/Python, use them.
  • Use whichever data structures you want to use: Map, Set, List, etc.

Coding Guidelines

  • Use language specific coding conventions.  For example, in Java, class names are title case, such as “RandomWalk.java”
  • Long methods (for example, with more than 30 or 40 lines of code) are a way of showing off that you and programming are in a new relationship.
  • Comments are important.  Include author tags. For example, in Java, this would be @author.
  • Javadoc comments start with /** not with /*

Programmers write code.  Good programmers write comments.

Peer Review Process (Recommended, but optional)

  • You should have your submission peer-reviewed – you can ask any other student to peer review it
  • Put the name of the peer reviewer in the opening. For example: Project 1 by: Your Name.
    Peer Reviewed by: Peer’s Name.