Python代写:FC308 Assessment System

实现一个Assessment System, 自由度较高。

Assessment System

Assessment Instructions

What do you need to do for this assessment?


You are required to develop and test a Python program and then write up a report about your solution.

Students should complete the task based on the scenario chosen and provide evidence to meet all the criteria. Evidence must be provided to show key elements of this assessment:

  • Analysis of the scenario and the application of computational thinking skills.
  • Technical understanding of the data structures, algorithms, functions, and data types.
  • Development of a programming solution in Python.
  • The testing and evaluation of the solution during the development process and at the end of the development.

The following sections should be included in the report submitted:

  1. Analysis
  2. Design (Using an algorithm)
  3. Technical Overview
  4. Developing the codded solution
  5. Testing to inform development
  6. Testing to inform evaluation
  7. Evaluation of Solution
  8. References

It is recommended that you consult the marking rubric and marking check list to identify the weighting that goes with each of the categories and the scores for each category. This page and the following page contain a short description of what each of the sections.


The analysis section should contain an analysis of the scenario which is being worked on. In this section students should identify what is important about the scenario. It is important that this section contains a set of success criteria which indicate what features the solution should have and can be used later in the report to assess how well the final program fulfils the success criteria. In this section students should consider the requirements that all stakeholders have and anticipate any likely features that are complimentary to the ones identified in the scenario. The analysis can also draw upon research into other applications and into the needs of the stakeholders.

Design (Using an algorithm)

The design section should include a description and representation of the algorithms that are going to be used in the making of the final project. The algorithms that are designed should be represented using either flowcharts or pseudocode, and the correctness and completion of these representations will be considered in the awarding of marks. If there are elements that are key for the final program missing from the representations of the algorithms this will negatively impact this section. Hence, it is recommended that these algorithms be as complete as possible and contain comments where appropriate.

Technical Overview

The technical overview section should contain a detailed description of the data structures, programming techniques and methods used in programming the final solution. This means that students should identify and describe the use of things like iteration, selection, and the use of sub functions in the code (built in Python functions or ones that are defined in the code). It also means that students should describe the nature of the data structures that are used in the project. In other words, the variable ‘name’ should be identified, and the type of data should be given (i.e., a string) and the purpose of that variable should be identified. The same should be done for complex data structures. It is also recommended to include a justification for the use of the type of variable for storing the data in the program.

Developing the codded solution

This section should contain a complete list of the final python code, and that code should contain comments which describe that code. If there are elements in the final Python project which are not planned in the design section or technical overview, this will likely reduce the grade awarded. The omission of an explanation for the use of programming techniques indicates that the student may not fully understand the reason for using such programming techniques. If the student has used code from other sources such as the internet or a textbook, the code should be cited, and a reference should be included at the end of the report.

Testing to inform development

This section should contain a description of the testing that went on during the development of the solution. Testing is an important part of the development process. For example, if data is to be stored in a text file for use in the program, the function for storing and retrieving the data from the file needs to be tested for it to work within the program as expected. It is also recommended that this section contain a description of how any code was changed to fix any problems encountered. Therefore, it is important that students record the changes that they have made to the code.

Testing to inform evaluation

This section should contain a description of the systematic testing of the final project that is produced. It is recommended that the students use the success requirements identified in the analysis part of the report to direct their testing, although testing should not be limited to those areas identified in the analysis. Through the testing it is important that students assume that the user will not always input the required information or the required type of information into the program. The program should not fail or stop if the user does not enter the required data in the correct format so it is important for the student to test for edge cases and type errors etc that would raise exceptions or stop the program running as expected.

Evaluation of Solution

In this section the final solution should be evaluated against the scenario that was presented to the student and against the success criteria that was identified in the analysis section of the report. The evaluation should draw upon the analysis section and consider the needs of all the stakeholders. The evaluation should also consider possible additions to the program that would add additional features or functionality that would be complementary to the program.


A list of references that are in the Harvard referencing style should be provided along with citations in the text of the report to reference the materials used in the project.


