+1(978)310-4246 credencewriters@gmail.com
  

Description

Assessment on Python with out plagiarism. Please do check Plagiarism need to get less than 10%.

Assessment Details and Submission Guidelines
Unit Code
MN404 – T3 2020
Unit Title
Fundamentals of Operating Systems and Programming
Assessment Type Individual Assignment
Assessment Title
An Encryption class
Purpose of the This assignment assesses the following Unit Learning Outcomes; students should be
assessment (with able to demonstrate their achievements in them:
ULO Mapping)
a. Describe the role of Operating Systems (OS) and its different subsystems in
controlling computer hardware
b. Demonstrate competency in the use of a command line interface to operate and
perform simple OS administration
c. Apply principles of abstraction and problem solving in an object-oriented
programming language
d. Apply knowledge of programming constructs in developing computer programs
e. Create programs based on incremental development processes of designing,
coding, testing and debugging.
Weight
30% of the total assessments
Total Marks
60 marks
Due Date
Week 10 laboratory class – To submit a video presentation of the Encryption class
definition and its methods.
Week 11 laboratory class – To submit a video demonstration of how the Encryption
class works by creating instances of the class and testing them using sample input. All
other required files should also be submitted.
Submission
• All work must be submitted on Moodle by the due date along with a title Page.
Guidelines
• The assignment must be in MS Word format, 1.5 spacing, 11-pt Calibri (Body) font
and 2.54 cm margins on all four sides of your page with appropriate section
headings.
• Reference sources must be cited in the text of the report and listed appropriately
at the end in a reference list using IEEE referencing style.
Extension
• If an extension of time to submit work is required, a Special Consideration
Application must be submitted directly through AMS. You must submit this
application within three working days of the assessment due date. Further
information is available at:
https://www.mit.edu.au/about-us/governance/institute-rules-policiesframeworks-guidelines-and-plans/policies-procedures-and
Academic
• Academic Misconduct is a serious offence. Depending on the seriousness of the
Misconduct
case, penalties can vary from a written warning or zero marks to exclusion from
the course or rescinding the degree. Students should make themselves familiar
with the full policy and procedure available at: https://www.mit.edu.au/aboutmit/institute-publications/policies-procedures-andguidelines/AcademicIntegrityPolicyAndProcedure. For further information,
please refer to the Academic Integrity Section in your Unit Description.
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
Dec, 2020
MN404 Fundamentals of Operating Systems and Programming
Page 2 of 7
Academic Integrity:
For assignments, students are encouraged to consult each other, the lecturer, tutor or anyone else for
that matter. However, the assistance offered or accepted should not go beyond a discussion of the
problem and a sketch of a solution. In your assignment, do not use any written material obtained
from discussions/website/book. If you can reconstruct the ideas of the discussion for your solution by
yourself, you have learned the material (and that is the objective of this course!).
Assignment 2 – Aim and Objectives:
The objective of this assignment is to provide students with practice in object-oriented programming
through designing an Encryption class and associated methods to perform encryption and decryption
of text messages. The technologies behind encryption and decryption are widely used in different
applications including secured communications, web browsers, real time transactions such as online
banking, etc. This assignment enables students not only to understand the concepts of OOD for data
abstraction and problem solving, but also how to implement the design in the Python language. It
empowers the students to apply knowledge of programming constructs in developing an end-to-end
encryption and decryption class for real time communications.
Assignment Description:
Encryption and decryption are reverse process of each other. A communication system supports endto-end encryption means it only allows the intended receiver of messages to read them but no one
else. In other words, no unauthorised recipient can access the encryption and decryption keys that
are needed to decrypt the messages – not even the provider that owns the communication system.
An application that supports end-to-end encryption transforms a message into unintelligible blocks
of data as soon as a user presses send. From there, the message is not reconstructed back to
something understandable until it arrives at the receiving end. A recent example of an end-to-end
system is Zoom, the company that specialises in video streaming made famous partly by the COVID19. With end-to-end encryption, Zoom is not able to access any data it is hosting. This works by the
host generating encryption keys and then uses public key cryptography to distribute these keys to the
other meeting participants, thereby providing safe communications.
In this assignment, you are asked to write a Python class called Encryption that has both encryption
and decryption methods. You will also write a test program that imports the Encryption class and test
if the encryption and decryption methods are working or not. You will make use of the incremental
development processes of design, code, test, and debug to complete this assignment. The following
tasks are required for this assignment:
1) Draw a detailed flowchart of your algorithms for the encryption and decryption of messages
that are being communicated. You can assume that each message is made up of only printable
characters on the keyboard.
2) You can code any existing encryption and decryption algorithms that you understand in your
Encryption class. Examples include substitution, reverse cipher, etc. Or you can design your own
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
December, 2020
MN404 Fundamentals of Operating Systems and Programming
Page 3 of 7
encryption and decryption algorithms. You must explain how the algorithms work. Full marks
will not be awarded without providing an explanation.
3) The encryption and decryption methods must have at least one parameter, which is a String.
And, both methods should return a String. For encryption, the String returned is the encrypted
message. For decryption, the String returned is the original message.
4) In addition, you are asked to analyse and report the performance of your code in terms of time
taken to encrypt and decrypt and for the accuracy of the message communicated.
5) Your program will display the encrypted messages along with the time to encrypt and to
decrypt the encrypted messages.
6) You can design and implement a Graphical User Interface for input and display of the encrypted
and decrypted messages. However, this is optional.
7) The test program should create an instance of the Encryption class. Using the created instance,
the encryption method should encrypt at least 10 messages, display each encrypted message
and the time taken for each encryption. It should show also the time taken for decrypting each
of the encrypted messages.
What to Submit:
Your assignment submission should be in a written report that include the following sections:
• User Requirements:
o Indicate all user (assignment) requirements here.
o For example: the input message, key to encrypt, encryption method, time required for
encryption and decryption, encrypted messages to be displayed, etc.
• Analysis:
As the programmer, you will detail the steps in solving the problem given. This will include
the detailed flowchart of the algorithms that you will use/propose. In this case, the problem
analysis will result in the logic used to encrypt and decrypt messages as per the algorithms.
You should also describe how the user will provide the messages to be communicated.
• Design:
The design phase describes how the class and the test program are going to do the desired
task. You can provide your algorithms in the form of a stylized version of English called
pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode
you should strive to describe the essential elements of the program in a clear and concise
manner. Note that this pseudocode closely resembles the Python code, so the transition to
the coding step should be straightforward. This phase requires you to record a 4-5 min video
explaining the logic of the algorithms. The video is to be uploaded by Week 10.
• Implementation:
In this phase, the complete code in Python free of any syntax and logic errors must be
completed. The completed code with proper indentation needs to be pasted here along with
sample inputs and outputs in captured screenshots.
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
December, 2020
MN404 Fundamentals of Operating Systems and Programming
Page 4 of 7
• Testing:
Only thorough testing can build confidence that a program is working correctly. Testing is a
deliberate process that requires some planning and discipline on the programmer’s part. It
would be much easier to turn the program in after the first successful run to meet a deadline
or to move on to the next assignment. But your grade, your job, or people’s lives might be
affected by the insufficient testing of the software.
Once all the errors are debugged, a set of inputs representing all possible cases are to be
provided. Even though the range of the input values on a computer is finite, testing all the
possible combinations of inputs would be impractical. So, the challenge is to find a smaller
set of inputs, called a test suite, from which we can conclude that the program will likely be
correct for all inputs. The number and type of input samples should cover all possible cases
of validity checks of encryption and decryption.
Submission Guidelines:
1) The assignment Word file submitted shall include:
a) Links to 2 videos to be included in the Word document along with following details:
i) Video 4-5 min explaining the logic used in the algorithms to encrypt and decrypt, and if an
encryption key is used, how the key is generated.
ii) Video 4-5 min demonstrating the program executing on various test cases of the program.
b) The flowchart of the algorithm.
c) The complete Python program without syntax errors (cut and paste the complete code).
d) Must include appropriate and adequate comments in the source code.
e) Screenshots of initial compilation results with syntax errors.
f) Troubleshooting the syntax errors, and the final successful compilation.
g) Screenshots showing all possible outputs obtained.
h) The Word file name must contain your name and MIT Student ID.
2) Documentation should follow the standard submission guidelines as below:
a) Front page – indicating your name and student ID, teaching staff (Lecturer’s and tutor’s name),
a statement of what has been completed and acknowledgement of the names of all who have
assisted you.
b) List of references used (IEEE style) – Reference sources must be cited in the text of the report
and listed appropriately at the end in a reference list. Only IEEE referencing style is acceptable
for this assignment.
3) The assignment must be submitted on Moodle. The page numbers of the assignment must be
clear on each page. The report document must be checked for similarity through Moodle/Turnitin
while submitting it. Please refer to the study skills unit staff (CoL) if you need further assistance.
4) A video of 4-5 min explaining the algorithms has to be uploaded by week 10 on Moodle.
5) A second video of 4-5 min demonstrating the working of the complete program has to be
uploaded along with assignment word file by week 11 on Moodle.
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
December, 2020
MN404 Fundamentals of Operating Systems and Programming
Page 5 of 7
Marking Guide
Sections to be Description of the sections
included in the
Assignmnet
Marks
allocated
Submission Part A
User requirements
To cover all requirements mentioned in the 5 Marks
assignment along with any relevant assumptions
made
Analysis Phase
Design Phase
Algorithm
Flowchart
5 Marks
or
10 Marks
Video link
To be submitted by Video of 4-5 min explaining the logic used in the 10 Marks
week 10
algorithm to encrypt and decrypt and key
generation, if required.
The link to watch the video to be included in the
Word file that has the user requirements,
analysis, and algorithm. The name of the Word
file of the assignment should be something like
(MIT XXXXXX Part A.doc)
Submission Part B
Implementation
Phase
Program
Error free, well commented Python program for 10 Marks
the algorithm without any discrepancy between
the program and the algorithm.
10 Marks
(Relevant and
critical 10 test
cases)
Testing Phase
Link to Video
4-5 min video demonstration of the program 5 Marks
To be submitted by along with demonstration of various test cases of
Friday – week 11
the program.
The link to watch the video to be included in the
Word file that has the complete Python code and
the test cases considered. The name of the Word
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
December, 2020
MN404 Fundamentals of Operating Systems and Programming
file of the assignment should be something like
(MIT XXXXXX Part B.doc)
References
Total marks
Page 6 of 7
Minimum of 4 references used along with in-text 2 Marks
citation
Early submission (algorithm + program + 2 video 3 Marks
links in week 10)
60 Marks
Marking Rubrics
Tasks
Excellent
(HD)
Very
Good(D)
Good ( C )
Satisfactory(P)
Unsatisfactory(F)
User Requirements
Has provided
complete set
of
user
requirement
s
Has provided
most of the
user
requirement
s
Has
provided
some
user
requirements
Has not provided
the requirements
Analysis Phase
(Analysis of the
Problem domain, all
possible inputs and
outcomes of the
program
are
identified
and
presented)
Design Phase
(The
algorithm
/Flowchart)
Analysis is
complete
and optimal
Has
provided
all of the
user
requireme
nts
Analysis
carried
out is very
good
Analysis
carried out is
moderate
Sufficient analysis
is not carried out
No
analysis
carried out
Optimal
algorithm
with
all
possible
code flows
are
considered
Very good
logic and
all
required
code flows
are
considere
d
Good logic
and
some
code flows
are
considered
Some logic and
few code flows
are considered.
Relevant Logic not
considered.
Excellent
presentation
.
Flawless
Perfect code
with
complete
solution
All possible
test
cases
considered.
Unit
and
integrated
test
cases
considered
Good
presentati
on
Moderate
Ok
No presentation
Good code
with
complete
solution
Most of
the test
cases
considere
d.
Integrated
cases only
Good code
but with not
complete
solution
Considered
test
cases
are
not
adequate
Poor coding and
incomplete
solution
No
provided.
Few test cases
are considered
No test cases
Logic used in the
algorithm/flow
chart with high
degree of clarity.
is
Considered
all
possible code flows.
Algorithm/flow
char presentation
Video
Implementation
Phase
Testing
Prepared by: Prof. Paul Kwan
Moderated by: Dr Ajay Sharma
solution
December, 2020
MN404 Fundamentals of Operating Systems and Programming
Demo Video
Exceptional
demonstrati
on of the
complete
program
logic
and
test cases
References
Relevant and
good
references
Prepared by: Prof. Paul Kwan
Very good
Demonstr
ation of
the
complete
program
logic and
test cases
Good
references
Page 7 of 7
Good
demonstrati
on of the
program
with some
test cases
Poor
presentation
No presentation
Moderate
references
Few references
No references
Moderated by: Dr Ajay Sharma
December, 2020

Purchase answer to see full
attachment

error: Content is protected !!