COMM5007
Coding for Business
Individual Assessment - Coding
Term 2, 2024
This individual assignment covers Lecture 1 to 4. It accounts for 10% of the final grade for COMM5007 Coding for Business. The due date is Week 5 Friday 28 June 2024, 14:59 AEST. You can submit the assignment multiple times before the due date. Only the latest submission will be marked. Do not wait till the last minute. Late submissions (even by a few seconds) will incur a penalty of 5% of awarded marks.
You are to submit a WORD document (not PDF) to the Individual Assignment Submission Portal on Moodle. Turnitin is turned on to check similarity score among all submissions. To avoid a high Turnitin score, do NOT copy the assignment questions into the report.
Every page’s header should contain Subject Code “COMM5007”, Title “Individual Assignment”, Your zID, similar to the Individual Assignment guideline file. Do NOT write your name. A cover page is optional.
Please use "Your zID" for Submission Title when you upload. The filename should also be “Your zID.docx” . Submissions that do not adhere to this will incur a penalty of 5% of awarded marks.
Details of report format:
Length: should not exceed 5 pages, including the relevant graphs, tables, references, screenshots, and appendices (if any), but excluding the cover page. (Note: A cover page is optional.)
Font Style. Times New Roman for writing; Courier New for code
Font size: 12 for writing; 10 for code
Line spacing: 1
Margins: 1 inch or 2.54 cm for the top, bottom, right and left.
Include the page number on each page.
Up to 25 marks of penalties will be imposed for inappropriate or poor paraphrasing. Serious cases will be investigated. More information on effective paraphrasing strategies can be found on https://www.student.unsw.edu.au/paraphrasing-summarising-and-quoting.
Your writing should be succinct but not at the expense of excluding relevant details. Use plain and simple language. Some questions may not come with absolutely right or wrong answers, and you have the liberty to express your views about the problem. However, your points must be supported by evidence and sound reasoning. It is the quality and not the length that counts. Make sure you follow the report guidelines and style specified in this assignment.
Where students use ChatGPT or any Generative AI tool in their work, this must be appropriately cited according to discipline norms, e.g., right below the written paragraph that used Generative AI, or included in appendix. Most referencing formats have now released approaches to referencing Generative AI, e.g.,https://apastyle.apa.org/blog/how-to-cite- chatgpt.
The answers should be presented in order according to the sequence of the questions listed in the assignment. That is, in the order of Q1 a), Q1 b), Q2 a), ..., etc. You can have several sub- sections within a section if you deem appropriate. The report must be self-contained. It is essential to include all relevant tables and figures as evidence to support your answers.
Suggestions:
• Write clearly in plain English
• Write appropriately to the context
• Cite appropriate sources
• Provide a reference or bibliography at the end of the main report
• Include less relevant details in the Appendix
• Good overall presentation of the report
Question 1 – Pattern Generation (10 marks)
Write code that uses a variable n and generates the pattern as follows.
If nis assigned to 8, the pattern is:
If nis assigned to 12, the pattern is:
If n is assigned to any other positive integer, say 16, the pattern would have 17 rows in a similar form.
If you use ChatGPT to generate code, please take ChatGPT’s code and improve the code with your own knowledge. Show your work in the format below, which could take multiple iterations.
On your final version of code, be it from ChatGPT, or entirely written by you from scratch, explain each line of code in your own words, as a comment under each line of code.
My prompt:
Describe the pattern that we want ChatGPT to generate.
ChatGPT’s response:
Certainly! You can use below code …
My reflection:
This can be what is still not right. Or what manual change can be done to ChatGPT’s code directly, based on your understanding as a human coder. Write your thoughts and analysis here.
My prompt:
Describe what ChatGPTshall correct to reach the exact pattern based on your previous reflection. This prompt can include the code that we modified manually and want ChatGPT to continue to improve.
ChatGPT’s response:
…
My reflection:
…
--------------------------------------------
My prompt:
…
What is assessed in Question 1:
- The quality of the final code
- The comments in the final code
- (If ChatGPT is used) the thought process to analyze the code as a human coder, which demonstrates students’ technical ability. This thought process is reflected in your prompts for ChatGPT and your reflections as a human coder.
- (If ChatGPT is used) The quality of writing in the prompts and reflections (clear language, structure).
Question 2 – Debugging using ChatGPT (20 marks)
In this question we aim to improve a piece of code with the help of ChatGPT, i.e., use of ChatGPT is mandatory.
The original code is in the first grey textbox below. The improvement could include but is not limited to:
- Fix syntax errors
- Fix runtime exception, such as numeric input validation
- Fix logical mistakes, which do not trigger a runtime exception, but makes the code not achieving the intended purpose
- Improve readability of code, i.e., the code should be self-explanatory and easy to understand, even without any comments
A simple but inefficient approach would be asking ChatGPT “What are the issues with this code? Please improve all of them.” and feeding the improved code into ChatGPT and ask the same question again. This process is shown below.
My prompt:
What are the issues with this code? Please improve all of them.
x = ['apple', 'banana', 'cherry', 'blueberry', 'avocado'] y = { 'apple': 100, 'banana': 80, 'cherry': 200, 'blueberry': 300, 'avocado': 200 z = { 'apple': 0.5, 'banana': 0.2, 'cherry': 12, 'blueberry': 6, 'avocado': 1 ] query = 'yes' a = [] print('fruit:' + x) while query = 'no': item = str(input("Hello! What do you want to buy?")) if item not in x: print('Wrong product! Please try again." Break amount_of_item = int(input("How many do you want? ")) if amount_of_item > y[item] print("We don’t have enough stock! Please try again.") break entered_input = [item, amount_of_item) a.insert(entered_input) query = str(input("WOULD YOU LIKE TO CONTINUE? (YES/NO)")) print('list:' + a) print('Total cost:', y * z)
ChatGPT’s response:
…
My reflection:
Continue to ask ChatGPT to do all the work!
--------------------------------------------
My prompt:
What are the issues with the code that you just generated? Please improve all of them.
ChatGPT’s response:
…
My reflection:
Continue to ask ChatGPT to do all the work!
--------------------------------------------
My prompt:
…
This approach above will not get you the best version of the improved code quickly and might not identify all the improvements needed. A better way is to analyze the code yourself and reflect on what you want to improve. You can then write a good prompt for ChatGPT to make that improvement. Through multiple iterations, you should be able to reach your best version of the code quickly, based on your own knowledge.
What is assessed in Question 2:
- The quality of the final code
- The thought process to analyze the code as a human coder, which demonstrates students’ technical ability. This thought process is reflected in your prompts for ChatGPT and your reflections as a human coder.
- The quality of writing in the prompts and reflections (clear language, structure).
版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。