代做MSIN0023 Computational Thinking Assignment 3 2024/25代写Python语言

Module code/name

MSIN0023 Computational Thinking

Academic year

2024/25

Term

1

Assessment title

Assignment 3: Code, discuss and analyse an algorithm applied to a management problem

Individual/group assessment

Individual

Submission deadlines: Students should submit all work by the published deadline date and time. Students experiencing sudden or unexpected events beyond your control which impact your ability to complete assessed work by the set deadlines may request mitigation via the extenuating circumstances procedure. Students with disabilities or ongoing, long-term conditions should explore a Summary of Reasonable Adjustments. Students may use the delayed assessment scheme for pre-determined mitigation on a limited number of assessments in a year. Check the Delayed Assessment Scheme area on Portico to see if this assessment is eligible.

Return and status of marked assessments: Students should expect to receive feedback within 20 working days of the submission deadline, as per UCL guidelines. The module team will update you if there are delays through unforeseen circumstances (e.g. ill health). All results when first published are provisional until confirmed by the Examination Board.

Copyright Note to students: Copyright of this assessment brief is with UCL and the module leader(s) named above. If this brief draws upon work by third parties (e.g. Case Study publishers) such third parties also hold copyright. It must not be copied, reproduced, transferred, distributed, leased, licensed or shared with any other individual(s) and/or organisations, including web-based organisations, without permission of the copyright holder(s) at any point in time.

Academic Misconduct: Academic Misconduct is defined as any action or attempted action that may result in a student obtaining an unfair academic advantage. Academic misconduct includes plagiarism, self-plagiarism, obtaining help from/sharing work with others be they individuals and/or organisations or any other form. of cheating that may result in a student obtaining an unfair academic advantage. Refer to Academic Manual Chapter 6, Section 9: Student Academic Misconduct Procedure - 9.2 Definitions.

Referencing: You must reference and provide full citation for ALL sources used, including AI sources, articles, text books, lecture slides and module materials.  This includes any direct quotes and paraphrased text.  If in doubt, reference it.  If you need further guidance on referencing please see UCL’s referencing tutorial for students. Failure to cite references correctly may result in your work being referred to the Academic Misconduct Panel.

Use of Artificial Intelligence (AI) Tools in your Assessment: Your module leader will explain to you if and how AI tools can be used to support your assessment. In some assessments, the use of generative AI is not permitted at all. In others, AI may be used in an assistive role which means students are permitted to use AI tools to support the development of specific skills required for the assessment as specified by the module leader. In others, the use of AI tools may be an integral component of the assessment; in these cases the assessment will provide an opportunity to demonstrate effective and responsible use of AI. See page 3 of this brief to check which category use of AI falls into for this assessment. Students should refer to the UCL guidance on acknowledging use of AI and referencing AI. Failure to correctly reference use of AI in assessments may result in students being reported via the Academic Misconduct procedure. Refer to the section of the UCL Assessment success guide on Engaging with AI in your education and assessment.

Content of this assessment brief

Section

Content

A

Core information

B

Coursework brief and requirements

C

Module learning outcomes covered in this assessment

D

Groupwork instructions (if applicable)

E

How your work is assessed

F

Additional information

Section B: Assessment Brief and Requirements

Code, discuss and analyse an algorithm applied to a management problem

Introduction:

Consider a problem we have covered from this module or from any other module (e.g. from Data Analytics I or Mathematics II) involving non-trivial algorithms. You are also free to consider any other algorithmic topics we may not have covered e.g. image-processing. The problem should relate to a management problem or business-idea that requires the use of algorithms.

A non-trivial algorithm uses loops and will be of at least linear complexity. The more complex your algorithm the more opportunity you will have to demonstrate increased understanding and more sophisticated analysis, providing enhanced potential of a good grade.

You may wish to continue with the same algorithm/problem you presented in your Assignment 2 essay or choose a different algorithm or problem.

Example algorithms:

Here are some examples of non-trivial algorithms you could consider:

· Data Analytical Classification algorithms including Decision Tree Induction and Nearest Neighbour

· Data Analytical Clustering algorithms including Hierarchical Clustering and K-Means Clustering

· Matrix Row Reduction algorithm to solve systems of simultaneous equations or to find inverse matrices

· Simplex Linear Programming algorithm

· Search and Graph Analysis algorithms, including shortest-path algorithms

· Exhaustive Enumeration and Greedy/Heuristic Algorithms for any NP-Complete problem (eg travelling salesman, knapsack packing problem, wedding banquet seating …)

Report Format and Structure:

The main body of your report has a word count limit of 2000 words, consisting of a number of sections, as detailed below. In addition, you should include as appendices: all your code appropriately commented; your test run outputs; and extracts from your test data. There is no word limit on the appendices, which will be assessed alongside the main body of your report.

You are required to submit two files, with a third optional data file:

1. A single PDF document containing your full report, including all the appendices.

