KIT103 Project and Portfolio python代做[+v:1433104253]

↶ Close all sections ] Only visible sections will be included when printing this document.

This assessment item is a combination of a larger, assignment-style assessment item and a reflective portfolio piece, summarising your learning and providing evidence to support your claims.

Submit the necessary documents (code, PDFs, etc.) to the Project and Portfolio assignment folder on MyLO by 2355 (11:55pm) Friday 14 October 2022. You can show a member of the teaching team your drafts beforehand for feedback.

Working independently: This is an individual assessment task so your submission should be substantially your own work. We will be seeing how others on the internet have solved similar problems to the project options; if your submission appears based on external work then we will start a formal investigation into a possible breach of academic integrity.

Document checklist

Project

There are two alternatives for the larger component of the project: a Morse code encoder/decoder and a text compression tool. You should only attempt one. Both are intended to offer some challenge, and we do not expect every student to complete an implementation. You can still earn a high grade without having a complete implementation: you will be rewarded for showing your thinking about how your chosen could/should be implemented and for creating some test cases that could be used to check the operation of parts of any implementation, as well as for progress toward a working piece of software.

For your chosen option you are to address the following:

  1. How would you model the various parts of the process (think both mathematically and programmatically [in Python])? Justify your choices.
  2. (+) In the Python scriptdefine one or more sets of test cases (which may be implemented as Python lists) for individual components of your solution (that is, functions) and the solution as a whole. Include in the '''doc string''' a description of how you selected/generated the test cases and why they test a suitable range of situations. If you need to include an explanation or justification that cannot be easily written in text in the script then do that on paper and refer to it from the script.
  3. Implement as much of your design as you are able to.

New programming tool: In the provided code in kit103_project.py you will see something new in the function header: type hints. These allow the programmer to indicate a parameter’s expected data type and the type of the data the function will return. For example, the header for morse_encode (part of the first project option) is:

def morse_encode(message: str, code) -> tuple[str, set]:

which indicates that the parameter message should be a string (str in Python), doesn’t say anything about the type of the code parameter (because that is for you to decide), and that the function returns a pair, a string and a set.

Type hints are not enforced by the Python interpreter (you can still pass any kind of value, although other types will probably cause your code to crash). They are there to help you as the programmer and can be used by other tools to check a program is passing the right kind of data.

Note that the kind of type hint used in the provided code requires Python 3.9 or above. If you have an earlier version you can remove the -> tuple[str, set] type hint so the code will run.

Project Option 1: Morse Code

Project Option 2: Dictionary Codec

Portfolio

Your portfolio comprises a reflective statement about your learning in the unit (that is, thinking about what you learned and what it means), and samples of your work providing evidence of your attainment of the learning outcomes. This is made up of (generally) two documents so you can write your reflection using a word processor (with built-in spelling and grammar checking) while separately providing samples of Python code in an appropriate text-based format.

Portfolio Summary

This document will be where you summarise your achievement of the unit’s learning outcomes before exporting to PDF for final submission.

It has headings to prompt you to think about the unit as a whole and your learning in it. You will generally write less than a page for each heading (remember the finished document will be between 2 and 4 pages):

  • Unit Overview: Provide a summary of the unit’s topics and how they fit together. Do not try to re-teach the entire unit: summarise the key ideas, illustrated by notable examples or applications
  • My achievement of the learning outcomes: This will likely be the largest section of your portfolio summary document. Summarise the evidence for your achievement of the learning outcomes, evidencing your claims by referring to work done during semester (which can include the accompanying Project). You can accumulate small illustrative examples of Python code that is not in the Project in the accompanying python_portfolio.py file and refer to these by the heading of their containing #%% code cell (more details are below). In structuring this section aim to make it clear how each of the learning outcomes has been achieved.
  • Most interesting things I learned: What were the most interesting ideas or techniques you learned and why?
  • Most useful Python tools I learned: What were the most useful Python tools (that is, functions or techniques) you learned? Do not list them all, just those you think are most useful or powerful and why
  • How the unit will benefit me in the future: Summarise how you believe the skills you’ve developed in this unit might benefit you in your future activities
  • Appendix (optional): Images of handwritten work You may include up to 2 pages of examples of your handwritten work in an appendix or create a separate PDF of that. You are allowed to typeset those examples using Word/Pages/LATEX if you wish, too.

Python evidence

In a separate Python source file you will collect samples of your work from across the semester to illustrate your learning. (Anything that’s in the Project should not be included in this file as you will submit the Project at the same time anyway.)

Be selective in what you choose to include: you must not include every piece of code you worked on.

