狠狠综合久久久久综合网址-a毛片网站-欧美啊v在线观看-中文字幕久久熟女人妻av免费-无码av一区二区三区不卡-亚洲综合av色婷婷五月蜜臀-夜夜操天天摸-a级在线免费观看-三上悠亚91-国产丰满乱子伦无码专区-视频一区中文字幕-黑人大战欲求不满人妻-精品亚洲国产成人蜜臀av-男人你懂得-97超碰人人爽-五月丁香六月综合缴情在线

CMT219代寫、代做Java程序語言

時間:2024-05-11  來源:  作者: 我要糾錯



Cardiff School of Computer Science and Informatics
Coursework Assessment Pro-forma

Module Code: CMT219
Module Title: Algorithms, Data Structures & Programming

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 the academic 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 50% 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 and academic regulations can be found on the Student Intranet: 

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 use of AI chatbots or tools to complete this work.  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[ https://intranet.cardiff.ac.uk/students/study/exams-and-assessment/academic-integrity/cheating-and-academic-misconduct]. 


Assignment

PART 1: ALGORITHMS

In this individual work, you will implement sorting algorithms and then test their performance. This part of the assignment consists of not just coding, but also testing your code and providing evidence. Note that when your code is complete, you still have a reasonable amount of work to do -- so start early!

Storing and Sorting Items
Consider a manufacturing company, XYZ that runs 24 hours and 7 days operational. The company produces a very large number of items per week. In a week from Monday to Sunday, it produces 1000, 5000, 10000, 50000, 75000, 100000 and 500000 items, respectively. Each item has a random integer identifier.

You are expected to create an Integer ArrayList and store the item IDs for each day of the week – so you will have 7 different ArrayList storing items accordingly. Now, you are required to randomly generate the appropriate number of item IDs for each day as stated above. (These IDs do not need to be unique – it does not matter if the ArrayLists contain a few duplicate IDs).

Now think about the logic of applying the Quicksort algorithm and first write its pseudocode. Once you’re done, convert your pseudocode into a Java code and run your code successfully.

Efficiency Testing
Once you have implemented your algorithm, you need to test it to see how long your sorting algorithm takes to run. You should test the speed of the algorithm on all three: random, sorted and reverse-sorted lists. You are expected to use System.currentTimeMillis() to estimate the execution time. Using currentTimeMillis only gives an accurate time estimate if the function takes a long time to run (at least a couple of seconds). Run your code a number of times and compute the average time, print the output screenshot and discuss in the report -- reflect how many iterations are sufficient to provide an accurate time of the algorithm.

Developing a Better Sorting Algorithm
Quicksort is faster when the number of items to be sorted in a list is large. But when lists are small enough, quicksort runs slower than some of the Θ(n2) algorithms. 

If you carefully notice, each time the quicksort method is recursively called, the sublist to be sorted could be either small or large. The time to sort one small sublist with a faster algorithm can be negligible. However, sorting such hundreds of small sublists can make a difference in the overall efficiency of the sort.  

Here, you will combine Quicksort with another sorting algorithm to create the fastest possible sorting algorithm. We call this “hybrid Quicksort”. You have several options --  
Use Quicksort until the sublist gets “small enough”, and then use selection sort to sort the small lists.
Use Quicksort until the sublist gets “small enough”, and then use insertion sort to sort the small lists.
Use Quicksort to "mostly" sort the list, i.e., use the Quicksort to sort any sublists larger than a cut-off size, and then stop. The list will now be mostly sorted, and you can use selection sort on the entire list to quickly complete the sorting. 
Use Quicksort to "mostly" sort the list, i.e., use the Quicksort to sort any sublists larger than a cut-off size, and then stop. The list will now be mostly sorted, and you can use insertion sort on the entire list to quickly complete the sorting. 
Use some other method of your own devising.
What does “small enough” mean?  You can try a percentage of the list (say, 5% or 10%), or an absolute number (8, 10, 15, 100 elements, etc.), or something else of your choice. 

What does “mostly” sort mean? A cut-off size of the items to be sorted in the list.

You should test your choices to ensure that you have the most efficient algorithm possible. You should also be sure that your hybrid Quicksort has reasonable performance on all lists: sorted and inverse sorted lists as well as random lists. Try various methods for choosing the pivot element, to try to get the best possible behaviour.

You need to complete the following tasks and submit electronically:  

Q1-A. Source code for sorting all items in the ArrayLists for the week using Quicksort. [10 marks]

Q1-B. Source code for efficiency testing. [10 marks]

Q1-C. Source code for your hybrid sorting algorithm. [10 marks]

Q1-D. Write a 500-word (maximum) explanation of how you developed your hybrid sorting algorithm. What combinations of the algorithms/approaches you tried, what different parameters you chose, and how much of a difference these changes made to the efficiency of your algorithm, including the run time complexity. [20 marks]

Create a single report .pdf file containing the following: 
(i) Screenshot of the output from Q1-A for all list sizes. Also, provide a pseudocode of your Quicksort algorithm.
(ii) Screenshot of the output from Q1-B. Make sure to include sorted and inverse sorted lists as well as random lists for each list size in these tests.  
(iii) Your explanation for Q1-D above.
(iv) Screenshot of the final output from Q1-C. Make sure your hybrid quicksort has reasonable performance on all lists, sorted and inverse sorted lists as well as random lists for each list size. 

Important Note: All source code files must be submitted as a single .zip file. 

It is okay for you to discuss solutions to Part-1 with your classmates. However, no collaboration should ever involve looking at one of your classmate's source codes. It is usually fairly easy to determine that someone has copied a code, even when the individual copying the code has changed identifier names and comments.

PART 2: DESIGN PATTERNS & MULTITHREADING

Parts a-c of this question can be started after you are taught the Observer pattern, in the Design Patterns sessions. Based on content you are taught in Design Patterns, your solution to part (a) is likely to change the colour of some, but not all balls. The Multithreading session will cover additional material needed to achieve a fully working code for part a, and to answer part d.

Download and unzip BouncingBalls.zip, which contains three java source files for a small app:

BouncingBalls.java
ColorPublisher.java
ColorSubscriber.java

Build and run the application, which launches a window containing a large number of bouncing balls. Two buttons are also present which are intended to change the colour and size of the balls, however, the buttons intentionally do not work in the app you have just downloaded: it will be your task to implement this functionality.

Note also that BouncingBalls.java contains Graphical User Interface (GUI) code which has not been covered in this course. Its purpose is explained in the comments, however you are not expected to understand the GUI code in any detail. The comments alone give sufficient detail on how the GUI works for you to complete your part of the app.

BouncingBalls.java makes use of an Observer pattern to communicate colour changes to each of the balls, when the buttons are clicked. This pattern is currently incomplete. Add code to ColorPublisher.java to complete the pattern, (i) allowing each ball to subscribe to the ColorPublisher when it calls the addSubscriber() method, (ii) allowing buttons to publish colour changes to all subscribed balls, by calling ColorPublisher’s publish() method.

DO NOT change the code in BouncingBalls.java or ColorSubscriber.java. You should, however, read the code of BouncingBalls.java to understand how the ColorPublisher class is used there, and also ColorSubscriber.java which is used in both of the other files.
DO test your changes by running the app.

Now write a report answering the following questions:

(a)Paste the contents of your completed ColorPublisher.java file into the report [12 marks for correct code].
(b)Which classes make use of the ColorSubscriber interface? What do they use it for? [12 marks, max 80 words].
(c)The Observer pattern is actually a bad choice for communicating colour changes between threads in this particular application. Explain why this is so, and how the same functionality could be implemented more simply [14 marks, max 300 words].
(d)The app uses a separate thread to process the movement of each ball. Is this a good choice of approach? Why? [12 marks, max 150 words].

Learning Outcomes Assessed

This assignment particularly addresses the following module learning outcomes: 
Write code in a given programming paradigm (for example Object-Oriented) using a high-level programming language
Reflect upon the relationship between system and code design and implementation in the given programming paradigm
Critically evaluate design patterns and their applicability to different scenarios
Select and use appropriate algorithms and data structures to provide best performance in a given scenario

Criteria for assessment

Credit will be awarded against the following criteria. 

PART 1:

Distinction (70-100%) –[Q1-A, B, C] Fully working codes that demonstrate excellent understanding of the assignment problem and scenarios using a relevant Java approach. Excellent formatting of input/output, catch exception handling, the application deals well with invalid user input and doesn’t crash for any data. Excellent and consistent code layout. Appropriate use of comments. [Q1-D] All required outputs. Clear and appropriate write-up with all justified choices. 
Merit (60-69%) – [Q1-A, B, C] All required functionalities of the codes are met (with no runtime error) demonstrating good understanding of the assignment problem and scenarios using a relevant Java approach. Good formatting of input/output, catch exception handling, the application may have a few errors with invalid user input. Good and consistent code layout. Good use of comments. [Q1-D] Most of the required outputs are presented. Clear and suitable write-up with mostly justified choices. 
Pass (50-59%) –[Q1-A, B, C] Some required functionalities of the codes are met (with only minor errors) demonstrating some understanding of the assignment problem and scenarios using a relevant Java approach. Some formatting of input/output, catch exception handling, the application may have some errors with invalid user input. Some and partially consistent code layout. Some use of comments. [Q1-D] Only some required outputs. Some write-up with partially justified choices.
Fail (0-49%) - [Q1-A, B, C] Faulty codes with wrong implementation, poorly demonstrating the understanding of the assignment problem and scenarios using a relevant Java approach. Bad formatting of input/output, catch exception handling, the application has major errors with invalid user input, and crashes with most data. Poor and inconsistent code layout. No/poor use of comments. [Q1-D] No or only a few required outputs. Unclear and poor write-up with no/bad justified choices.


PART 2:
2a: 100% for fully correct, thread safe code. 50% for mostly correct code with some bugs (e.g. some, but not all balls change colour correctly). 0% for non working code. 

2b-2d: 80% of the marks are allocated for correct answers covering all key points, with lower marks awarded if e.g. some points are missed. 20% of marks remain for quality of  writing/communication.

Indicative levels of attainment for the MSc programme are as follows:
Distinction (70-100%)
Merit (60-69%)
Pass (50-59%)
Fail (0-50)


Feedback and suggestion for future learning

Feedback on your coursework will address the above criteria. Feedback and marks will be returned on 29th May 2024 via Learning Central. 

Feedback from this assignment will be useful for other programming and data structure and algorithms related modules.


Submission Instructions


Description    Type    Name
Q1    Compulsory    One PDF (.pdf) file for Q1-D    Q1_[student number].pdf
    Compulsory    One zip file containing the source code (.java files) for all parts of question 1    Q1_[student number].zip
Q2    Compulsory    One PDF (.pdf) file containing your report    Q2_[student number].pdf
    Compulsory    One zip (.zip) file containing the source code for your app (BouncingBalls.java, ColorPublisher.java, ColorSubscriber.java)    Q2_[student number].zip

Any code submitted will be run on a system equivalent to the university provided Windows/Linux laptops and must be submitted as stipulated in the instructions above. 

Any deviation from the submission instructions above (including the number and types of files submitted) may result in a mark of zero for the assessment or question part.

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


Support for assessment

Questions about the assessment can be asked during weekly lab classes, and on the departmental StackOverflow (StackOverflow questions must be tagged cmt-219). 

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代做MATH1033、代寫c/c++,Java程序語言
  • 下一篇:代做COMP30023、代寫C/C++編程設計
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網下載 歐冠直播 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    狠狠综合久久久久综合网址-a毛片网站-欧美啊v在线观看-中文字幕久久熟女人妻av免费-无码av一区二区三区不卡-亚洲综合av色婷婷五月蜜臀-夜夜操天天摸-a级在线免费观看-三上悠亚91-国产丰满乱子伦无码专区-视频一区中文字幕-黑人大战欲求不满人妻-精品亚洲国产成人蜜臀av-男人你懂得-97超碰人人爽-五月丁香六月综合缴情在线
  • <dl id="akume"></dl>
  • <noscript id="akume"><object id="akume"></object></noscript>
  • <nav id="akume"><dl id="akume"></dl></nav>
  • <rt id="akume"></rt>
    <dl id="akume"><acronym id="akume"></acronym></dl><dl id="akume"><xmp id="akume"></xmp></dl>
    日韩精品一区中文字幕| 亚洲 欧美 日韩 国产综合 在线| 男人添女人下面高潮视频| 加勒比av中文字幕| 黄色永久免费网站| 日本在线观看免费视频| 黄www在线观看| 黄色片久久久久| 久久久久狠狠高潮亚洲精品| 99999精品视频| 日韩中文字幕三区| 国产偷人视频免费| 国产aaaaa毛片| 日本中文字幕精品—区二区| 中文字幕精品一区二区三区在线| 九色91popny| 国产免费中文字幕| 欧美 另类 交| 无码 制服 丝袜 国产 另类| 成人性生活视频免费看| www.中文字幕在线| 亚洲成人福利在线观看| 亚洲黄色av片| 69精品丰满人妻无码视频a片| 丁香色欲久久久久久综合网| 国产又粗又猛又爽又黄的网站 | 亚洲va在线va天堂va偷拍| 思思久久精品视频| 男人天堂成人网| 成熟了的熟妇毛茸茸| 天天操狠狠操夜夜操| 黄色一级视频播放| 美女日批免费视频| 欧洲熟妇精品视频| 国产免费xxx| 日本精品一区二区三区四区| 四季av一区二区三区| 久艹视频在线免费观看| 欧美精品久久久久久久久25p| 欧美一级中文字幕| 99精品免费在线观看| 在线视频日韩欧美| 一本大道熟女人妻中文字幕在线 | 女女同性女同一区二区三区按摩| 日韩极品视频在线观看| 亚洲欧美视频二区| 免费欧美一级视频| 午夜免费福利网站| 欧美精品无码一区二区三区| 国产盗摄视频在线观看| 9久久婷婷国产综合精品性色| 日本久久久网站| 在线免费看v片| 男女午夜激情视频| 欧美大黑帍在线播放| 中文字幕日韩综合| 97公开免费视频| 久久视频这里有精品| 玖玖精品在线视频| 美女在线视频一区二区 | 波多野结衣xxxx| 精品无码一区二区三区爱欲| 亚洲第一区第二区第三区| 不要播放器的av网站| 欧美 日韩 激情| 欧美精品自拍视频| 亚洲中文字幕无码一区二区三区| 色戒在线免费观看| 国产一级不卡毛片| 无码日韩人妻精品久久蜜桃| 一本大道熟女人妻中文字幕在线| 国产精品又粗又长| 无码中文字幕色专区| 可以看毛片的网址| 久久男人资源站| 青青在线视频免费观看| 99久久99久久精品| 人妻激情另类乱人伦人妻| 中文精品无码中文字幕无码专区 | 无码aⅴ精品一区二区三区浪潮| www.好吊操| 成人综合视频在线| 无码人妻丰满熟妇区五十路百度| 免费日韩视频在线观看| 一区二区三区入口| 中文字幕在线视频一区二区| 欧美精品一区二区性色a+v| 国产又爽又黄ai换脸| 欧美久久在线观看| 日韩视频第二页| 91精品999| 欧美中日韩在线| 国产在线观看福利| 男女视频在线观看网站| www.18av.com| 久草在在线视频| 午夜剧场在线免费观看| 超碰10000| 亚洲乱码中文字幕久久孕妇黑人| mm131亚洲精品| 91黄色在线看| 污色网站在线观看| 青草视频在线观看视频| 免费激情视频在线观看| 老汉色影院首页| 91视频免费版污| 亚洲av综合色区| 国产小视频精品| 奇米影视亚洲色图| 国产精品自拍视频在线| 国产黄色一级网站| 红桃一区二区三区| 91香蕉视频污版| 免费一级特黄毛片| 中文字幕av久久| www.色就是色| 日本久久久精品视频| 好色先生视频污| 亚洲妇熟xx妇色黄蜜桃| 91蝌蚪视频在线观看| 成人毛片一区二区| 真实国产乱子伦对白视频| 久久久久久久久久久久久久久国产| 免费一级特黄特色毛片久久看| 亚洲在线观看网站| 亚洲最大综合网| 91蝌蚪视频在线观看| 水蜜桃色314在线观看| 国产欧美久久久久| 麻豆映画在线观看| 六月婷婷激情网| 99re99热| 亚洲区成人777777精品| 午夜免费视频网站| 超碰成人在线免费观看| 亚洲欧美日本一区二区三区| 天天干天天草天天| 亚洲一区在线不卡| 亚洲综合欧美激情| 国产成年人视频网站| 久久精品亚洲天堂| 欧美一级特黄aaaaaa在线看片| 亚洲国产精品女人| 国产美女作爱全过程免费视频| 日韩不卡一二区| 加勒比海盗1在线观看免费国语版| 午夜天堂在线视频| 激情五月五月婷婷| 人人妻人人澡人人爽欧美一区 | 黄色片网址在线观看| 红桃av在线播放| 五月婷婷激情久久| 懂色av粉嫩av蜜臀av| 日韩精品在线中文字幕| av黄色在线网站| 91小视频网站| av久久久久久| 男人天堂1024| 日本美女视频一区| 欧洲精品在线播放| 精品999在线| 国产在线无码精品| 男人日女人bb视频| 亚洲色图偷拍视频| 九九爱精品视频| 中文字幕视频三区| 国产91在线免费| www.五月天色| 能在线观看的av| 黄色高清视频网站| 女人扒开屁股爽桶30分钟| 亚洲欧美日韩一二三区| 久久久久久久中文| 公共露出暴露狂另类av| 激情婷婷综合网| 国产肉体ⅹxxx137大胆| 国产精品视频黄色| 国产精品久久..4399| 伊人五月天婷婷| 成人免费视频久久| 人人妻人人澡人人爽欧美一区| 我要看一级黄色大片| 久色视频在线播放| 国产乱子伦精品视频| 中文字幕 日韩 欧美| 欧洲av无码放荡人妇网站| 久久av高潮av| 欧美国产日韩另类| 免费一级特黄录像| 精品国产成人av在线免| 日b视频免费观看| 性久久久久久久久久久久久久| 国产xxxxx在线观看| 国产中文字幕在线免费观看| 天天想你在线观看完整版电影免费| 182午夜在线观看| 黄色手机在线视频| 久久99999| 免费看污黄网站| 无限资源日本好片|