Reference no: EM132628266
ITECH1400 Foundations of Programming - Federation University
Assignment: Caesar Ciphers & Turtle Graphics
Learning Outcome 1: Identify and use the correct syntax of a common programming language.
Learning Outcome 2: Recall and use typical programming constructs to design and implement simple software solutions.
Learning Outcome 3: Explain the importance of programming style concepts (documentation, mnemonic names, indentation).
Learning Outcome 4: Utilise pseudocode and/or algorithms as a major program design technique.
Learning Outcome 5: Write and implement a solution algorithm using basic programming constructs.
Learning Outcome 6: Describe program functionality based on analysis of given program code.
Application of knowledge and skills
A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.
A2. Design and write program solutions to identified problems using accepted design constructs.
Assessment Details
Part one - Caesar Ciphers
In this part you are to develop a Python application that will encrypt text from a file and also, given the key, decrypt text from a file. We shall use an easy cipher.
Shift ciphers, also known as Caesar ciphers, are obtained as follows:

Now the word COAL becomes FRDO - in this case, we have encrypted using a key of 3.
In the encryption mode, your application should ask the user for a filename which contains the plain text and the key to use for encryption. The decryption process is similar, but this time, the filename contains the encrypted text and when we give the key your application should return the original text (the arrows, shown above, go the other way).
Ideally your application should be able to handle single words, sentences, paragraphs and even whole books2.
You need to demonstrate your application and show that it is working correctly by using tests that you design.
Part two - Your Name in Turtle Graphics
Turtle graphics is built into the Python language and there are many resources freely available3. Here are some sample images:

Although you must use Python 3 in this assignment, you have creative licence in doing this application - if you are unsure, please ask your lecturer/tutor.
As an example, something like this:
would just be a bare pass.
It is suggested that you develop your code starting from pseudo-code and then incrementally make it better. You are also asked to keep a journal; it is useful in confirming ownership of your work and, in case you don't reach your final goal it demonstrates your journey. The journal can consist of hand-written notes, diagrams, drawings, code-fragments, screen-shots and so on - put your journal in an Appendix - these pages are not counted in your report.
Throughout this assignment you are expected to apply and demonstrate the six steps of problem solving.
You might be asked to demonstrate, discuss or modify your work.
You may supply your word processed documentation in either Microsoft Word or LibreOffice/OpenOffice formats only - no proprietary Mac specific formats, please.
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(s), and
• Incomplete submissions (e.g. missing files), and
• Poor spelling and grammar.
This is an INDIVIDUAL ASSIGNMENT - and while you may discuss it with your fellow students, you must not share designs or code or you will be in breach of the university plagiarism rules.
Attachment:- Caesar Ciphers.rar