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

Coursework Assessment Pro-forma

Module Code: CMT120

Module Title: Fundamentals of Programming

Assessment Title: Web Application Development

Date Set: 20th November 2023

Submission date and Time: 11th January 2024 at 9:30AM

Feedback return Date: 8th February 2024

If you have been granted an extension for Extenuating Circumstances, then the submission deadline and return date will be later than that stated above. You will be advised of your revised submission deadline when/if your extension is approved.

If you defer an Autumn or Spring semester assessment, you may fail a module and have to resit the failed or deferred components.

If you have been granted a deferral for Extenuating Circumstances, then you will be assessed in the next scheduled assessment period in which assessment for this module is carried out.

If you have deferred an Autumn or Spring assessment and are eligible to undertake summer resits, you will complete the deferred assessment in the summer resit period.

If you are required to repeat the year or have deferred an assessment in the resit period, you will complete the assessment in the next academic year.

As a general rule, students can only resit 60 failed credits in the summer assessment period (see section 3.4 of theacademic regulations). Those with more than 60 failed credits (and no more than 100 credits for undergraduate programmes and 105 credits for postgraduate programmes) will be required to repeat the year. There are some exceptions to this rule and they are applied on a case-by-case basis at the exam board.

If you are an MSc student, please note that deferring assessments may impact the start date of your dissertation. This is because you must pass all taught modules before you can begin your dissertation. If you are an overseas student, any delay may have consequences for your visa, especially if it is your intention to apply for a post study work visa after the completion of your programme.

NOTE: The summer resit period is short and support from staff will be minimal. Therefore, if the number of assessments is high, this can be an intense period of work.

This assignment is worth 60% of the total marks available for this module. If coursework is submitted late (and where there are no extenuating circumstances):

1. If the assessment is submitted no later than 24 hours after the deadline, the mark for the assessment will be capped at the minimum pass mark;

2. If the assessment is submitted more than 24 hours after the deadline, a mark of 0 will be given for the assessment.

Extensions to the coursework submission date can only be requested using the Extenuating Circumstances procedure. Only students with approved extenuating circumstances may use the extenuating circumstances submission deadline. Any coursework submitted after the initial submission deadline without approved extenuating circumstances will be treated as late.

More information on the extenuating circumstances procedure can be found on the Intranet:

https://intranet.cardiff.ac.uk/students/study/exams-and-assessment/ extenuating-circumstances https://intranet.cardiff.ac.uk/students/study/

your-rights-and-responsibilities/academic-regulations

By submitting this assignment you are accepting the terms of the following declaration:

I hereby declare that my submission (or my contribution to it in the case of group submissions) is all my own work, that it has not previously been submitted for assessment and that I have not knowingly allowed it to be copied by another student. I declare that I have not made unauthorised use of AI chatbots or tools to complete this work, except where permitted. I understand that deceiving or attempting to deceive examiners by passing off the work of another writer, as one’s own is plagiarism. I also understand that plagiarising another’s work or knowingly allowing another student to plagiarise from my work is against the University regulations and that doing so will result in loss of marks and possible disciplinary proceedings.

Assignment

For this coursework, you are asked to:

1. Implement a personal digital portfolio in the form of a dynamic website, which showcases your competences, skills and expertise, e.g. your technical skills, work produced to date, previous work experience, etc. - the choice of what you want to cover it’s up to you, but make sure you cover a reasonable range of these.

2. Record a short 3-min demo of your website.

3. Write a report to evaluate your website’s quality, usability and security.

1 Personal Digital Portfolio as Dynamic Website

1.1 Website Implementation

The website is to be implemented using any appropriate tools and methodologies, covered in this module, e.g. JavaScript, Python/Flask, HTML, CSS, databases, etc.

The majority of your website content must be ’dynamic’, i.e. appropriate data and content are pulled from/pushed to a database.

-Examples of dynamic content include, but are not limited to: interaction with the user (e.g. user comments or rating), user accounts, automatically generated web pages.

-You can employ any type of database system/service.

Use of external libraries, extensions and APIs is allowed, e.g. Flask-WTF,

Flask-Security, Bootstrap. However, the final code must be authored by you. You are reminded of the need to comply with Cardiff University’s Student Guide to Academic Integrity. If you use external resources, you must provide complete references, e.g. as in-line comments in your code, and/or in README.md file.

Evidence of unfair practice will be penalised.

Use of the code you developed when working on the lab exercises for this module

is allowed.

Although it’s advisable to use the university laptop, you can use your own computer to implement your website. However, you must use School-based systems and servers for hosting ’dynamic’ parts of your website, e.g. database for content and user accounts, deployment server. The use of external services for these elements is not allowed.

Complete code of your website must be submitted to COMSC’s GitLab server (https://git.cardiff.ac.uk/) and shared with the module lecturers - complete instructions on how to do it are given in ’Submission Instructions’ section below.

1.2 Structure and Functionality of the Website

You are free to choose how to structure your website, and what functionality to implement, bearing in mind that appropriate advanced functionality will attract higher marks - see ’Criteria for assessment’ section below.

1.3 Deployment of Website

The expectation is that initially you will be implementing and deploying your website on localhost. Deployment of your website on a localhost will allow for a mark up to a ’Pass’ for the website implementation part. To obtain a higher mark, your website needs to be deployed on COMSC’s OpenShift server - see ’Criteria for assessment’ section. The process is described in ’Flask 4: Deployment on OpenShift’ lab sheet and is demonstrated in the practical session. Make sure you state the correct URL in your REAMDE.md submitted in your git repository on GitLab and in your report. If this is missing or incorrect, it will be assumed that you have not deployed your website on OpenShift.

2 Video Demo of the Website

Record a short video demo of maximum 3 minutes, which demonstrates the functionality you implemented on your website.

If you have successfully deployed your website on OpenShift, you should clearly demonstrate you are running your website using the URL you submitted in your REAMDE.md file.

More detailed instructions will be provided in the contact sessions.

3 Report on Website’s Security, Quality and Usability

Write a report of 800 words ( 10%), in which you critically appraise TWO examples from your website implementation that demonstrate your appreciation of best practice in security, quality and usability (choose any two).

The front page of your report must contain:

Your student number

URL of your website on OpenShift (if deployed)

Your report must also include two appendices at the end of your report:

• Appendix A: list of advanced functionality you have implemented;

• Appendix B: screenshots of all of your website’s pages.

Learning Outcomes Assessed

• LO3: Develop secure web applications that make use of database technologies

LO4: Critically appreciate the role of security, quality and usability within software projects

Criteria for assessment

The below table specified the criteria used for marking:

Website implementation

Distinction

14 - 20 marks

Merit

12 - 13.5 marks

Pass

10 - 11.5 marks

Fail

< 10 marks

The website is dynamic, and deployed on

OpenShift. Considerable originality and/or evidence of professionalism or scholarship demonstrated via professional system quality (including content, ’look and feel’, navigation). Impressive choice of appropriate advanced functionality.

The website is dynamic, and deployed on

OpenShift. Excellent choice of advanced functionality. Competent system quality (including content, ’look and feel’, navigation) which requires minor improvement. Very good choice of appropriate advanced functionality.

The website is dynamic, and deployed on

localhost. Reasonable system quality, although not yet of professional quality and requiring substantial improvement of content, ’look and feel’, or navigation. Only basic functionality is implemented (e.g. the one that was demonstrated in the labs).

There are obvious omissions or bugs that

would substantially affect the operation of the website.

Static website. Poor system quality with

regard to content, ’look and feel’ and navigation. Functionality not implemented, or completely faulty implementation with wrong behaviour and/or output.

Video Demo

Distinction

7 - 10 marks

Merit

5.5 - 6.5 marks

Pass

5 - 5.5 marks

Fail

< 5 marks

The video demo is well-structured and

provides excellent coverage of implemented website functionality.

The video demo is well-structured and

provides very good coverage of implemented website functionality, with some important functionality not demonstrated.

The video demo requires restructuring and

improvement in coverage of implemented website functionality.

Disorganised video demo which requires

major improvement.

Report on Website’s Security, Quality and Usability

Distinction

7 - 10 marks

Merit

5.5 - 6.5 marks

Pass

5 - 5.5 marks

Fail

< 5 marks

Interesting, insightful, focused discussion,

demonstrating an excellent ability to choose relevant information and present a highly effective, fully justified argument.

Very good ability to choose relevant

information and present a good argument, albeit justification needs to be stronger.

Reasonable content but limited ability to

choose relevant information. Very little justification.

The report content is either missing or very

limited and is in need of major improvement, e.g. information is unfocused, disorganised or irrelevant.

Feedback and suggestion for future learning

Feedback on your coursework will address the above criteria. Feedback and marks will be returned on the return date (20th February 2023) via Learning Central and/or email.

The feedback from this assignment will be relevant and useful for any future programming tasks, including your dissertation.

Submission Instructions

Your coursework should be submitted as follows:

Description

File Type

File Name

Location

(1) git repository on

COMSC’s GitLab server

complete source

code of website

Repository name should be:

YOUR_USERNAME_cmt120_cw2*

https:

//git.cardiff.ac.uk/

(2) video demo of the

website

.mp4 file

YOUR_USERNAME_demo.mp4 *,**

Learning Central

(3) report on your website’s

quality, usability and security

.pdf file

YOUR_USERNAME_report.pdf *

Learning Central

(4) Coursework submission

Details Form

online form

submission

’CMT120 - CW 2 - Submission

Details Form (22-23)’

link will be posted in

’Assessment’ area on Learning Central

*ReplaceYOUR_USERNAMEwith your Cardiff’s user name, which is typically a letter ’c’ (or ’d’) + your student number, e.g. c1234567 .

**In case of problems uploading the video to Learning Central, please share it through OneDrive to Ian Cooper ([email protected]) and Federico Liberatore ([email protected]).

More specifically:

• For item (1):

– submit (push) your complete source code to COSMC’s GitLab server, and share your repository with Ian Cooper and Federico Liberatore as follows:

∗ On the Project page, go to: Project Information > Members

In GitLab member or Email address field: search for Ian Cooper (user name: scmimc)

∗ In Select a role dropdown, choose Maintainer

Click on Invite button

Repeat for Federico Liberatore (user name: scmfl2), making sure the role permission is also set as Maintainer.

– Your git repository must include a README text file (.md or .txt), which contains the following information:

∗ Your Username (or Student Number)

(If deployed on OpenShift) URL of your website on the OpenShift server;

∗ [Optional] References (if appropriate).

[Optional] Any other information you think is relevant, e.g. how to run your code.

Note: no changes are allowed after the submission deadline! Non compliance with this requirement, i.e. working on the coursework after the deadline, may be penalised and may result in capping the mark at the pass rate (for the work submitted < 24 hrs late) or an award of zero marks (> 24 hrs late submission).

• For item (2) - see instructions in Section ’2Video Demo of the Website .

For item (2) - specific requirements for your report on the website’s security and usability are given in Section ’3Report on Website’s Security, Quality and Usability.

For item (4) - you will need to fill in and submit the online ‘CMT120 - CW 2 - Submission Details Form (23-24)’ form, the link to which will be posted in ’Assessment’ area on Learning Central.

Any code submitted will be run on a system equivalent to the laptops provided to the students, and must be submitted as stipulated in the instructions above. The code should run without any changes being required to the submitted code, including editing of filenames.

Any deviation from the submission instructions above (including the number and types of files submitted) may result in a deduction of up to 10% from the overall mark.

Staff reserve the right to invite students to a meeting to discuss coursework submissions.

Support for assessment

Questions about the assessment can be asked on https://stackoverflow.com/c/comsc/ and tagged with CMT120, or at the beginning of the lectures in Weeks 8-12.

Support for the programming elements of the assessment will be available in the lab classes in Weeks 8-12, or in the daily drop-in lab sessions.