ISE328 Technology and Applications of Electronic Business Systems Department of Industrial & Systems Engineering Laboratory Assignment – Data Visualisation on Qlik Sense (20%) Case Background: Imagine that you are going to launch your own retail business in Hong Kong, but you have no idea about the current situation of the retail market. Thus, you are going to analyse the data published on the public sector information portal (DATA.GOV.HK) for getting some insights and business directions. The collected data are managed on Qlik Sense, and you have to build your own dashboard for effective data visualization. Subsequently, you can have a clear picture on the current retail market in Hong Kong, and select the suitable type of retail business. Through this laboratory exercise, you can • Know how to collect the data from DATA.GOV.HK • Understand how to conduct data visualization by using Qlik Sense, and data presentation in the storytelling mode. Instructions of Building the Presentation: 1. At the top of the first page of your assignment, write your full Englishname, student ID, and laboratory group. 2. Insert your visualisation dashboard in your stories. 3. Download a story as a PDF, using the data storytelling features in Qlik Sense. 4. Answer all the questions listed in Parts A and B. 5. Combine multiple pdf files (if any) into one single pdf file for submission. 6. Upload a PDF file of your data storytelling to Blackboard. Submit your answer about the below tasks in ONE single file (.pdf). Please name the file with your student ID, e.g. 12345678d.pdf. Submission Deadline: 23:59 on 17th November, 2024 • It is an individual assignment. • PolyU views plagiarism as a serious disciplinary offence. • The report submission should be done via Learn@PolyU Tasks-to-Do: Datasets retrieved from https://data.gov.hk/en/ 1. Table 620-67001: Total Retail Sales [English] 2. Report on Monthly Survey of Retail Sales [English] *Hints: You can search the keywords to download these two datasets. You may need to do data pre-processing and cleaning before building data visualizations in Qlik, e.g. data sorting by specific year Part A (10%): Overview of the Retail Sales (i) Create your data visualisation dashboard for the trend of total retail sales from 2005 until the present, by making use of at least FIVE types of data visualisation methods. Discuss the following questions in the storytelling mode: (ii) Elaborate your observations of the changes of Hong Kong retail market in your story (iii) Analyse the variation of retail sales from 1st January, 2019 until the present in your story Part B (10%): Decision Support on the Retail Business Assuming that you are going to launch your own retail business in HongKong, you are going to explore some insights from the ‘Repot on Monthly Survey of Retail Sales ’. (i) Create your data visualisation dashboard to answer the following questions, by making use of at least THREE types of data visualisation methods Discuss the following questions in the storytelling mode: (ii) Is non-store retailing a good choice in the current retail market? Why? (iii) Which retail outlet would you consider for your coming retail business? Why?
ACC309 Accounting Analytics (S1, AY2024/25): Oral Presentation (Worth 30% of Total Grade) The Task: Using the AMPS Model to Address the Question of Loan Payment • For details, please refer to the textbook, page 648, Chapter 11, Project 1 (Appendix A). You presentation should include the following information: 1. Ask the Question Please refer to the textbook for the question. 2. Master the Data Illustrate the steps you have taken to ensure no data is missing, there are no errors in the data, and the data has been transformed into a form. that is ready for analysis. 3. Perform. the Analysis and Share the Story Present your analysis results using appropriate data visualization techniques. Interpret the results and answer the question. 4. AI Usage Explain how AI is used in your project. Submission Instructions: Each student must submit an oral presentation video filea and a PowerPoint fileb to the submission boxes under “Presentation” in the “ Module Information” section on the Learning Mall (LM) module page by the deadline. Presentation Submission Deadline: 11:55 pm Sunday, Week 13 Notes: a. Notes for the video: 1) You can use Tencent Meeting to record the presentation. 2) The filename for submission should be “ACC309 Presentation XXXXXX”, where “XXXXXX” is your student ID. 3) The length: 5±1 minutes. The video size should be no larger than 100MB. 4) You must show your face in the video. 5) Please make sure that the submitted video can be played by Windows Media Player. b. Notes for the PPT file: 1) The filename for submission should be “ACC309 Presentation XXXXXX”, where “XXXXXX” is your student ID. Marking: Presentations will be judged according to Appendix B “ACC309 Oral Presentation Assessment Form” and Appendix C “ACC309 Group Oral Presentation Assessment Rubric” .
Essay 2 Assignment 2 - Advocating Professional Interventions Summary 1000 word piece of writing. Strict limit, not including bibliography Split into two sections, 250 and 750 words respectively Draft submission by midday Monday 18th November Peer review through TurnItIn by midday Monday 25th November Final submission by midday Monday 2nd December 40% of your mark for this course PDF version attached, but this page is the final authority. Introduction This task requires you to first describe a real-world case (part 1) and then identify and explain ethical implications, and suggest interventions to help mitigate (part 2). Part 1: The Case Study (250 words) Research and summarise an interesting case study for tech ethics. If you want some ideas, a list can be found here. Generally, the case should be about an organisation either researching, producing, or deploying some technological artifact with one or more interesting ethical dimensions to it. Search for and review multiple sources (three is a safe minimum) in order to write your summary, referencing these and putting them in your bibliography as usual. You should also pick out one or two sources that you think are most comprehensive and highlight them as "Core Readings" at the end of the case study. These won't count towards the word limit. Summaries should be factual, conveying the core information about the case (which may be in dispute). Examples can be found in each of the tutorial case studies (although these don’t have citations in-line, and you should). A good way of thinking about this task is to try and choose a case study that would make for a good tutorial discussion. In fact, if I receive any particularly good ones, I may well use them for tutorials in the future! Part 2: The Essay (750 words) Imagine you are working for the company involved in the case study and are writing a report for the senior management. In many cases it will be best to be doing this before any major fallout from an actual incident, which might make any argument you try to make seem unnecessary. Write an essay that answers the following question: “What should we do to reduce the negative impacts of this technology?” This task will probably involve: Highlighting one or more key potential harms of the technological artifact in question. Proposing measures the company could put in place to try and reduce harms. Explaining and arguing for the importance of both of the above to a reader who doesn’t necessarily have the same understanding as you. Assume they have not taken the equivalent of Professional Issues, and that while not actively hostile they might have other priorities. As always, I don’t expect you to be comprehensive in covering every potential problem or fix, but you should focus on a small number of things in more detail (and therefore make a stronger argument for them). Peer Review and Deadline Drafts should be submitted using the Essay 2 Draft link on Learn. This link is also where you should go to receive a peer's draft to review. You will have a week to review this other essay and provide feedback (filling out the questions provided), then another week to finish your essay using that feedback before you finally submit it on Learn to be marked. Advice Good essays will: Clearly choose a main position Clarify important details with reference to other sources Consider the terms used and define them where necessary Justify arguments with reference to course materials Anticipate and address counterarguments How well you do these things will be the core criteria for marking your essays. Marking Here are some of the main things markers will be looking for: Answers the question Clarity Appropriate structure Supported by other sources Quality of argument Recognition of counterarguments / alternate views Knowledge and understanding Style. and presentation You will receive a mark according to the following scale (in line with the University’s Extended Common Marking Scheme): Pass (40+): Essay attempts to address the provided question but is hard to understand and/or makes few clear points. Good (50+): Essay is understandable, clarifies key terms, and comes to one or more obvious conclusions. Some course materials and external sources are referenced. Very good (60+): Essay has a good structure, flowing between and building upon subsequent points. It identifies possible counter arguments or alternative views and integrates a variety of external sources. Excellent (70+): Essay reads well and contains well-made arguments which pull together a variety of views and sources. Excellent (80+): Marks in this range are uncommon. This essay draws the reader in and makes points beyond what would be expected of undergraduate students in Informatics.
STAC32 Assignment 7 Packages library(tidyverse) ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ── √ dplyr 1.1.4 √ read r 2.1.5 √ forcats 1.0.0 √ stringr 1.5.1 √ ggplot2 3.5.1 √ tibble 3.2.1 √ lu bridate 1.9.3 √ tidyr 1.3.1 √ purrr 1.0.2 ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ── × dplyr::filter() masks stats::filter() × dplyr::lag() masks stats::lag() Use the conflicted package () to force all conflicts to become errors library(broom) Crabs The crab species Leptograpsusvariegatus has two colour forms, blue and orange. Fifty crabs of each colour form. and sex were collected at Fremantle, Western Australia, and various measurements were taken on each crab. The variables of interest to us are: · sp species (B is blue and O is orange, a letter O) · sex Male or female · CL carapace length · index a number between 1 and 50 unique within each species-sex combination. All of the measurements are in millimetres. The data are in http://ritsokiguess.site/datafiles/crabs.csv. 1. (1 point) Read in and display (some of) the data. 2. (2 points) Create, save, and display (some of) a dataframe. with only the species and the carapace length (but all the observations for those two variables). 3. (3 points) Attempt to display the carapace lengths in two columns, one column for each species. What happens? Why did it happen? Explain briefly. 4. (2 points) Starting from the dataframe. you read in from the file, create, save, and display (some of) a dataframe. with species, sex, carapace length, and the column index (with all the observations). 5. (3 points) Repeat your code to put the carapace lengths into two columns, one for each species, but starting from the dataframe. you just created. Do you now get something that makes sense? Why is it different from your previous attempt? Explain briefly. Consumption of natural gas How does the price of natural gas affect how much of it people use? Consumption of natural gas was measured for 20 towns in Texas (in thousands of cubic feet per customer). In each town, the price was different (in cents per cubic feet). The data are in http://ritsokiguess.site/datafiles/texasgas.csv. 6. (1 point) Read in and display (some of) the data. 7. (2 points) Make a suitable graph of the two variables in your dataframe. 8. (2 points) What does your graph tell you about the relationship between price and consumption? (If you wish, use “form, direction, strength” as a guide.) 9. (2 points) Fit a straight line relationship between the two variables, and display the output. (You may not think this is the best thing to do, but do it anyway for the moment.) 10. (4 points) Draw a graph that indicates a problem with the model you just fitted, and explain briefly what that problem is. 11. (2 points) Find out what R’s ifelse function does, and explain briefly. Cite your source in a way that the grader can check it (should they wish to). 12. (2 points) Create a new column in your dataframe. called gt that is the price minus 60 if price is greater than 60 and 0 otherwise. Save the resulting dataframe. 13. (2 points) Fit a regression predicting consumption from price and your new variable, and display the results. 14. (4 points) Plot the data and fitted relationship from the model you just fitted, on one graph. Join the fitted values with lines. Describe the form. of the relationship you just fitted.
CSE 231 Fall 2024 Computer Project 07 1. Assignment Overview (learning objectives) This assignment focuses on the design, implementation and testing of a Python program which uses classes to solve the problem described below. Note: you are using a class we provide. This assignment will give you more experience on the use of: • Dictionaries • Functions • Exception handling • Classes and OOP The program allows users to run the game of UNO in multiple rounds through a series of commands. Users can deal cards, check what kind of card do they have, and check who won the game. 2. Important Note about submission de).Itmust becompleted before11:59PMESTonMonday, November18.After the due date (11/18), your score will bedeductedby2%forevery1hourlateorafractionofit.No submissions will be accepted after 24 hoursfromtheduedate.Thepenaltywillbeappliedonthefull project score.The project will be automatically submitted by the due date (11/10).Ifyou w the deadline with penalty, you must manually click on “Mark as uncompleted”, acknowledge the penmessage and manual click on “Mark ascompl
Fall 2024 MGMT 571 Final Project Deadline: 11/21/2024 11:59pm EST This project aims to apply data mining algorithms covered in the course in a real data competition. If you are new to Kaggle, please make sure to read all instructions on this link of data competition: https://www.kaggle.com/docs/competitions. You need to first register a Kaggle account before any submission. 1. We would like to develop a predictive model that combines various econometric mea- sures to predict if a firm will file for bankruptcy. The details about our final project competition, data and evaluation criterion are available in the following website. Do not share this link with others! https://www.kaggle.com/t/67f4dfaea9fe43f4a15f12538e85e3b2 2. The final project contributes 20 points to your final score: (1) 10 points will be eval- uated based on the rank on the Private leaderboard (Not Public leaderboard!), see below the grading policy; (2) 10 points will be based on presentation. Top 0% ~ 10% : 10/10; Top 10% ~ 30% : 9/10; Top 30% ~ 50% : 8/10; Top 50% ~ 70% : 7/10; Top 70% ~ 90% : 6/10; Top 90% ~ 100% : 5/10. 3. Rules in Kaggle competition: (1) Only use your assigned Team Name to submit solutions; see “MGMT 571 Final Project Teams” in Brightspace for all allowed team names; (2) Maximal daily submission is 10; (3)The number of submissions eligible for the final private leaderboard is 2; (4) Only use the provided training data to train your model; (5) Only use SAS EM in your analysis. For the fairness of the whole class, using anything other than SAS EM for your competition and analysis will cause your team to receive ZERO on the Final Project. If any of these rules is broken, the final score will be discounted. 4. Please choose one team member to submit a brief description of your team’s final chosen two models for Private leaderboard and a zip file of your SAS EM project to Brightspace, before 11/25/2024, 11:59 pm EST, so that the TA can reproduce your result on Private leaderboard. If TA can not reproduce your result, your final score will be discounted. 5. The presentation will be evaluated based on the content and presentation skills. The presentation should be ≤ 5-minutes long. The content should contain the final al- gorithm used in the leaderboard, other tried algorithms, why do you choose the final one, lessons learnt etc.
COMP3230 Principles of Operating Systems Programming Assignment Two Due date: November 17 , 2024, at 23:59 Total 12 points - RC2 Programming Exercise- Accelerate LLM Inference using Multi-Threading Objectives 1. An assessment task related to ILO 4 [Practicability] – “demonstrate knowledge in applying system software and tools available in the modern operating system for software development” . 2. A learning activity related to ILO 2. 3. The goals of this programming exercise are: • to have hands-on practice in designing and developing multi-threading programs; • to learn how to use POSIX Pthreads (and Semaphore) libraries to create, manage, and coordinate multiple threads in a shared memory environment; • to design and implement synchronization schemes for multithreaded processes using semaphores, or mutex locks and condition variables. Tasks Optimizing the throughput of GPTs is an important topic. Similar to other neural networks, GPT and its variations utilize matrix-vector-multiplication, or called fully-connected/linear layer in Deep Learning, to apply parameters learned. Meanwhile, GPT leverages multi-head attention, a mechanism to adopt important information from history tokens. Thus, to accelerate GPT and get a faster response, it’s critical to have faster matrix-vector-multiplication and faster multi-head attention computation. Given the non-sequential property of the two algorithms, parallel computing based on multi-threading is usually considered helpful. Following PA1, we use Llama3, an open-source variation of GPT for this assignment. A single-thread C implementation of the inference program, named seq.c, is provided as the starting point of your work. You need to use POSIX Pthreads with either the semaphore or (mutex_lock + condition variable) to implement a multi-threading version of the inference program, which parallelizes both matrix-vector-multiplication and multi-head attention functions. This multi-threading versionshall significantly accelerate the inference task of the Large Language Model. Moreover, to reduce the system workload in creating multiple threads, you need to reuse threads by formulating them into a thread pool. Acknowledgement: The inference framework used in this assignment is based on the open-source project llama2.c by Andrej Karpathy. The LLM used in this assignment is based on SmolLM by HuggingfaceTB. Thanks open-source! GPT-based Large Language Model At high-level, GPT isa machine that can generate words one by one based on previous words (also known as prompts),and Figure 1a illustrates the basic workflow of GPT on generating “How are you”: Figure 1. GPT Insight. a) GPT generates text one by one, and each output is the input of the next generation. b) GPT has four major components: Tokenizer turns word (string) into a vector, Softmax + Sample gives the next token, and each layer has Attention and FFN (Feed-Forward Network), consisting of many Matrix-Vector-Multiplication Figure 1b showcases the inference workflow of each word like “You” in “How are you”: First, words are transformed into token embeddings using the tokenizer, which is essentially a (python) dictionary that assigns a unique vector to each word. Embedding vectors go through multiple layers, which involve three steps. • The first step is Multi-Head Attention, where the model first calculates attention scores based on the cosine similarity between the current word's query embedding and embeddings of previous words (keys). Then weighted average value embeddings are used to formulate output. • The second step is a feed-forward network (FFN) that applies more learnable parameters through Matrix-Vector-Multiplication. • The third step is positional embedding, which takes into account the ordering of words in natural language by adding positional information by RoPE (not required in this assignment). After going through all the layers, the embeddings are classified to generate a specific word as the output. This involves using a softmax function to convert the embeddings into a probability distribution, and randomly sample a word from the distribution. Task 1: Matrix-Vector-Multiplication Figure 2. Matrix-Vector-Multiplication Algorithm. As shown in Figure 2, Matrix-Vector-Multiplication can be illustrated as two iterations: For Each Row i For Column j, accumulate Matrix[i][j] * Vector[j] to Out[i] More specifically, a sample single-thread C implementation is shown below: void mat_vec_mul(float* out, float* vec, float* mat, int col, int row) { for (int i = 0; i < row; i++) { // for each row i float val = 0.0f; for (int j = 0; j < col; j++) // for each column j val += mat[i * col + j] * vec[j]; // mat[i * col + j] := mat[i][j] out[i] = val; } } Your 1st task in this assignment is to parallelize the outer iteration (at the 2nd line) by allocating blocks of rows to threads. More specifically, in the case of a Matrix with d rows and n threads working on the computation, assuming that d is divisible by n, the k-th thread will handle the rows from [k ×d/n] to [(k + 1) ×d/n − 1]. To illustrate, if we have a 6-row matrix with 2 threads, the 0th thread will handle rows 0 to 2,while the 1st thread will handle rows 3 to 5. If d is not divisible by n, we can assign n − 1 threads with ⌈d/n⌉ rows, while the last thread is assigned with the remaining rows. More explanation on such a design can be found in Appendix a. Parallel Checking. In this assignment, the model used is quantized, so there is aslight difference with the above C code but the workflow is still the same. Task 2: Multi-Head Attention Figure 3. Attention and Multi-Head Attention Algorithm. The computation of each head is separated. As shown in Figure 3, Multi-Head Attention can be illustrated by the following iterations: For Each Head h, For Each Timestep t, For head item i, accumulate q[h][i] * keys[h][t][i] to score[h][t] SoftMax(score) For Each Timestep t, For head item i, out[h][i] += score[h][t] * values[h][t][i] More specifically, a sample single-thread C implementation is shown below: void multi_head_attn(float* out, float* q, float* key_cache, float* value_cache, float* att, int seq_len, int n_heads, int head_size, int kv_dim, int kv_mul) { for (int h = 0; h < n_heads; h++) { // iterate over all heads, PARALLEL THIS LOOP float* head_q = q + h * head_size; // query vector for this head float* head_att = att + h * seq_len; // attention scores for this head for (int t = 0; t
APH105 Organic Chemistry - Coursework 1 Molecular structure 1. Provide the IUPAC name of the molecules. 2. Naming the following molecules using correct systematic nomenclature: 3. Draw the structural formulas for the following compounds: 1) 1-pentene 2) 2-methyl-3-heptyne 3) 3-ethyl-4,5-dimethylheptane 4) 2-ethyl-1-pentanol 5) m-bromophenol 6) 3,3,6,6-tetraethyl-4-octyn 4. Which of these molecules are polar? For each that is polar, specify the direction of its dipole moment. 5. Which of the following is expected to have the highest boiling point? 6. Using the Lewis Structures, try to figure out the hybridization (sp, sp2 , sp3) of the indicated atom and indicate the atom's shape. 1)The carbon. 2)The oxygen. 3)The carbon on the right. 7. Identify the expected hybridization state and geometry for the central atom in each of the following compounds. 8. Use VSEPR theory to predict the geometry for each of the following structures: 9. Constitutional isomers. 1) Do the condensed formulas in each pair represent the same compound or constitutional isomers? 2) Write line-angle formulas for the five constitutional isomers with the molecular formula C6H14. 10. Identify each compound as an alcohol, a phenol, or an ether. Classify any alcohols as primary, secondary, or tertiary. 11. All of the following are representations of 2-methylpentane, EXCEPT: 12. In each case below, draw a Newman projection as viewed from the angle indicated: 13. Using the criteria for aromaticity, determine if the following molecules are aromatic: 14. Draw both chair conformations for each of the following compounds: 15. Assign the priority to the 4 groups attached to the chiral center of molecules A, B and C. Then assign R and S configuration to the chiral centers. 16. Determine the R/S configuration of the chirality center in following compounds.
ECONOMIC STUDIES BU31002 ECONOMETRICS: 2024-2025 ASSIGNMENT 3 Assignment 3 contributes 20% to the overall module assessment and consists of workshop questions W1 to W3 only [marks sum to 100]. The assignment should be submitted via Turnitin by 11:45am on Friday 22 November and will form. the basis for the tutorial in Week 11 (Friday 29 November 13:00-14:00 or 14:00-15:00, depending on tutorial group) by which time you will have received a grade for your work. WORKSHOP The workshop for this assignment to be held on Friday 15 November will provide an opportunity to estimate a number of simple linear regression models and perform. a variety of statistical inference procedures. You should note that computer output alone will not be accepted or acceptable as answers to the workshop part of the assignment - indeed there is no need to present any computer output at all if you so wish, though you may want to keep a copy for your own records. Instructions for saving results to a file (which can be printed at the end of the session) are given in Section II.A.3 of the course computer manual. For the purpose of the exercise, you should continue to work with the EAEF data set assigned to you in the first workshop (see Table at the end of this document). If you did not save the data set in the first session then you will have to download it again from the Blackboard VLE (see Workshop 1 instructions for personal assignment of data sets). Otherwise you should simply load your data file. Instructions are given in Section II.B.1 of the manual. In the first workshop, you worked with the educational attainment variable S (highest grade completed as of 1994; i.e. years of schooling) and the ability variable ASVABC. We will go on in this workshop to also explore the determinants of earnings as measured by the hourly wage rate variable EARNINGS (current hourly earnings in $ reported at 1994 interview) The gender of each respondent is recorded in the data set by the dummy variable MALE which takes a value of 1 for men and 0 for women. Each sample consists of 325 observations on men and 245 observations on women (570 observations in total). Find the average earnings of the whole sample and of each gender separately by issuing the following commands in the Command window: summarize EARNINGS MALE [ ] summarize EARNINGS MALE if MALE== 0[ ] summarize EARNINGS MALE if MALE== 1[ ] (where the summary statistics for MALE should confirm that first sub-sample consists solely of women and the second solely of men). Keep a record of your findings for future reference. Regress EARNINGS on a constant (see Section II.C) by typing regress EARNINGS [ ] (Stata automatically includes a constant (named _cons) in the regression model). Note that the intercept is equal to the sample mean level of earnings of the whole sample and that the R2 value for the regression is equal to zero (cf. Assignment 1). Assume that the relationship between earnings and gender is given by the model: EARNINGSi = β1 + β2 MALEi + ei; i = 1, ... .570 Estimate this model by regressing EARNINGS against the gender dummy MALE. W1(a) Write down the estimated regression equation that you obtain. Interpret the regression coefficients in the light of the values that you have obtained for the average earnings of men and women in your sample. [15 marks] (c) How would you modify the specification of the hypotheses in (b) if you wanted to test for the existence of wage discrimination against women? [W2 estimated regression equation that you obtain and interpret the regression results. R.10 marks] (b) State and interpret: (i) the standard error of the response coefficient on S and (ii) the standard error of the regression (SER – denoted Root MSE in Stata output). 8 marks] (c) Formally test whether or not an additional year of schooling will raise hourly earnings by $1. Remember to state clearly the null hypothesis being tested and its alternative, the steps involved in the test procedure and any conclusions that you may reach. 15 marks] (d) Calculate a 99% confidence interval for the regression coefficient on S. Interpret the interval that you obtain. 10 marks] (e) What relationship is there between the conclusion that you obtained in (c) and the confidence interval that you constructed in (d)? 6 marks] Workshop continues on next page In the first workshop, you estimated a simple linear regression model in which educational attainment (S) were determined as a function of ability (ASVABC): S = b1 + b2 ASVABC Re-run this regression. W3(a) your sample. 7 marks] (b) Calculate a 95% confidence interval for your prediction. Interpret this interval. [ [
Math 1600A Homework 9 Fall 2024 [5] 1. For each of the following statements, determine whether the statement is true or false. If the statement is true, give a brief (one or two line) explanation of why the statement is true. If the statement is false, give an explicit numerical counterexample to the statement. No marks will be given without correct justification. (a) For any natural number m, the product of two non-zero numbers in Zm is non-zero. (b) There are exactly 2 solutions to 4x = 2 in Z6. (c) If T : R2 → R2 is a rotation about the origin such that T4 = I2, then T = I2 or T = -I2. (d) Ifv ∈ Rn is an eigenvector of an n × n matrix A with eigenvalue 0, then rank(A) < n. (e) If x is a steady state vector for a Markov chain with transition matrix P then (P2 + 2P)(x) = 3x. [3] 2. Consider the ISBN-10 code 3-5d0-96203-4. Recall that the check vector for ISBN-10 codes is c = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] ∈ Z 11(10). Find the missing digit d. Show your work. 3. A Math 1600A student always submits their Gradescope assignments on Friday, Saturday or Sunday. If a student submits an assignment on a particular day of the week, then they will submit the next assignment on the same day 10% of the time, the later of the remaining two days 60% of the time and the remaining day 30% of the time. [1] (a) Draw the state diagram of the associated Markov chain. [1] (b) Find the transition matrix of the associated Markov chain. [3] (c) If the student submits the first assignment on Friday, what is the probability that the student will submit the third assignment on Sunday? [4] (d) What are the long-term probabilities of the student submitting an assignment on each of Friday, Saturday and Sunday, respectively? 4. Let T : R3 → R3 be a linear transformation determined by [1] (a) Find the standard matrix of T. [4] (b) Show that the standard matrix of T is invertible and find its inverse. [1] (c) Find 5. Consider the matrix [3] (a) Find the eigenvalues of A. [4] (b) Find a basis for each eigenspace of A.
Lab 4: File Recovery Introduction FAT has been around for nearly 50 years. Because of its simplicity, it is the most widely compatible fi le system. Although recent computers have adopted newer fi le systems, FAT32 (and its variant, exFAT) is still dominant in SD cards and USB fl ash drives due to its compatibility. Have you ever accidentally deleted a fi le? Do you know that it could be recovered?In this lab, you will build a FAT32 fi le recovery tool called Need You to Undelete my FILE, or nyufile for short. Objectives Through this lab, you will: Learn the internals of the FAT32 fi le system. Learn how to access and recover fi les from a raw disk. Get a better understanding of key fi le system concepts. Be a better C programmer. Learn how to write code that manipulates data at the byte level and understand the alignment issue. Overview In this lab, you will work on the data stored in the FAT32 fi le system directly, without the OS fi le system support. You will implement a tool that recovers a deleted file specifi ed by the user. For simplicity, you can assume thatthe deleted fi le is in the root directory. Therefore, you don t need to search subdirectories. Lab 4: File Recovery 1/18 Working with a FAT32 disk image Before going through the details of this lab, let s first create a FAT32 disk image. Follow these steps: Step 1: create an empty file of a certain size On Linux, /dev/zero is a special fi le that provides as many � as are read from it. The dd command performs low-level copying of raw data. Therefore, you can use it to generate an arbitrary-size fi le full of zeros. For example, to create a 256KB empty fi le named fat32.disk : [root@... cs202]# dd if=/dev/zero of=fat32.disk bs=256k count=1 Read man dd for its usage. You will use this fi le as the disk image. Step 2: format the disk with FAT32 You can use the mkfs.fat command to create a FAT32 fi le system. The most basic usage is: [root@... cs202]# mkfs.fat -F 32 fat32.disk (You can ignore the warning of not enough clusters.) You can specify a variety of options. For example: [root@... cs202]# mkfs.fat -F 32 -f 2 -S 512 -s 1 -R 32 fat32.disk Here are the meanings of each option: -F : type of FAT (FAT12, FAT16, or FAT32). Lab 4: File Recovery 2/18 -f : number of FATs. -S : number of bytes per sector. -s : number of sectors per cluster. -R : number of reserved sectors. Step 3: verify the file system information The fsck.fat command can check and repair FAT fi le systems. You can invoke it with -v to see the FAT details. For example: [root@... cs202]# fsck.fat -v fat32.disk fsck.fat 4.1 (2017-01-24) Checking we can access the last sector of the filesystem Warning: Filesystem is FAT32 according to fat_length and fat32_length fields, but has only 472 clusters, less than the required minimum of 65525. This may lead to problems on some systems. Boot sector contents: System ID "mkfs.fat" Media byte 0xf8 (hard disk) 512 bytes per logical sector 512 bytes per cluster 32 reserved sectors First FAT starts at byte 16384 (sector 32) 2 FATs, 32 bit entries 2048 bytes per FAT (= 4 sectors) Root directory start at cluster 2 (arbitrary size) Data area starts at byte 20480 (sector 40) 472 data clusters (241664 bytes) 32 sectors/track, 64 heads 0 hidden sectors 512 sectors total Checking for unused clusters. Checking free cluster summary. fat32.disk: 0 files, 1/472 clusters You can see that there are 2 FATs, 512 bytes per sector, 512 bytes per cluster, and 32 reserved sectors. These numbers match our specifi ed options in Step 2. You can try different options yourself. Lab 4: File Recovery 3/18 Step 4: mount the file system You can use the mount command to mount a fi le system to a mount point. The mount point can be any empty directory. For example, you can create one at /mnt/disk : [root@... cs202]# mkdir /mnt/disk Then, you can mount fat32.disk at that mount point: [root@... cs202]# mount fat32.disk /mnt/disk Step 5: play with the file system After the fi le system is mounted, you can do whatever you like on it, such as creating fi les, editing fi les, or deleting fi les. In order to avoid the hassle of having long fi lenames in your directory entries, it is recommended that you use only 8.3 fi lenames, which means: The fi lename contains at most eight characters, followed optionally by a . and at most three more characters. The fi lename contains only uppercase letters, numbers, and the following special characters: ! # $ % & ' ( ) - @ ^ _ ` { } ~ . For example, you can create a fi le named HELLO.TXT : [root@... cs202]# echo "Hello, world." > /mnt/disk/HELLO.TXT [root@... cs202]# mkdir /mnt/disk/DIR [root@... cs202]# touch /mnt/disk/EMPTY For the purpose of this lab, after you write anything to the disk, make sure to fl ush the fi le system cache using the sync command: Lab 4: File Recovery 4/18 [root@... cs202]# sync (Otherwise, if you create a fi le and immediately delete it, the fi le may not be written to the disk at all and is unrecoverable.) Step 6: unmount the file system When you fi nish playing with the fi le system, you can unmount it: [root@... cs202]# umount /mnt/disk Step 7: examine the file system You can examine the fi le system using the xxd command. You can specify a range using the -s (starting offset) and -l (length) options. For example, to examine the root directory: [root@... cs202]# xxd -s 20480 -l 96 fat32.disk 00005000: 4845 4c4c 4f20 2020 5458 5420 0000 0000 HELLO TXT .... 00005010: 6e53 6e53 0000 0000 6e53 0300 0e00 0000 nSnS....nS...... 00005020: 4449 5220 2020 2020 2020 2010 0000 0000 DIR ..... 00005030: 6e53 6e53 0000 0000 6e53 0400 0000 0000 nSnS....nS...... 00005040: 454d 5054 5920 2020 2020 2020 0000 0000 EMPTY .... 00005050: 6e53 6e53 0000 0000 6e53 0000 0000 0000 nSnS....nS...... (It s normal that the bytes containing timestamps are different from the example above.) To examine the contents of HELLO.TXT : [root@... cs202]# xxd -s 20992 -l 14 fat32.disk 0005200: 4865 6c6c 6f2c 2077 6f72 6c64 2e0a Hello, world.. Lab 4: File Recovery 5/18 Note that the offsets may vary depending on how the fi le system is formatted. Your tasks Important: before running your nyufile program, please make sure that your FAT32 disk is unmounted. Milestone 1: validate usage There are several ways to invoke your nyufile program. Here is its usage: [root@... cs202]# ./nyufile Usage: ./nyufile disk -i Print the file system information. -l List the root directory. -r filename [-s sha1] Recover a contiguous file. -R filename -s sha1 Recover a possibly non-contiguous file. The fi rst argument is the fi lename of the disk image. After that, the options can be one of the following: -i -l -r filename -r filename -s sha1 -R filename -s sha1 You need to check if the command-line arguments are valid. If not, your program should print the above usage information verbatim and exit. Milestone 2: print the file system information If your nyufile program is invoked with option -i , it should print the following information about the FAT32 fi le system: Lab 4: File Recovery 6/18 Number of FATs; Number of bytes per sector; Number of sectors per cluster; Number of reserved sectors. Your output should be in the following format: [root@... cs202]# ./nyufile fat32.disk -i Number of FATs = 2 Number of bytes per sector = 512 Number of sectors per cluster = 1 Number of reserved sectors = 32 For all milestones, you can assume that nyufile is invoked while the disk is unmounted. Milestone 3: list the root directory If your nyufile program is invoked with option -l , it should list all valid entries in the root directory with the following information: Filename. Similar to /bin/ls -p , if the entry is a directory, you should append a / indicator. File size if the entry is a fi le (not a directory). Starting cluster if the entry is not an empty fi le. You should also print the total number of entries at the end. Your output should be in the following format: [root@... cs202]# ./nyufile fat32.disk -l HELLO.TXT (size = 14, starting cluster = 3) DIR/ (starting cluster = 4) EMPTY (size = 0) Total number of entries = 3 Here are a few assumptions: Lab 4: File Recovery 7/18 You should not list entries marked as deleted. You don t need to print the details inside subdirectories. For all milestones, there will be no long fi lename (LFN) entries. (If you have accidentally created LFN entries when you test your program, don t worry. You can just skip the LFN entries and print only the 8.3 fi lename entries.) Any fi le or directory, including the root directory, may span more than one cluster. There may be empty fi les. Milestone 4: recover a small file If your nyufile program is invoked with option -r filename , it should recover the deleted file with the specifi ed name. The workfl ow is better illustrated through an example: Lab 4: File Recovery 8/18 [root@... cs202]# mount fat32.disk /mnt/disk [root@... cs202]# ls -p /mnt/disk DIR/ EMPTY HELLO.TXT [root@... cs202]# cat /mnt/disk/HELLO.TXT Hello, world. [root@... cs202]# rm /mnt/disk/HELLO.TXT rm: remove regular file '/mnt/disk/HELLO.TXT'? y [root@... cs202]# ls -p /mnt/disk DIR/ EMPTY [root@... cs202]# umount /mnt/disk [root@... cs202]# ./nyufile fat32.disk -l DIR/ (starting cluster = 4) EMPTY (size = 0) Total number of entries = 2 [root@... cs202]# ./nyufile fat32.disk -r HELLO HELLO: file not found [root@... cs202]# ./nyufile fat32.disk -r HELLO.TXT HELLO.TXT: successfully recovered [root@... cs202]# ./nyufile fat32.disk -l HELLO.TXT (size = 14, starting cluster = 3) DIR/ (starting cluster = 4) EMPTY (size = 0) Total number of entries = 3 [root@... cs202]# mount fat32.disk /mnt/disk [root@... cs202]# ls -p /mnt/disk DIR/ EMPTY HELLO.TXT [root@... cs202]# cat /mnt/disk/HELLO.TXT Hello, world. For all milestones, you only need to recover regular fi les (including empty fi les, but not directory fi les) in the root directory. When the fi le is successfully recovered, your program should print filename: successfully recovered (replace filename with the actual fi le name). For all milestones, you can assume that no other fi les or directories are created or modifi ed since the deletion of the target fi le. However, multiple fi les may be deleted. Besides, for all milestones, you don t need to update the FSINFO structure because most operating systems don t care about it. Lab 4: File Recovery 9/18 Here are a few assumptions specifi cally for Milestone 4: The size of the deleted file is no more than the size of a cluster. At most one deleted directory entry matches the given fi lename. If no such entry exists, your program should print filename: file not found (replace filename with the actual fi le name). Milestone 5: recover a large contiguously-allocated file Now, you will recover a fi le that is larger than one cluster. Nevertheless, for Milestone 5, you can assume that such a fi le is allocated contiguously. You can continue to assume that at most one deleted directory entry matches the given fi lename. If no such entry exists, your program should print filename: file not found (replace filename with the actual fi le name). Milestone 6: detect ambiguous file recovery requests In Milestones 4 and 5, you assumed that at most one deleted directory entry matches the given fi lename. However, multiple fi les whose names differ only in the fi rst character would end up having the same name when deleted. Therefore, you may encounter more than one deleted directory entry matching the given fi lename. When that happens, your program should print filename: multiple candidates found (replace filename with the actual fi le name) and abort. This scenario is illustrated in the following example: [root@... cs202]# mount fat32.disk /mnt/disk [root@... cs202]# echo "My last name is Tang." > /mnt/disk/TANG.TXT [root@... cs202]# echo "My first name is Yang." > /mnt/disk/YANG.TXT [root@... cs202]# sync [root@... cs202]# rm /mnt/disk/TANG.TXT /mnt/disk/YANG.TXT rm: remove regular file '/mnt/disk/TANG.TXT'? y rm: remove regular file '/mnt/disk/YANG.TXT'? y [root@... cs202]# umount /mnt/disk [root@... cs202]# ./nyufile fat32.disk -r TANG.TXT TANG.TXT: multiple candidates found Lab 4: File Recovery 10/18 Milestone 7: recover a contiguously-allocated file with SHA-1 hash To solve the aforementioned ambiguity, the user can provide a SHA-1 hash via command-line option -s sha1 to help identify which deleted directory entry should be the target fi le. In short, a SHA-1 hash is a 160-bit fi ngerprint of a fi le, often represented as 40 hexadecimal digits. For the purpose of this lab, you can assume that identical fi les always have the same SHA-1 hash, and different fi les always have vastly different SHA-1 hashes. Therefore, even if multiple candidates are found during recovery, at most one will match the given SHA-1 hash. This scenario is illustrated in the following example: [root@... cs202]# ./nyufile fat32.disk -r TANG.TXT -s c91761a2cc1562d36585614c TANG.TXT: successfully recovered with SHA-1 [root@... cs202]# ./nyufile fat32.disk -l HELLO.TXT (size = 14, starting cluster = 3) DIR/ (starting cluster = 4) EMPTY (size = 0) TANG.TXT (size = 22, starting cluster = 5) Total number of entries = 4 When the fi le is successfully recovered with SHA-1, your program should print filename: successfully recovered with SHA-1 (replace filename with the actual fi le name). Note that you can use the sha1sum command to compute the SHA-1 hash of a fi le: [root@... cs202]# sha1sum /mnt/disk/TANG.TXT c91761a2cc1562d36585614c8c680ecf5712e875 /mnt/disk/TANG.TXT Lab 4: File Recovery 11/18 Also note that it is possible that the fi le is empty or occupies only one cluster. The SHA-1 hash for an empty fi le is da39a3ee5e6b4b0d3255bfef95601890afd80709 . If no such fi le matches the given SHA-1 hash, your program should print filename: file not found (replace filename with the actual fi le name). For example: [root@... cs202]# ./nyufile fat32.disk -r TANG.TXT -s 0123456789abcdef01234567 TANG.TXT: file not found The OpenSSL library provides a function SHA1() , which computes the SHA- 1 hash of d[0...n-1] and stores the result in md[0...SHA_DIGEST_LENGTH-1] : #include #define SHA_DIGEST_LENGTH 20 unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); You need to add the linker option -lcrypto to link with the OpenSSL library. Milestone 8: recover a non-contiguously allocated file Finally, the clusters of a fi le are no longer assumed to be contiguous. You have to try every permutation of unallocated clusters on the fi le system in order to fi nd the one that matches the SHA-1 hash. The command-line option is -R filename -s sha1 . The SHA-1 hash must be given. Note that it is possible that the fi le is empty or occupies only one cluster. If so, -R behaves the same as -r , as described in Milestone 7. Lab 4: File Recovery 12/18 For Milestone 8, you can assume that the entire fi le is within the fi rst 20 clusters, and the fi le content occupies no more than 5 clusters, so a brute?force search is feasible. If you cannot fi nd a fi le that matches the given SHA-1 hash, your program should print filename: file not found (replace filename with the actual fi le name). FAT32 data structures For your convenience, here are some data structures that you can copy and paste. Please refer to the lecture slides and FAT: General Overview of On?Disk Format for details on the FAT32 fi le system layout. Lab 4: File Recovery 13/18 Boot sector #pragma pack(push,1) typedef struct BootEntry { unsigned char BS_jmpBoot[3]; // Assembly instruction to jump to boot co unsigned char BS_OEMName[8]; // OEM Name in ASCII unsigned short BPB_BytsPerSec; // Bytes per sector. Allowed values includ unsigned char BPB_SecPerClus; // Sectors per cluster (data unit). Allowe unsigned short BPB_RsvdSecCnt; // Size in sectors of the reserved area unsigned char BPB_NumFATs; // Number of FATs unsigned short BPB_RootEntCnt; // Maximum number of files in the root dir unsigned short BPB_TotSec16; // 16-bit value of number of sectors in fi unsigned char BPB_Media; // Media type unsigned short BPB_FATSz16; // 16-bit size in sectors of each FAT for unsigned short BPB_SecPerTrk; // Sectors per track of storage device unsigned short BPB_NumHeads; // Number of heads in storage device unsigned int BPB_HiddSec; // Number of sectors before the start of p unsigned int BPB_TotSec32; // 32-bit value of number of sectors in fi unsigned int BPB_FATSz32; // 32-bit size in sectors of one FAT unsigned short BPB_ExtFlags; // A flag for FAT unsigned short BPB_FSVer; // The major and minor version number unsigned int BPB_RootClus; // Cluster where the root directory can be unsigned short BPB_FSInfo; // Sector where FSINFO structure can be fo unsigned short BPB_BkBootSec; // Sector where backup copy of boot sector unsigned char BPB_Reserved[12]; // Reserved unsigned char BS_DrvNum; // BIOS INT13h drive number unsigned char BS_Reserved1; // Not used unsigned char BS_BootSig; // Extended boot signature to identify if unsigned int BS_VolID; // Volume serial number unsigned char BS_VolLab[11]; // Volume label in ASCII. User defines whe unsigned char BS_FilSysType[8]; // File system type label in ASCII } BootEntry; #pragma pack(pop) Lab 4: File Recovery 14/18 Directory entry #pragma pack(push,1) typedef struct DirEntry { unsigned char DIR_Name[11]; // File name unsigned char DIR_Attr; // File attributes unsigned char DIR_NTRes; // Reserved unsigned char DIR_CrtTimeTenth; // Created time (tenths of second) unsigned short DIR_CrtTime; // Created time (hours, minutes, seconds) unsigned short DIR_CrtDate; // Created day unsigned short DIR_LstAccDate; // Accessed day unsigned short DIR_FstClusHI; // High 2 bytes of the first cluster addre unsigned short DIR_WrtTime; // Written time (hours, minutes, seconds unsigned short DIR_WrtDate; // Written day unsigned short DIR_FstClusLO; // Low 2 bytes of the first cluster addres unsigned int DIR_FileSize; // File size in bytes. (0 for directories) } DirEntry; #pragma pack(pop) Compilation We will grade your submission in an x86_64 Rocky Linux 8 container on Gradescope. We will compile your program using gcc 12.1.1 with the C17 standard and GNU extensions. You must provide a Makefile , and by running make , it should generate an executable fi le named nyufile in the current working directory. Note that you need to add LDFLAGS=-lcrypto to your Makefile . (Refer to Lab 1 for an example of the Makefile .) Testing To get started with testing, you can download a sample FAT32 disk and expand it with the following command: [root@... cs202]# unxz fat32.disk.xz Lab 4: File Recovery 15/18 There are a few fi les on this disk: HELLO.TXT C a small text fi le. DIR C an empty directory. EMPTY.TXT C an empty fi le. CONT.TXT C a large contiguously-allocated file. NON_CONT.TXT C a large non-contiguously allocated file. You should make your own test cases and test your program thoroughly. Make sure to test your program with disks formatted with different parameters. The autograder We are providing a sample autograder with a few test cases. Please extract them in your Docker container and follow the instructions in the README fi le. (Refer to Lab 1 for how to extract a .tar.xz fi le.) Note that the test cases are not exhaustive. The numbered test cases on Gradescope are the same as those in the sample autograder, while the lettered test cases are hidden test cases that will not be disclosed. If your program passed the former but failed the latter, please double-check if it can handle all corner cases correctly. Do not try to hack or exploit the autograder. Submission You must submit a .zip archive containing all fi les needed to compile nyufile in the root of the archive. You can create the archive fi le with the following command in the Docker container: $ zip nyufile.zip Makefile *.h *.c Note that other fi le formats (e.g., rar ) will not be accepted. Lab 4: File Recovery 16/18 You need to upload the .zip archive to Gradescope. If you need to acknowledge any infl uences per our academic integrity policy, write them as comments in your source code. Rubric The total of this lab is 100 points, mapped to 15% of your fi nal grade of this course. Milestone 1: validate usage. (40 points) Milestone 2: print the fi le system information. (5 points) Milestone 3: list the root directory. (10 points) Milestone 4: recover a small fi le. (15 points) Milestone 5: recover a large contiguously-allocated file. (10 points) Milestone 6: detect ambiguous fi le recovery requests. (5 points) Milestone 7a: recover a small fi le with SHA-1 hash. (5 points) Milestone 7b: recover a large contiguously-allocated file with SHA-1 hash. (5 points) Milestone 8: recover a non-contiguously allocated file. (5 points) Tips Don t procrastinate This lab requires signifi cant programming effort. Therefore, start as early as possible! Don t wait until the last week. Some general hints Before you start, use xxd to examine the disk image to get an idea of the FAT32 layout. Keep a backup of the hexdump. After you create a fi le or delete a fi le, use xxd to compare the hexdump of the disk image against your backup to see what has changed. You can also use xxd -r to convert a hexdump back to a binary fi le. You can use it to hack a disk image. In this way, you can try recovering a fi le Lab 4: File Recovery 17/18 manually before writing a program to do it. You can also create a non?contiguously allocated file artifi cially for testing in this way. Always umount before using xxd or running your nyufile program. When updating FAT, remember to update all FATs. Using mmap() to access the disk image is more convenient than read() or fread() . You may need to open the disk image with O_RDWR and map it with PROT_READ | PROT_WRITE and MAP_SHARED in order to update the underlying fi le. Once you have mapped your disk image, you can cast any address to the FAT32 data structure type, such as (DirEntry *)(mapped_address + 0x5000) . You can also cast the FAT to int[] for easy access. The milestones have diminishing returns. Easier milestones are worth more points. Make sure you get them right before trying to tackle the harder ones. Thislab has borrowed some ideasfrom Dr. T. Y. Wong. Lab 4: File Recovery 18/18
PROG8021 Assignment 3 Important Notes: • This is an individual assignment. • I will be checking for borrowed or copied assignments. All work is to be done from scratch, you may not use any templates or other assistance. Do not reuse your old assignments. • This assessment is out of 20 marks total. Note: In this assignment you must write server-side validations and do server-side processing using only Express web application framework. All the validations and form processing must be on the server-side only. No marks will be awarded for client-side validations or client-side processing of the form. Tasks: In this assignment, you are to develop a web application for an online store. The type of store that you design, and its products and inventory is left to your discretion. 1. HTML Static Content - Web Form. served using Express. (3 marks) • The front end must collect all the information needed to make a sale to the customer. I have included a few in the description which are mandatory and must be included in your form. • At least 3 products should be available for purchase. Customer can select any product. The application’s business logic must handle the products correctly. 2. JavaScript. – Server-side form. validations and server-side form. processing: • All JavaScript. code must be located on the server-side. (1 mark) • The following user inputs must be validated: • Mandatory fields (2 Marks): • Name • Address • City • Province • Fields with specific format (2 marks): • Phone number validation. eg: 5198201234 • Email validation. eg: [email protected] • If any errors exist, display a unique message for each erroneous input. Do not use a JavaScript. popup box for this purpose. (1 mark) • Generate a receipt to give to the customer, including all the information entered by the user and the products bought. Use only server-side scripting for this. Do not use any client-side code for processing the form. (2 marks) • Calculate and include sales tax for each province/territory in Canada. (1 mark) • Make sure that the receipt is generated only if the customer has bought products worth $10 or more. Otherwise give an error to the customer and tell them that the minimum purchase should be $10. (1 mark) 3. Video demo explaining your code and showing the final execution of the assignment. Make sure to showcase all the form validations mentioned above properly and then submit the form. to generate the receipt. For the video demo, you are not required to use your camera, but you can if you want. You are only required to record your screen and your voice explaining the solution. Please submit .mp4 files only. You can use Zoom/PowerPoint for doing that, but you can use any other software for recording the video too. (5 marks) 4. Programming Style, Standards, and overall completion of the tasks. (2 marks) It is a good idea to practice conforming to a set of programming standards. Refer to the posted summary of the IT Standards posted in IT Programs > General Resources. You can choose the design,fonts, and colors as per your preference if you fulfill the minimum requirements mentioned above. You can name your online shop as per your liking and the product names too. Submissions: To submit this assignment: 1. Once you are finished, you are to submit 2 files, separately. 2. Place all your code into a single folder. Zip this folder and submit the .zip file (.RAR or any other compression type is not accepted) and .TXT file of your assignment separately toeConestoga portal. 3. Follow the steps to create a .zip file: a. Mouse right-click on your assignment folder (directory). b. Click on “Compressed (zipped) folder” menu item. c. New .zip file will be created. Rename the file according to requirements. d. Upload the .zip file toeConestoga portal. 4. You must copy and paste all your source code from your assignment files into a separate plaintext file. a. You can copy and paste the source code into Notepad. b. DO NOT add it inside your zip file - it must be a separate file. 5. This is used for TurnItIn (it won't examine the contents of zip files). You don't have to format this code - it's used by TurnItIn (the originality checker, which is a piece of software that checks your submission for plagiarism against other submissions in the college, in other colleges, from the web, and various other sources). 6. Upload the video explanation separately from your code zip file. Please do not zip your video with the code. You may have to make a second submission for that as the dropbox only allows you to submit one file at a time. Submit .mp4 files only for the video. Note: • If these submission instructions are not followed, Grade 0 will be granted. • If TXT files are not provided, Grade 0 will be granted. • You can submit multiple times if you want. • Please mention in comments which submission to evaluate. • Also note that if you submit after the due date, late penalties apply as per your classroom policies.
FACULTY OF ENGINEERING Coursework Component (worth 100% of total weight for unit) for the assessment of EENG30013 POWER ELECTRONICS, MACHINES AND DRIVE TECHNOLOGIES Autumn 2024 DEADLINE: 13:00 UK Time on Thursday 28th November 2024 (Week 11) Design and loss and performance assessment of an 3-phase AC permanent magnet synchronous machine-based drive for use in a high-speed express elevator in “The Shard” Assessment requirement The aim of this assessment is for you to demonstrate your ability to use your understanding of taught content and the simulation techniques and principles taught in the various elements of this unit to design and assess an electric drive system. As such you should be aware that there is no “right” answer to the problems here and that you are being assessed in how you approach and synthesise the design and how you analyse and demonstrate the suitability of your design solution to the problem you have been set. The suggested approaches included in this script. are just guides to help you through this exercise, however you don’t have to follow them as long as your own approach achieves the requirements for each part of the study. General Design Problem We will use an express elevator for “The Shard” in London as the fictional case study. The full drivetrain that you will be exploring is shown inFigure 1. You are investigating the design of an electric drive that uses a conventional 3-phase, 2-level inverter with an 3-phase AC permanent magnet synchronous machine as a motor. The motor outputs a lifting torque for an express elevator through a mechanical gearbox connected to the permanent magnet synchronous motor through a mechanical shaft. The output of the gearbox is connected to a drum around which as series of lifting wires are wound that connect to the lift. The lift has a counterweight whose mass is 100% of the mass of the lift carriage (600kg) and 40% of the design load (10 people of 80kg). Figure 1: Elevator Drivetrain For rigorous testing you are required to assess the capability of your electric drive when it lifts the express elevator through 95 floors (300m) in around 90 seconds with its maximum load. During this time, the elevator needs to accelerate at a fixed rate over 3.5 seconds to a steady-state speed,̇(x)1(steady) = 3.5 m/s, and then decelerate to zero speed over 3.5 seconds at a fixed rate. This is equivalent to an acceleration and deceleration of̈(x)1 = ±1m/s2 The elevator vertical speed vs time profile equivalent to this requirement is shown inFigure 2. The power supply available to the inverter is a rectified 3-phase 230VRMS AC domestic supply equivalent to approximately 325VDC. You are not required to simulate or consider the rectification stage. Details Lift requirements The lift must be able to travel a distance of 300m in 90s. For the purposes of this exercise, you are asked that the speed vs time profile have the form. shown below: • accelerate the lift linearly to the steady-state velocity,̇(x)1 = 3.5m/s, from t = 0s to t = 3.5s, • maintain the lift speed at steady-state velocity, ̇(x)1(steady) = 3.5m/s from t = 3.5s to t = 86.5s, • decelerate the lift linearly from the steady-state velocity,̇(x)1(steady) = 3.5m/sfrom t = 86.5s to t = 90s. This results in a linear velocity Vs time profile x1 (t) for the lift that has the form. shown inFigure 2. Lift Velocity (x1) Vs Time Profile for Required Operation (Positive Velocity = Lift Moving Up) Figure 2: Required linear velocity Vs Time profile You will need to ensure and demonstrate that this speed time profile results in a required peak AC voltage that doesn’t exceed the electrical supply limits. Recall that the rectified DC input to the inverter is VDC = 325V. The current limit will be determined by your final power semiconductor selection. Design Challenge Overview Your challenge is to undertaken design and analysis of the electric drive at three levels: MACHINE – Convert speed Vs time requirements into a torque Vs time and assess efficiency of a single operation cycle based upon the load described. Calculate voltage and current at two specific operating points given. DRIVE (CONVERTER) – Use a 3-phase, 2-level converter to generate the required voltage waveforms and assess the impact of the PWM generated waveforms on harmonic content, resulting machine loss and DC link ripple. Do this at the operating points from the machine tasks. POWER ELECTRONICS (SWITCHES) – Select an appropriate switch and diode pair to model in detail for the converter and assess device losses over a single electrical cycle. Select a heatsink and assess thermal performance. Coursework Instructions MACHINE (A) Use the speed Vs time profile (Figure 2) and details of the mechanical load (Figure 1) to determine the motor torque vs time profile and demonstrate that this is correct based upon a simulation. (B) Based upon the results from(A) use the machine parameters to determine the voltages and currents required at the following operating points (shown as stars on the speed Vs time profile inFigure 2) and assess any loss at these points. • Operating point 1 (P1): Maximum positive electromagnetic torque at maximum positive velocity (time, t = 3.49s). Assume at this point, the electrical frequency of the machine is fe = 25Hz • Operating point 2 (P2): Half way through the deceleration phase at time t = 88.25s (or when ̇(x)1 = 1.75m/s). Assume at this point, the electrical frequency of the machine is fe = 12. 5Hz (C) Demonstrate the validity of your voltages and currents using a simulation and finally assess efficiency of the electro-mechanical energy conversion process at these operating points. DRIVE (CONVERTER) (D) Using the operating points detailed in step(B), assess the harmonic spectrum, total harmonic distortion and capacitor ripple for a 3-phase, 2-level inverter that result from one or more modulation schemes and sampling methods. Focus on delivering a simple solution that could be easily implemented on a digital, low-cost micro-controller. Select an appropriate switching frequency, fsw and sampling interval, Ts based upon the calculated fundamental electrical frequency of the machine at the highest rotational speed. • Remember for effective use of the FFT tool to ensure that the switching frequency,fsw is an integer multiple of the fundamental electrical frequency of the machine at your selected operating point. • You will be provided with a capacitor datasheet on blackboard from which you can construct your DC link capacitance (E) Use the harmonic spectrum from (D) to assess the impact of harmonic components above the fundamental frequency on loss in the machine. Assume that for the purposes of this calculation that you can use the machine resistance, Rs and inductance, Ls = for all frequencies POWER ELECTRONICS (SWITCHES) Use the outcomes from(B)and(E)to select a switch and diode to use in the converter based upon the range of devices selected for you and whose datasheets will be made available on blackboard. (F) Model the total loss in the converter arising from the switch and diodes over a single electrical cycle at the chosen operating points (G) Select a heat sink to allow the devices to remain in a safe operating region thermally. SUMMARY (H) Summarise key aspects of your design process , reflect on your design. HIGHER MARKS If you have time and want to achieve the higher marks, then change at least one aspect of your design and redo your analysis for the drive reflecting on the outcome of the change made. Ideally, you should be exploring an optimisation to make operation more efficient or effective. Provided models LINKS TO SUPPLIED MODELS -https://tinyurl.com/EENG30013CourseworkSubmit2425 You have been provided with a model that contains a standard PMSM machine model implemented in SIMULINK with the model parameters for the motor being considered. Elevator Drivetrain ( Load) Parameters The parameters that describe the details of the load shown schematically inFigure 2are given inTable 1. Table 1: Mechanical Load Parameters Machine Parameters Parameters that define the 3-phase, AC, Permanent Magnet Synchronous Machine (PMSM) machine are given inTable 2. They are based upon the B & R Automation 8KSC96 motor. Table 2: Machine Parameters Datasheets A datasheet for • the motor (B & R Automation 8KSC96) • the semiconductor devices (Switch and Diode) • the capacitor for this problem, • the heatsinks to be considered are provided in “Datasheets” item on Blackboard in the “Assessment, submission and feedback” for this unit.
BUSINFO 705 Group Project Assignment (30%) Quarter Four 2024 This Group Project Contains: One Group Project Report Weighting: This group project is worth 30% of your final grade. Submission Instructions: Please submit the following files: (1) Group Report, (2) Your Excel File (this should contain the data and the details of your models you worked on and your calculations), (3) Team Task Allocation Form, and (4) Meeting Minutes to Canvas. Note: The Excel file will not be marked and does not contribute to your grade, but we reserve the right to check if the information in the report corresponds to the information in the file. Final Individual Marks for This Group Project: 1. Your final individual mark for this group project will be adjusted based on peer-review evaluations (via Feedback Fruits) received from other team members. 2. The teaching team will evaluate your actual contributions to the group work to make any necessary adjustments to your individual mark. 3. The purpose of this approach is to encourage students to put forth their best effort in this group assignment, which aligns with the Graduate Profile Capability for Collaboration. 4. Further details regarding this process will be provided on Canvas and discussed in-class. Word Count: The stipulated word count for the report is 2000 words (±10%, line spacing 1.5, font and size: Times New Roman 12). The word count includes tables but excludes the cover page, the executive summary, the reference list, and any appendices. Your executive summary should be on the cover page and not exceed 200 words. Format of Group Report: 1. Please use a professional report structure that includes • an executive summary, • introduction, • main body, • conclusion (insights from the findings and recommendations to the customer), • reference list (if references are cited) • academic honesty declaration (refer to page 8-11) 2. Organise your work using headings and sub-headings, and carefully check your grammar and punctuation. 3. You can find more detailed information about the structure of a report from here: https://www.grammarly.com/blog/how-to-write-a-report/ Graphs, Tables and Charts: Graphs, tables, and charts should be produced using Excel or other statistical software. Please note that graphs, tables, and charts should be selected and created carefully, and when included, must be discussed in your report. Other Instructions: A draft can be submitted via Canvas for language feedback from the Business Communication Team, up to 60 hours prior to the submission deadline. Answers should be processed in MS WORD or PDF format. References: If you include references, they should be in APA 7 format. The Use of Generative AI Tools 1. You are not permitted to copy sentences or paragraphs from tools or software which generate multiple connected ideas in sentences when completing this assessment. This is because we need to assess your ability to develop and organise ideas, in particular, to report and interpret analytical output, and we are unable to do so if you use a tool that does this on your behalf. Examples of such tools/software include (but are not limited to) ChatGPT and Gemini. You may only use these Gen AI tools in the writing process to 1) brainstorm ideas and 2) edit your work. If you use these tools, you must acknowledge them in your work by attaching an Appendix illustrating how you have used them. You may also use Gen AI tools to draw or generate graphs. Such graphs must be clearly acknowledged using citations as indicated on the Quick Cite website. You must reference any use of such tools. 2. For guidance on how to reference AI generated content in your writing, visit Quick©ite (or by this link: https://www.cite.auckland.ac.nz/2.html). 3. Please be aware of the limitations of Gen AI tools. 4. Please refer to the detailed guide provided at the end of these assignment instructions. Submission Policy: 1. Please take note that you are responsible for any possible technical issues that may occur while submitting your assignment. We recommend that you submit your assignment at least half an hour before the deadline to allow for any unforeseen issues. 2. The assignment instructions have been available since Week 1, and the submission link will open 48 hours before the deadline. This should provide ample time for you to complete the assignment and submit it on time. 3. The deadline for submission is 11:59 pm NZT on Tuesday, 26th November 2024. Please be aware that if you submit even one second late, it will be considered a late submission and subject to a late submission penalty. We recommend that you prepare for any potential technical issues and treat the deadline is 11:58 pm to ensure that your submission is on time. 4. Any late submissions will automatically incur a 5% (per day) mark reduction per day, applied directly by Canvas as part of the late submission penalty. 5. The submission link will close at 11:59 pm, Friday, 29 November 2024. This Assignment Links to the Following Learning Outcomes: LO2. Manage and assess the trade-off between modelling assumptions and tractability in authentic case studies (Capability 1 and 2) LO3. Formulate , justify, and evaluate models for decision-making (Capability 2 and 3) LO4. Present and articulate your own opinions both in class exercises and for your models on key modelling assumptions and likely decision biases in using the models (Capability 1, 2, 3, 4.1, 4.2, 4.3 and 5.1) LO5. Contribute to a team to complete an open-ended modelling project (Capability 3 and 4.3) And Helps to Develop These Graduate Attributes: 1. Disciplinary Knowledge and Practice 4. Written Communication. Background: You are a financial advisor at GSM Bank, based in Auckland, New Zealand. Emily, a 30-year-old data analyst working for a leading tech company, approaches you for advice. She earns a salary of NZD 80,000 and expects an average annual raise of 3.5% with a standard deviation of 0.7%, based on her industry and career prospects. She has been contributing to her superannuation scheme which matches 100% of her contributions up to 3% of her salary. She currently contributes the maximum amount to take full advantage of her employer's match. However, she is uncertain if her current strategy will meet her long-term financial goals. Emily is committed to ensuring her retirement plan aligns with her vision of a comfortable lifestyle. at 65, which she envisions as being financially secure enough to maintain her current standard of living, travel regularly, engage in leisure activities, and have sufficient funds to cover healthcare and other unforeseen expenses in retirement. Emily's current superannuation account is diversified across three different funds: • Stable Bonds Fund (Stable): A conservative fund, investing in government bonds and fixed-income securities, averaging an annual growth of 3.50% with a volatility measure of 4.00% over the past decade. • Balanced Hybrid Fund (Balanced): A balanced fund, with a mix of stocks and bonds, showing a ten-year average growth of 6.50% and a volatility of 8.50%. • SkyHigh Equity Fund (SkyHigh): A growth fund, focusing on equities, with a historic ten-year growth rate of 10.50% and a volatility of 20.50%. She distributes her contributions as follows: 40% into Stable, 40% into Balanced, and 20% into SkyHigh. As her financial advisor, your task is to help Emily develop a strategy for her superannuation fund that optimises her returns while aligning with her risk tolerance and retirement goals. Assignment Tasks: When preparing your report, please ensure that you answer each of the tasks below thoroughly. Structure your report by clearly labelling sections with relevant subtitles corresponding to each question. This will help in organising your findings and arguments systematically. Provide comprehensive explanations, analyses, and justifications for each of your answers, supported by relevant financial theories, data, and calculations where appropriate. Your report should not only present your conclusions but also the reasoning and methodology behind them, allowing for a clear understanding of your analytical process. The tasks are: 1. Superannuation Strategy Review: a. Evaluate Emily's current investment allocations. Consider the balance between risk and return in the context of her age and retirement goals. b. Assess the sufficiency of her current and projected contributions towards meeting her expected retirement needs. Consider her current salary, expected salary increases, and contribution match from her employer. c. Provide recommendations for any adjustments to her superannuation strategy to better align with her long-term financial goals. 2. Projection Methodology: a. Propose a method to project the future value of Emily's superannuation fund by the time she retires at age 65. Consider the variability in salary increases and fund performance. Describe how you would account for these uncertainties in your projections. b. Discuss the strategies you would implement to ensure that your analysis covers a wide range of scenarios and remains robust under various conditions. 3. Analysis Framework: a. Detail the steps you would take to implement your proposed projection method from Question 2 “Projection Methodology”. Describe how you would use this framework to evaluate the potential future value of Emily's superannuation. b. Discuss how you would interpret the results of this analysis, considering various potential retirement scenarios. Final Guidance for Assignment Submission: As you conclude your analysis and prepare your report, please remember: • Implementation and Reporting Guidance: While structuring your report around the specified questions and tasks, ensure the last section is dedicated to effectively communicating your findings. This should be done in a manner that is clear and comprehensible, particularly for Emily, who may not have a background in business analytics. This part of your assignment is crucial for bridging the gap between complex analytical outcomes and practical, actionable advice. • Application of Findings: Additionally, provide a thoughtful discussion on how Emily can leverage the insights gained from your analysis to make informed decisions regarding her superannuation contributions and investment allocations. This discussion should aim to translate your technical findings into strategic recommendations that Emily can easily understand and act upon. This guidance is intended to remind you of the importance of clear communication and the practical application of your analytical work. It is not a separate question or task but a fundamental aspect of how you should approach the overall presentation of your assignment.
Software Development: Programming and Algorithms (SDPA) 2024/25 Forma&ve Assessment Feedback assessment is focused on helping students to develop their skills, knowledge and understanding of the material. Forma&ve assessment will not contribute to your mark. Guidelines are as follows: • Deadline: 13:00 (UK Bme) on Monday, 28 October 2024. • Submission: Details to be provided. • Advice: Develop your answers incrementally. To perform. a complicated task, break it up into steps, perform. each step on a different line, give a new name to each result, and check that each intermediate result is what you expect. General instruc&ons: Submi&ng your work For submiNng your work, you will need to submit a zip file with the name formaQed as _. For example “jp16127_ EMATM0048.zip”. The zip file should contain all the python scripts necessary to run your program. Feedback Your feedback will be based on both correctness and style. • Correctness: How well the program works according to specifica1ons. How good is the quality of your analysis. • Style: The quality of the code and documentaBon. Your code should be well-wriQen and well-commented. You are encouraged to format your code per Python style. guidelines (hQps://www.python.org/dev/peps/pep-0008/). It should be clear enough for another programmer, such as the course staff, to understand and modify it if needed. Quality code is expected to meet our style. requirements: • Every funcBon wriQen is commented, in your own words, using a docstring format that describes its behaviour, parameters, returns, and highlights any special cases. • There is a comment at the top of each code file you write with your name, secBon, and a brief descripBon of what that program does. Software Development Instruc&ons You will design, implement, test, and debug a text-based Greek restaurant simulaBon. This simulaBon must be text-based and will not have a graphical user interface; hence it is not allowed to use turtle, pygame, tkinter or any other API or external library for implementaBon. Only python standard libraries (see below link) can be used. hQps://docs.python.org/3/library/ Task overview A restaurant has food that customers can purchase. Each order requires prompBng the user to select what food and drink they want to order. You should take the order of 3 customers and then summarise the orders and how much profit was made. A. The restaurant sells the following food. Food Cost Per Order Price per Order Gyro Chicken 6.25 7.50 Gyro Vegan 6.15 8.25 B. The restaurant sells the following drinks. Drinks Cost Per Order Price per Order Water 0.25 0.00 Soda 0.50 1.50 C. For each order: a. Prompt the user to select which food they want to purchase. b. Prompt the user to select which drink they want to purchase. c. Display the total price of the order to the user, then prompt for the next order. D. Aher taking the orders, display the total profit made. Task specifica&ons • Errors and excep&ons handling Since you are taking user input, your code will need to handle potenBal errors. Most errors occur in Null values and non-numeric inputs. Make sure you handle these errors. Your program should conBnue to run when given invalid input. Examples of errors to be handled: o No input o Non-numeric o Invalid range (e.g. negaBve values) Example Run: Below is an example of how to interact and what you expect from the basic version of your text-based simulaBon. You may use different messages and output, just be sure that it is user friendly and meets the requirements. python3 main.py Please select your food and drink for order 1 Please enter number for food selection 1 Gyro Chicken 2 Gyro Vegan >>> thisisastrnotanumber Invalid integer thisisastrnotanumber: Please enter a valid integer. Please enter number for food selection 1 Gyro Chicken 2 Gyro Vegan >>> -1 Invalid range -1: Please enter a value between [1, 2] Please enter number for food selection 1 Gyro Chicken 2 Gyro Vegan >>> 1 Please enter number for drink selection 1 Water 2 Soda >>> 1 Order 1 was Gyro Chicken with a Water, price 7.50 Please select your food and drink for order 2 Please enter number for food selection 1 Gyro Chicken 2 Gyro Vegan >>> 1 Please enter number for drink selection 1 Water 2 Soda >>> 2 Order 2 was Gyro Chicken with a Soda, price 9.00 Please select your food and drink for order 3 Please enter number for food selection 1 Gyro Chicken 2 Gyro Vegan >>> 2 Please enter number for drink selection 1 Water 2 Soda >>> 2 Order 3 was Gyro Vegan with a Soda, price 9.75 Total profit 6.35
Archaeology Assessment Description and Rubric Module code ARCH6412 Module name Professional Practice Assessment No. 1 Assessment Title Portfolio Word limit etc. 6500 words % of module 100% 1. Introduction The module utilises both formative and summative methods of assessment. Formative assessment is optional and will take the form. of a submitted draft for the project design element of the summative portfolio. Written feedback will be provided for the formative assessment. Final assessment (summative) will be through a submitted portfolio of work which will test a range of professional practice skills. 2. Learning outcomes to be assessed The Aims and Learning Outcomes for this module are set out in the Module Profile. This assessment seeks to assess the extent to which you have achieved the following: · Gained detailed knowledge of how to design and manage archaeological projects, including post-excavation analysis; · Instruction in the preparation and writing of project designs, desktop assessments and professional archaeological reports; · Detailed knowledge of the publication process with explicit reference to archaeological reports. · Knowledge of the processes and workflows applied in the archaeological sector and heritage industry · Knowledge of project planning and implementation · Knowledge of report production for publication 3. What to submit Final assessment (summative) will be through a portfolio of written and illustrated work. This will include: · An Archaeological CV detailing your relevant qualifications and experience (5% of total mark). · A written and appropriately illustrated project design (length 3,500 words max.) (35% of total mark). · A written excavation structural report with supporting data, containing illustrations produced by yourself (length 500-2,500 words, dependent upon complexity of features and deposits) (35% of total mark). · A publication-style. text developed from the above (max. 500 words) (20% of total mark). · Proof-reading exercise (5% of total mark). Please submit as a single document via Turnitin. The deadline for submission of the portfolio is Thursday 9th January 2025. 4. Marking Scheme and Grade Descriptors The portfolio will be marked according to the Marking Scheme and top level (generic) Grade Descriptors that can be found in section 11 of the Faculty Postgraduate Taught Programmes Handbook, which can be found at: http://www.southampton.ac.uk/studentservices/academic-life/faculty-handbooks.page Please note, in particular, those relating to ‘Portfolios’ and ‘Technical, Lab and Field Reports’. 5. Rubric In addition to the relevant grade descriptors (above) the following table describes how markers will assess your work. Note that this is intended as guidance, and that marking requires markers to use their academic judgement about the quality of the work they are assessing. Area Excellent 70 and upwards Good 60-69 Acceptable 50-59 Poor 49 and below Comprehension Excellent work with few or any flaws. Shows understanding of a range of complex reporting and decision-making processes. Very good work with very few flaws. Shows good understanding of a range of reporting and decision-making processes. Acceptable work with some significant flaws. Shows basic understanding of a range of reporting and decision-making processes. Very poor work with many significant f laws. Shows very little or flawed understanding of a range of reporting and decision-making processes. Research Addresses a wide range of relevant literature and sources. Excellent organisation and structure. Addresses a range of relevant literature and sources. Good organisation and structure. Addresses a few relevant literature and sources. Acceptable organisation and structure. Inadequately engages with relevant literature and sources. Poor organisation and structure. Technical observation and reporting Excellent level of analysis, observation and reporting. Shows a very high level understanding of project design and excavation reporting processes. At best, generates work of industry and publication standard. Shows a capacity to deploy in a highly effective manner appropriate technical language and illustration. Good level of analysis, observation and reporting. Shows a very competent level understanding of project design and excavation reporting processes. Shows a capacity to deploy appropriate technical language and illustration. Acceptable level of analysis, observation and reporting. Shows basic competence in understanding of project design and excavation reporting processes. Shows some capacity to deploy appropriate technical language and illustration. . Poor level of analysis, observation and reporting. Shows little or flawed understanding of project design and excavation reporting processes. Fails to show capacity to deploy appropriate technical language and illustration. Presentation Of a very high, even professional standard. Highly effective use is made of high quality illustrations, photographs and other graphic media. Of a good standard. Proficient use is made of illustrations, photographs and other graphic media. Of an acceptable standard. Basic use is made of illustrations, photographs and other graphic media. Of a poor standard. Inadequate quality of illustrations, photographs and other graphic media, or such are entirely missing.
MKTG6001 (2024 S2) – Final Individual Assignment (30 pts) The final individual assignment consists of two parts as detailed below. Part 1 – Reflective Essay (10pts, word limit 2 pages, 12-point font with 1.5 spacing, not including the appendices) Reflection on reflections: In this reflective essay, you must choose one of your weekly reflections and one workshop content from week 1 to week 12. The purpose of this reflective essay is to demonstrate how your knowledge about marketing research has progressed across the semester in ways that have helped you better appreciate and understand marketing research. Part 1A – Reflection on Canvas Learning Modules (1 page) Within your weekly Canvas modules, you are asked to reflect (think) about your current understanding and also what you have learned at the end of the module - to capture your understanding directly after learning the new material. Please review your reflection collection and choose ONE reflection that was the most illuminating moment that really advanced your understanding of marketing research. Describe the weekly reflection that allowed you to see new, interesting and important ideas of marketing research. You should copy and paste the most illuminating reflection into an appendix (a screenshot of your weekly reflection) · A reflection should NOT just be a description of what you have learned, description is only one part of a good reflection. · You should reflect on o What you thought and felt about what you learned o What you think and feel for now about what you learned o How what you have learned has changed how you think o How what you have learned has changed what you intended to do in the future Part 1B – Reflection on Workshop Activities (1 page) We have learned a number of practical skills and techniques for marketing research throughout the semester: data visualisation (weeks 2 and 4), focus group interview (week 3), survey questionnaire design using Qualtrics (weeks 5 and 6), A/B testing (week 8), text analysis using Python (week 9), data analysis and statistical tests (weeks 10-12), and some advanced techniques (week 13). Please review the workshop activities and choose ONE workshop activity or topic area that you find most interesting and useful. You should reflect on · What you thought and felt about what you learned from the workshop · How what you have learned has changed how you think about marketing research · How what you have learned has changed what you intended to do in the future. For example, what skills you intend to develop further in the future and why? Part 2 – Data Case Analysis (20pts, word limit 8 pages, 12-point font with 1.5 spacing, including all components such as figures, graphs and tables) Overview The objective of data case analysis is threefold. One is to provide you with an opportunity to demonstrate your ability to draw marketing insights by using real world data involving real business challenges. The second is to evaluate your ability to conduct critical marketing research including the entire processes of marketing research such as data preparation, data analysis, and communication and presentation of the key findings. Note that we do not expect any advanced statistical tests for this data case analysis. Remember that you should be professional by achieving effective visual and written communication. Data case analysis should be no longer than 8 pages (Word document), including all components such as tables, figures, references, although we don’t penalize upon the word count and page length. Scenario You are leading the headquarter marketing research team at the TransUnion LLC. TransUnion is an American consumer credit reporting agency. TransUnion collects and aggregates information on over one billion individual consumers in over thirty countries including "200 million files profiling nearly every credit-active consumer in the United States". Its customers include over 65,000 businesses. Based in Chicago, Illinois, TransUnion's 2014 revenue was US$3.83 billion. It is one of the three largest credit agencies, along with Experian and Equifax (known as the "Big Three") Currently, your team is undertaking an important marketing research project which aims (1) to understand the state of customer dissatisfaction about the credit reporting services in the United States, (2) to quantify and visualize the historical and geographical trends in the consumer complaints, (3) to understand the state of consumer dissatisfaction towards the Big 3 credit reporting agencies including your company (TransUnion) and the two major competitors (Experian and Equifax), and (4) to improve customer experience and complaint management system at the TransUnion. Data A dataset about consumer complaints about financial products and services are obtained from the Consumer Financial Protection Bureau (CFPB: https://www.consumerfinance.gov/) which is an agency of the United States government responsible for consumer protection in the financial sector. Each week CFPB sends thousands of consumer complaints about financial products and services to companies for response. Data from those complaints helps to understand the financial marketplace and protect consumers. For further information of CFPB and its databases, you must explore their website (https://www.consumerfinance.gov/). The database includes general and descriptive information of about 500,000 consumer complaints and company responses about the Big 3 credit reporting companies in the U.S. The information available in the database can be found here. This dataset is enhanced further with US census data which includes a number of socio-demographic information at the county-level (FIPS) from SVI. A complete dictionary and description for the variables in the dataset is provided on Canvas (Data Dictionary). Note that you will be provided with a different dataset depending on your SID. Please check your SID and the last digit of SID, and download and use an appropriate dataset. Don’t try to collaborate with other students as it is an individual assignment involving different datasets. In addition, you are expected to bring different and unique angles to the dataset. Key Deliverables in Data Case Analysis Task 1 (10 pts): In the first task, you must provide “thick descriptions” of the state of customer dissatisfaction about the financial products and services in the United States. For this task, you may consider the following questions to answer, but you can attempt to generate other insights about the state of customer dissatisfaction about credit reporting services in the United States. o What is the state of customer dissatisfaction? Quantify and visualize the historical and geographical trend in the complaint volume and complaint rate by location (e.g., ZIP, FIPS, or States) or issues? o How effectively have complaint cases been managed over time? o Are there any event-related (i.e., Covid-19) or seasonal effects on the volume of complaints? o Are there any socio-demographic factors influencing consumer complaints about credit reporting services? Task 2 (10 pts): In the second task, you want to understand customer dissatisfaction about your company (TransUnion) and major competitors (Experian and Equifax). In other words, you have to provide some descriptive insights that can be translated into prescriptive insights for customer management and complaint handling system. Note that Task 2 is a very open-ended question, meaning that you can communicate any strategic insights you find important and interesting. Below are some example questions you may try to address: o How many complaints have TransUnion and its major competitors received? And where do such complaints come from? What is the historical trend in the complaint volume by company or before and after Covid-19? o What kinds of key performance metrics you would use to evaluate the complaint management performance? Based upon some metrics, discuss and compare how effectively TransUnion and its competitors have managed consumer complaints. o Produce a couple of recommendations for TransUnion to manage consumer complaints better than its competitors. Tips…. The above answers are examples only. You may decide on focus on other questions not mentioned above. Consider the use of Tableau.
Description of Assignment SDS 475/5210 Homework 4: Temperature Prediction Model for Saint Louis Due Date 11/15/2024 Class Statistical Computation SDS 475/5210 Overview In this assignment, you will build, evaluate, and interpret a predictive model for TLML, the temperature in degrees Fahrenheit, specifically for Saint Louis. Using a training dataset (data training) with various meteorological variables, you will develop and fit a model to predict Saint Louis temperatures. Once your model is developed and validated, you will test its accuracy using a separate prediction dataset (data prediction), where Saint Louis temperature values have been removed to assess prediction error. You are encouraged to apply statistical techniques learned in class to ensure model robustness and interpretabil- ity. Dataset Description The datasets (data training and data prediction) are provided on Canvas under the “Assignment Data” module. Both datasets contain meteorological data across a spatial grid. data training This dataset provides temperature data (TLML) for Saint Louis, along with other meteorological variables across a grid of locations. Key variables include: • TLML (target variable): Temperature in degrees Fahrenheit. • SWGDN: Surface incoming shortwave flux (Watts per meter square) . • PRECTOT: Total precipitation (Kg per meter square per second) . • QLML: Specific humidity (ratio between 0 and 1) . • SPEED: Wind speed (meters per second) . • PRECSNO: Snowfall rate (Kg per meter square per second) . • Longitude (lon) and Latitude (lat): Represent grid coordinates (not used for model building but can be used for visualization) . data prediction This dataset mirrors the structure of data training but is intended for testing your model. In data prediction, Saint Louis temperature (TLML) has been set to NA across all time points, and your goal will be to predict these missing values. Saint Louis Coordinates • Latitude: 38.63 • Longitude: -90.20 Instructions for Locating Saint Louis in the Data To locate the grid indices closest to Saint Louis, use the latitude and longitude vectors in data training and data prediction. Here’s an example of how to find the grid indices in R: # Define Saint Louis coordinates st l l at