代写COMP3811 Computer Graphics代写C/C++程序

2024-11-08 代写COMP3811 Computer Graphics代写C/C++程序

School of Computing: assessment brief

Module title

Computer Graphics

Module code

COMP3811

Assignment title

Coursework 1

Assignment type and description

Programming assignment: Graphics fundamentals

Rationale

The coursework revolves around fundamental graphics operations and data types.  These include images and the manipulation thereof, drawing primitives such as lines and triangles, and blitting images.

Page limit and guid- ance

Report:  8 A4 pages with 2cm or larger margins, 10pt font size (including figures).  You are allowed to use a double-column layout. Code: no limit. Please read the submission instructions carefully!

Weighting

50%

Submission dead- line

2024-11-07 14:00

Submission method

Gradescope: code and report

Feedback provision

Written notes

Learning outcomes assessed

Understanding, description and utilization of standard methods to programmatically create and manipulate images. Understanding, description, application and evaluation of fundamental algorithms and methods in computer graphics.

1. Assignment guidance

In the first coursework, you are tasked with implementing several drawing functions  for primitive graphics operations. These include drawing lines, triangles and blitting  images. You will verify that these functions work correctly and analyze their behaviour.

Before starting your work, please study the coursework document in its entirety.  Pay special attention to the requirements and submission information.  Plan your work.  It might be better to focus on a subset of tasks and commit to these fully than to  attempt everything in a superficial way.

2. Assessment tasks

Please see detailed instructions in the document following the standardized assessment brief (pages i-iv). The work is split into several tasks, accounting for 50% of the total module grade.

3. General guidance and study support

Please refer to materials handed out during the module, specifically the tutorial-style. exercises for 2D graphics and maths.

Support is primarily provided during scheduled lab hours. Support for general issues may be provided through the module’s  “Teams” channel.  Do not expect answers outside of scheduled hours.  Do not post specific issues relating to your code in the public Teams channels. Do not crosspost across multiple channels.

4. Assessment criteria and marking process

Submissions take place through Gradescope.   Valid  submissions  will  be marked primarily based on the report and secondarily based on the submitted code.  See following sections for details on submission requirements and on requirements on the report. Marks and feedback will be provided through Minerva (and not through Gradescope - Gradescope is only used for submissions!).

5. Submission requirements

Your coursework will be graded once you have

(a)  Submitted required files (code and report) through Gradescope.

(b)  If deemed necessary, participated in an extended interview with the instructor(s) where you explain your submission in detail.

Your submission will consist of source code and a report (≲ 8 pages).  The report is the basis for assessment.  The source code is supporting evidence for claims made in the report.  Tasks/results without supporting  code will receive zero marks.

Submissions are made through Gradescope (do not send your solutions by email!). You can use any of Gradescope’s mechanisms for uploading the complete solution  and report.  In particular, Gradescope accepts  . zip archives  (you should see the contents of them when uploading to Gradescope). Do not use other archive formats (Gradescope must be able to unpack them!). Gradescope will run preliminary checks on your submission and indicate whether it is considered a valid submission.

The source code must compile and run as submitted on the standard SoC machines found in the UG teaching lab (2.05 in Bragg). Your code must compile cleanly, i.e., it should not produce any warnings. If there are singular warnings that you cannot resolve or believe are in error, you must list these in your report and provide an explanation of what the warning means and why it is acceptable in your case. This is not applicable for easily fixed problems and other bulk warnings (for example, type conversions) – you are always expected to correct the underlying issues for such.  Do not change the warning level defined in the handed-out code.  Disabling individual warnings through various means will still require documenting them in the report.

Your submission must not include any “extra” files that are not required to build  or run your submission (aside from the report). In particular, you must not include build artifacts (e.g. final binaries,  . o files, ...), temporary files generated by your IDE  or other tools (e.g.  . vs directory and contents) or files used by version control (e.g. .git directory and related files).  Note that some of these files may be hidden by default, but they are almost always visible when inspecting the archive with various  tools. Do not submit unused code (e.g. created for testing). Submitting unnecessary files may result in a deduction of marks.

While you are encouraged to use version control software/source code management software  (such  as  git  or subversion),  you  must not make your solutions publicly available. In particular, if you wish to use Github, you must use a private repository. You should be the only user with access to that repository.

6. Presentation and referencing

Your report must be a single PDF file called report. pdf.  In the report, you must list all tasks that you have attempted and describe your solutions for each task.  Include screenshots for each task unless otherwise noted in the task description!  You may refer to your code in the descriptions, but descriptions that just say  “see source code” are not sufficient. Do not reproduce bulk code in your report. If you wish to highlight a particularly clever method, a short snippet of code is acceptable. Never show screenshots/images of code - if you wish to include code, make sure it is rendered as text in the PDF using appropriate formatting and layout. Screenshots must be of good quality (keep the resolution at 1280 ×720 or higher, but scale them down in the PDF). Don’t compress the screenshots overly much (e.g., visible compression artifacts).

Apply good report writing practices. Structure your report appropriately. Use whole English sentences. Use appropriate grammar, punctuation and spelling.  Provide figure captions to figures/screenshots, explaining what the figure/screenshot is showing and what the reader should pay attention to. Refer to figures from your main text. Cite external references appropriately.

Furthermore, the UoL standard practices apply:

The quality of written English will be assessed in this work.  As a minimum, you must ensure:

•  Paragraphs are used

• There are links between and within paragraphs although these maybe ineffective at times

There are (at least) attempts at referencing

• Word choice and grammar do not seriously undermine the meaning and compre- hensibility of the argument

Word choice and grammar are generally appropriate to an academic text

These are pass/ fail criteria. So irrespective of marks awarded elsewhere, if you do not meet these criteria you will fail overall.

7. Academic misconduct and plagiarism

You are encouraged to research solutions and use third-party resources. If you find such, you must provide a reference to them in your report (include information about the source and original author(s)). Never “copy-paste” code from elsewhere – all code must be written yourself. If the solution is based on third party code, make sure to indicate this in comments surrounding your implementation in your code, in addition to including a reference in your report.  It is expected that you fully understand all code that you hand in as part of your submission.  You may be asked to explain any such code  as part of the  marking process.  If deemed necessary,  you may  be  asked to attend a short individual interview with the instructor(s), where you are asked to explain specific parts of your submission.

Furthermore, the UoL standard practices apply:

Academic integrity means engaging in good academic practice. This involves essential academic skills, such as keeping track of where you find ideas and information and referencing these accurately in your work.

By submitting this assignment you are confirming that the work is a true expression of your own work and ideas and that you have given credit to others where their work has contributed to yours.