Skip to content

Instantly share code, notes, and snippets.

@Charlie-robin
Last active July 12, 2022 08:21
Show Gist options
  • Save Charlie-robin/9ccbd578ec27b661eadab88c9a4a4a34 to your computer and use it in GitHub Desktop.
Save Charlie-robin/9ccbd578ec27b661eadab88c9a4a4a34 to your computer and use it in GitHub Desktop.

Halfway Challenge - Marking Scheme

Note

There is a chance of getting 120/100 due to adding and extending the project.

There is no penalty for not attempting stage 4a & 4b.

Brief Stages (50%)

Score Description
+10 Stage 1: They have created a Card & CardGame class with relevant fields, getters and setters. The CardGame should have a deckOfCards field that has 52 Cards.
+20 Stage 2: In the CardGame class they have implemented and have functioning the following methods dealCard(), sortDeckIntoSuits(), shuffleDeck() and sortDeckInNumberOrder().
+30 Stage 3: They have started creating the Snap class and it extends CardGame. It is not fully implemented but shows signs of how it would / could work.
+40 Stage 3: They have completed the Snap class and have it interacting with command line. A card should be drawn, if the suit matches the game should end.
+50 Stage 4a + 4b: These stage is an extension if they have implemented either they are a super star.

OOP (50%)

You should feel confident with their application of each pillar.

Total each OOP pillar they have demonstrated.

Score Description
+10 Abstraction: Classes should be well designed and only do one thing. The Controller / Main can be the exception. Clear use of a constructors to populate fields.
+10 Encapsulation: Methods & fields should use appropriate access methods. Only public if being used by a client.
+10 Inheritance: Has been used correctly where it makes sense to use it.
+10 Polymorphism: They have demonstrated Overriding and Overloading methods in a class or sub class.
+10 Bonus: Using interfaces or Abstract classes where it is relevant.

Code Quality (20%)

Score Description
+0 Code is unreadable due to an extreme lack of care for indentation, casing, consistency etc.
+10 Some thought has been put into readability, but variables and functions are poorly named or there is commented development code through the project.
+15 Most variables and functions have meaningful names, there is good indentation, but there may be some minor inconsistencies across the code
+20 All variables and functions have meaningful names, there a no casing issues, there is clear separation between all sections of code, and complex conditions or logic are easily understood
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment