Year 1 Computer Programming Assessment Brief
Year 1 Computer Programming Assessment Brief
2
CEBE UG Assignment brief revised 19/10/2018
IMPORTANT STATEMENTS
Undergraduate Regulations
Your studies will be governed by the BCU Academic Regulations on Assessment, Progression and
Awards. Copies of regulations can be found at https://icity.bcu.ac.uk/Academic-
Services/Information-for-Students/Academic-Regulations-2018-19
For courses accredited by professional bodies such as the IET (Institution of Engineering and
Technology) there are some exemptions from the standard regulations and these are detailed in
your Programme Handbook
Both cheating and plagiarism are totally unacceptable and the University maintains a strict policy
against them. It is YOUR responsibility to be aware of this policy and to act accordingly. Please
refer to the Academic Registry Guidance at https://icity.bcu.ac.uk/Academic-Registry/Information-
for-Students/Assessment/Avoiding-Allegations-of-Cheating
By submitting coursework, either physically or electronically, you are confirming that it is your own
work (or, in the case of a group submission, that it is the result of joint work undertaken by
members of the group that you represent) and that you have read and understand the University’s
guidance on plagiarism and cheating.
You should be aware that coursework may be submitted to an electronic detection system in order
to help ascertain if any plagiarised material is present. You may check your own work prior to
submission using Turnitin at the Formative Moodle Site. If you have queries about what
constitutes plagiarism, please speak to your module tutor or the Centre for Academic Success.
3
Electronic Submission of Work
It is your responsibility to ensure that work submitted in electronic format can be opened on a
faculty computer and to check that any electronic submissions have been successfully uploaded. If
it cannot be opened it will not be marked. Any required file formats will be specified in the
assignment brief and failure to comply with these submission requirements will result in work not
being marked. You must retain a copy of all electronic work you have submitted and re-submit if
requested.
Assessment Details:
Title: Design and development of a Banking System using Python programming language
This quiz is closed book and must be carried out using your own login account. The test is
45 minutes long, and will consist of various types of questions including multiple-choice
questions, and may include some coding exercises. The quiz will test your knowledge about
fundamental programming concepts learnt during the first few weeks of this module.
Possible topics will be covered in the test includes variables, functions, decision structure,
logical operators, lists and loops etc.
Instructions to Candidates:
There will be 10 questions on the Moodle, and your answers must be valid for
Python version 3.6.
Attempt all questions.
All questions carry equal marks.
Candidates are not permitted to use the Internet.
The use of Python platform is not permitted.
Note: If your tutor sees you communicating with anyone online on in the lab, your test will
be endorsed and you will receive 0 marks for this test. Note, all computer activities are
4
logged, and each log is identified with student ID number. Hence, it is possible to detect all
inappropriate activities during and after the test.
Note: You can always seek help and support from your tutors and demonstrators regarding
your lab exercises prior to the 48 hours coding challenge. However, when the coding
challenge is on, no tutor or a demonstrator will give you any help or support in relation to the
48 hours coding challenge or any relevant lab exercises.
5
Use the above activities to draw two flowcharts using the special shapes to represent
different types of actions or steps in a process. Link these activities with Lines and arrows
show the sequence of the steps, and the relationships among them.
For this part of the assessment you need to submit two flow chart diagrams (total
weight 15%). To complete this you must refer to Week 2 learning materials.
o (7%) One diagram should depict the log-in process for the banking system
Important:
This part of the assessment should not be attempted by students until you are
provided with the partial implementation code which you must use as a starting
point of your system, and this will be provided to you around week 7 of this
semester. Developing your banking system from scratch is not acceptable for
this assessment, and may lead into losing substantial amount of marks.
Description:
Rationale
This programming assignment is to apply the programming principles covered in tutorials
and lectures to develop a python software that implements core banking solution that is
used in banks by its customers and staff members. The software can be fully implemented
using text based interface, however, to achieve higher marks, a GUI based software can be
developed using the Python GUI Programming module namely Tkinter. GUI design and
Tkinter programming will be covered during weeks 7 or 8. The aim of the exercises is to
enhance a student’s experience of programming by applying programming principles to a
larger problem of developing a complete application.
There are mainly two reasons behind the selection of the banking system as the topic of this
coursework. Firstly the students are familiar with the banking systems, hence, students will
spend less time and effort to understand the functions specification of the software they will
be developing for this coursework. Hence, most of their time will be devoted to the design,
development and testing of the banking system by applying the programming knowledge
and skills they learnt throughout this module. Secondly, GUI based programs make it easier
to interact with the developed system and demonstrate a direct relationship between the
user interaction and the system functions and data. Also, students will learn about how a
product works entirely from the user's (or customer's) perspective and not from just a
developer prospective. Hence, they will need to develop a user friendly GUI.
To achieve a mark to maximum of 40% of the total marks for the System
Development
The application must implement all the above and the following:
Create the necessary classes and functions which allow admins to perform the following
tasks:
Close a customer account i.e. remove customer from the system
Update admin own information i.e. name and address
Print all customers details
The application must implement all the above and the following:
Customers can have different types of bank account. Accounts will differ in their
name, interest rate and overdraft limit etc.
The bank system should be able to store and load all customers’ data from and
into a file.
To achieve a mark of 71% to maximum 80%
The application must implement all the above and the following:
7
Admins can request a management report. This should show the following
information;
o Total number of customers in the system
o The sum of all money the customers currently have in their bank account.
o Using individual account balance, the report should calculate the sum of
interest rate payable to all accounts for one year, note, if customers have
different account types, their rates will vary.
o Total amount of overdrafts currently taken by all customers.
Development of a suitable Graphical User Interface (GUI) to perform all the above
banking functions.
Note: students need to submit their system alongside the necessary objects to test their
software by the tutors when marking. For example, if your system is able to deal with
different types of bank accounts (e.g. business and savings accounts), then you should
populate the system with at least two customers that have two or more different account
types.
Software testing is the process of evaluation a software item to detect differences between
given input and expected output. Students are expected to perform White Box Testing (also
known as Clear Box Testing). White box testing involves looking at the structure of the code.
Since you know the internal structure of a system, tests can be conducted to ensure that the
internal methods and operations perform according to the specification. Students must
chooses inputs to exercise paths through the code and determines the appropriate outputs.
Good testing means your system is free of logical and run time errors.
For this part, you need to develop a test plan that includes test cases based upon the
system design and implementation of your Banking System.
o We expect around 15 unique and valid test cases for your system.
o Testing and evaluation mechanism and methods will be explained during
Week 9 when we will cover “Debugging and Test Plan”.
o Testing and evaluation will only be done when the 1st version of your software
has been implemented.
Additional information:
The following links provides further information about the programming language used for
teaching this module:
Essential Book:
Gaddis, T. (2015). Starting Out with Python. 3rd ed. Pearson Education
Recommended Tutorials:
8
Portable Python (http://www.portablepython.com)
Python Website (http://www.python.org)
Recommended Readings:
Downey, A. (2015). Think Python How to Think Like a Computer Scientist. 2nd ed.
O'Reilly Media
Shaw, Z. (2013). Learn Python the Hard Way. 3rd ed. Addison Wesley
For advice on writing style, referencing and academic skills, please make use of the Centre
for Academic Success: https://icity.bcu.ac.uk/celt/centre-for-academic-success
Workload: It is expected that the students should take around 60/75 hours (in addition to the
regular weekly teaching hours) of programming effort to design and develop an application as
specified in this assessment brief.
Transferrable skills:
The assessment help students to develop various transferable skills which are necessary to
obtain a decent job in the future.
Problem Solving
Being a programmer involves the ability to identify real-world issue and coming up with a
technological solution to address it. This requires having strong analytical skills to
understand the issue and evaluate different solutions in order to find the one that best fits
the problem.
9
specifications. Its purpose is to make judgements about a programme that you have
developed, to improve its effectiveness and inform programming decisions.
10
Marking Criteria:
11
relevant to the
problem.
Criterion LO3 Use common programming tools and techniques (e.g. editors, testing APIs and
3.C theories) to test and evaluate programs
Little or no Weak testing Basic testing of Adequate Excellent
Mark: 15% testing of the that does not the program testing of all testing of all
Excellent
program. No adequately showing program testing of all program
rigour in test program implemented features program features
approach features features meet implemented features described in the
where testing implemented requirements showing design and the
is haphazard meet the banking additional
requirements system works features not
as required described in the
design.
Submission Details:
Format:
All work should be submitted on Moodle as a single zip file. The zip file should contain the
following:
For component 1 - Moodle quiz. This is an online test that will be performed on the
Moodle. The quiz consists of 10 questions to be completed in 45 minutes.
The zip file should be structured so that the location of its contents is clear and unambiguous.
Please submit only one version of your work. Also, the zip file should be named using the
following format StudetName_studentID.zip
12
PLEASE MAKE SURE THAT YOUR APPLICATION WILL WORK ON THE UNIVERSITY'S
MACHINES. DO NOT RELY ON THE FACT THAT IT MAY WORK ON YOUR OWN
LAPTOP/PC AND THEREFORE IT SHOULD WORK ELSEWHERE.
Regulations:
If you submit an assessment late at the first attempt then you will be subject to one of the
following penalties:
if the submission is made between 1 and 24 hours after the published deadline the
original mark awarded will be reduced by 5%. For example, a mark of 60% will be
reduced by 3% so that the mark that the student will receive is 57%. ;
if the submission is made between 24 hours and one week (5 working days) after
the published deadline the original mark awarded will be reduced by 10%. For
example, a mark of 60% will be reduced by 6% so that the mark the student will
receive is 54%.
if the submission is made after 5 days following the deadline, your work will be
deemed as a fail and returned to you unmarked.
The reduction in the mark will not be applied in the following two cases:
the mark is below the pass mark for the assessment. In this case the mark achieved
by the student will stand
where a deduction will reduce the mark from a pass to a fail. In this case the mark
awarded will be the threshold (i.e.40%)
Please note:
If you submit a re-assessment late then it will be deemed as a fail and returned
to you unmarked.
Feedback:
Feedback on your submissions should be given electronically via Moodle.
Marks and Feedback on your work will normally be provided within 20 working days of its
submission deadline via Moodle.
13
Where to get help:
Help and support to complete the assessment will be provided during the followings:
Students can get additional support from the library for searching for information and
finding academic sources. See their iCity page for more information:
http://libanswers.bcu.ac.uk/
The Centre for Academic Success offers 1:1 advice and feedback on academic writing,
referencing, study skills and maths/statistics/computing. See their iCity page for more
information: https://icity.bcu.ac.uk/celt/centre-for-academic-success
Fit to Submit:
Are you ready to submit your assignment – review this assignment brief and consider
whether you have met the criteria. Use any checklists provided to ensure that you have
done everything needed.
14