As you have seen in some previous assignment scripts and the tutorials, this source file makes use of code cells to allow otherwise incompatible snippets of code to be included in the one file (each code cell can be run in isolation from others). Each cell has a title of your choosing and we encourage you to include some succinct additional explanation of the purpose or utility (usefulness) of the sample in a

'''
multi-line documentation comment
'''

You can create a new code cell by entering a line beginning #%%, followed by any heading or title you would like to give it (which is what you would use to refer to this example from the Portfolio Summary).

#%% Example heading
'''
For each section of sample code include a short description of what it
illustrates and why it's important
'''

# Your code samples for this cell would go here. Each cell can be run/evaluated
# separately from others, allowing you to include samples of code that would 
# otherwise conflict if run together.

Remind me what the learning outcomes are again…

Assessment criteria

Toggle visibility: HD DN CR PP NN

ProjectCriteriaHDDNCRPPNN
JustificationILO 3: Justify modelling and process choices for each case study
ILO 4: Solve mathematical problems based on natural language descriptions
ILO 4: Show mathematical working as a step prior to implementing a solution in code
Important components of the problem are clearly identified and described. Justifications for how they can be modelled are excellent, and evidenced as appropriateMost components of the problem are clearly identified and described, although some implementation choices are left implied. Justifications of the modelling are generally good, but some choices that would benefit from justification are left impliedSome key components of the problem are identified with justification for modelling choices provided, but some of the justification is poor or unclearSome description of the problem and how it may be modelled is supplied, but little justification is provided for the choices madeEither no justification is supplied or the justification is very poor, with little relevant detail or poor arguments as to why particular choices were made
Test case development (1)ILO 1: Provide a set of sufficient test cases for validating the correct operation of components of your solution (implemented in code)A succinct yet thorough set of test cases is supplied, showing a diverse range of inputs and (where applicable) the expected result of eachSame as HD but missing one or two relevant testing opportunities, or providing too many test cases that test the same aspect of the system’s behaviourSame as DN but some of the expected results appear erroneous; or missing even more relevant testing opportunities; or providing far too many test cases that test the same aspect of the system’s behaviourA small number of test cases provided, perhaps with expected results that appear erroneous; or overall the test cases explore a very limited subset of the system’s expected behaviourNo test cases provided or test cases appear very ill-suited to the selected project and its expected behaviour
Test case development (2)ILO 1: Explain why cases were selected in relation to the specified solution
(assessed in conjunction with the previous criterion)
Clear explanations for how all the test cases were created and what they intend to assess or checkClear explanations that justify most of the test cases provided; or because some relevant test cases are missing the justifications that can be offered are lackingSome suitable explanations for the test cases provided, but evidence of misunderstanding the range of situations that should be testedSome explanation of the test cases provided, but shows little evidence of careful consideration of the range of situations the system’s expected behaviourNo explanation provided or explanations make little or no sense in the context of the selected project or the test cases that have been provided
ImplementationILOs 1, 2: Adapt natural language descriptions of a scenario into appropriate Python expressions
ILO 1: Write compact but readable Python code to achieve a desired outcome
Clear, readable code (free of errors) that achieves the goal and which splits the solution into separate functions for different components of the system’s behaviour; appropriate use of suitable data structures and functions as appropriate; any powerful single-line expressions are still readable and comprehensible; sophisticated code reuse through functions is evidence of upper HD achievementGenerally clear and readable code (free of errors), likely solving most or all of the problem, but with some poorer implementation choices or functions that are extremely long and try to do too many distinct thingsCode is free of errors, but some implementation choices are poor (e.g., highly inefficient) or some parts of the functionality are not implemented; implementation may have all steps done in the single function provided as the interfaceCode is largely free of errors and potentially incomplete; some implementation choices are poor (e.g., highly inefficient); implementation may have all steps done in the single function provided as the interfaceNo implementation or extremely limited, broken implementation
PortfolioCriterionHDDNCRPPNN
ILOs 1–4: Describe personal development toward the unit’s learning outcomes with reference to assignments and project work completed, using the provided headings as a guideClear overview of the unit showing deep insight into the connections between the concepts taught; well-evidenced description of how the learning outcomes have been achieved, accompanied by highly-relevant examples of work from the semesterWell-written overview of the unit showing insight into the connections between the concepts taught; suitable evidence provided to support claims of achieving the learning outcomes, accompanied by a selection of relevant examples of work from the semesterResponses show some insight into learning; most selected examples of work are relevant, but may have included more examples than are necessaryProvides relevant responses under all headings in the Portfolio Overview, accompanied by some examples of work from the semesterMajor components of portfolio overview are missing; few or no examples of work are provided

原文

提供更好的翻译建议


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值