Learn smart - Learn online. Upto 88% off on courses for a limited time. View Courses

Securing Higher Grades Costing Your Pocket? Book Your Assignment at The Lowest Price Now!
Add File

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!

ITECH1400 Foundations Of Programming

tag 0 Download 2 Pages / 418 Words tag 26-11-2020
  • Course Code: ITECH1400
  • University: Federation University
    icon is not sponsored or endorsed by this college or university

  • Country: Australia


You are tasked with creating an application that uses a GUI that simulates a simple banking interface similar to an ATM / online banking using the Python 3 programming language. The assignment is broken up into five main components:
1.) The ability to provide an account number and a PIN (Personal Identification Number) to sign into a bank
2.) The ability to view the balance of the bank account and to deposit and withdraw virtual money into and out
from the account,
3.) The ability to save transactions via file storage so that you can log in, deposit some money and then log out and when you log back in that money is still there, and finally
4.) The ability to display a graph of projected earnings on the bank account via the compound interest accrued
over a variable amount of time.
5.) A Test Case that ensures your BankAccount's deposit and withdraw functionality operates correctly. Your submission should consist of three Python scripts that implement this application as described in the following pages:, along with a which contains a small test case with a few simple unit tests than ensure that your bank accounts deposit_funds and withdraw_funds methods operate correctly.
You are provided with a 'stub' of each of these files which contain all the function declarations and comments which describe the role of the function and how it can be put together, but you will have to write the code for vast majority of the functions yourself. You are also provided with a stub of the file. Your final submission should be a zipped archive (i.e. ‘zip file’) containing your completed Python scripts. There is no word processed component to this second assignment.
You will need to bind all the numerical log in buttons to the <Button-1> event and the same function, and then extract which button was pressed to help 'build up' the PIN number text. To extract which widget triggered the function use event.widget["text"]. You are provided with the complete function to remove all widgets from the top level window, the function to read a line from the account file which does NOT include the final "n" newline character and most of the
code to generate a graph and place it in your window - so you do not have to write these yourself.

The grid for the login screen has 3 columns and 6 rows, while the grid for the account screen has 5 columns and 5 rows. The fifth column on the account screen is the one holding the scrollbar. Once you have your login screen working, it makes sense to set the account number variable and PIN number variables to '123456' and '7890' respectively so that they are already filled in when you launch the app and you can immediately click the "Log In" button to move to the account screen. Without this you will have to enter these values each time you run the program, which will be a nuisance.

When you are writing your code to save the bank account object to file be aware that if the function fails before closing the file then the file will now be blank (i.e. it will not contain any bank account details). As such, it's probably best to keep a copy of the file close by so you can replace it if necessary. The way this assignment is marked is a little different from assignment 1 where you could get marks for effort - that is, if something didn't quite work as it should you would still get marks. This was because you were designing the code and its logical flow. In this assignment you are given a precise specification of how the application should work, and the marking guide is more along the lines of "did you implement this feature as specified?, did you implement that feature as specified?".

The answer to these questions is largely a simple yes or no - if you did, you get the mark - and if you didn't then you don't get the mark. If your code doesn't run at all (i.e. it produces an error on startup) then it means your code cannot possibly implement the functionality, and your marks will be severely affected. Nobody wants this - so even if you do not implement the entire suite of functionality, please make sure that your code at least runs! As a final reminder, please do not add functionality that is not described in this document. Rather than being rewarded with extra marks you will be penalised for not matching the project specification - so please stay on spec!
Submission and Marking Process
You must supply your program source code files as a single compressed archive called: with your own personal details!
Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):
• Incomplete implementation,
• Incomplete submissions (e.g. missing files), and
• Poor spelling and grammar.
Submit your assignment to the Assignment 2 Upload location on Moodle before the deadline of Friday of week The mark distribution for this assignment is explained on the next page – please look at it carefully and compare your submission to the marking guide.
Download Sample Now

Earn back the money you have spent on the downloaded sample by uploading a unique assignment/study material/research material you have. After we assess the authenticity of the uploaded content, you will get 100% money back in your wallet within 7 days.

Unique Document

Under Evaluation

Get Money
into Your Wallet

Total 2 pages

Cite This Work

To export a reference to this article please select a referencing stye below:

My Assignment Help. (2020). Foundations Of Programming. Retrieved from

My Assignment Help (2020) Foundations Of Programming [Online]. Available from:
[Accessed 13 August 2022].

My Assignment Help. 'Foundations Of Programming' (My Assignment Help, 2020) <> accessed 13 August 2022.

My Assignment Help. Foundations Of Programming [Internet]. My Assignment Help. 2020 [cited 13 August 2022]. Available from:

We Can Help!

Get top notch assistance from our best tutors !
Excel in your academics & career in one easy click!


Other Samples

Content Removal Request

If you are the original writer of this content and no longer wish to have your work published on then please raise the content removal request.


5% Cashback

On APP - grab it while it lasts!

Download app now (or) Scan the QR code

*Offer eligible for first 3 orders ordered through app!

callback request mobile
Have any Query?