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.
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. |
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. |
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 |