Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COMP0034 2022/23 Coursework 2

specification

20/2/23: Corrected the individual % for ML for testing.

Contents

Introduction

Data

Coursework content

Progress and support

Submission

Marking

Referencing

Introduction

This document specifies coursework 2 which is worth 50% of the assessment marks available for the module.

In COMP0035 you designed a web app that does one of the following:

provides a REST API that allows users (developers) to access one or more aspects of the

data set; or

provides a feature that uses a simple machine learning model e.g. to make a prediction or

classify a submission.

For this coursework, you can choose either of the above. That is, you do not have to develop what you designed if you no longer wish to. If you designed a REST API you can choose to  develop a ML app; and vice versa.

Given your chosen option, for this coursework you are asked to provide evidence of:

1.  Application code

2.  Test code

3.  The use of relevant tools and techniques

These are detailed in the following sections.

Data

You must only use the data sets as approved for COMP0035.

Which data set to use depends on your circumstances. Please refer to the table below.

COMP0035 (term 1)

COMP0034 (term 2)

Data set

Individual

Individual

Use the same data set that you used for COMP0035 coursework 1 and 2.

Group

Group (same group as in COMP0035)

Use the same data set that you used for COMP0035 coursework 1 and 2.

Individual or Group

Group (different     group from COMP0035)

Use the data set and any app specification and designs from the coursework of any member of the new group.                  You must not otherwise collaborate with former group members in completing the COMP0034 coursework, for example you must not have access to their COMP0034 repository.

Group

Individual

Use the data set and any app specification and designs from your previous group.

You must not otherwise collaborate with former group members in completing the COMP0034 coursework, for example you must not have access to their COMP0034 repository.

Not completed in 2022-23

Individual

Contact the course tutor to obtain one of the  approved data sets.

The same rules for ethics and data protection apply as for all other coursework in COMP0034

and COMP0035.

Coursework content

Getting started

Create a GitHub repository using the classroom. All aspects of the coursework must be included in a single source code controlled repository. This should be in GitHub unless you have a reason that requires you to use an alternative. Use the relevant link to create a copy of the starter repository:

GitHub classroom link for individuals

GitHub classroom link for groups

Technologies that must be used

Technology

Notes

GitHub for source code control

All elements of the coursework; whether code or other; are to be maintained using source code control.

Source code control should be in GitHub, with repositories created in GitHub classroom to allow tutors and PGTAs to gain access.

If you cant use GitHub for some reason please contact the course tutor to agree alternative source code control.

Python coding environment

You need a python coding environment with python. Guidance can be found in the tools section.

Flask

You must use Flask as the web app framework to create the app. Use of other frameworks (Django, React etc) is not permitted.

Markdown

Any text explanations to support must be written in readme.md in markdown. There is a guide to markdown on GitHub

You may also use any other Python package that is freely available, e.g. inPyPi; for example FlaskSQLAlchemy, Flask-Marshmallow, Requests, Flask-JWT-Extended, etc.

scikit-learn is suggested as the machine learning library though you may use any freely available python package.

JavaScript is not assessed in the marking scheme and therefore its use is discouraged. You are not permitted to use JavaScript to create the web app e.g. use of React or similar.

What you need to create

The following table summarises what is needed for each type of app and whether individual or group.

Group / App type

Code

Testing

Tools &

techniques

(A)

Individual: REST API

Create a REST API using Flask.

At least one

test for each

route.

Evidence of the use of source code control and dependency management. Provide set-up        instructions.