Econ 4093 -Assignment 2 Total 10 points The Hangzhou-FuZhou-Shenzhen high-speed line (HFSL) was opened on Dec 28th, 2013. Shenzhen North Station is the terminal station of the HFSL on the Shenzhen end. The next station is Pingshan Station, located in the eastern suburban district of Shenzhen. The opening of HFSL tremendously enhanced inter-city population mobility. Figure 1 and 2 show the two HSR lines and the location of the HSR stations in Shenzhen. Shenzhen North Station is a transportation hub connecting two HSR lines to the local metro network. In contrast, Pingshan Station are located in the far suburban area without connectivity to the local metro system. Figure 1: HSR line and stations in Shenzhen Figure 2: The spatial distribution of transactions and metro stations This assignment asks you to estimate the causal impact of HFSL to the housing price in Shenzhen from 2012 to 2015. 1: Estimating the effect of Shenzhen North station to the housing price nearby. More specifically, define the treatment group as housing estates located within 2 km of Shenzhen North Station. The control group is housing estates located from 2-4 km of Shenzhen North Station. Using DD regression, how did the Shenzhen North Station generate impact to the housing price nearby? Does the result make sense? Please explain your findings. (2 marks). 2: Do the same thing to estimate the effect of PingShan station to housing price nearby and explain your findings. Again, the treatment group is defined for housing estates located within 2 km of Pingshan station, and the control group is units located from 2-4 km of Pingshan station. (2 marks). 3: The opening of HFSL generates impact on housing price near metro stations. Please answer the following questions by running DD regressions. Please define the treatment group as the housing estates located within 1- km of metro stations, and the control group is the housing estates located from 1-2 km of metro stations. (6 points in total) a): What is the overall impact of HFSL to housing price near metro stations? Please interpret your findings. (2 points) b): What will be the temporal effects of HFSL to housing price near metro stations? More specifically, please run DD regressions to examine the impact within 3 months, 6 months, 12 months and 18 months of the HFSL opening. (2 points) c): The variable HSR_Metro_Time captures the metro commuting time from the Shenzhen North Station to different metro stations. We concern that metro stations closer and far away to Shenzhen North Station could have different impact on housing price. Please run six DD regressions to examine the housing price changes near metro stations which were located within 5-15 minutes, 15-25 minutes, 25-35 minutes, 35-45 minutes, 45-55 minutes, and beyond 55 minutes commuting time from the Shenzhen-North Stations. Please interpret your findings. (2 points).
The 2nd Assignment of Public Finance (ECON4043) Question 1 [32 marks total] Assume that there are two roommates who spend all of their income on groceries (X) and a Netflix subscription (Y). When one of the roommates pays for the Netflix subscription, the other one also enjoys the access to movies and series. Thus, Y is a public good. For simplicity, assume that the unit price of each good is $1 and each individual has the following utility function: U(X,Y) = ln(X) + ln(Y) (Hint: the total level of Y consumed by each roommate is Y1+ Y2 where Y1 is the Netflix contribution of roommate-1 and Y2 is the Netflix contribution of roommate-2) a. [12 marks] Find the socially optimal aggregate level of Y (or Y1+ Y2) under the following two cases: Case 1: Each roommate has an income of $100. Case 2: One roommate has $150 of income whereas the other one has $50. b. [12 marks] For each case above, now find the level of Y, the aggregate level of Netflix contribution, if each individual will pay for Y1 and Y2 separately. How many more/less units of Netflix contribution will the two neighbors provide than is socially optimal? c. [8 marks] Under case 1, assume that the government taxes each individual by $16.67 and with this revenue, pays for the Netflix subscription itself by 33.34 units. Find the level of Y each individual will provide under this scenario. Can the socially optimal level of Y be achieved? What is the extent of crowding-out? In other words, how many more/less units of Netflix contribution will the two roommates provide with this government intervention compared to the case without the intervention? Question 2 [26 marks total] Suppose that Guangdong provincial government plans to construct a new bridge between Zhuhai city and Shenzhen city. The construction needs 200,000 tons of cements, 50,000 tons of steel, and 600,000 labor days. Suppose that the cements will be purchased from an Oligopoly firm, HaiLuo Corporation, at a price of RMB 2,500 per ton, with a cost of RMB 2,200 per ton. Steel will be purchased from MaAnShan Steel Corporation with a price of RMB 5,000 per ton, which is lower than the market price of RMB 5,200 per ton charged by all other steel companies. The construction workers hired in the project will receive the average wage for construction workers all over the country - RMB 300 per day, which is lower than the average wage of high-skilled workers (RMB 400 per day) but higher than the average wage of low-skilled workers (RMB 200 per day). Workers with certain skills will not work in other types of jobs with different skills. After the bridge is built, the maintenance expenses will be RMB 4,000,000 per year for its life time, which lasts for 100 years. Meanwhile, the average housing price at each end of the bridge will increase by RMB500,000 since the average commuting time of each person living in these two areas will fall by 1 hour per day. Suppose that there are a total of 2,000 households living in these two areas, that there is one commuter per household, that the average commuter works 5 days a week and 50 weeks a year for a total of 40 years. In addition to these households, the bridge can also save the same amount of time each year for other 5,000 commuters, whose value of time (say, per hour) is assumed to be the same as the commuters in the households above. Moreover, the new bridge can save 10 lives each year (the average number of persons killed among those commuting between the two cities before the new bridge is built). Suppose that each person’s life value is measured by the PDV of his/her life-time wages, and he/she is supposed to work 8 hours a day, 5 days a week and 50 weeks a year for a total of 40 years. Assume the hourly wage is the same as the hourly value of time of the commuters above. Suppose that the benefits of reduced commuting time and saved lives apply to current and future citizens during the bridge’s life time. We use a discount rate of r = 4% whenever we need to discount the future value to the present value. Throughout this question, denote all your answers for value in million RMB (except for hourly wage), and round them to integers. a. [3 marks] What is the material cost of the bridge? b. [2 marks] What is the labor cost of the bridge? c. [2 marks] What is the PDV of the maintenance cost of the bridge? d. [2 marks] What is the total cost of the bridge over its life time? e. [6 marks] Use the revealed preference approach to estimate the average value of an hour for a commuter based on the information provided. f. [2 marks] What is the total benefit of time saving from this bridge PER year? g. [5 marks] What is the total benefit of life saving from this bridge PER year? h. [3 marks] What is the total benefit of this bridge over its life time? i. [1 mark] Is it worthwhile to construct this bridge? Question 3 [42 marks total] Part A: Suppose there is an imaginary country which is composed of only three towns, namely Town X, Town Y and Town Z. The expenditure on national security of this country needs to be jointly borne by these three towns. The marginal benefits of national security for these three towns are shown in the following table. X$300$250$200$150MB Z$200$150$100$50
MCD4720 - Fundamentals of C++ Assignment 1 - Trimester 1, 2025 Purpose Selections, repetition, reading, and writing from/to files form. the foundation of programming languages. This assignment provides an opportunity for you to showcase your understanding of these concepts and demonstrate your ability to utilize them effectively. The assignment relates to Unit Learning Outcomes 1, 2, 3 and 4. Your task Complete the individual tasks as detailed in the instructions below. Your project must be submitted as a CLion project, including all header (if you did header) and code files, and any appropriate text files to ensure the program compiles and runs. Value 20% of your total marks for the unit The assignment is marked out of 100 marks. Word Limit No overall word limit Due Date 11:55 pm Friday 28 March 2025 (Week5) Submission ● Via Moodle Assignment Submission. ● Turnitin will be used for similarity checking of all submissions. ● This is an individual assignment (group work is not permitted). ● DRAFT submission is not assessed. ● CLion project will be assessed using version 3.24 or higher Assessment Criteria Marks are allocated based on the accuracy of the submission, successful completion of the tasks without any errors in the code, and the quality of the solution. The instructions contain an individual marks breakdown for these components. Scenario: You have just joined a new software development company called ABC Software Ltd. ABC Software Ltd has been commissioned by a major client to create an application called "The Basic Applications." As a new employee, your task is to create a text-based prototype for this new application. Your job is to demonstrate some of the basic functionalities of this program, which will then be further developed by a team of programmers once your prototype is complete. To achieve this, you will complete a series of tasks, each task being independent and leveraging the benefits of a modular design. A project template has been provided and can be found on Moodle. Please download it and extract it into an appropriate folder on your device. Open it with your IDE and begin working on it. At the end, zip your project and submit it on Moodle before the due date. Failure to do so will result in a penalty. Task 1: Read data from a file and display Your first task is to display some information about the application, just like the one shown here. Create a function called runMenu() and call it from the main() function. Then create another function called displayText(string filename) and call it from the runMenu() function. This function must accept a filename as a parameter ("About.txt") and successfully read and display the data. You must also allow the user some time to read the displayed information before returning them to the menu. You can download the About.txt file from this unit’s Moodle page and copy into the appropriate folder in your project to read and display its content, instead of creating your own. This file is also located in the Assignment1_Template folder on Moodle. You must update the file to add your details (such as trimester, unit, …) Task 2: String Analyser Function Your next task is to create a String Analyser function. The user will input two strings, and the function will perform several tasks to provide various statistics about it. These statistics include: a) Display the length of each string. b) Create a new string by alternating characters from both strings, starting with the first character of the first string, then the last character of the second string, followed by the second character of the first string, then the second last character of the second string, and so on. For example, if the first string is " haidar" and the second string is "MON" the result would be "hNaOiMdar" where the characters are combined in this alternating pattern. This approach creates a new string by mixing the characters from each string in a specific order. c) Replacing all lowercase letters in first string with their corresponding uppercase letters, without using the toupper function, and display it. To do this, create a function called stringAnalyser () and call it from the runMenu() function. Use the screenshot as a reference. Task 3: Generate a Random Array, Display Minimum Values, and Modify the Border Your next task is to generate a random array and fill it with 25 elements between 50 and 99 (inclusive) . Then, find and display the minimum value in each column of the array. Afterward, reset the boarder (the first and last rows and columns) to 0. Create a function called generateArray() and call it from the runMenu() function. You can break this function into smaller sub-functions (e.g., a function to display the array in 5 rows and 5 columns, find minimum and a function to reset boarder), you may find this will make the coding easier for you. You may qualify for more marks by doing so. Task 4: Roulette Wheel Game (Dozen) Your task is to simulate a roulette wheel game. The wheel contains numbers from 1 to 36 (excluding 0). Program the spinning of the roulette wheel and ask the player to guess a dozen range. https://www.toptacular.co.uk/product/roulette-wheel/ Your task is to program the spinning of the roulette wheel and prompt the player to guess a number. Determine whether both the spun number and the guessed number fall within the same dozen range. The three dozen are arranged as follows: a. 1-12 (First Dozen) b. 13-24 (Second Dozen) c. 25-36 (Third Dozen) • If the user guesses correctly, display a message: "Well Done! and you win double what you have bet. You guessed and it is [rolled number]." • If the user guesses incorrectly, display a message: "Wrong! You lost all your money. You guessed , it should be [1-12/13-24/25-36]. The rolled number is [rolled number]." Create a function called spinRoulette () and call it from the runMenu() function. Use the screenshot as a guide for your display and input request. Task 5: Save Encrypted Message to File Your next task is to save the encrypted player message using the Caesar cipher to a file called “ savedMessages .txt” . To familiarise yourself with the Caesar cipher, refer to the MCD4700 Lecture 10.1 slides or visit this link: https://cryptii.com/pipes/caesar-cipher. 1. In the runMenu(), call a function called generateMessage(): • When generateMessage() is called, ask the user to enter a message. • Then, ask the user to input a key (integer) for the Caesar cipher. • Use the Caesar cipher method to encrypt the message with the provided key. Note that you are only required to encrypt the letters (a-z and A-Z). 2. Create a function called saveData(string message): • This function will accept a string parameter, which will include the encrypted message (after applying the Caesar cipher). • The function will then prompt the user whether they want to save this message to the text file or not. 3. When the second function runs: • Display the encrypted message (the result of the Caesar cipher). • Ask the user if they want to save the encrypted message. If yes, save the message to the “savedMessages.txt” file and display a success message. Use the screenshot as a guide for your display and input details. You should also inform the user when the data is saved, before returning to the menu. This screenshot shows sample content saved into the “savedMessages.txt” file. Task 6: Create and Display a Menu This task is for HD students To get HD in this assignment you have to think again before ignoring this task. Your last task is to put everything together, create and display a menu, just like the one shown here. All the above functions should be called and run when the corresponding option is selected. In this example, option [6] has been selected, this option terminates the program. The menu should be coded in the runMenu function “ runMenu()“ . From this function, the user must be able to select any of the displayed options as often as they want before ending the program. Ensure that you validate the user’s input so that only the options displayed can be chosen. You should process the options as numeric such as [1] for displaying the information, [2] for drawing the first letter and etc. Assignment Notes: It is your responsibility to know what is expected of you. If you are unsure about anything, ask your tutor sooner rather than later. Write any questions and/or notes here to help you clarify what you must do. Assignment 1: Marking Criteria [100 marks in total] NOTE: Your submitted project must be correctly identified and submitted, otherwise it will receive an automatic 10-mark penalty (applied after marking). Does the program compile and run? Yes or No NOTE! Your submitted program MUST compile and run. Any submission that does not compile will receive an automatic 10 marks penalty. Marking Guide: 1. Application Design [20] 1.1. The main () function has appropriate function calls to keep it uncluttered [5] 1.2. Has all the correct #include statements [5] 1.3. Has created all function prototypes correctly [5] 1.4. Appropriate additional functions created to streamline code [5] 2. Functionality [60] 2.1. Task 1: Display “About” Information [10] 2.1.1. The displayText() function uses the correct argument and return type [2] 2.1.2. Appropriate validation checks have been made [2] 2.1.3. Appropriate use of loop and decision structures to read and display data [2] 2.1.4. Appropriately display the file including student’s details [4] 2.2. Task 2: String Analyser Function [10] 2.2.1. Function uses the correct argument and return type [2] 2.2.2. Point a has been correctly achieved [2] 2.2.3. Point b has been correctly achieved [2] 2.2.4. Point c has been correctly achieved [4] 2.3. Task 3: Generate a Random Array, Display Minimum Values, and Modify the Border [10] 2.3.1. Function uses the correct argument and return type [2] 2.3.2. Correct declaration and initialisation of an array [2] 2.3.3. Appropriate use of decisions and loops to the minimum and modify the border [2] 2.3.4. The generateArray() function displays the maximum, array before and after in 5 by 5 format [4] 2.4. Task 4: Roulette Wheel Game [10] 2.4.1. Function uses the correct argument and return type [2] 2.4.2. Appropriate validation checks have been made [2] 2.4.3. Ask user to guess [2] 2.4.4. The message displayed correctly [4] 2.5. Task 5: Save a message to file [10] 2.5.1. Function uses the correct argument and return type [2] 2.5.2. Data entered correctly [2] 2.5.3. Appropriately save data in file if user says yes to save [2] 2.5.4. Ask user if they want to save or not, an appropriate message displayed and appropriate validation [4] 2.6. Task 6: Menu [10] 2.6.1. The menu options are clearly displayed [2] 2.6.2. Appropriate use of loop and decision structures to process user input [2] 2.6.3. Correct use of function calls when responding to user input [2] 2.6.4. The user controls when to return to the menu [2] 2.6.5. Appropriate exit [2] 3. Quality of Solution and Code [20] 3.1. The program complied with no error? [10] 3.2. Has a well-designed program been implemented and the Programming Style Guide been followed? [10] 3.2.1. Demonstrates the use of logical procedures [2] 3.2.2. Code is indented correctly [2] 3.2.3. White spaces are used properly [2] 3.2.4. All functions and variables have meaningful names and use correct camel notation [2] 3.2.5. Appropriate use of comments throughout the code (top of the program, above the functions and in line) [2]
OPSMGT 258 Business Process Design Assignment 1 Assignment and Submission Instructions This assignment is due on Wednesday, April 2nd at 11:59pm. • The assignment is marked out of 100 and is worth 10% of the coursework mark. • The assignment should be completed individually. • The use of ChatGPT or any other AI tool is prohibited. By submitting, you agree to the UoA academic honesty principles and practices outlined here: https://www.auckland.ac.nz/en/about/teaching-learning/academic-integrity.html. Any violation of academic integrity will nullify your scores for the assignment. • The assignment has a total of 4 Questions. You must answer all parts of all questions. • Explain all answers. For all calculations show full workings. • Your submission should consist of a single MS WORD file. • Your document is in essence a business report and as such must be formatted according to the template provided on Canvas | Assignments. Five marks will be awarded for satisfying these business report requirements. If you find that your Microsoft WORD formatting skills are not sufficient, please refer to the basic training information in “Tech Guides”. • The assignment has to be submitted electronically via Canvas. The file to be submitted must be named “Assign1_258_yourUPI” . • Late assignments will receive a 10 mark penalty per day late if you have not been granted an extension of time. Final deadline for accepting late submissions is 48 hours after the deadline (with a maximum loss of 20 marks). • Please make sure to round your numerical answers appropriately. Professional Report Writing Well written, correctly referenced, and properly formatted reports are essential in all business environments. Hence, it is crucial that you can apply professional formatting to a MSWORD document and for this assignment by using the formatting template provided on Canvas. [5 marks] Question 1 Total for Question 1: 35 marks Read the following case description of a process at the National University, then answer the questions based on evidence from the case. Case: A process Each year, the National University processes about 370,000 invoices for supplies at their central administration office. About 75% of invoices are sent by suppliers electronically straight into the accounts payable system; those that are not received electronically are manually entered by administrative staff into the accounts payable system. On average, it takes 5 minutes to enter a non-electronic invoice into the system. Once an invoice is in the system, the system can automatically determine whether an invoice amounts to at most $150 or is over. Roughly 15% of invoices are for amounts of at most $150; such invoices are pre- approved and administrative staff process these for payment on average after a 30 minute wait. However, before processing any invoice over $150 for payment, administrative staff must obtain approval from the departmental budget manager who originally authorised the purchase; they write out the details of this invoice (takes on average 1 minute per invoice) and email it to the departmental budget manager concerned. These managers process invoices twice a day, which results in an average wait time of 2 hours. They check the receipt-status information and record the outcome (i.e., whether or not goods were received), which takes between 4-6 minutes per invoice before emailing the processed invoice back to the administrative staff, who check their email inbox regularly, resulting in a 1 hour average wait before further processing. The approved invoices are then pooled with the pre-approved invoices and sent to payment. The payment processing takes administrative staff on average 4 minutes per invoice. However, in cases where the goods have not been received (e.g., invoice not approved by the budget manager, etc.), administrative staff instead complete a form. letter (takes 2 minutes to complete) to include with the unpaid invoice as it is returned to the supplier; this happens 10% of the time at the payment step. a) Use IBM WebSphere to develop an ‘AS-IS’ process model for the process at the National University. Your process model should be in the ‘Free-Form. Layout,’ should show an appropriate process name, and where the information is available, display task duration and wait times, and decision points should show the ‘Decision Percentage Labels.’ Insert the picture of your process model into your WORD document on a landscape page for submission. [25 marks] b) Calculate the Theoretical and the Actual Flow Time for the ‘AS-IS’ process at the National University . Show your full workings in table format within your report using a copy of the table template in the WORD file “Assignment – Flowtime Calculations Template” provided on Canvas. [5 marks] c) Calculate the capacity of the administrative staff and the budget manager for processing invoices. There are 50 administrative staff that process invoices, and 10 budget managers. Both the administrative staff and the budget managers work for 50 weeks a year, and 8 hours each work day. However, each budget manager only spends up to 2 hours a day processing invoices. Show your full workings in table format within your report using a copy of the table template in the WORD file “Assignment – Capacity Calculations Template” provided on Canvas. [5 marks] Question 2 Total for Question 2: 35 marks Part A Consider the following process for manufacturing clothes used by Zara. Blanks stored in a raw material inventory (RMI) are cut and then sewn, and are then put in a finished goods inventory (FGI). The cutting and sewing tasks use different resources. There is no buffer between cutting and sewing. Different employees work on the cutting and sewing process. i) What is the capacity of this process? Justify your answer. [1 mark] ii) What is the cycle time at the non-bottleneck task? How appropriate workings. [1 mark] iii) Are any tasks starved or blocked? If so, then why and for how long? [2 marks] iv) Assume the system is operating at capacity. What proportion of the time is the operator at the ‘Cutting’ task actually working? What about at the ‘Sewing’ task? Show appropriate workings. [3 marks] v) Is this a make-to-stock or make-to-order process? Justify your answer. [2 marks] vi) What is the theoretical flow time of this process? What additional information would you need to calculate the actual flow time? Show appropriate workings and justify your answer. [3 marks] vii) Assume the system is operating at capacity, and the actual flow time is 3 hours. What is the Work in Process of the entire process (including all tasks and inventories)? Show appropriate workings. [3 marks] Part B Due to recent layoffs, the capacity at sewing has been reduced, as depicted below. i) What is the capacity of this process? Justify your answer. [1 mark] ii) Are any tasks starved or blocked? If so, then why and for how long? [2 marks] iii) Assume the system is operating at capacity. What proportion of the time is the operator at the ‘Cutting’ task actually working? What about at the ‘Sewing’ task? Show appropriate workings. [3 marks] iv) What is the theoretical flow time of this process? Show appropriate workings. [2 marks] Suppose a buffer that can hold at most 200 shirts is added between “Cutting” and “Sewing” . Also suppose “Cutting” runs two 8-hour shifts (i.e., 16 hours a day), “Sewing” runs three 8-hour shifts (i.e., 24 hours a day), and “Sewing” will start working after the first item at “Cutting” is finished (i.e., there is no waiting time in “Sewing” at the beginning of the day). v) What is the maximum level of WIP in the buffer over the course of a day? Show appropriate workings. [4 marks] vi) Draw a graph plotting the level of WIP in the buffer against the time of day for 24 hours. [5 marks] vii) Calculate the average level of WIP over 24 hours. Show appropriate workings. [3 marks] Question 3 Total for Question 3: 10 marks In class, we discussed how “Sometimes optimising individual parts, or just one activity of the process, may inadvertently be damaging the end (overall) result.” a) Explain with an example the meaning of this statement why this is true, especially in the context of traditional functional organisations. [5 marks] b) Describe how to address the problem of this statement in the context of traditional functional organisations. [5 marks] Question 4 Total for Question 4: 15 marks A local restaurant would like to improve its Yelp rating. To do this, they have analysed the negative feedback left in use reviews, and developed the following table using the data collected. Reason for complaint Number of complaints Slow service 35 Poor food quality 11 Uncomfortable environment 5 Menu items not available 21 Price 13 a) The restaurant would like to choose one or two categories of complaints to focus on addressing. Which of the charts and diagrams we discussed in class would you recommend they use to help them answer this question? Explain your answer. [5 marks] b) Is there any additional information you think would be useful in deciding which complaints to focus on? Explain your answer. [5 marks] c) Based on their analysis of the complaints, the restaurant manager has decided they would like to reduce complaints by “increasing the number of meals delivered to customers in 20 minutes or less by improving employee training” . Is this a good way of framing the problem? Why or why not? [5 marks]
BUS3023 - BRM Assignment 2 (Research Proposal) Guidelines Research Proposal BRM Deadline: 5pm, 11th April Submission: via TURNITIN ispace folder One submission per group The title of your file must be as follows: ‘BRM – Research Proposal Group YY’ 1. Proposal Requirements & Formats: Following the topic selection, you need to write a research proposal. You may follow the FYP proposal guidelines that we use in UIC and/or you also could refer to the structure of other research proposals available on the Internet. Furthermore, you will need to present your research proposal in class after submitting it to iSpace. Here is just some recommendation of what your report should include: · An introduction where you explain the background and the context of your research. Such information should allow the reader to understand easily what is going on and what is the management dilemma. · A literature review aims to gather information about the management dilemma that should help you to better understand your management dilemma. Ask yourself: o “what knowledge do I need to know to address the management dilemma”. o “what other people said about addressing the management dilemma” o “what other people haven’t said about addressing the management dilemma” o “what is the research gap and how my research can address this research gap” · A clear statement of the research question and define the relevant concepts in the research question Develop your research hypotheses to address the research question. · A simple introduction of what methods/processes you will use to do the research · A schedule showing the timeline and different steps of your research Content specifications: · The first page needs to include your title, your class section, your group members' name & ID, and the date. · The second page will include the table of contents. Indicate page numbers of different sections and subsections. · The third page will be the start of the main body of your research proposal. The length of a proposal should be 5 to 7 pages (not including the title, the content page, and the references list). · Use the APA standards for tables, figures, and references. · Use 12 font-size Times New Roman · Use 1.5-line space between lines · Create sections and subsections · Put page numbers at the bottom centre 2. Proposal Presentation requirements · Proposal presentations will be held during week 9 but can be changed depending on the situations; some of the presentations may be scheduled during the reading week. · Attendance to all presentation periods is compulsory for all unless it is held during the reading week. · Submit presentation slides to ispace before giving a presentation · From 8 to 10 min per group maximum. Not all members need to speak. · Please use PowerPoint. · Possible Q&A after. 3. Research ethics: Be aware of plagiarism issues. Plagiarized work will receive zero. Report with more than 30% similarity will be rejected directly. Reports between 20% and 30% will be checked in detail. Any AI tools should not be used writing the research proposal.
FIT3152 Data analytics – 2025: Assignment 1 Your task ● Analyse the country level predictors of confidence in social organisations using data from the World Values Survey. ● This is an individual assignment. Value ● This assignment is worth 25% of your total marks for the unit. ● It has 40 marks in total. Suggested Length ● 8 – 10 A4 pages, approximately 1,000 words (for your report) + extra pages as appendix (for your R script, clustering table, and report on how Generative AI used if required). ● Font size 11 or 12pt, single spacing. Due Date 11.55pm Wednesday 16th April 2025 Submission ● Submit a single PDF file and single video file on Moodle. ● Note that submission of a video report is a hurdle requirement. ● Use the naming convention: FirstnameSecondnameID.{pdf, mp4, mov etc.} ● Turnitin will be used for similarity checking of all written submissions. Generative AI Use ● In this assessment, you can use generative artificial intelligence (AI) in order to search for R functions and examples to perform tasks that you specify only. Any use of generative AI must be appropriately acknowledged (see Learn HQ). ● Note that a Generative AI statement is a hurdle requirement. Late Penalties ● 5% (2 mark) deduction per calendar day for up to one week. ● Submissions more than 7 calendar days after the due date will receive a mark of zero (0) and no assessment feedback will be provided. Instructions Address each of the research questions below and report the results of your analysis and your interpretation of those results. You are expected to include at least one high quality multivariate graphic summarising key results. You may also include other simpler graphs and tables. Report any assumptions you’ve made in your analysis. Include your R code as an appendix. Your R code must be machine readable text as the university requires all student submissions to be processed by plagiarism detection software. You must include a declaration on the use of Generative AI at the beginning of your written report (hurdle requirement) and if you used Generative AI, describe how it was used, as an appendix. There are two options for compiling your written report: (1) You can create your report using any word processor with your R code pasted in as machine- readable text as an appendix, and save as a pdf, or (2) As an R Markdown document that contains the R code with results and discussion interleaved. Render this as a HTML file and save as a pdf. Your video report should be less than 100MB in size. You may need to reduce the resolution of your original recording to achieve this. Use a standard file format such as .mp4, or mov for submission. Software It is expected that you will use R for your data analysis and graphics and tables. You are free to use any R packages you need but must document these in your report and include in your R code. You may use other software, such as Excel, to create the table of clustering data for Question 3(a). Use of Generative AI AI & Generative AI tools may be used in GUIDED ways within this assessment / task as per the guidelines provided. In this assessment, you can use generative artificial intelligence (AI) in order to search for R functions and examples to perform. tasks that you specify only. Any use of generative AI must be appropriately acknowledged (see Learn HQ). If you do use Generative AI for your assignment, then you must include the statement "Generative AI was used in this assignment." in the introductory/first paragraph of your report. You must also include the following information as an appendix in your report: (1) the technology you used (e.g. ChatGPT), (2 the information that was generated (e.g. R code fragments), (3) the prompts used (i.e. the questions you asked), and (4) how the output was used in your work. If you did not use generative AI in your assignment, then include the statement "Generative AI was not used in this assignment." in the introductory/first paragraph of your report. Questions The World Values Survey (WVS) is an international research program that studies the social, political, economic, religious and cultural values of people in the world. You can read more here: https://www.worldvaluessurvey.org/WVSContents.jsp The aim of this assignment is to understand country-level differences in the predictors of confidence in social organisations reported by participants. These social organisations cover aspects of society such as: religion, armed forces, the press, television, trade unions, police, the courts, government, political parties, parliament, public service, universities, elections, major companies, banks, and environmental organisations. They are indicated in your data by column names having the prefix "C". Predictor variables (attributes) include personal information such as age and gender, values such as trust in others, the importance of various things in life, feelings of security and attitudes towards the state and science. Each student will be assigned a subset of organisations and predictor variables to study. Your task is to analyse the survey data overall, with a focus on the country you have been assigned. You may make use of any additional data you require to answer the following questions. 1. Descriptive analysis. (4 Marks) (a) Describe the data overall, including things such as dimension, data types, distribution of numerical attributes, variety of non-numerical (text) attributes, missing values, and anything else of interest or relevance. 2. Focus country vs all other countries as a group. (14 Marks) (a) Identify your focus country from the accompanying list (WVSFocusCountry.pdf). How do participant responses (attributes) for your focus country differ from the other countries in the survey(treating them as a group)? (b) How well do participant responses (attributes) predict confidence in social organisations in your focus country? Which attributes are the strongest predictors? Confidence in which social organisations can be more reliably predicted? Explain your reasoning. (c) Repeat Question 2(b) for the other countries as a group. How do these results compare to those of your focus country? 3. Focus country vs cluster of similar countries. (12 Marks) (a) Using a collection of social, economic, health, political or other indicators from external sources, identify at least 5 countries in in your survey data that are similar to your focus country using clustering. The references in this document list some data sources that may be relevant although you are encouraged to search more broadly. State the indicators used and describe how you calculated/identified similar countries. Copy and paste the table of values you used for your clustering into your report as an Appendix. (b) Repeat Question 2(b) for your cluster of countries. Comment on the similarity and/or difference between your results for this question and Question 2(c). That is, does the group of all other countries 2(c), or the cluster of similar countries 3(b) give a better match to the important attributes for predicting confidence in social organisations in your focus country? Explain why this might be the case. 4. Video Presentation: (Submission Hurdle and 4 Marks) Record a short presentation using your smartphone, Zoom, or similar method. Your presentation should be approximately 5 minutes in length and summarise your main findings for Sections 1 – 3, as well as describing how you conducted your research and any assumptions made. Pay particular emphasis to your results in Questions 2(c) and 3(b) 5 Overall considerations (6 Marks) This includes: the quality and clarity of your reasoning and assumptions; the strength of support for your findings; the quality of your writing in general and communication of results; the quality of your graphics throughout, including at least one high-quality multivariate graphic; the quality of your R coding. Data The data for this assignment is a reduced version of the World Values Survey Wave 7 data. The filename is "WVSExtract.csv". The data includes ordinal data coded on a numerical scale. For this assignment assume it is reasonable to treat these responses as numerical. Create your individual data as follows: rm(list = ls()) set.seed(12345678) # Your Student Number VCData = read.csv("WVSExtract.csv") VC = VCData[sample(1:nrow(VCData),50000, replace=FALSE),] VC = VC[,c(1:6, sort(sample(7:46,17, replace = FALSE)), 47:53, sort(sample(54:69,10, replace = FALSE)))] Locate your focus country using the accompanying document FocusCountryByID.pdf. The document WVSCountryCodes.pdf identifies each country by name from its code.
COMP9311 25T1: Project 1 Deadline: Friday 20:59:59 April 4th (Sydney Time) Aims This project aims to give you practice in • Reading and understanding a moderately large relational schema (MyMyUNSW). • Implementing SQL queries and views to satisfy requests for information. • Implementing PL/pgSQL functions to aid in satisfying requests for information. • The goal is to build some useful data access operations on the MyMyUNSW database. The data may contain some data inconsistencies; however, they won’t affect your answers to the project. Background All Universities require a significant information infrastructure to manage their affairs. This typically involves a large commercial DBMS installation. UNSW’s student informat-ion system sits behind the MyUNSW web site. MyUNSW provides an interface to a PeopleSoft enterprise management system with an underlying Oracle database. This back-end system (Peoplesoft /Oracle) is often called NSS. UNSW has spent a considerable amount of money ($80M+) on the MyUNSW/NSS system, and it handles much of the educational administration plausibly well. Most people gripe about the quality of the MyUNSW interface, but the system does allow you to carry out most basic enrolment tasks online. Despite its successes, MyUNSW/NSS still has several deficiencies, including: • No waiting lists for course or class enrolment. • No representation for degree program structures. • Poor integration with the UNSW Online Handbook. The first point is inconvenient, since it means that enrolment into a full course or class becomes a sequence of trial-and-error attempts, hoping that somebody has dropped out just before you attempt to enroll and that no-one else has grabbed the available spot. The second point prevents MyUNSW/NSS from being used for three important operations that would be extremely helpful to students in managing their enrolment: • Finding out how far they have progressed through their degree program, and what remains to be completed. • Checking what are their enrolment options for next semester (e.g., get a list of available courses). • Determining when they have completed all the requirements of their degree program and are eligible to graduate. NSS contains data about students, courses, classes, pre-requisites, quotas, etc. but does not contain any representation of UNSW's degree program structures. Without such information in the NSS database, it is not possible to do any of the above three. So, in 2007 the COMP9311 class devised a data model that could represent program requirements and rules for UNSW degrees. This was built on top ofan existing schema that represented all the core NSS data (students, staff, courses, classes, etc.). The enhanced data model was named the MyMyUNSW schema. The MyMyUNSW database includes information that encompasses the functionality of NSS, the UNSW Online Handbook, and the CATS (room allocation) database. The MyMyUNSW data model, schema and database are described in a separate document. How to do this project: • Read this specification carefully and completely. • Familiarize with the database schema (description, SQL schema, summary). • Make a private directory for this project and put a copy of the proj1.sql template there. • You must use the create statements in proj1.sql when defining your solutions. • Look at the expected outputs in the qX_expected tables loaded as part of the check.sql file. • Solve each of the problems in ‘tasks’ section and put your completed solutions into proj1.sql. • Check that your solution is correct by verifying against the example outputs and by using the check_qX() functions (following the ‘AutoTest Checking’ section). • Test that your proj1.sql file will load without error into a database containing just the original MyMyUNSW data. • Double-check that your proj1.sql file loads in a single pass into a database containing just the original MyMyUNSW data. • Submit the project via moodle. • For each question, you must output result within 120 seconds on vxdb01 server. • Hardcode is strictly forbidden. Setting Up To install the MyMyUNSW database under your vxdb01 server, simply run the following two commands: $ createdb proj1 $ psql proj1 -f /home/cs9311/web/25T1/proj/proj1/mymyunsw.dump If you've already set up PLpgSQL in your template1 database, you will get one error message as the database starts to load: psql:mymyunsw.dump:NN: ERROR: language "plpgsql" already exist. You can ignore the above error message, but all other occurrences of ERROR during the load need to be investigated. If everything proceeds correctly, the load output should look something like: SET SET SET SET SET psql:mymyunsw.dump:NN: ERROR: language "plpgsql" already exists ... if PLpgSQL is not already defined, the above ERROR will be replaced by CREATE LANGUAGE SET SET SET CREATE TABLE CREATE TABLE ... a whole bunch of these CREATE TABLE ALTER TABLE ALTER TABLE ... a whole bunch of these ALTER TABLE Apart from possible messages relating to plpgsql, you should get no error messages. The database loading should take less than 60 seconds on vxdb01, assuming that vxdb01 is not under heavy load. Note: • If you leave your project until the last minute, loading the database on vxdb01 will be considerably slower, thus delaying your work even more. o The solution: at least load the database Right Now, even if you don't start using it for a while. • Note that the mymyunsw.dump file is 50MB in size; copying it under your home directory or your ‘/localstorage’ directory is not a good idea. • If you have other large databases under your PostgreSQL server on vxdb01 or if you have large files under your ‘/localstorage/YOU/’ directory, it is possible that you will exhaust your vxdb01 disk quota. Regardless, it is certain that you will not be able to store two copies of the MyMyUNSW database under your vxdb01 server. o The solution: remove any existing databases before loading your MyMyUNSW database. Summary on Getting Started To set up your database for this project, run the following commands in the order supplied: $ createdb proj1 $ psql proj1 -f /home/cs9311/web/25T1/proj/proj1/mymyunsw.dump $ psql proj1 ... run some checks to make sure the database is ok $ mkdir Project1Directory ... make a working directory for Project 1 $ cp /home/cs9311/web/25T1/proj/proj1/proj1.sql Project1Directory The only error messages produced by these commands should be those noted above. If you omit any of the steps, then things will not work as planned. Important Advice Before You Start The database instance you are given is not a small one. The first thing you should do is get a feeling for what data is there in the database. This will help you understand the schema better and will make the tasks easier to understand. Tip: study the schema of each table to see how tables are related and try write some queries to explore/ understand what each table is storing. $ psql proj1 proj1=# d ... study the schema ... proj1=# select * from Students; ... look at the data in the Students table ... proj1=# select p.unswid from People p join Students s on (p.id=s.id); ... look at the UNSW ids of all students ... proj1=# select p.unswid, s.phone from People p join Staff s on (p.id=s.id); ... look at the staff ids, and phone #s of all staff ... proj1=# select count(*) from Course_Enrolments; ... get an idea of the number of records each table has... proj1=# select * from dbpop(); ... how many records in all tables ... proj1=# … ... etc. etc. etc. proj1=# q Read these before you start on the exercises: • The marks reflect the relative difficulty/length of each question. • Work on the project on the supplied proj1.sql template file. • Make sure that your queries work on any instance of the MyMyUNSW schema; don't customize them to work just on this database; we may test them on a different database instance. • Do not assume that any query will return just a single result; even if it phrased as "most" or "biggest", there may be two or more equally "big" instances in the database. • When queries ask for people's names, use the Person.name field; it's there precisely to produce displayable names. • When queries ask for student ID, use the People.unswid field; the People.id field is an internal numeric key and of no interest to anyone outside the database. • Unless specifically mentioned in the exercise, the order of tuples in the result does not matter; it can always be adjusted using order by. In fact, our check.sql will order your results automatically for comparison. • The precise formatting of fields within a result tuple does matter, e.g., if you convert a number to a string using to_char it may no longer match a numeric field containing the same value, even though the two fields may look similar. • We advise developing queries in stages; make sure that any sub-queries or sub- joins that you're using works correctly before using them in the query for the final view/function • You may define as many additional views as you need, provided that (a) the definitions in proj1.sql are preserved, (b) you follow the requirements in each question on what you are allowed to define. • If you meet with error saying something like “cannot change name of view column”, you can drop the view you just created by using command “ drop view VIEWNAME cascade;” then create your new view again. Each question is presented with a brief description of what's required. If you want the full details of the expected output, look at the qX_expected tables supplied in the checking script (check.sql). Tasks To facilitate the semi-auto marking, please pack all your SQL solutions into view/function as defined in each problem (see details from the solution template we provided). Question 1 (3 marks) Define a SQL view Q1 (subject_code) that gives all the level-5 and level-7 subjects that are offered at least twice by the ‘School’ type organizations in 2012. And the organization’s name should contain ‘Engineering’ . • subject_code should be taken from Subjects.code field. • ‘School’ type refers to the Orgunit_types.name field that contains ‘ School’. • The organization’s name refers to the orgunits.longname field. • Level-5 refers to the subject_code formatted as ‘XXXX5***’, where ‘X’ represents a letter and ‘*’ represents a number. Question 2 (3 marks) Define an SQL view Q2(course_id) that gives the ID of the course offering at least 'Lecture' and 'Laboratory' classes. Only consider the course that has at least two professors as staff and offers exactly two lectures in two distinct rooms. • course_id refers to the Courses.id field. • Lecture and Laboratory refer to the Class_types.name field. • Lecture room refers to the Class.room field . • Professor denotes the ‘ Prof’ in People.title. Question 3 (4 marks) Define a SQL view Q3(unsw_id) that gives the unswid of students who are enrolled in the 'Major', 'Minor', and 'Honours' streams simultaneously within the same program. The student’s unswid starts with 326. • unsw_id should be taken from people.unswid field. • The stream types 'Major', 'Minor', and 'Honours' are identified using the refer to stream_types.description field. Question 4 (5 marks) Define an SQL view Q4(course_id, avg_mark) that gives the course ID along with the average mark of master’s students who achieved a pass in each course. For each faculty and for each year between 2005 and 2015, it includes only those courses that have the highest average pass mark among all courses offered by that Faculty in that year. If multiple courses have the same maximum average mark in that year, all such courses are included. Note: Round avg_mark to the nearest 0.01 in numeric type (i.e., 85.014 ≈ 85.01, 85.016 ≈ 85.02, 85 ≈85.00). • course_id should be taken from Courses.id. • Faculty refers to the organization units where their Orgunit_types.name is ‘Faculty’. • A student is considered to have passed if their course mark ≥ 50. • The ‘master students’ refers to the degree_types.name containing the word ‘Master’. • The ‘year’ refers to the ‘ semesters .year’ field. Question 5 (5 marks) Define a SQL view Q5(course_id, student_names, highest_mark) that gives the ID of course which enrolled more than 500 students in year between 2005 and 2015. Show the highest mark achieved by any student in the course. And the given names of the students who achieved this highest mark. If multiple students share the highest mark, their given names are concatenated in order, separated by "; " (e.g., "Jack; Michele"). • The given name refers to the People.given field. Question 6 (5 marks) Define SQL view Q6(subject_id, year, room_id, usage_count)to return the ID of each subject that used the largest number of distinct rooms in each year between 2000 and 2015, along with the room ID(s) that the subject used most frequently and the number of times the subject used that room. If there are multiple subjects or rooms with the same maximum usage, list all of them. • subject_id should be taken from subjects.id field. • The ‘year’ refers to the ‘ semesters.year’ field. • room_id should be taken from rooms.id field. Define SQL view Q7(student_id, orgunit_id, program_id, obtain_days) that gives the IDs of students who completed a program in the shortest time for each organization. The completed program is offered by the organization. If multiple students achieve the same fastest completion time, all such students are included. • student_id should be taken from people.unswid field. • orgunit_id refers to orgunits.id field. • program_id refers to programs.id field. • Assuming students can register at most 1 program in each semester. Note: • A student will pass the course and earn the UOC if she/he receives the mark ≥ 50. • The student is valid for graduation if the total UOC earned in the program (hint: subjects.uoc) is no less than the required UOC of the program (refer to programs.uoc). • If a student has enrolled in several different programs, you need to calculate the UOC separately according to different programs. A course is considered part of a program if the student enrolls in both the course and the program during the same semester. • For each student, the duration of one program is the number of days between the earliest date (hint: Semesters.starting) and the latest date (hint: Semesters.ending) among all his or her course enrollments for that program, regardless of whether the course was passed. Hint: • In the same program, a student may register for the same subject multiple times (multiple courses) because of possible retakes after failing. When determining program completion, only subjects with marks ≥ 50 are counted, but when calculating the duration, all enrollment records are included. We assume each subject has only one record with a mark over 50. If multiple courses share the same subject code with a pass, you can treat them as distinct subjects. For example, some research courses (for instance, honours thesis A/B/C) must be enrolled in multiple times but share the same subject code. Define SQL view Q8 (staff_id, student_id, teach_times) This view retrieves the staff ID (staff_id) of those who served as a course convenor at least three times in the years between 2008 and 2012. Additionally, the total ‘above distinction’ rate (i.e., the percentage of students with marks ≥ 75) across all courses in history where the staff member as a course convenor must be ≥ 70%. For each such staff member, the view also returns the student ID (student_id) of those who enrolled in courses where the mentioned staff served but may not as a course convenor, along with the number of times (teach_times) the student enrolled in those courses across their entire enrollment history. The result must include only the top-2 students with the highest teach_times (i.e., enrollment count). Additionally, only students with teach_times ≥ 3 should be displayed. • A person is employed as a course convenor for a course if her/his staff_roles.name is ‘Course Convenor’ in course_staff. • ‘Above distinction’ means that Course_enrolments.mark is ≥ 75. • We only consider the no-null mark in the ‘Above distinction’ rate calculation. • student_id should be taken from people.unswid field. • staff_id should be taken from People.unswid field. • The Rank()function in PostgreSQL will be able to do this for you to generate the ranking column. Define a PL/pgSQL function Q9(unswsid integer) This function takes a student's unswid as input and returns the given name of the student's favorite teacher—defined as the course convenor whose courses the student has enrolled in the most times (Note: different with Q8). Additionally, the function returns: 1) The number of times the student has enrolled in courses convened by this teacher. 2) The rank of the student based on how many times they have enrolled in the teacher’s courses compared to other students. • An unswid should be taken from People.unswid field. • A person is employed as a course convenor for a course if her/his staff_roles.name is ‘Course Convenor’ in course_staff. • Only courses where the student has received a non-null mark are considered. • The teacher’s given name should be retrieved from ’people.given’. • The student's unswid should be taken from ’people.unswid’. • The Rank()function in PostgreSQL will be able to do this for you to generate the ranking column. Each line of output (in text type) should contain the following three elements concatenated with a space: • Teacher name: the given name of the teacher refer to ’people.given’. • Enrolled times: The number of times the student enrolled in courses convened by this teacher. • Rank: the register rank should be an integer. If she/he ranked 2nd in the ranking, the result is 2. Special output: • If the student has not finished any required course with a valid mark, return a line in the format of ‘WARNING: Invalid Student Input [X]’, where ‘X’ denotes the provided unswid. Define a PL/pgSQL function Q10(unswid integer)that takes the unswid ofa student. Output the students WAM for all the programs that the student enrolled. • An unswid should be taken from People.unswid field. • Unlike to the Question 7, in this question, a student passes a course if she/he obtains a grade in setpass = {SY, PT, PC, PS, CR, DN, HD, A, B, C, XE, T, PE, RC, RS} refers to course_enrolments.grade. • All the grades in setpass ∩ setsy = {SY, XE, T, PE} or in setpass ∩ (course mark = null) , means the courses the student passed but won’t be included in WAM calculation. • All the grade not in setpass, excluding the course mark = null, means a fail. These failed courses are still included in theWAM calculation, while courses with null marks are excluded. • If a student has enrolled in several different programs, you need to calculate the WAM separately according to different programs. A course is considered part of a program if the student enrolls in both the course and the program during the same semester. Assuming students can register at most 1 program in each semester. WAM is calculated according to the following formula: Where: M = mark received in a course, U = units of credit for a course. • For example, a student receives the following results for her/his courses: 80, 81, 82, 83, 84. The first three of these courses are 6 UOC and the last two are 3 UOC. The WAM is calculated as: = 81.625 ≈ 81.63 . Each line of output (in text type) should contain the following three elements concatenated with a space: • Unswid: a unswid of student which is taken from People.unswid field. • Program name: a program name which is taken from programs.name field. • WAM: the WAM result and round it to the nearest 0.01. Use the same rule as Q4. Special output: • If the student has enrolled in one program, but she/he did not register for any course or all the courses registered are not included in WAM calculation for that program, i.e., the divisor is zero, return ‘No WAM Available’ in the WAM section of the return line. • If the student has not enrolled in any programs (cannot find any programs for the student), return a line in the format of ‘WARNING: Invalid Student Input [X]’, where ‘X’ denotes the provided unswid.
Assignment 3 - Raytracing - Due Apr 11, 2025 11:59 PM o Spring 2025 CSC 305 A01 A02 X For this assignment, you will be building a Ray Tracer using C/C++, Python, or Java. The choice of which of these languages is up to you, but keep in mind that language-specific support is not provided. You should use the language you can locally support and are comfortable coding in. The system only needs to handle the rendering of ellipsoids (transformed spheres), with a fixed camera situated at the origin in a right-handed coordinate system, looking down the negative z-axis. Local illumination, reflections, and shadows will also need to be implemented. You must read the entirety of the assignment. There are several important clarifications/requirements below. There is also a suggested order of tasks for how to tackle this assignment that comes from my personal experience implementing this raytracer multiple times. The program should take a single argument, which is the name of the file to be parsed. Make sure your executable has the name “RayTracer.exe” (or equivalent for the language you choose) and that we can run it as in the following examples (where " > " is your console prompt): > RayTracer.exe testCase1.txt or > java RayTracer testCase1.txt or > python RayTracer.py testCase1.txt We will use a script. to generate the outputs for the set of posted test cases. You will get zero marks if we cannot compile your program and if we cannot run this script because your project does not implement the required specifications above. Make sure you carefully read the Instructions and Clarifications below as they contain important information on the lighting, scene setup, tracing depth etc. Input File Format The content and syntax of the file is as follows: File Content LEGEND: * integer ** float(s) *** float(s) between 0 and 1 1. The near plane**, left**, right**, top**, and bottom** 2. The resolution of the image nColumns* X nRows* 3. The position** and scaling** (non-uniform), color***, Ka***, Kd***, Ks***, Kr*** and the specular exponent n* of a sphere 4. The position** and intensity*** of a point light source 5. The background colour*** 6. The scene’s ambient intensity*** 7. The output file name (you should limit this to 20 characters with no spaces) 8. Look at the example files before you ask questions about the format. The included testcases are exactly what we will be testing with. File Syntax Do not write the angle brackets, these are to show you where to insert values. See the testcase files! NEAR LEFT RIGHT BOTTOM TOP RES SPHERE … / up to 14 additional sphere specifications LIGHT … / up to 9 additional light specifications BACK AMBIENT OUTPUT All names should be limited to 20 characters, with no spaces. All fields are separated by spaces. There will be no angle brackets in the input file. The ones above are used to indicate the fields. Look at the example files before you ask questions about the format. The included testcases are exactly what we will be testing with. Output File Format You should output your images in PPM format. You can choose binary (P6) or text-based ppm (P3). The text-based format is very simple, but it is important to understand the assumptions about which pixel is where (where (0,0) is for example). Example code for these has been provided in C++ attached to the assignment. We must be able to open your output files in a viewer that is freely available see clarifications below. We suggest using the text-based ppm format for simplicity and debugging. https:/net p b m.sourceforge.net/doc/ppm.htm l Marking Scheme Total Marks: 26 1. [2] Coding Style (i.e. well designed, clean, & commented code with functions) 2. [2] x 12 For each of the given test cases. We will visually verify each and check your code. The name of each test case file is a hint at what we are looking for. 3. [-4 Marks if not] Provide a readme.txt that describes what you have done, what you have omitted, and any other information that will help the grader evaluate your work, including what is stated below. There will be no partial marks given for a test case if your program fails to parse an input file. Make sure you submit all the required files so we can compile and build your program. If there are missing libraries, you will get zero marks. We will use a script. to generate the outputs for a set of test cases. You will get zero marks if we cannot run this script because your program does not adhere to the given requirements. (Repeated for emphasis) Requirements/Policies Collaboration None. If you discuss this assignment with others, you should submit their names along with the assignment material. Original Work The assignment must be done from scratch. Apart from the code provided, you should not use code from any other source, including the previous offering of the class. (see clarifications below) Zero Mark If the code does not run, no objects appear in the window, or only any template/given code is running properly, no partial marks will be given. INSTRUCTIONS AND CLARIFICATIONS · Start working on A3 early. You wi l not have time to do it at the last minute. 。TIPS on order. You can go about this assignment in many ways, but after years of writing this ray tracer myself many times it is worth working on it in an order that takes advantage of the positive snowba l effect (build from smaler, clear knowns, testing as you go, toward more difficult problems) Work on importing the test cases first. The format is fixed and we only use the included files so you can keep parsing relatively simple. Work on outputting a PPM image given all the RGB values in an image. Make a simple test for yourself that outputs a white image with a few coloured pixels you hardcode quickly to verify you can output images and open them. Create the outline of the entire program given the pseudo-code in the slides. It 's best to work through what the expected output is for each of the functions caled so you understand what is going on. Write the final RGB lighting equation. At this point, it should just output the defaults from your functions assuming no hits are made. Write the sphere intersection code. This takes time to work through. You need to think about using homogeneous coordinates as a tool for transformations and then not using them as necessary to get correct intersections. You need to work out how to get normals. Remember the normal on the unit sphere is simple (intersection point as a vector!), you need to transform that normal so it is the correct normal after undergoing the transformation applied to the sphere. Work on the shadow ray test Work on ADS lighting Work on your reflected rays · Your submission should include ALL of the code necessary to compile and run the program, and should not contain any additional functionality besides what is described here. It should not contain any OpenGL API calls. · You may use vector and matrix libraries, i.e. any vector/matrix libraries for C/C++ (e.g. GLM), Java (JAMA, EJML), or Python (NumPy). You cannot use library code that solves any part of the raytracing problem on its own, you must write this code yourself. It must be clear how to set up your code, and, if possible, all libraries *must* be included. If we cannot set up your code we cannot mark it. · In the assignment attachments, you will find two pieces of example C++ code. One inverts a 4x4 matrix, and the other writes a char buffer to a ppm image, which is the expected output of this program. You also have an example of inverting a 4x4 matrix and forming the inverse transpose for the normal matrix in your A1 and A2 code in JavaScript. · The code included here that inverts a 4x4 matrix expects two 4x4 matrices to be passed in as arguments. The first matrix will be inverted and the result will be stored in the second matrix. Both matrices are row order storage, so you have M[row][column]. · You may use the STL string and vector classes. · The assignment must be done from scratch. · Make sure that your parse routine does not crash based on where the EOF character is. · Given a reasonable resolution (400x400) on a modern machine, your program should generally take no more than five to twenty seconds (probably less than that) to run when compiled in “release” mode in C++. Interpreted languages, like python, may take longer, but if the files do not return within a reasonable time the case will fail. For interpreted languages, reasonable may be upwards of a minute. NOTE: we are assuming a naive implementation--one without space partitioning or parallelization. · A sphere at position (0,0,0), with scaling parameters (1, 1, 1) should be centred at (0,0,0) with a radius of 1. · If the eye ray is constructed using the convention described in class, then when intersecting it with an object, the closest object is the one with a minimum hit t greater than 1. A hit t between 0 and 1 falls between the eye and the near plane, and hence is not a part of the view volume. · When creating rays from the hit point on an object (e.g. shadow rays and reflect rays), you need to start them at a small value offset along the new ray such as t = 0.000001, (try a larger number like t = 0.0001 if this does not work), to avoid false self-intersections due to numerical errors. A common artifact for this is getting black or dark pixels peppered onto surfaces. · For the keys and results, we use the following convention: Rays from the eye that hit nothing return the colour of the background, while reflected rays that hit nothing return black (i.e. nothing). · The template code for saving your image to disk uses the ppm image format. If you do not already have a program that can read images of this type, you can download, GIMP (recommended!), IfranView (www.irfanview.com), or Xnviewgb. These are excellent and free programs for viewing images, and can, amongst others, read ppm files. · The “NEAR” value is an absolute value and represents the distance along the negative z-axis. · Your code may need to handle hollow spheres, which are “cut” open by the near plane. · Your code may need to be able to handle lights inside spheres. · You will be using the following local illumination model (similar to what we learned in class, apply the ADS lighting to a point assuming reflected rays contribute): 。PIXEL_COLOR[c] = Ka*Ia [c]*O[c] + for each point light (p) { Kd*Ip [c]*(N dot L)*O[c]+Ks*Ip [c]*(R dot V)n } + Kr*Ir 。O i n this case is the object color ( ) 。Ia is the ambient colour 。Ip is the light colour 。Ir is the colour returned from reflection ray 。the Ks are just coefficients 。N is the normal vector 。L is the light vector 。[c] means that the variable has three different colour components, so the value may vary depending on whether the red, green, or blue colour channel is being calculated 。 Remember you may need to normalize before using or renormalize vectors after operations with them · You should not spawn more than three reflection rays for each pixel, i.e. stop the recursion after 3 bounces. · When summing over all lights, it is possible for the PIXEL_COLOR value to go above 1. In this case, the simplest solution is to c lamp the value to 1. · Do not forget to scale by 255 before creating the ppm image 。(C/C++) using the given “save_imageP6()” function in ppm.cpp. “save_imageP3()” is provided for debugging reasons because it produces a human-readable text file. The P6 version produces a binary file. You are welcome to produce the human-readable format for any of the available languages, as long as it can be opened by an image reader listed above. · Make sure you submit all the required files so we can compile and build your program. If there are missing libraries, you will get zero marks. (C/C++) On Linux, we should be able to compile by just typing make “make”, and, on Windows, with MS VS -> Build. Make it clear in your readme how your code is compiled. · (C/C++) Make sure that your Visual Studio project is designed to create a “Console Application” or “Command Line Tool”. · Make sure that everything works on a standard Windows machine as this is what the la b and TAs support. (However, you should avoid using platform-dependent code, like the Windows API. You do not need it here.) · (C/C++) Make sure you “clean” your project before zipping it and submitting it, to remove all the large auxiliary files that VS creates. · Make sure you check regularly the forum and the announcements in case the grading or submission instructions change.
AMA533 Mini Project Due on 23:00, Tuesday, 1 April, 2025 Project Problem: (1) Find and download one life table (you can choose any city or country and the year of life table, and please specify the information of the life table in your project report). Suppose that the death benefit of each life insurance is 500, 000 HKD in the first 2 years of issue (no matter when is the issue age) and it is increased to 1 , 000, 000 HKD in the second 2 years and it is then reduced to 800, 000 after these 4 years from issue. The effective annual interest rate i = 0.01. Suppose that the life time distribution in your downloaded life table follows constant force of mortality within each year of age. Suppose the upper age limit is 100. Compute both the discrete (payable at the end of the year of death) and continuous (payable at the moment of death) EPV (or equivalently, APV) of (a) whole life insurance; (b) 10-year term life insurance; (c) 20-year endowment insurance with pure endowment payment of 500 , 000 HKD; (d) 10-year deferred life insurance; starting at ages (20) and (30) respectively for the policyholder. (2) Use the same information and the life table in part (1). Compute the fully discrete and fully continuous premiums of (a) whole life insurance with premiums for whole life; (b) 10-year term insurance with premiums for 10 years; (c) 20-year endowment insurance with pure endowment payment of 500 , 000 HKD and premiums for 10 years; starting at ages (20) and (30) respectively for the policyholder. (3) Use the same information and the life tables in part (1). For all insurance policies and premium types in part (2) (including both fully discrete and fully continuous premiums), com- pute the net reserves for 10 consecutive years starting from age (20) and age (30) respectively. Graph these net reserves over 10 consecutive years starting from age (20) and age (30) respec- tively as the bar-chart. Note: • For all computations and graphs above, please feel free to choose the use of excel (at- tach your excel tables in your report), python, Matlab, Mathematica, C++ and/or other statistics softwares such as SAS or R. Please include your downloaded life table, program- ming codes or calculation details and all computation results and graphs into your report. Each student needs to submit his/her own report to Blackboard. You need to submit the scanned copy or photo copy of your report as a single PDF file. No late report will be accepted. The report will weight 10% of your semester grade. • Please double-check your uploaded file. Any missing results will be considered incomplete.
ELEC7310, MODULE I: POWER SYSTEM STABILITY AND DYNAMICS (SECURITY) Assignment #1: Power-Flow and Short-Circuit Studies Figure 1: A single-line diagram of a two-area test system. Questions: 1. Power Flow Calculation: a. Use the data given in Appendix to build the Two-Area test system as depicted in Figure 1 in the Power factory. The system summary is shown in Table 1. b. Run a power flow calculation using Newton-Raphson Method and present the results voltage profile (magnitude and angle), Generators real and reactive power, lines and transformers loading with G3 as a reference machine. c. With G1 as the reference machine repeat part (b) and comment on the results. d. With the base case as in part (a) turn off the shunt capacitance on Bus 09 and repeat (b) and comment on the results. Table 1: Two Area system summary Equipment Quantity Base kV Buses 4 20 Buses 7 230 Generators 4 20 Step-up Transformer 4 20/230 Loads 2 230 Capacitor Banks 2 230 Transmission Lines 14 230 2. Short Circuit Current Calculation: a. Apply a balanced short circuit (3-pahse fault) at all the buses and report the short circuit power level of each bus in a bar graph. b. Increase the shunt capacitance at bus 7 from 200 to 400 MVAr and repeat (a) and comment on the results. c. With the base case as in part (a), modify the transmission lines parameters (R, X & B) by multiplying their values by factor of 0.5 and 1.5, in two cases. Repeat (a) and compare the new short circuit power level of each bus with your findings from part (a). Comment on the results. d. With the base case as in part (a), reduce all the generators MVA rating by 20%. Repeat (a) and compare the new short circuit power level of each bus with your findings from part (a). Comment on the results. e. Briefly explain the factors that influence the system short circuit level and what are the solutions to improve the short circuit level of the system.
CSc 361: Computer Communications and Networks Assignment 3: Analysis of IP Protocol Due: 11:59 pm April. 11, 2025 1 Goal The purpose of this assignment is to learn about the IP protocol. You are required to write a python program to analyze a trace of IP datagrams. 2 Introduction In this assignment, we will investigate the IP protocol, focusing on the IP datagram. We’ll do so by analyzing a trace of IP datagrams sent and received by an execution of the traceroute program. We will investigate the various fields in the IP datagram, and study IP fragmentation in detail. A background of the traceroute program is summarized as follows. The traceroute program operates by first sending one or more datagrams with the time-to-live (TTL) field in the IP header set to 1; it then sends a series of one or more datagrams towards the same destination with a TTL value of 2; it then sends a series of datagrams towards the same destination with a TTL value of 3; and so on. Recall that a router must decrement the TTL in each received datagram by 1 (actually, RFC 791 says that the router must decrement the TTL by at least one). If the TTL reaches 0, the router returns an ICMP message (type 11 – TTL-exceeded) to the sending host. As a result of this behavior, a datagram with a TTL of 1 (sent by the host executing traceroute) will cause the router one hop away from the sender to send an ICMP TTL-exceeded message back to the sender; the datagram sent with a TTL of 2 will cause the router two hops away to send an ICMP message back to the sender; the datagram sent with a TTL of 3 will cause the router three hops away to send an ICMP message back to the sender; and so on. In this manner, the host executing traceroute can learn the identities of the routers between itself and a chosen destination by looking at the source IP addresses in the datagrams containing the ICMP TTL-exceeded messages. You will be provided with a trace file created by traceroute. Of course, you can create a trace file by yourself. Note that when you create the trace file, you need to use different datagram sizes (e.g., 2500 bytes) so that the captured trace file includes information on fragmentation. 3 Requirements There are two requirements for this assignment: 3.1 Requirement 1 (R1) You are required to write a python program to analyze the trace of IP datagrams created by traceroute. To make terminologies consistent, in this assignment we call the source node as the computer that executes traceroute. The ultimate destination node refers to the host that is the ultimate destination defined when running traceroute. For example, the ultimate destination node is “mit.edu” when you run %traceroute mit.edu 2000 In addition, an intermediate destination node refers to the router that is not the ultimate destination node but sends back a ICMP message to the source node. As another example, you can set “don’t fragment”’ bit and set the number of probes per “ttl” to 5 queries using the following command: %traceroute -F -q 5 mit.edu 200 Your program needs to output the following information: ❼ List the IP address of the source node, the IP address of ultimate destination node, the IP address(es) of the intermediate destination node(s). If multiple intermediate destination nodes exist, they should be ordered by their hop count to the source node in the increasing order. ❼ Check the IP header of all datagrams in the trace file, and list the set of values in the protocol field of the IP headers. Note that only different values should be listed in a set. ❼ How many fragments were created from the original datagram? Note that 0 means no frag- mentation. Print out the offset (in terms of bytes) of the last fragment of the fragmented IP datagram. Note that if the datagram is not fragmented, the offset is 0. ❼ Calculate the average and standard deviation of round trip time (RTT) between the source node and the intermediate destination node (s) and the average round trip time between the source node and the ultimate destination node. The average and standard deviation are calculated over all fragments sent/received between the source nodes and the (intermediate/ ultimate) destination node. The output format is as follows: (Note that the values do not correspond to any trace file). The IP address of the source node: 192.168.1.12 The IP address of ultimate destination node: 12.216.216.2 The IP addresses of the intermediate destination nodes: router 1: 24.218.01.102, router 2: 24.221.10.103, router 3: 12.216.118.1. The values in the protocol field of IP headers: 1: ICMP 17: UDP The number of fragments created from the original datagram is: 3 The offset of the last fragment is: 3680 The avg RTT between 192.168.1.12 and 24.218.01.102 is: 50 ms, the s.d. is: 5 ms The avg RTT between 192.168.1.12 and 24.221.10.103 is: 100 ms, the s.d. is: 6 ms The avg RTT between 192.168.1.12 and 12.216.118.1 is: 150 ms, the s.d. is: 5 ms The avg RTT between 192.168.1.12 and 12.216.216.2 is: 200 ms, the s.d. is: 15 ms 3.2 Requirement 2 (R2) Note: You can finish this part either with a python program or by manually col-lecting/analyzing data. In other words, coding is optional for the tasks listed in this section. You need to test your code on the two groups of trace files provided. Each group includes five traceroute trace files, all with the same destination address. For each group, ❼ determine the number of probes per “ttl” used in each trace file, ❼ determine whether or not the sequence of intermediate routers is the same in different trace files, ❼ if the sequence of intermediate routers is different in the five trace files, list the difference and explain why, ❼ if the sequence of intermediate routers is the same in the five trace files, draw a table as shown below (warning: the values in the table do not correspond to any trace files) to compare the RTTs of different traceroute attempts. From the result, which hop is likely to incur the maximum delay? Explain your conclusion. 4 Miscellaneous Important! Please read! ❼ Same as in Assignment 2, you are not allowed in this assignment to use python packages that can automatically extract each packet from the pcap files. That means, you should re-use your code in Assignment 2 to extract packets. ❼ Some intermediate router may only send back one “ICMP TTL exceeded” message for multiple fragments of the same datagram. In this case, please use this ICMP message to calculate RTT for all fragments. For example, Assume that the source sends Frag 1, Frag2, Frag 3 (of the same datagram, ID: 3000). The timestamps for Frag1, Frag2, Frag3 are t1, t2, t3, respectively. Later, the source receives one “ICMP TTL exceeded” message (ID: 3000). The timestamp is T. Then the RTTs are calculated as: T − t1, T − t2, T − t3. ❼ More explanation about the output format The number of fragments created from the original datagram is: The offset of the last fragment is: If there are multiple fragmented datagrams, you need to output the above information for each datagram. For example, assume that the source sends two datagrams: D1, D2, where D1 and D2 are the identification of the two datagrams. Assume that D1 has three fragments and D2 has two fragments. Then output should be: The number of fragments created from the original datagram D1 is: 3 The offset of the last fragment is: xxx. The number of fragments created from the original datagram D2 is: 2 The offset of the last fragment is: yyy. where xxx and yyy denote the actual number calculated by your program. ❼ If the tracefile is captured in Linux, the source port number included in the original UDP can be used to match against the ICMP error message. This is due to the special traceroute implementation in linux, which uses UDP and ICMP. If the tracefile is captured in Windows, we should use the sequence number in the returned ICMP error message to match the sequence number in the ICMP echo (ping) message from the source node. Note that this ICMP error message (type 11) includes the content of the ICMP echo message (type 8) from the source. This is due to the special traceroute implementation in Windows, which uses ICMP only (mainly message type 8 and message type 11). It is also possible that traceroute may be implemented in another different way. For instance, we have found that some traceroute implementation allows users to select protocol among ICMP, TCP, UDP and GRE. To avoid the unnecessary complexity of your program, you only need to handle the two scenarios in finding a match between the original datagram and the returned ICMP error message: either (1) use the source port number in the original UDP, or (2) use the sequence number in the original ICMP echo message. You code should automatically find out the right case for matching datagrams in the trace file. We will not test your code with a trace file not falling in the above cases. 5 Deliverables and Marking Scheme For your final submission of your assignment, you are required to submit your source code to brightspace. You should include a readme file to tell TA how to compile and run your code. In addition, you are required to submit a pdf file for your solution of R2. Use %tar -czvf command in linux.csc.uvic.ca to generate a .tar file and submit the .tar file. Make sure that you use %tar -xzvf command to double-check if you have included all the files before submitting the tar file. Note that your code will be tested over linux.csc.uvic.ca. The marking scheme is as follows: Components Weight The IP address of the source node (R1) 5 The IP address of ultimate destination node (R1) 5 The IP addresses of the intermediate destination nodes (R1) 10 The correct order of the intermediate destination nodes (R1) 5 The values in the protocol field of IP headers (R1) 5 The number of fragments created from the original datagram (R1) 15 The offset of the last fragment (R1) 10 The avg RTTs (R1) 10 The standard deviations (R1) 5 The number of probes per ttl (R2) 10 Right answer to the second question (R2) 5 Right answer to the third/or fourth question (R2) 10 Readme.txt 5 Total Weight 100
Portfolio for Safety-Directed Design of a Brake-By-Wire System for Car Coursework for 661985 - Safety Critical Systems The Portfolio explores the iterative design of a Brake-By-Wire (BBW) system for cars. There are two parts to this assignment. Part 1 is worth 40% of the assignment and Part 2 is worth 60% of the assignment. You will analyse this architecture using Fault Tree Analysis and Markov Models and you will be asked to reflect on results. The tasks involve logical analysis and a small component of programming. The proposed architecture for the system is given in Figure 1 below: Figure 1. The proposed architecture of the BBW system System Specification • The BBW features separate braking on each wheel. • All components of the system are powered by a common power supply (PS). • An electromechanical pedal (PL) receives the braking demand from the driver and sends this as message (PLm) to three pedal nodes PN1, PN2, and PN3. • From each pedal node PNX (where X:1…3) two replicas ofthe message PNXm are sent by the pedal node to busses B1 and B2. • Wheel nodes WN1 and WN3 each read the three messages PNXB1m from bus B1 and Wheel nodes WN2 and WN4 read the three messages PNXB2m from bus B2. • As long as one of the messages is received a wheel node can create the braking output applied to the corresponding wheel (WN1b ... WN4b). Failures Each component in this system has only one failure mode that shares the name of the component. For example: • The failure mode of component PS is PS • The failure mode of component B1 is B1 The failure mode of each component leads to omission of all outputs. For example: • If PS fails, you get O-p (Omission of p) • If PN1 fails, you get O-PN1m on both busses In the absence of component failures, all four wheels apply the braking output and the car brakes correctly. When components fail, the system may fail to brake on one or more wheels. The effects vary depending on the number of wheel failures. For example: • If one wheel fails to brake, or three wheels fail to brake, the car is likely to skid off its course. In this case, to correct the skidding failure, an electronic stability program could release the wheel that is diagonal to the wheel that fails to brake. The car then brakes slowly, and the stopping distance is increased. • If all wheels fail, then the car experiences catastrophic loss of braking. The assignment tasks follow in two parts: • Part 1: Safety Analysis and Iteration of Design. This part assesses the material taught by Prof. Papadopoulos in the first part of the course • Part 2: Reliability Analysis and Iteration of Design. This part assesses the material taught by Dr Aslansefat in the second part of the course. Part 1 - Safety Analysis and Iteration of Design Part 1 is worth 40% of the Portfolio mark. Based on the design given for the BBW in Figure 1 and its specification: 1. Draw, or alternatively specify clearly using a set of logical expressions, a fault tree for the event “Omission of braking output by WN1”, i.e. for the event O-WN1b (10 marks). 2. Calculate the minimal cut-sets of the fault tree (10 marks). 3. Identify components that are single point of failure (5 marks). 4. Based on the cut-sets, describe weaknesses and strengths ofthe system (5 marks). 5. Draw, or alternatively specify clearly using a set of logical expressions, a fault tree for the “Loss of braking in all three wheels W1, W2 and W3” that will cause skidding. Name the top event “OW123” (5 marks). 6. Calculate the minimal cut-sets for this tree (5 marks). Notes: • Explain your solutions in [1-6] above with a short paragraph of text to show your understanding. Avoid verbosity. Up to 30% of marks will be deducted for lack of explanation. • Fault trees should be constructed systematically by traversing the model of the system architecture and applying the algorithm taught in the course. Unsystematic, simplified, fault trees that somehow capture the failure logic correctly will be awarded less marks. If the calculation of cut-sets that follows from such simplified fault trees is trivial, it will be awarded less marks. • For clarity, in your fault trees, use the names of components, messages and component failure modes as displayed in Figure 1. Marks will be deducted if you use names that don’t correspond to the figure. • To avoid repetition of branches, expand the branch that is repeated only once and use references to the top event of this branch elsewhere. Marks will be deducted if you unnecessarily expand repeated branches. • You may use HiP-HOPS or any other tool available free on the internet to construct the fault tree or calculate cutsets. However, make sure that you answer the questions. Fault trees must be drawn as graphs using the guidelines given above. Calculations of cutsets must be explicit, contain all logical steps, and explained. Tools will not necessarily do these things for you. • Graphs could be produced in a fault tree analysis or drawing tool. However, hand-drawn images photographed and carefully embedded in a report are acceptable as long as they are clear, and any symbols or text are clearly readable. Part 2 -Dynamic Reliability Analysis of the BBW Part 2 is worth 60% of the Portfolio mark. Based on the design given for the BBW in Figure 1 and its specification, you will analyse the architecture using Markov Models. Calculation of reliability involves some coding. Note that the system description, failure modes, and behaviours in conditions of failure (e.g. Skidding) remain exactly as described earlier in the specification of the system. Further assumptions that underpin reliability analysis are as follows: • It is assumed that all components have two states Operational and Failed. • It is assumed that the system is completely healthy at the starting point. • The failure distribution of all components is exponential with a constant failure rate. Based on this design and the assumptions solve the following tasks: 7. Only consider the independent failure modes ofthe 4 Wheels in the BBW, and assume that the rest of the system is perfect. Each single wheel failure leads the BBW to hazardous states of asymmetrical braking. In each of the 4 cases, skidding prevention is applied by locking the diagonal wheel leading the system to a corresponding recovery state with reduced braking capacity. We assume that the skidding prevention mechanism is perfect, i.e. the probability of its failure is zero. We also assume that any further wheel failure from asymmetrical braking or recovery states will lead the BBW to a single terminally failed state. Draw a Markov model and explain the model construction procedure (10 marks). 8. Consider that in [7], all wheels have the same failure rate of 0.0001 failures per hour. Provide a Python code to calculate and visualise the reliability curve for 2000 hours (10 marks). 9. Only consider the failure modes of PL, PN1, PN2, PN3 and PS, assuming that the wheels are perfect. Draw a Markov model which shows how the system moves into a state of complete loss of braking and explain the model construction procedure (10 marks). 10. Consider that in [9], all failure modes have the same failure rate of 0.000623 failures per hour. Provide a Python code to calculate and visualise the reliability curve for 900 hours. (10 marks). 11. Consider only failure modes of B1 and B2, and assume that all other components are perfect. Also, assume that the busses are repairable with a failure rate of 0.0002 failures per hour, and a repair rate of 0.01 repairs per hour. Construct a Markov model to evaluate the Availability and MTBF of the bus subsystem of the two busses. Provide a Python code for steady-state availability and MTBF calculation (10 marks). 12. Consider only the failure modes of PN1, PN2 and PN3. Assume that all other components are perfect. Only focus on the reliability of pedal nodes, and explain how it can be improved using a reconfigurable Triple Modular Redundancy (TMR) architecture with one hot standby redundancy (see Figure 2). Apply the fixed failure rate of 0.000432 failures per hour to all components. Construct a Markov model to evaluate the reliability of the Pedal Node subsystem consisting of the three PN nodes with the new architecture. Provide a Python code for reliability calculation and visualise the reliability curve for 3850 hours (10 marks). Figure 2, Reconfigurable TMR with Hot Standby Spares Notes: • Explain your solutions in [7-12] above with a short paragraph of text to show your understanding. Avoid verbosity. Up to 30% of marks will be deducted for lack of explanation. • For computational problems [8, 10, 11 and 12], submit your Python code in separate files. These files should be named according to the question number (e.g., Question8.py, Question10.py, etc.). Please ZIP the files with the final report and submit it as a single-file submission. • Ensure your code is runnable. If your code cannot be executed due to errors, it will be examined manually, and marks will be awarded based on the effort and correctness of the approach.
COMP2812 / COMP9812 Systems Software Module 2 – Tutorial Objectives and Learning Outcomes • Review and summarise core concepts and foundational knowledge on what operating systems are, and their key components and core functions • Contributes to LO1: Explain core concepts such as: processes, threads, scheduling, concurrency and deadlock, memory management, virtual memory, file systems Today’s Tasks o In groups, create an infographic from the selections provided in Task 1 o In groups, create an infographic on embedded systems o Add copies to your handbooks and submit them to the discussion board Individual Work vs Group Work • AII of today’s tasks are to be compIeted in groups of 3-4 • Once complete, all infographics will be shared with the class so that you may add a copy of any that you find valuable to your own handbook Your tutor will help facilitate the formation of groups if required. Required tools and equipment • Your laptop • Internet access • PowerPoint, Google Slides, Canva, Piktochart or other similar tool Guidelines for all written tasks • Review Quick Guides – Referencing and Communicating Ideas first • No essays use headings, tables, dot points and other techniques to present your information clearly and concisely • Make sure you include a reference list and cite all sources you used to compile your response Submission • Each student will add a copy of their group’s infographics into their own OneNote notebook (one per page, under the Study Guide section) • Students must annotate these notebook pages with today’s date and the names and FANs of their group members • One member of the group will then export the annotated pages from their notebook and submit this as a reply to your session’s “Tutorial – Shared Infographics” discussion on Canvas • Once this is complete, let your tutor know it’s ready for marking. Your tutor will mark off the checkpoint during your tutorial session – make sure to tell them it’s ready or you may miss out on marks. Introduction – Creating Infographics In your groups you will be creating infographics illustrating the key concepts for a range of topics. You will need to use a tool such as PowerPoint, Google Slides, Canva, or Piktochart to produce your infographics. You are very welcome to use templates such as those found at Canva or Slides Carnival. It is also recommended to use a collaborative document such as Microsoft Online or Google Docs to work together during this task. You can assign different group members to research different aspects and add your findings to a single shared document. In addition to the lecture slides and recordings, you may use any online resources for fact finding. Ensure you comply with the ‘Academic Integrity’ rules and include a reference list and in-text citations. REMEMBER: Less is more – aim to use less text, and more graphics! Task 1 – Create an infographic on a core topic | 20 min Select one of the following topics: • Basic functions and features of an OS • Operating system categories • Single-Tasking versus Multitasking Operating Systems • General-Purpose versus Real-Time Operating Systems Add your infographic to your handbook when it is complete, following the requirements listed in the Submission section above. Task 2 – Create an infographic on embedded systems | 20 min In your group create an infographic illustrating the key concepts of 6embedded systems,. To achieve this, your group will need to do some online research. The following links are a good place to start: • 10 Real Life Examples of Embedded Systems: https://www.digi.com/blog/post/examples-of-embedded-systems • Embedded Systems Tutorial: https://www.guru99.com/embedded-systems-tutorial.html The infographic should include the following: • Types and applications of embedded systems, with examples • Characteristics and architecture • Definitions of key terms • Microprocessor and microcontroller • Pros and cons of embedded systems, and alternative approaches Add your infographic to your handbook when it is complete, following the requirements listed in the Submission section above.
Machine Learning Theory (CSC 431/531) Problem Set 4 Due on Friday April 4th, 11:59pm Instructions: • You must write up your solutions individually. • You may have high-level discussions with 1 other student registered in the course. If you discuss problems with another student, include at the top of your submission: their name, V#, and the problems discussed. • You may not use Large Language Models to work on these problems. Also, please do not “hunt for solutions” by trying to find solutions online or in textbooks. Doing so defeats the purpose of working on the problems. Instead, please come to office hours if you are stuck on a problem (or email me). • Your must type up your solutions and are encouraged to use LaTeX to do this. For any problems where you only have a partial solution, be clear about any parts of your solution for which you have low confidence. • Please be sure to submit your solutions via Brightspace by the due date/time indicated above. This is a hard deadline. Questions: 1. In this question, we consider a zero-sum game parameterized by a game matrix. In particular, we look at a variant of a game called matching pennies. In our variant of this game, each player has a penny. Player I first picks a strategy to turn their penny to either Heads or Tails. Player II, with knowledge of Player I’s strategy, then turns their own penny to either Heads or Tails. Note that both players can use mixed strategies. If the two pennies match (i.e. are turned to the same side), then Player I wins (“suffering” a loss of -1) and Player II loses (suffering a loss of +1). If the pennies are turned to opposite sides, then Player I loses (suffering a loss of +2) and Player II wins (“suffering” a loss of -2). The losses of Player I are specified by the game matrix M below: The loss of Player II is always the negation of the loss of Player I (so this is a zero-sum game). Since each player can randomize over their actions, we use p to denote the probability that Player I selects Heads, and we use q to denote the probability that Player II selects Heads. (a) If Player I plays mixed strategy p ∈ [0, 1], what is the best response of Player II? That is, as a function of p, what choice of q* should Player II make so as to satisfy (b) Next, assuming that Player II plays a best response to Player I, what is Player I’s optimal strategy? That is, find p* ∈ [0, 1] such that 2. Consider Theorem 1 from Lectures 15 and 16 (link). This problem is about showing an improved regret bound when there are many experts that have small cumulative loss. Adapt the proof of Theorem 1 to get the following regret bound: where KL is the cardinality of the set {j ∈ [K] : Lj,T ≤ L}. You only need to show the parts of the proof that need to change. It is possible to give a short, completely correct answer.
BUSM211 Business Digital Analytics 2024/25 Module Level Learning Outcomes to be assessed No Module Learning Outcome Description 1 A2 Critically evaluate the performance of business strategies and tactics based on appropriate metrics 2 A3 Effective presentation of metrics and performance data (e.g. using analytics dashboards). 3 B2 Critical evaluation skills to identify key data and evaluation metrics that are aligned with business goals 4 B3 Effective communication skills, especially in data presentation 5 C2 An eye for detail and specific information (often numerical). 6 C3 Willing to deal with complex and vast quantities of information and distil insights from it. Assurance of Learning (selected modules only): contribution to Programme Level Learning Outcomes No Programme Learning Outcome Description 1 A4 Discerning the realm of marketing as a dynamic field through the changes in the digital global environment 2 A6 Critical engagement with quantitative and qualitative digital methodologies 3 B4 Develop Advance digital analytics via qualitative and quantitative research skills 4 B6 The ability to analyse and evaluate a range of business data, sources of information and appropriate methodologies 5 C1 Be able to independently on a piece of chosen area of research 6 C2 Develop effective communication skills and marketing strategies with case scenarios Assessment instructions for students (as per QMPlus ‘Assessment Information’ tab) 1. The module learning outcomes being assessed See above. 2. Instructions and guidance Assessment: Individual Report (100%), 3000 words all inclusive Submission date: (TBC, Please refer to the QMplus module page) The length of the report should be no more than 3000 words excluding references and appendices. Marks may be deducted if you overshoot the word limit. The stated word counts may be exceeded by a maximum of 5%. Please pay attention to writing and referencing style. The preparation of this individual report and the exchange of experiences in the classrooms or seminar meetings are major learning aspects of the Business Digital Analytics module. Today many firms are sitting on large chunks of data, not knowing what to do with it. They invite consultants & business analysts to have a look at data and come up with insights that could help the organization make better business and marketing decisions. Such problems are mainly open-ended problems, and it is expected of the analyst/consultant to do a lot of exploration first before analysing the problems and recommending solutions. This assessment requires you to explore an open data set (data-sets will be uploaded to QMplus) and come up with insights that will aid business decision making. You are required to prepare a report based on your findings which may be considered as briefing to the CMO who will use these insights for business decisions for the firm. There are no right and wrong answer here, however there should be a clear logical story which should come out of the analysis that support business decisions. The report should demonstrate your understanding and application of the data analytics, insights for decision making and the tools discussed in this module. The report should explore descriptive, diagnostic, and predictive analytics. The report should include the following elements · Introduction · Business Problem · Data Summary · Methodology Adopted · Results · Discussions and Recommendations The report should have a professional layout and report style appropriate for business/executive readers, writing is clear and to the point, logical/coherent arguments to support points and recommendations, charts/figures/dashboards, and tables (where applicable) to help readers understand key points etc 3. Assessment rubric with weighted criteria Business problem identification and discussion on its importance (20%) Data summary (10%) Methodology discussion (10%) Results (20%) Interpretation and implications (20%) Discussions and Recommendations: (20%)
Assignment Detail Document Subject Code BMKT1MSD Subject Name Fundamentals of Marketing Assessment Task 2 Due Date Weighting % Subjects Learning Outcomes Assessed Part A: Individual Industry Analysis report Week 5, Sunday 20% 2, 5 Time 23:59pm Part B: Target Segment and recommendations Week 6, Sunday 10% Time 23:59pm Part C: Video presentation Week 7, Sunday 10% Time 23:59pm Submission Details Submit via the Moodle site. Students are required to submit an electronic copy of their written report and segmentation elements of the assignment to the Turnitin link on the BMKT1MSD Moodle page, by midnight Sunday at the end of the week due. Three files per student, in .mp4 format for video, and Word or pdf for written component. Students MUST keep a copy of all assignments. Grading Criteria & Feedback See Rubrics Description of Task Students create a Industry Analysis report, a recommended Target Segment, and a student video presentation of their report on the provided topic. If you wish to apply for Special Consideration for this assignment, you will need to complete the official online process. Detailed Assignment Information Assignment 2 INDIVIDUAL Industry Analysis Report, recommended Target Segment with Video presentation – 40% Key information Dates/submission Sunday by 11.59pm (midnight Sunday) in Week 5 – written Industry Analysis Report Week 6 – written Segmentation and target segment recommendation addendum to the report Week 7 – Video presentation file. Types Individual assignment: 1. Written Report: Industry market analysis; 20% 2. identifying, analysing, describing appropriate target segments. 10% 3. Oral presentation in video format on report 10% Graduate Capabilities practiced Writing Business Reports Enquiry/Research Skills Critical Thinking/Analysis Skills Presentation and communication skills Type of research Secondary data: so-called desk research, and observational research. Marks 40% of the total marks for this subject Additional support materials Please consult the assignment guide/Lecturer LMS for more assistance. See library. Assessment Overview Background (hypothetical scenario): Given your recently acquired marketing knowledge, you are to assume the role of an industry marketing expert. A large investor company is considering investing in the Small Goods Manufacturing Industry in Australia and seeks your advice on the current industry situation. Based on your analysis, they also wish to know how the market is segmented and what segment or segments you would recommend that they target should they decide to go ahead. In addition to your written responses, they also ask that you provide a personal video presentation of your fi nd ings and recommendations which they will show to their board of directors. THE ASSIGNMENT Use online resources such as websites, journal articles, newspaper articles and databases. 1. Submit a written Industry Analysis report on the nominated Australian Industry 2. Identify and describe the segments (and segmenting variables) used in this industry and make a recommendation as to the segment of the market you think the company should look to invest in. 3. Produce a 5-6 min video presentation of the key highlights of your report and segmentation recommendations. 1. Format of the written Industry Analysis Report • The report should be 1000 words (+/- 10%). • It is expected that you will write more detail in your report, than you present in your video. • A report format style. answer is required – the University website can assist. • Here is a suggested outline of the structure for the written report. A report template is also available in Moodle. Written Industry Analysis Report 1000 words (+/- 10 %) Cover page. Title of the assignment, name, id, tutorial time and day, name of the tutor, word count not including executive summary, TOC or references and appendices. Executive Summary: Summarize all sections of the report in a succinct manner (half page or max. 1 page) Table of Contents: Put contents with page numbers Introduction: Purpose or report, Industry background, marketing theories used, structure of the report etc. Macro-environmental analysis. Impact of key variables: identify and explain the impact of key variables in each of the environmental factors (PEST/PESTEL analysis). Micro-environmental analysis. Analysis of key market and industry variables. Overview of competitors and current customers. (Porters 5 Forces) SWOT analysis Strengths Weaknesses Opportunities and Threats – a summary of your analysis References: Include at least 3 academic references. Follow LTU APA referencing style. Appendices: Put [any relevant] additional tables/figures/graphs in the appendix and please don’t forget to refer them in the text LTU APA Referencing is required. See library website for details. 2. Target Segment Identification and Recommendation • It is expected that you will provide details of industry segments and your recommendations and justifications for your chosen target. • This will be supplied as an appendix or addendum to your written Industry Analysis report. • Here is a suggested outline of the structure for this written element. A report template is also available in Moodle. Target Segmentation and Recommendations 500 words (+/- 10%) Identified Industry Market Segments Analyse how fi rms or the industry conducts segmentation. Segment profiles (characteristics of the segment) and product offered to each segment Identified Target Segment/s Which targeted segment/s would you feel would offer the best opportunity in the current situation based on your industry analysis report. Justify your selection with appropriate explanation of segment factors Recommendations and conclusions: Based on your analysis, recommend one/more than one segment(s). Provide a conclusion at the end of element. 3. Student Video Presentation of written report and segmentation recommendations • 5- 6-minute recorded video presentation • Student to present the key highlights of t heir report and segmentation content. • Students are assessed on both the content and the manner of their presentation. • This is not just a reading of your report – it should be presented NOT read. Student Presentation Video 5-6 mins. Introduction. State your name, Student number, class and Lecturer’s details. (approx. 30 secs.). Executive summary (Short summary of what you have studied, and your recommendations.) (approx..30 secs.) Business Environment Analysis Main report body with SUBHEADINGS. EG. Macro-environment Analysis • Economic • Political and Legal • Sociocultural • Etc. Micro-environmental Analysis • Market / Industry • Competitors • Customers This Section is the largest part of your video. (approx. 3 mins) Segmentation and targeting. Analyse how fi rms or the industry conducts segmentation. Segment profiles (characteristics of the segment) and product offered to each segment. (approx.. 1min.) Recommendations and conclusions: (approx. 1 min.) Referencing. Show your references on screen. You don’t read these out. (30 secs.)
COMP2812 / COMP9812 Systems Software Module 2 – Tutorial Objectives and Learning Outcomes • Review and summarise core concepts and foundational knowledge on what operating systems are, and their key components and core functions • Contributes to LO1: Explain core concepts such as: processes, threads, scheduling, concurrency and deadlock, memory management, virtual memory, file systems Today’s Tasks o In groups, create an infographic from the selections provided in Task 1 o In groups, create an infographic on embedded systems o Add copies to your handbooks and submit them to the discussion board Individual Work vs Group Work • AII of today’s tasks are to be compIeted in groups of 3-4 • Once complete, all infographics will be shared with the class so that you may add a copy of any that you find valuable to your own handbook Your tutor will help facilitate the formation of groups if required. Required tools and equipment • Your laptop • Internet access • PowerPoint, Google Slides, Canva, Piktochart or other similar tool Guidelines for all written tasks • Review Quick Guides – Referencing and Communicating Ideas first • No essays use headings, tables, dot points and other techniques to present your information clearly and concisely • Make sure you include a reference list and cite all sources you used to compile your response Submission • Each student will add a copy of their group’s infographics into their own OneNote notebook (one per page, under the Study Guide section) • Students must annotate these notebook pages with today’s date and the names and FANs of their group members • One member of the group will then export the annotated pages from their notebook and submit this as a reply to your session’s “Tutorial – Shared Infographics” discussion on Canvas • Once this is complete, let your tutor know it’s ready for marking. Your tutor will mark off the checkpoint during your tutorial session – make sure to tell them it’s ready or you may miss out on marks. Introduction – Creating Infographics In your groups you will be creating infographics illustrating the key concepts for a range of topics. You will need to use a tool such as PowerPoint, Google Slides, Canva, or Piktochart to produce your infographics. You are very welcome to use templates such as those found at Canva or Slides Carnival. It is also recommended to use a collaborative document such as Microsoft Online or Google Docs to work together during this task. You can assign different group members to research different aspects and add your findings to a single shared document. In addition to the lecture slides and recordings, you may use any online resources for fact finding. Ensure you comply with the ‘Academic Integrity’ rules and include a reference list and in-text citations. REMEMBER: Less is more – aim to use less text, and more graphics! Task 1 – Create an infographic on a core topic | 20 min Select one of the following topics: • Basic functions and features of an OS • Operating system categories • Single-Tasking versus Multitasking Operating Systems • General-Purpose versus Real-Time Operating Systems Add your infographic to your handbook when it is complete, following the requirements listed in the Submission section above. Task 2 – Create an infographic on embedded systems | 20 min In your group create an infographic illustrating the key concepts of 6embedded systems,. To achieve this, your group will need to do some online research. The following links are a good place to start: • 10 Real Life Examples of Embedded Systems: https://www.digi.com/blog/post/examples-of-embedded-systems • Embedded Systems Tutorial: https://www.guru99.com/embedded-systems-tutorial.html The infographic should include the following: • Types and applications of embedded systems, with examples • Characteristics and architecture • Definitions of key terms • Microprocessor and microcontroller • Pros and cons of embedded systems, and alternative approaches Add your infographic to your handbook when it is complete, following the requirements listed in the Submission section above.
BAFI1029 Derivatives and Risk Management Assessment 2 - Task 1 - Individual Trading Session #1 Report and Excel Due Date: Week 10 - Friday, 21st March 2025 by 23:59 (Singapore Time) Assessment Task This is an individual task. In this assessment, students are required to use the Trading Simulator tool from CME Group to trade on future products to hedge risk and/or take advantage of speculation. In the #1 trading session, you will focus on Energy Future products. The goal of this individual assignment is to gain a better understanding of the future market and risk management process, by testing and refining your trading strategies. Below are the steps you need to follow to accomplish the task: ● Attend your local class in Week 5. Use your email address to create an account with CME Group, during the workshop. ● Your instructor will use 1.5-2 hours to go through the task, elaborate the basic specs of Energy future products, explain the trading rules and demonstrate how to trade. You can start trading after instructor’s demonstration. ● Your trading is to primarily hedge your risk exposure to the oil price. For students whose student number ends with an odd number, assume you are the treasurer at an airline company planning to purchase 10,000 barrels of jet fuel oil in three months. For students whose student number ends with an even number, assume you are a jet fuel oil producer planning to sell 10,000 barrels of jet fuel oil in three months. Your objective is to use energy futures products to hedge your price risk. Record the fuel price when you start taking positions on the CME to: (1) Provide background information and justify the number of contracts you go long or short. (2) Show whether you succeed in hedging the risk. ● You have $100,000 USD cash on hand at the beginning of your trading. You must use at minimum 70% of your account balance to hedge your oil price risk. Meanwhile, you are allowed to have up to 30% of your account balance to speculating/arbitraging, and the speculation/arbitrage products are not limited to Energy futures (e.g., other future products, you can even use Crypto futures to earn short-term profit, but also mind the potential loss). ● You can trade any time after your instructor’s demonstration, till any date before 21st March 2025. You can also stop your trading before this date if you already finalized your trading strategy. You can trade as many times as you want, as long as you can justify your trading philosophy. You can do some trials at the beginning of the trading period to get familiar with the platform. When you decide to officially start to implement your strategy, please do not reset the game before your last trading date. Note: Please remind to leave some time to consolidate your trading record and report. For example, someone wants to stop trading on 15th March 2025 and prepare the excel and report between 16th-21st March, some others want to trade till 20th March 2025 and prepare thereport and excel in several hours or one day. Both are good, as long as you are confident about the quality of your submission. • You can take both long and short positions in the future contracts. Your orders might be rejected by the system because of margin shortage or market close. When your account balance drops to near zero, you are basically out of the game. ● Please use the excel template to record your trading and balance on a daily basis, or whenever you make a trade. It is not necessary to flatten (close out) all your open positions. It is a good practice to keep a record on your daily account balance, profit and loss as well as open positions, to facilitate consolidating your report. Please do note that the template is just a basic version provided by the teaching team, you will need to modify it to satisfy your needs. ● Based on your trading history, profit/loss from your future account, and the income/cost from your physical asset, you need to form. a report to summarize your trading exercise. Note: Since the contracts can’t be bought in fraction, a tiny variation from the specified budget is acceptable. You can choose to hold some Cash if you believe the investment opportunity is not good enough, but also need to justify this decision in your report. CME Institute Trading Simulator Trading Simulator replicates live futures markets by leveraging real market data. A constant stream of new prices informs your strategies for CME Group’s top products across all 6 asset classes, including Bitcoin and Micro E-mini futures. The Access to the simulator is free, all you need is a CME Group Login account, which can be created using your own email. Please create an account during the workshop. Marking guide (Total=15 marks) - Your report must include the following sections: 1. Trading objectives Give an overview of your trading objectives. 2. Summarize your hedging strategy Provide a summary on how you use Energy future products to hedge your commodity price risk. The content should include but not limited to: • Do you think it is necessary to hedge your jet fuel price risk, and what percentage of your exposure you think you should hedge (e.g., ? % out of the 10,000 barrels) • Which future product(s) you use to hedge your risk, outline their basic specs? • What strategy you employed to hedge (e.g., delivery month, contract price, contract amount, long or short, etc)? • What is the performance of your hedging by the end of your last trading date? And how the spot price change for jet fuel oil? • Are there any differences between jet fuel oil and the underlying assets of your selected hedging product? And what risk can be generated from these differences? 3. Summarize your speculation trading Provide a summary on how you use future contracts to speculate/arbitrage during your trading period. The content should include but not limited to: • Why you take/not take speculation position? • How the speculation performed and explain your profit/loss? Submission • The report should follow a structured format, starting with an executive summary and followed by sub-sections addressing all questions/tasks. Essential components of the report include page numbering, sections numbering, main body, executive summary, reference list, introduction and conclusion. • The report should be no longer than 1000 words (-/+ 15%), excluding executive summary, references and appendix. The student can have up to 2-page appendix. Citation and reference must be provided where necessary. The Excel file contains your workings to support the reported analysis. • Please prepare the report and a spreadsheet to record your trading activities for Assessment Task 1, submit them along with those for Assessment 2 Task 2. • All submissions must be made electronically on Canvas, accompanied by a cover sheet, through Canvas => Assignments => “Assessment 2: Report and spreadsheet submission”. • The submission must be using 1 or 1.5 spacing and 12-point Times New Roman font. • Students must ensure their reports are free from academic issues like copying, plagiarism, sharing work, collusion, and collaboration with other groups, maintaining a similarity rate below 30%. Academic misconduct can result in course failure,permanent academic records, and graduation delays due to the investigation time by the COBL Integrity office. • Students are required to keep back-ups of all submitted work just in case any are lost. • The instructor of your enrolled trading session will mark your assessment. Note: ● This instruction includes suggestions on items to include in the report, more information for parts you think are important may be included as you feel necessary, keeping in mind the word limit. ● The teaching team is not supposed to comment on your calculation workings or identify where your calculation mistakes. The teaching team will provide guidance to make sure that you are on the right track. However, it is still your responsibility to investigate your work and identify the errors.