代写COMP0035 Coursework 02 specification代写Python语言

COMP0035 Coursework 02 specification

1. Table of contents

Introduction

Coursework specification

General requirements and constraints

Getting started

Coursework content

Submission Marking

Module learning outcomes Mark allocation

Grading criteria Appendices

Guidance on Moodle Code quality

Code that does not fully function

Version: 2.0. 19/11/24 Summary of changes:

Version 2.0: Explicit statement that exclude the use of Jupyter notebook files.

2. Introduction

The aim of the combined coursework in this module is for you to select and apply some of the relevant software development and data science techniques that are used in a typical project lifecycle.

Coursework 1 focused on data preparation and database design.

Coursework 2 continues from coursework 1, focusing on requirements analysis, design, and testing.

In coursework 2 you will design a web application that centres on the use of the database that you

prepared in coursework 1. You will need to come up an idea of the application to develop based on the data.

You will submit a single written document (report) and a repository of code files that combined meet the requirements detailed in the “Coursework Content” section.

You should make progress each week of term. There are weekly activities and checkpoints in Moodle.

For IEP minor students, the application that you design in this coursework will be developed and tested in COMP0034 in Term 2.

3. Coursework specification

3.1. General requirements and constraints

• Compile all written work into a single report in either PDF or Markdown format. Name the document coursework2.

There are no word limits; though the report is not an essay, so be succinct. Use relevant diagrams.

• Continue to use the repository you created for coursework 1. Keep the repository private. Keep the repository in the ucl-comp0035 organisation.

You must use the data set allocated to you on Moodle.

This is an individual coursework. Do not collude with other students using the same data set.

• Use of code AI tools is permitted. UCL recommends using Microsoft Copilot (https://

liveuclac.sharepoint.com/sites/Office365/SitePages/Bing-Enterprise-Chat.aspx) using your UCL credentials. This must be stated in the ‘References’ section.

• Use relevant techniques from the course, or from data science and/or software engineering processes. Provide references for techniques not included in the course material.

Diagrams can be hand-drawn and scanned. Using software to draw them does not increase marks.

• Python code must be submitted as python files (.py). Jupyter notebook files are not appropriate or acceptable for this coursework.

3.2. Getting started

Continue using the same GitHub repository that you used for coursework 1. Continue to use the same data that you used for coursework 1.

Before you start, you need to come up with an idea of the application to develop based on the database you designed in coursework 1. Any idea, so long as it uses the data in some way, is acceptable. You can  include features in the app that collect data for new entities and attributes. These are some of the apps previous students’ have designed:

• Employment data: web app for job-seekers to search for job adverts as well as charts based on the data. Employers could post job adverts.

• Film box office data: web app for movie enthusiasts with functions to search for movies and exchange comments on them (blog/comment feature).

• House sales data: web app for potential homebuyers and sellers that deployed a machine learning model that predicted house prices for different house sizes in areas of London.

Volcano eruptions data: a web app that showed map with volcano locations and provided pages

with info related to the activity of each and integrated a news feed API to provide relevant stories.

• Cherry tree flowering in Kyoto: a web app that allowed researchers to get a prediction about the future dates that the cherry trees would flower, and provided an admin interface to manage the   data set.

• Emissions data: a web app for London residents to check on the air quality in different areas of London.

Avoid features that require login/authentication unless it is essential to enable the app’s behaviour. Authentication is well documented and easy to copy, so lacks challenge as an app feature to design.

Machine learning (ML) is not taught in COMP0034. Previous students who designed apps with machine learning already knew how to create the models. You are welcome to design a feature based on an ML model if you have the knowledge to do so.

3.3. Coursework content

This lists the sections to be included in the coursework:

1. Requirements analysis

2. Design (interface, application and database)

3. Testing (query code and unit tests)

4. References (references, statement of AI use, dataset attribution)

The content for sections 1, 2 and 4 must be combined in a single report. The content for section 3 will be in code files.

Section 1: Requirements analysis

The purpose of this section is to demonstrate that you can apply relevant software engineering techniques to define a product; and capture, document and prioritise requirements.

Section 1.1: Overview of the product and who will use it

Select and apply appropriate techniques to provide an overview of the app you will design, and who is intended to use it (i.e. the target audience).

