Python Programming

147 views 9:22 am 0 Comments May 20, 2023

Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023

Assessment Details and Submission Guidelines
Unit Code MN404 – T1 2023
Unit Title Fundamentals of Operating Systems and Programming
Assessment Type Group Assignment
Assessment Title Python Programming
Purpose of the
assessment (with
ULO Mapping)
This assignment assesses the following Unit Learning Outcomes; students should be
able to demonstrate their achievements in them:
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 20% of the total assessments
Total Marks 50 marks
Due Date Week 11, 4/6/23, 23:55pm
Submission
Guidelines
All work must be submitted on Moodle by the due date along with a title Page.
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:
http://www.mit.edu.au/about-mit/institute-publications/policies-procedures
and-guidelines/special
http://www.mit.edu.au/about-mit/institute
publications/policies-procedures-and-guidelines/special
considerationdeferment
considerationdeferment
Academic
Misconduct
Academic Misconduct is a serious offence. Depending on the seriousness of the
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:
http://www.mit.edu.au/about
mit/institute-publications/policies-procedures-and-guidelines/Plagiarism
Academic-Misconduct-Policy-Procedure
. For further information, please refer to
the Academic Integrity Section in your Unit Description.

MN404 Fundamentals of Operating Systems and Programming Page 2 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
Assignment 3 Specification
The assessment gives the students an opportunity to showcase their skills learnt in this unit. It
provides a good learning of how to input and display data, lists, if statements, loops (while and for),
subprograms, saving to and reading from a .csv file, how to create a new user ID, how to the change
the generated passwords, display all user IDs, verified, validated etc. and code all the process. The
assignment enables the student not only to learn the concept and importance of user management
and its functions but also to implement it for real-time applications. It enables the students to apply
principles of abstraction and problem solving in an object-oriented programming language. Further,
it empowers the students to apply knowledge of programming constructs in managing the user IDs
and passwords.
Assignment description:
Your project group is responsible for designing, coding, testing, and debugging an online library
borrowing system.
At the beginning, the program should display the following message:
“Please enter your new user ID: ”
The entered user ID will then be checked with the data base in a db.txt file to see if it matches. If it
doesn’t match to the database, the program will display the following message:
“The user ID is wrong, please re-enter it: “
If it matches, the program will display the following message:
“Please enter the user password: “
The entered user password will then be checked with the database, if the password doesn’t match,
the program will display the following message:
“The user password is wrong, please re-enter it: “
If it matches, the user will successfully log into the system and be directed to a catalogue search page,
which asks the user to enter the book name or book ID.
The entered book name or book ID will then be checked with the database, if the book name or ID
cannot be found in the database, the program will display the following message:
“Cannot find the book name or ID, please re-enter it: ”
Commented [OM1]: database
Commented [OM2]: database
Commented [OM3]: database
Commented [OM4]: database
MN404 Fundamentals of Operating Systems and Programming Page 3 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
Otherwise, the program will display the following book information:
book ID,
book name,
edition number,
and status (available or unavailable).
If the book status is available, the user can reserve it by selecting the item. Then the program will
display the following message:
“Do you want to reserve this item? Please press Y or N”
If the user selects N, the program will return to the catalogue search page. If the user selects Y, the
program will check the number of books being already borrowed by the user. If the number of books
being already borrowed by the user is equal or more than 5, then the program will display the
following message:
“Sorry, you have already reached the maximum number of books that you can borrow.”
Otherwise, the program will display the following message:
“The book has been successfully reserved for 24 hours. It will be available to other users if it hasn’t
been picked up within 24 hours. Please select the following two options to continue”
1) Go back to the catalogue search page
2) Log out
If the user choose option 1, the user will be directed to the catalogue search page.
If the user choose option 2, the user will be logged out.
In this assignment, the students shall code the specified requirements on incremental development
processes of designing, coding, testing, and debugging. This assignment involves the following tasks:
1. To Design and develop an algorithm or a detailed flow chart
2. To convert the algorithm to a python program and test for various cases.
Note: Generally, in a project you should write a program that contains an introductory docstring. This
documentation should describe what the program will do (analysis) and how it will do it (design the program
in the form of a pseudocode algorithm). Include suitable prompts for all inputs and label all outputs
appropriately. After you have coded a program, be sure to test it with a reasonable set of legitimate inputs
.
MN404 Fundamentals of Operating Systems and Programming Page 4 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
The assignment report must include the following sections:
User Requirements:
o Include all the user (assignment) requirements here.
o For example: the requirements of a username and password etc…
Analysis
Analysis often requires the programmer to learn some things about the problem domain and
that information the user will have to provide. Also, it should specify what the program is
going to do. In this case the problem domain would be the logic used.
Design:
The design phase has to describe how the program is going to do the desired task. This usually
involves writing an algorithm or a flow chart in fact, algorithms are more often written in a
somewhat 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 Python code, so the transition to the
coding step should be straightforward.
Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors must be
completed. The complete code with proper indentation has to be pasted here along with
sample inputs and outputs.
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 slipshod testing of software.
Once all the errors are debugged, set of all possible inputs are to be provided. Even though
the range of the input numbers on a computer is finite, testing all of 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.

