Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Programming Assignment Part 2

FC308

Information Technology

Assessment Instructions

What do you need to do for this assessment?  

Task:

Below are 2 short programming tasks.  You are to produce a solution using the Python programming language.   For each of the tasks you should also detail (in a short report); 

· The algorithm (pseudo code, flowchart or other recognised formats) 

· A list of key variables, functions and data structures used in the program and how they are used 

· Details of how you tested the program 

· A summary of the software developed 

 

Task 1. Hangman 

The program should play a game of Hangman with the user. The program should:

Ø First choose a secret word at random out of a list of words.

Ø The program should then display a dash for each letter of the secret word.

Ø The program should display the maximum number of incorrect guesses allowed.

Ø The user should guess letters, one at a time, to try to guess the secret word.

Ø If the user guesses a letter in the secret word that letter should replace the dash in the correct position. 

Ø If the user guesses a letter that does not appear in the secret word the program should reduce the number of incorrect guesses available by one.

Ø If the user correctly guesses all the letters in the word, the user wins the game.

Ø Otherwise when the user runs out of incorrect guesses the program wins. 

Ø After each game the user should have the option to play again.

 

Task 2. ATM 

The program should simulate an ATM banking machine. The program should:

Ø First ask for the user’s 4 digit PIN code. 

Ø The user has 3 attempts to enter their PIN. 

Ø If the PIN is entered incorrectly 3 times the program should output a message to the effect that the card has been retained and should then restart. 

Ø If the PIN code is entered correctly the user should be able to 

• Check their balance 

• Withdraw money from their account up to the total of their balance 

• Deposit money into the account 

Ø The user’s balance at the beginning of the transaction should be a randomly generated total between £100 - £1000. 

 

You should assume users of the software have no technical experience and may not always enter data in the range expected.  Ensure that you prompt the user assuming they have no understanding of how the program functions. Your programs should not exit unexpectedly. 

  

Guidance:

For this assessment you should make use of the following formative activities that you have already completed.  These activities have been designed to support this summative assessment:

· Programming Assignment part 1 feedback

· Formative assessments for topics x, x, x

 

Please note:

This is an individual assessment so you should not work with any other student.

 

Your tutor will also ask for a draft copy of your task and provide written feedback.  

 

Before you submit this assessment, you will have an opportunity to receive feedback from your peers (other students in the class).  Your tutor will arrange a time for you to share and discuss your progress with your classmates.  You do not have to act on their feedback, but you may find it useful to enhance your final submission.

 

 

Structure:

Your report must include: Title page, contents page, page numbers and declaration of ownership 

 

Section 1.1:  Task 1 Algorithm – The algorithm used expressed as a flowchart, pseudo code or other recognised nomenclature. 

Section 1.2:  Task 1 Technical Overview – A description of the key variables, functions and data structures used. 

Section 1.3:  Task 1 Testing – A description of how the program was tested. Include an overview of the methodology, test data, test tables and results.  

Section 1.4:  Task 1 Summary – a short (no more than one page) and accurate reflection of how well you think the solution works and what improvements are needed or could be made. 

 

Section 2.1:  Task 2 Algorithm – The algorithm used expressed as a flowchart, pseudo code or other recognised nomenclature. 

Section 2.2:  Task 2 Technical Overview – A description of the key variables, functions and data structures used. 

Section 2.3:  Task 2 Testing – A description of how the program was tested. Include an overview of the methodology, test data, test tables and results.  

Section 2.4:  Task 2 Summary – a short (no more than one page) and accurate reflection of how well you think the solution works and what improvements are needed or could be made. 

 

Section 4.1:  Task 1 code listing 

Section 4.2:  Task 2 code listing 

 

Section 5: References 

 

Theory and/or task resources required for the assessment:

You will need to use Python programming language.  This will be available on the university computers and can also be downloaded and installed free of charge to your home PC/laptop.  Your tutor will advise you on this. 

Referencing style:

As well as any literary references you should include references to any Python code used that is not sourced from the taught material (e.g. labs/lectures).  Code references MUST BE referenced within the code. E.g. 

# The following 3 lines of code were taken from https://stackoverflow.com/questions/2960772/how-do-i-put-a-variable-inside-a-string-in-python 

Or 

# The following lines of code were adapted from https://stackoverflow.com/questions/2960772/how-do-i-put-a-variable-inside-a-string-in-python 

 

Literary references should be in the Harvard style.  You do not need to include a bibliography. 

 

Expected word count:

You should write no more than 1 page for each section.    Note that this is a limit, not a target.  There is no minimum word count and you should be succinct in your writing and avoid repetition.  Use diagrams, lists and tables wherever possible. 

 

The Reference and Appendix sections are not included in the word count.  You may write additional appendices as needed.   

 

Learning Outcomes Assessed:

· Identify the following accurately: integer, real/float, Boolean, character, string, date/time, records (or equivalent), arrays (or equivalent)  

· Demonstrate a theoretical understanding of conditions and iteration structures  

· Apply the fundamentals of number systems to computational data  

 

Submission Requirements:

You must include the following paragraph on your title page:

I/we confirm that this assignment is my/our own work.  

Where I/we have referred to academic sources, I/we have provided in-text citations and included the sources in the final reference list.

 

Example: You must type your assessment in Arial font 11, with single spacing.

You must submit the assessment electronically via the VLE module page.  Please ensure you submit it via Turnitin.

 

Assessments submitted after the submission deadline may incur penalties or may not be accepted.

Addition submission information – check you have done the following:

Formatting

Consistent font, spacing, page numbers, formatting and subheadings

Citations

Correct format and location throughout the report

Referencing

Harvard referencing system used correctly in the reference list

Summarising

Summarising the results of research

Paraphrasing

Paraphrasing the contents of research findings

Spell check

Spell check the report

Proof-reading

Proof-reading completed

Grammar

Grammarly has been used to check the report

 

How will this assessment be marked?

The assessment will be marked using the following weighted marking criteria: 

· Task 1 Code functionality 12.5%, Code structure 12.5% (Total 25%) 

· Task 1 Documentation: Algorithm and Data structures 12.5%, Testing and Summary 12.5% (Total 25%) 

· Task 2 Code functionality 12.5%, Code structure 12.5% (Total 25%)   

· Task 2 Documentation: Algorithm and Data structures 12.5%, Testing and Summary 12.5% (Total 25%) 

 

You will receive a % mark in each of these categories and your overall mark will be calculated as the sum.  The overall mark will also be a percentage mark (0-100%).  You should examine the marking schema for further details of the marking.   

 

How will you get feedback?

Your tutor will mark the assessment and provide you with a written feedback sheet.  You can use this feedback to guide your further learning on the module.