Section 1.2: Prioritised requirements

Select and apply techniques that document the requirements for the app. The requirements describe what the app should do, and any constraints on how it should operate.

Document the requirements using a relevant software engineering format, e.g. User Stories. Include the prioritisation of each requirement.

Section 2: Design

The purpose of this section is to demonstrate that you can apply relevant design techniques to describe the structure to the proposed Python web application.

Produce diagrams that represent the design of your application’s interface and application logic. Review your database design (ERD) from coursework 1.

The design should cover most of the requirements that you documented in section 1.2 - there may be lower priority requirements that you do not consider.

Section 2.1: Interface design

The “interface” is the web pages that the intended audience will use in the app.

Design the structure of the interface as wireframes. Focus on the requirements and the data that needs to be presented or captured in each “page” or “view” in the interface. Do not consider visual aspects such as   colours, fonts, etc.

Section 2.2: Application design

Design the application logic i.e. the Python package(s), module(s), functions and classes. Do not write the Python code, the design should be a diagram.

Section 2.3: Database design

You designed a database in coursework 1 and drew this as an Entity Relationship Diagram. Review the design against your requirements. If changes are required, update the ERD.

Include the ERD from coursework 1 and if you made changes, the revised version for coursework 2 in the report.

Section 3: Testing

The primary purpose of this section is to demonstrate that you can write and run unit tests using pytest. A secondary assessment objective is to demonstrate that you can write SQL queries as Python code.

Section 3.1 Write Python code to run database queries

Write Python code to execute 6 SQL queries that interact with the database you have designed.

You can either use the database you created in coursework 1, or use an updated version based on the design you created for section 2.3.

Aim to provide at least one of each type of query if possible:

1. A query that selects data from a table

2. A query that adds data to a table

3. A query that deletes a row of data from a table

4. A query that amends an existing row of data in a table

Try to structure the code as Python functions (or Python class with methods).

Section 3.2 Unit testing

Unit test the database query code. Use the pytest library. Write 2 unit tests for each of the 6 queries.

To run the tests, the marker requires that your code be installed used pip install -e . and the marker will run the tests using pythom -m pytest. If you wish the tests to be run using a different command,

please provide the command in the report.

Make sure that you:

update requirements .txt by adding pytest and any other python libraries used

• update pyproject .toml so that your test directory and your coursework2 code directory can be located by pytest

Code quality is considered.

Optionally, consider reporting and commenting on test coverage; and/or automating the running of the

unit tests in a GitHub Actions workflow.

Section 4: References

Include code references in comments the code files close to where it is used. Include all other references, if used, in the report.

Section 4.1: Use of AI

State either that you used AI, or state that you did not.

If you used AI, include the details stated in the UCL guidance (https://library-guides.ucl.ac.uk/ referencing-plagiarism/acknowledging-AI#s-lg-box-wrapper-19164308).

Section 4.2: Dataset attribution

Include a statement to acknowledge your dataset (attribution) to comply with any license condition required for your data set (given in the data set link in Moodle > Resources > Data sets).

Each license is different and tells you what has to be cited; e.g. see open government licence v3 (https:// www.nationalarchives.gov.uk/doc/open-government-licence/version/3/).

3.4. Submission

Refer to Moodle > Assessment for the deadline date and time.

Submit your work on Moodle as a single .zip in the assignment submission.

GitHub is not an acceptable alternative for submission. However, it allows you to download files as a .zip file, this .zip file can then be uploaded to Moodle.

Make sure all files are in the zip. URLs linking to external files cannot be marked as they could be changed after the submission time.

DO NOT include your virtual environment, e.g. .venv, folder in the zip file, this creates unnecessarily large zip files.

Table: Submission checklist

Section

Report

Code files

1.

Requirements analysis

1.1 Overview of the product and who will use it

1.2 Prioritised requirements

2.

Application design

2.1 Interface design

2.2 Application design

2.3 Database design

3. Testing

3.1 Database queries

3.2 Unit test code

Updated requirements .txt,

pyproject .toml and README .md.

4. References

4.1 Statement of AI use

4.2 Data set attribution

4.4 Other references (optional)

4.3 Code references within code files


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图