MN404 Fundamentals of Operating Systems and Programming Page 5 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
Submission Guidelines:
Your assignment should be completed according to the General Guidelines for Presentation of
academic work. Your submission should contain the following:
1. The assignment Word file that will be submitted shall include:
User Requirements
Analysis
Design Phase (Algorithm/flow chart)
Implementation – Complete program in Python without syntax errors (cut and paste
the complete code).
Must include appropriate and sufficient comments in the source code.
Test cases:
Screen shots of initial compilation results with syntax errors.
Troubleshooting the syntax errors
Sufficient screen shots showing all possible outputs obtained.
Link to the video to be included in the word document.
A link to the video (not more than 4 min) demonstrating the working of the
complete program along with various test cases has to be included as part of
the assignment word file
The file name must have your student ID as part of its name.
2. Documentation should follow the standard submission guidelines as below:
a) Front page – indicating your name and student ID, teaching staff (Lecturer’s name), a
statement of what has been completed and acknowledgement of the names of all who
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 using 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.

MN404 Fundamentals of Operating Systems and Programming Page 6 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
Marking Guide

Sections to be
included in the
Assignment
Description of the sections Marks allocated
Section 1
(10 Marks)
User requirements
Analysis Phase
Design Phase
To cover all requirements mentioned in the
assignment along with any relevant assumptions
made
2.5 Marks
2.5 Marks
5 Marks
Section 2
(35 Marks)
Implementation
Phase
Program
Testing Phase
Demonstration and
Link to Video
Error free, well commented Python program for
the algorithm without any discrepancy between
the program and the algorithm.
5 valid test cases
Screenshot of initial compilation with syntax
errors if any
Troubleshooting the errors
4-5 min demonstration of the program along
with demonstration of various test cases of the
program during Week 10 and 11 labs.
The link to watch the video to be included in the
word file that has the complete python code with
test cases considered. The name of the word file
of the assignment to have (MIT XXXXXX
Assignment 2.doc)
20 Marks
5 Marks
2.5 Marks
2.5 Marks
5 Marks
References Minimum of 4 references used along with in text
citation
5 Marks
Total marks 50 Marks

Algorithm or
Flowchart

MN404 Fundamentals of Operating Systems and Programming Page 7 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023
Marking Rubrics for Assignment 3

Tasks Excellent
(HD)
Very
Good(D)
Good ( C ) Satisfactory(P) Unsatisfactory(F)
User Requirements Has provided
complete set
of user
requirements
Has
provided
all of the
user
requireme
nts
Has provided
most of the
user
requirements
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)
Analysis is
complete and
optimal
Analysis
carried out
is very
good
Analysis
carried out is
moderate
Sufficient analysis
is not carried out
No analysis is carried
out
Design Phase
(The algorithm
/Flowchart)
Logic used in the
algorithm/flow chart
with high degree of
clarity.
Considered all
possible code flows.
Optimal
algorithm
with all
possible code
flows are
considered
Very good
logic and
all required
code flows
are
considered
Good logic
and some
code flows
are
considered
Some logic and
few code flows are
considered.
Relevant Logic not
considered.
Algorithm/flow char
presentation Video
Excellent
presentation.
Flawless
Good
presentati
on
Moderate Ok Poor presentation
Implementation
Phase
Perfect code
with
complete
solution
Good code
with
complete
solution
Good code
but with not
complete
solution
Poor coding and
incomplete
solution
Very poor coding
Testing All possible
test cases
considered.
Unit and
integrated
test cases
considered
Most of
the test
cases
considered
.
Integrated
cases only
Considered
test cases are
not adequate
Few test cases are
considered
No test cases
Demo Video Exceptional
demonstratio
n of the
complete
program logic
and test
cases
Very good
Demonstra
tion of the
complete
program
logic and
test cases
Good
demonstratio
n of the
program with
some test
cases
Satisfactory
presentation
Poor presentation
References Have at least
4 references.
Clear styles
with
excellent
source of
references.
Have at
least 4
references.
Clear
referencin
g style
Have at least
4 references.
Generally
good
referencing
style
Have at least 3
references.
Sometimes clear
referencing
style
Less than 3
references.
Lacks consistency
with many errors

MN404 Fundamentals of Operating Systems and Programming Page 8 of 8
Prepared by: Dr Leijia Wu Moderated by: Dr Osama Mahdi March 2023