For this assessment you should make use of the following formative activities and summative assessments that you have already completed. These activities have been designed to support this summative assessment:

  • Programming Assignment Part 1 Feedback
  • Formative Assessments for topics in the Programming and Computational Thinking Themes.

Please note:
This is an individual assessment so you should not work with any other student.

Your tutor will also ask for a draft copy of your report and provide written feedback.

Before you submit this assessment, you will have an opportunity to receive feedback from your peers (other students in the class). Your tutor will arrange a time for you to share and discuss your progress with your classmates. You do not have to act on their feedback, but you may find it useful to enhance your final submission.

The task has been designed to encourage you to develop more sophisticated programs which can showcase your programming skills and allow you to develop more complex algorithms. The complexity and originality of your work will be considered in the awarding of a grade for this piece of work.

Program Specification

Robert works in the admin department for an international college. He has been asked by the manager to create a program to manage the results from the students’ assessments. The system should be used by both students and teachers. Each student has a unique identifier which can be used to identify the students in the college.

Robert wants to create a user interface that allows him to log into the system and carry out the necessary administration such as add assessment results etc.


It is recommended that the assessment management system should store at least:

  • Unique username and password for students and teachers.
  • User status (i.e., If the user is a teacher or a student).
  • Student Name (First name and Surname) the courses they are on and their scores.
  • Course information and a list of the breakdown of the assessments on the course.
  • Assessment information for individual assessments as well as the combined total for their course.

However, the possibility of storing other data can improve the functionality of the program.

Minimal Requirements

You have been asked to analyse the requirements for this system and design, develop, test, and evaluate a program that allows Robert to at least:

  • Login with a username and password.
  • Access a menu system (for example to login as a student, or teacher, then check score etc.)
  • Enter and store assessment information.
  • Log out.
  • Retrieve and display the details of a particular student.
  • Create at least two different reports that Rob might need and describe how he would use each one.
  • Produce these reports when selected from a menu.

As the designer of the application, it is your responsibility to add functionality to the program which you can justify according to the scenario. In other words, this specification page details the minimum requirements for the programming project. The final solution will be awarded marks based on the complexity and the use of programming techniques that are developed on the course. You are recommended to go beyond this specification and try to showcase your programming skills and technical understanding.

Note for students:

To test this program, you will need a data file containing the details of at least 20 students and their assessments. You are free to invent courses and assessments for those courses, but they must be applied consistently across the system.


Your report must include a Title page, contents page, page numbers and declaration of ownership.

There is no word count for the assignment, but there are some guidelines for each section:

Section 1: Analysis

The analysis needs to be no more than one page of text.

Section 2: Design (Using an algorithm)

The design of the algorithm can take up multiple pages.

Section 3: Technical Overview

It is recommended that this should be a detailed description which can take multiple pages.

Section 4: Developing the codded solution

This section will contain all code and will take up multiple pages.

Section 5: Testing to inform development

This section will contain a detailed description of the testing during the development process and will take up multiple pages.

Section 6: Testing to inform evaluation

This section will contain a detailed description of the testing of the final project and will take up multiple pages.

Section 7: Evaluation of Solution

This section will contain an evaluation of the final program that has been produced. It can contain multiple pages.

Section 8: References

Theory and/or task resources required for the assessment

You will need to use the Python programming language for this assignment. This will be available on the university computers and can also be downloaded and installed free of charge to your home PC/laptop.
Your tutor will advise you on this.

Referencing style

As well as any literary references you should include references to any Python code that you have used that is not sourced from the taught material (e.g. labs/lectures). Code references MUST BE referenced within the code e.g.
The following 3 lines of code were taken from


The following lines of code were adapted from

Expected word count

There is no word count for this assessment.

Learning Outcomes Assessed

  • Identify the following accurately: integer, real/float, Boolean, character, string, date/time, records (or equivalent), arrays (or equivalent)
  • Demonstrate a theoretical understanding of conditions and iteration structures.
  • To use abstractions in programming languages such as functions and define our own functions.
  • To apply the fundamentals of numerical data and data storage to computational data.