Object Oriented Programming for Software Development Report
- Subject Code :
CS705
- University :
others Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
United Kingdom
2024/25 ASSIGNMENT REMIT DOCUMENT UPLOAD
Programme Title |
MSc Computer Science |
|
Module Title |
Object Oriented Programming for Software Development |
|
Module Code |
2219 |
|
ASSIGNMENT TITLE |
Implement a Banking Application |
|
Level |
7 |
|
Weighting |
100% |
|
Lecturers |
Dr Ismeil Ahamed |
|
W/C Hand Out Date |
26/02/2025 |
|
Due Date |
By 17:00 on 01/05/2025 |
|
Cut-off Date for Late Submissions (10 working days after the due date) Only for EC applicants |
By 17:00 on 12/05/2025 |
|
Feedback Post Date |
20 working days after the due date |
|
ASSIGNMENT FORMAT |
FILE UPLOAD (DOCUMENT) |
|
Essay/Report Format |
Formal Report |
|
Assignment Word Count |
2500 words + 15 mins presentation |
|
Submission Format |
e-Submission |
Individual |
Permitted use of Artificial Intelligence within this assessment |
For this assignment, Artificial Intelligence can ONLY be used as stated within Using AI Ethically within Assignments document. https://rise.articulate.com/share/4h250QmyY8hNnsQ9HS7B702dJedhlsM6. |
|
ASSIGNMENT TASK:
Objective:
- Develop a console-based application for managing a simple bank account. This application will allow users to:
- Create a new account with essential details like name,account number,and initial balance.
- Deposit and withdraw money from the account,updating the balance accordingly.
- Check the current account balance.
- Display a transaction history of all deposits and withdrawals.
OOP Concepts:
- Classes: Design two classes: Account and Bank.
- Account:This class should contain attributes like name,account number,balance,and a list of transactions.It should have methods for deposit,withdrawal,checking balance,and adding transactions to the history.
- Bank: This class can manage multiple accounts, handle account creation, and provide an interface for interacting with different accounts.
- Inheritance: You can explore subclassing different account types (e.g., Checking Account, Savings Account) with specific features like interest rates or transaction fees.
- Data Hiding: Use access modifiers like private to protect sensitive data like account number and balance. Public methods can access and update these values in a controlled manner.
Bonus Features:
- Implement error handling for invalid inputs,insufficient funds,and other scenarios.
- Display the account information and transaction history in a clear and formatted manner.
- Allow users to choose between different accounts if there are multiple ones (Bank class implementation).
TASK GUIDANCE:
Deliverables
- Fully functional and well-documented source code of the application.
- A brief explanation (1-2 pages) within the code comments or a separate file describing the classes, attributes, and methods used.
- Ensure proper grammar,spelling,and formatting.
- Focus on attention to detail, quality of work and overall academic standards.
MARKING CRITERIA:
Part A: (80%)
Functionality and Correctness (30 marks):
- 5 marks: Introduction and Table of Content
- 10 marks:All required functionalities listed in the task are implemented and working correctly (i.e.,account creation,deposit,withdrawal,balance check,transaction history).
- 10 marks:Accurate calculation and update of account balance after deposits and withdrawals.
- 5 marks: Correct handling of invalid inputs and edge cases (e.g., negative deposit, exceeding withdrawal limit)
OOP Implementation (30 marks):
- 10 marks:Appropriate use of classes and objects to represent accounts and bank.
- 5 marks
- 5 marks:Effective use of access modifiers for data hiding and encapsulation (private account details).
- 10 marks: Inheritance implemented for different account types with specific features.
Code Quality and Organization (10 marks)
- 5 marks:Clear and consistent coding style with appropriate indentation and naming conventions.
- 5 marks:Use of comments and documentation to explain code functionality and design choices.
CLI and Experience (10 marks):
- 5 marks: Easy-to-use and understand prompts and commands for user interaction
- 5 marks: Clear and concise display of account information and transaction history.
Part B Presentation (20%)
Present your software (15-minute presentation including Q&A).
E-SUBMISSION GUIDANCE:
- This assignment will require you to submit your work by uploading a document in Word or PDF format to Canvas. Please follow this online guide on document submissions and contact the DICE team on dice@ucb.ac.uk if you need any further support.
LEARNING OUTCOMES:
LO I
Apply object-oriented design methods to solve programming problems.
LO II
Demonstrate and use appropriate libraries and packages to solve programming problems.
LO III
Design, develop and test robust object-oriented programs that meet user requirements.
LO IV
Evaluate the effectiveness of software solutions in meeting user requirements.
SKILLS OUTCOMES:
- The skills outcomes to bedevelopedby completing this assignment can be found here.
GENERAL ASSIGNMENT GUIDANCE:
UCB standards for presenting your written work |
Please use the standards within this link about text size, line spacing, margins, headers, page numbering, embedding quotations within your work and appendices. https://ucbirmingham.instructure.com/courses/26756/pages/presentation-of-submitted-work |
Using Artificial Intelligence (AI) ethically within your assessments |
Please read the information below on how to use AI ethically within your assignments, including Grammarly. Please ask your lecturer or CASE if you are unclear about any information within this link. If a marker has questions about how you have used AI within your assignment, you may be invited to a meeting to discuss your work. https://rise.articulate.com/share/4h250QmyY8hNnsQ9HS7B702dJedhlsM6 |
Teamwork Assessment |
Should this assignment require you to work as part of a team, you will receive an individual grade based on your performance and personalised feedback. The assignment brief will provide clear details on how your individual grade and feedback will be determined against the task and marking criteria. |
Importance of Word Count |
Assignment word counts should always be observed. Ignoring a word count significantly increases the risk of your work losing marks because it will likely lack focus and clarity, and/or you would have gained an unfair advantage over others who have completed their work within the word count. Students will be required to state their word count on all submissions. A 10% leeway will be allowed so the maximum a student should submit will be the word count + 10%. The word count will exclude: o The title page o The contents page o Models, graphs, calculations, data tables, and other exhibited figures or images o Lists of references o Appendices (these should be kept to a minimum) |
E-submission |
See the guidance below on e-submitting your assignment: https://www.ucb.ac.uk/higher-education-student-handbook/assessment-issues/ |
Cut-off date for late submissions (including for students with ECs and/or Support Plans) |
The cut-off time for late submissions is 10 working days (UCB working days) after the original assessment hand-in/due date. After this time, you cannot submit any late assessments, even if you have Extenuating Circumstances to cover them. https://www.ucb.ac.uk/higher-education-student-handbook/assessment-issues/ (See Additional Information Section, Assignments and how to Submit them) Students with Support Plans may have additional time to submit their work after the formal submission date. |
Generic Grading Criteria |
The Generic Grading Criteria (GCC) are the generic features and expectations of work at a given level on your programme. The GCC per level is used in conjunction with the assignment marking criteria to determine the mark for your assignment. For more information on the GCCs for Levels 4-7, please click on this link. https://www.ucb.ac.uk/higher-education-student-handbook/assessment-fairness-and-marking/ |
Plagiarism and Academic Misconduct |
Please read the policy on Plagiarism and Academic Misconduct below. UCB will be robust in ensuring that marks awarded for assignments are based on fair and ethical assessment and referencing practices by students. https://www.ucb.ac.uk/higher-education-student-handbook/essay-writing/plagiarism/ |
Extenuating Circumstances |
Extenuating Circumstances (ECs) are significant personal difficulties which adversely impact your ability to complete your assignment. Please read the supporting information below if you have ECs impacting your ability to complete this assignment. https://www.ucb.ac.uk/higher-education-student-handbook/assessments-if-things-go-wrong/ |
UCB Referencing Guide |
You are required to reference your sources within your assignments appropriately. Please click on the link below to learn how to reference various sources of information. This Guide also includes how to acknowledge all Generative AI used within your assignment, ensuring that you comply with the Using AI Ethically within your Assignments policy (as covered above). https://portal.ucb.ac.uk/download/referencing/referencing-guide.pdf |
Access the Assignment Life Cycle |
The Assignment Life Cycle offers you additional support at each stage of the assignment process. Please click on the link below: |