2. A single supplemental code file, which can either be in the form. of a standard python code file (.py) or a Jupyter notebook file (.ipynb). This code will not be marked, but may be required to validate that the code you have provided as an appendix can be executed, as claimed.

3. An optional data file (.csv), if this is required to run your supplemental code file.

The requirements of the code and code appendix are provided first in these instructions as this forms the primary focus of this assignment. This is followed by instructions for each of the sections of main body of the report.

CODE APPENDIX: Provide working python code that solves your problem (30%)

Provide, as an appendix to your report, your completed coded.

Embed in your code comments that describe each function in terms of its purpose, inputs and outputs. Additional comments should also be included to help explain key steps in your algorithms, and examples of particular techniques you have used.

You are not required to have written all the code yourself.

There are plenty of examples of python code on the Internet that provide solutions to any problem you are likely to consider. Please feel free to use such code, providing suitable references to these sources. Any code you do re-use should fully implement your chosen algorithms, so that you can identify and comment on how the code implements these algorithms.

You are not allowed to use python modules that directly implement your algorithm in such a way that you cannot see exactly how the code implements the algorithm.

You can though use standard python modules to provide appropriate data representations for your algorithm (eg numpy for matrix data or networkx for graph data) or provide other functions that do not form. part of the core implementation of your focus algorithm (eg math, statistics, csv, random modules).

You are required to demonstrate you have fully understood the code and have been able to apply it to your particular problem, using suitable test data. This is likely to require, at a minimum, that you write some additional code to run and test your algorithm code on your particular problem; maybe to load data from a csv file, enter some initial input values, and to print or plot outputs.

You should add additional print statements within your code to illustrate key aspects of how the algorithm works.

You should also add appropriate additional code (such as loop counters) and print statements within your code to help assess the complexity your algorithm and prepare Big(O) plots.

You are required to provide code that it understandable and well designed. Code copied from the Internet is often not well designed! Don’t necessarily use the first version you find. You are likely to need to edit and potentially change any code you re-use from the Internet so that it uses clear and consistent names.

You will need to demonstrate decomposition in your code (ie it should contain multiple functions, rather than one large single function). You may therefore need to decompose a large unstructured program from the Internet into smaller functions that are easier to understand.

Main Report Sections:

1. System Requirements and Your Algorithm (10%)

Describe your management problem or business-idea and outline the purpose of the software system/application that addresses this problem/idea in the form. of a brief set of system requirements, listing:

· The functional requirements, identifying the key functions with their data inputs and outputs.

· Any non-functional requirements you believe may be important for this problem.

(Note: The topic of Functional and Non-functional Requirements is covered in Week 8.)

Briefly introduce your algorithm, identifying:

· How your algorithm works.

· How your algorithm helps solve your problem.

· Which functional requirements are associated with your algorithm.

2. Explain how the code works (30%)

Explain the design of your code, particularly commenting on:

· The overall structure of the code in terms of the key functions it contains and how the code decomposes into a hierarchy of functions.

· The flow of the overall code as it progresses from loading/inputting/generating some input data to providing the final solution to your problem.

· In what ways the code is generalised, i.e. in what ways can the code you are using be used to solve more other, more generalised, problems to the specific scenario problem you have applied it to?

· How data is represented in your code and why it is represented in this way.

· The use of any particularly noteworthy or advanced coding features such as: recursive functions, use of list comprehensions, use of dictionaries and sets, passing functions as input parameters.

You must also identify and comment on which parts of the code are re-used (you must reference the source of all re-used code), any re-used code you have improved or changed (how and why), and which parts you have coded fully yourself.

3. Analyse the complexity of your code (10%)

Explain how the key inputs to your problem can vary in size and nature.  Assess the expected running time complexity of your code in terms of an order of magnitude of the size of your input value(s). Justify your results.

Record the run time performance of your code using a range of different input size values and produce a run time Big(O) plot based on these timings.

Provide additional loop-counter-based and/or theoretical Big(O) plots to support your findings.

Explain you results and compare any theoretical or loop-counter-based analysis with your experimental timing results.

Explain any realistic limits of your code, in regard to runtime performance.

4. Describe the data used in your code (10%)

Describe the data you used to illustrate how your algorithm could solve your particular management problem or business-idea software. Did you use an open data source for this or did you create/generate the data yourself?  Explain the choices you made in this regard.

Explain how you selected or generated different ‘sizes’ of data to analyse the running time complexity of your code.

5. Conclusions (10%)

Briefly conclude by discussing the benefits and limitations of your code. Things you may like to consider are:

· Explain in what ways you believe your code follows good design principles.

· Discuss any alternative approaches to solving this problem.

· Suggest how your code could be improved.

· Discuss whether and how you think this code can be generalised for use on different problems.

· Discuss any limitations in your data and the implications for your findings






热门主题

课程名

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
站长地图