Assignment title: Information


ACS |Systems Development Assignment 2 Student GuideV12015 Page 1 Assignment 2 – Student Guide Card Game This assignment will assess the competencies from ICTPRG527 - Apply intermediate object-oriented language skills. Instructions Some of the activities for this unit relate to a card game. Using the design and code you developed during the activities as a starting point, develop a simple game of Blackjack where a single player can play against the computer. Your submission should: • use a simple graphical user interface to interact with the player. It is sufficient to display the cards as text, such as KH for the King of Hearts. • use a database to store player scores, along with the player's name, for multiple players. • allow the player to enter a name. If a previously entered name is entered, this player should be assumed to be a returning player, and the player's score updated rather than a new player being created. • include unit tests. • include documentation, both for the user (player), and JavaDoc for programmers. For the user documentation, choose whichever format you prefer, but include a brief paragraph in your submission explaining your choice. • be organised sensibly into packages. • comply with code standards: choose one of the well-known ones referred to during this course and, as part of your submission, indicate which standard you elected to follow. • deal with Exceptions sensibly, and document them as appropriate. Provided you first obtain permission, you may create a card game other than Blackjack. However make sure the game you choose is a simple one: most card games will take longer than you think to create, certainly longer than this course planned.ACS |Systems Development Assignment 2 Student GuideV12015 Page 2 Grading of Assignments This is how your assignment will be marked: Has the student demonstrated the following? ICTPRG527 Apply intermediate object-oriented language skills C NYC Performance Evidence (Note: If a specific volume or frequency is not stated, then evidence must be provided at least once) Evidence of the ability to: design and build application programs from a problem scenario and program specification use object oriented programming language Knowledge Evidence To complete the unit requirements safely and effectively, the individual must: explain data structures explain small-size and medium-size application development define object-oriented programming concepts define object-oriented programming language explain the process and techniques related to the use of a graphical user interface (GUI), to interact with an operator outline the techniques to document applications For the % grade, you will be also be marked according to the following: Program Requirements A No to any of these is an automatic fail Yes No Does the program have a graphical user interface? Are player scores stored in a database? Is user documentation included? Is JavaDoc programmer documentation included (within the source code)? Does the program attempt to play Blackjack? And Item Description Mark Code Quality  Are the classes placed in sensibly named packages?  Are reasonable reasons given for choosing a specific coding standard?  Has the chosen coding standard been followed consistently?  Are all exceptions handled sensibly? Consider failing any submission with empty catch blocks: remember that in some situations it is appropriate toACS |Systems Development Assignment 2 Student GuideV12015 Page 3 have a non-empty catch block containing only a comment explaining why there is no code within the block.  Is user input checked for validity? For example, if the user does not enter a name, the code should not attempt to use the name or a NullPointerException will result. /25 Unit Testing  Are Unit Tests included?  Is each test small, and easy to understand?  Does each test have either a comment, or suitable name, so it is easy to tell what it is designed to test and what the expected outcome is?  Do all unit tests pass? If the submitted program is incomplete, it is acceptable for the answer to be no as long as the student has indicated this, and explained why. However the majority of the tests should pass. /20 Database  Does the program contain code to handle an inaccessible database?  Does the program contain code to handle an uninitialised database (one without the required table)? /10 GUI  Does the GUI use standard Swing components?  Is the GUI laid out using standard Layout Managers, and not hard-coded dimensions and locations?  Is the GUI still acceptable to view and use when the window is resized? /15 Documentation Programmers:  Is every public method well documented with JavaDoc?  Does the first sentence provide a clear summary of the method's purpose?  Are all parameters documented, including an indication of invalid values when appropriate?  Is the return value documented, including an indication of the value returned if something goes wrong?  Are any Exceptions documented, including the circumstances that may lead to them being thrown?  Are there normal comments in the code to assist understanding of complicated sections of logic? User:  Is the chosen format appropriate? (Consider the submitted reasons for the choice)  Is the documentation written with non-technical language?  Does the documentation sufficiently cover how to use the program? /30 Total 100 You should use these as checklists before submitting your assignment for assessment.15