Update

We have updated the content of our program. To access the current Software Engineering curriculum visit curriculum.turing.edu.

War or Peace - Rubric

Back to Project Home

Learning Goals

  • Follow an interaction pattern
  • Write readable code that adheres to Ruby convention
  • Write tests
  • Create an Object Oriented Solution to a problem (objects should interact to achieve the stated goal)
  • Host code on Github


Presentation Guidelines

Each student will have a live evaluation with an instructor, and should come prepared to do the following:

  • Demonstrate how the game works by running it in the terminal (note: if you don’t complete Iteration 3, you can skip this demo)
  • Run your tests and identify one test case you’re proud of, and one test case you’d like feedback on
  • At a high level (i.e. don’t just read your code line by line) discuss your strategy for implementing one of the more complex methods, such as determining the winner of a Turn, awarding the spoils of war, etc.
  • Give a brief overview of how you used your runner.rb file to set up the game play
  • Identify an area you would refactor if you had more time
  • Ask any remaining questions about the project or their solution

Exceptional Meets Expectations Below Expectations Well Below Expectations
Functionality Application is robust and can handle a variety of inputs including invalid inputs and completes iteration 4 Application adheres to the flow outlined in the specification and can handle a variety of valid inputs (not just what is outlined in spec). Iteration 3 is complete. Only up to Iteration 2 is complete or the application does not follow the flow outlined in the specification. Iteration 2 is not complete.
Ruby Mechanics Project includes appropriate uses of hashes and enumerables not covered in class Appropriately uses Ruby’s built in datatypes and methods, flow control, and enumerables. Does not appropriately use one or two of the following: Ruby’s built in datatypes and methods, flow control, and enumerables Does not appropriately use Ruby’s built in datatypes and methods, flow control, and enumerables, or does not build classes
Ruby Conventions Classes, methods, and variables are well named so that they clearly communicate their purpose. Code is all properly indented and syntax is consistent. Code is mostly properly indented, spaced, and lines are not excessively long. Class, method, variable, and file names follow convention Code demonstrates some proper indenting and spacing. Class, method, variable, and file names inconsistently follow convention Code is not properly indented and spaced and lines are excessively long. Class, method, variable, and file names do not follow convention
Testing All methods that do not require command line input/output are accurately tested. Best use assertions are made. Each class has its own test file. Every method listed on the specification is tested. Most tests are written to accurately verify expected behavior. Tests are written for most methods listed on the specification, but the tests may be in an incorrect location or the tests may not accurately verify the expected behavior Fewer than 7 tests written (in addition to the card tests provided)

Version Control

Code is required to be hosted on a GitHub repository, and will have at least 20 commits and one pull request.

Lesson Search Results

Showing top 10 results