Work handed in up to five working days late will be given a maximum grade of 3LOW whilst work that arrives more than five working days will be given a mark of zero. Work will only be accepted beyond the five working day deadline if satisfactory evidence, for example, an NEC is provided.
The University views plagiarism and collusion as serious academic irregularities and there are a number of different penalties which may be applied to such offences. The Student Handbook has a section on Academic Irregularities, which outlines the penalties and states that plagiarism includes:
'The incorporation of material (including text, graph, diagrams, videos etc.) derived from the work (published or unpublished) of another, by unacknowledged quotation, paraphrased imitation or other device in any work submitted for progression towards or for the completion of an award, which in any way suggests that it is the student's own original work. Such work may include printed material in textbooks, journals and material accessible electronically for example from web pages.'
Whereas collusion includes:
“Unauthorised and unacknowledged copying or use of material prepared by another person for use in submitted work. This may be with or without their consent or agreement to the copying or use of their work.”
If copied with the agreement of the other candidate both parties are considered guilty of Academic Irregularity.
Penalties for Academic irregularities range from capped marks and zero marks to dismissal from the course and termination of studies.
To ensure that you are not accused of plagiarism, look at the sections on Plagiarism Support and Turnitin support.
The aim of this coursework is work through the encoding, decryption and breaking of the RSA (Rivest, Shamir and Adleman) algorithm. This will be done through answering four questions, each of which carries an equal weighting towards your final mark. Your submission will take the form of a report in which you answer each question in turn. You will also be required to do some coding in MATLAB.
The assessment consists of a single .pdf submission to Dropbox, which should contain a report, followed by a copy of your MATLAB code as an appendix. Your work will be submitted to TurnitIn as a means to check for plagiarism. MATLAB code should be typed into the appendix to allow it to be checked by TurnitIn. Do not submit screenshots from MATLAB or .m files as part of your report. Included in the NOW Assessment folder is a sample Question 0 with model solution which can be used as a template for your own work. Do not submit Q0 yourself.
You should use the RSA Testing Dropbox folder to make a test submission and check your TurnitIn report (noting that the report can take a few hours to compile so do this early). The final submission should be placed in the RSA Final Submission folder. You may only submit once to the testing folder. You can submit more than once to final submission folder but you may only submit one file and this will overwrite any previous submission.
Questions 1-3 all require MATLAB coding. In each case the parts a), b), c),… will tell you what MATLAB code you need to write and parts i), ii), iii),… will explain what commentary you should look to include in your report. Non-submission of code for a given question, or incorrect code, will result in no credit being awarded for any answers in the commentary section that are directly related to having working MATLAB code.
The final report should not exceed four pages of typed A4 (11pt font size with 2.4cm margins). To achieve this, it is easiest to type up your report in Microsoft Word and save your final submission as a PDF. You are also welcome to use LaTeX but be aware that the page limit above, with formatting restrictions still applies and it is your responsibility to make sure that you meet these restrictions. However, you must submit a .pdf. If you submit any other file type, you will be automatically docked one grade.
All of your MATLAB code should be included as an appendix at the end of the report and should be separated on a question-by-question basis. All code should be given as MATLAB functions. The appendix will not contribute to your four page limit. You may (and are encouraged to) use external resources as long as they are referenced. Again, your references list does not contribute to the four page limit.
Aspects of this assignment, particularly Question 4, will require you to use external resources. You are encouraged to use academic resources (papers, textbooks) where possible. Google Scholar is a great place to search for academic material. Note, in particular, that whilst Wikipedia is a useful resource, it is a secondary resource. Rather than citing Wikipedia as a reference, use the citations on Wikipedia pages to guide you to original sources for you to reference.
You are expected to do your referencing in an academic style (Harvard or numeric). If you feel uncomfortable with referencing, you should seek guidance form the library at the earliest possible opportunity.
To encourage proper referencing, the following caps will be enforced:
• Submissions with references in a non-academic style will be capped at a 21HIGH
• Submissions with a references list, but where references are not signposted in the main text, will be capped at a 22HIGH.
• Submissions with no referencing at all will be capped at a 3HIGH.
Whilst the university guidelines on academic irregularity prohibit collusion, it is accepted that students will discuss ideas relating to both the coding and write-up aspects of this assignment with each other. This is not discouraged since benefits to learning can come out of sharing ideas. However, the following actions are strictly prohibited and will be acted upon if TurnitIn suggests that any students breach these rules:
• Plagiarism of Code Be that from an online source or from a current/previous student.
• Collusion in the write-up Your report write-ups should be individual pieces of work. The best way to avoid issues here is to not show any part of your final write-up to another student. Using TurnitIn, it is very easy to distinguish between students who have discussed ideas for their report but written up separately and students who have written up together.
Note that some of the questions in this assignment relate to the Public Information Excel file on NOW. This file splits the cohort into groups of four by student number and some questions ask you to solve your “group problem”. These groups only exist for the purposes of creating questions for you to answer. You are reminded that this is an individual coursework and you should not be colluding with other members of your “group”.
As a rule of thumb, you should consider discussing your work with your peers but not actually showing them any of your code/write-up. This will allow you to have the benefit of shared knowledge but will put you at no risk of receiving a TurnitIn report that is a cause for concern. It is accepted that some of the code, particularly in Q1 and Q2 is likely to be flagged up by TurnitIn, even where collusion/plagiarism has not taken place. Do not be concerned by this if you see this when submitting to the testing folder.
Some of the coding questions in this assignment can be answered very easily using built-in MATLAB functions. As such, restrictions are placed on the built-in functions that you may use in your code.
from previous questions in the coursework. For example, if you create a function called trialdiv() for Question 1a), you may use the trialdiv() function in all future questions. No other built-in MATLAB function may be used unless specified. You may also use statements such as for and while loops, conditional if statements and the break and return commands.
If you are asked to check your code using a built-in MATLAB function, the built-in function should not form a part of the code given in your appendix but you should make some comment in your report about which values you checked your code on. Code using functions that are not permitted will result in marks being docked for the relevant question. The extent to which the code relies on these functions will determine how far the grade drops.
Note in particular that functions such as disp() and fprintf() are not permitted to display your answers. Instead, all of your answers should be given in function format. The question will specify what your input and output variables should be. Consider the example below of a simple function used to add up two numbers.
function c = add(a,b) c = a+b;
end
In this function, a and b are the inputs and c is the output.
Once you have working code, you should also try to make it as efficient as possible. This means reducing the amount of work that MATLAB has to do to process your code. This can be measured in arithmetic operations, a concept that is explained in Question 1. Note that shorter code is not necessarily more efficient, for example, if you have a particularly long loop in the code.
If you cannot get some code to work, try to provide an explanation of where you think you are going wrong. You may be able to receive some credit for this.
The commentary questions determine what should go in your report. These are the questions that actually determine your grade. The MATLAB code is simply a means to an end to answer these questions. Assuming your code works and follows the rules given above, the only impact that your code will have on your grade is the level of efficiency that you have achieved. Any question that has no commentary answer given will receive a grade of ZERO, regardless of the quality of any code that is submitted for the question.
Your report should not look to explain what is happening in your code unless the commentary questions specifically request this. Some of the commentary questions mainly rely on using your code to produce some output but most require further investigation or thought.
Do not think of this as a coding assignment. The report is what constitutes the bulk of the marks so you should give yourself sufficient time to produce as good a write up as possible.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme