Assignment Chef icon Assignment Chef

Browse assignments

Assignment catalog

33,401 assignments available

[SOLVED] ECON333 Industrial organisation Industry report discussion

ECON333: Industrial organisation Industry report: discussion Industry report: Questions Select an industry on which the assignment will be based. Then prepare a report on the industry that answers the following questions. a) Identify the key features of structure, conduct and performance in the industry. To what extent does the S-C-P paradigm provide a valid explanation of the conduct and performance in the industry? b) Examine ways in which new and existing firms attempt to enter the industry and to expand. What barriers to entry and mobility exist and how do firms overcome them? c) Select one or two topics or theories or concepts from lectures. Describe how your chosen topic(s) explain the structure and/or conduct and/or performance of your selected industry. Possible project structure Introduction (this can be very short) • motivation: why is your industry interesting/important? • define your market/industry (this could also go in the next section) • (if you have needed to exercise judgement in this definition, a brief explanation may also be useful) • road map Structure, Conduct, and Performance • identify key elements of S-C-P • industry analysis: critically evaluate the ability of the SCP paradigm to explain conduct and performance Entry • how do firms enter and grow? • what barriers to entry are there? • (If there is no entry, what are most important barriers to entry?) Possible project structure Topics from class • explain your chosen topic(s) • how does each topic explain structure and/or conduct and/or performance in your industry? Conclusion (can also be quite short) • summarise your main findings • if appropriate, discuss any implications

$25.00 View

[SOLVED] Computer Science 460 Practice Midterm Exam

Computer Science 460 Practice Midterm Exam Part I. Multiple-choice (2 points each) On the actual exam, you will need to darken the bubble for each multiple-choice answer in a grid on the cover page of the exam. Make sure to completely fill in the appropriate bubble, and to erase any stray marks. 1.    Given the portion of an ER diagram shown above (with a thickened arrow from R to A), which of the following statements are true? I.   R connects each entity in A to at least one entity in B II.  R connects each entity in A to at most one entity in B III. R connects each entity in B to at least one entity in A IV. R connects each entity in B to at most one entity in A A.       only I and II B.       only II and III C.       only I and IV D.       only III and IV E.       all four statements are true 2.    Consider a relation R(a, b, c) having the following tuples: (1, 20, 100), (4, 20, 100), (2, 15, 100), and (1, 18, 100). Which of the following attributes or attribute combinations could be the primary key of the relation? (Assume that no additional tuples will ever be added.) A.       attribute a B.       attribute b C.       either the combination (a, b) or the combination (a, b, c) D.       either the combination (b, c) or the combination (a, b, c) E.       only the combination (a, b) 3.    You are given a table named Alums that contains the names and personal information of all graduates of the college that you work for.  It includes name and age attributes, and a state attribute specifying the state in which a person resides. Consider the following SQL queries: I.             SELECT name, MIN(age) FROM   Alums WHERE  state = "CA"; II.            SELECT name, age FROM   Alums WHERE  state = "CA" AND age

$25.00 View

[SOLVED] ECON4003 Economic and Business Forecasting S2 2024-25 Assignment 3

ECON4003 Economic and Business Forecasting S2, 2024-25 Assignment 3 Due: Thur (in class), May 8, 2025 There are four monthly time series contained in the Assignment 3 Dataset file. Pick one of these and perform. the analysis below. The sample size should cover period from Jan 2003 to the latest available. The analysis should include: 1)  A plot of your raw data (i.e. before any adjustment) and a discussion of what time series decomposition components are potentially existent. 2)  An examination of the trend and/or seasonal factor modeling to see if these terms have to be incorporated into your model. 3)  An examination of the autocorrelation and partial autocorrelation functions (use maximum displacement/lag of 24) and discussion of the Q-test results. 4)  An estimation of the information criteria for each ARMA model order from (0,0) to (5,5). 5)  An estimation of the model that you feel most appropriate given the results that you found from the 3) and 4). 6)  The 1-step ahead forecast, 2-step ahead forecast and 3-step ahead forecast given the estimation results from part 5). See part (f) below for the needed procedures. 7)  The construction of a forecasting framework to compare the forecasting accuracy of i.          Your chosen ARMA model (with trend and seasonal components when applicable) ii.        An arbitrary ARMA(1,1) (Hints: you need to compare MSE or other model selection criteria of the two models i. and ii.) Marking scheme:    This assignment is about data analysis with EViews (or other software), and the following marks are allocated to the respective questions. With the selected series, each question should be addressed in terms of snapshots from Eviews (or other software) or tables in the submitted solution by students. Appropriate explanation may also be provided  if necessary. (a)   (10 marks) Plots of data and general discussions. (b)   (15 marks)  Checking procedures  for trend and seasonal components, e.g. how do you decide what specifications to be used for those components. (c)   (15 marks) ACF and PACF tables or figures should be provided and Q-test results discussed. (d)   (15 marks) AIC and SIC comparison tables should be given from (0, 0) to (5, 5). Further explanation for model selection should be provided. E.g. other than the AIC and SIC, what other features of your chosen model from 5) above show that it is an appropriate choice. (e)   (10 marks) Discuss if the suggestion from observing part (c) is consistent with those indicated in part (d). (f)    (20 marks) Re-estimate your model by leaving out the last three observations of your sample data for checking forecasting accuracy. Conduct the  1-step, 2-step and 3-step ahead forecasts by either manual calculation or EViews, Gretl or any other software you used. If done manually, use the recursive forecasting discussed in class. (g)   (15  marks)  Using the MSE introduced in Assignment 1 to compare the  forecasting accuracy of your chosen model and that of a benchmark ARMA(1,1) model. Compute both the in-sample MSE and the out-of-sample MSE [for out-of-sample forecast, note that from (f) there will be just one 1-step ahead, one 2-step ahead and one 3-step ahead forecasts].

$25.00 View

[SOLVED] Assessment 3 Data driven marketing strategy

Assessment 3: Data driven marketing strategy Type: Dashboard creation, presentation and report Weighting: 45% Method: Dashboard and presentation, report Length: 5-7 minute presentation, 700 to 800 word report Submission type: pbix file, recorded screen presentation and a word document. Assessment description Today, business managers can comprehensively understand their current and future activities through improved visualisation. They can use tools to make informed decisions.  The purpose of this two-part assignment is for you to interpret and convey insights from a dataset by applying descriptive analytics (Part 1) and predictive analytics (Part 2) to two separate scenarios. Visualising data through a dashboard will involve combining data analysis with computer graphics to identify trends, patterns and relations. Predicting the future through widely used regression analysis techniques will help to estimate a future outcome based on variable inputs. By successfully completing this assessment, you will be able to apply your knowledge to developing dashboards and presenting your findings to your stakeholders in a report. These skills are greatly sought after in industry. Completing this assessment will support you in your application of the course content and build your practical, work-ready skills. This assessment is based on the content covered in modules 1 and 2. This assessment will provide evidence of your abilities against the following unit learning outcomes: ULO2: Define the role of big data in contemporary marketing practices ULO3: Apply big data analysis tools to develop customer insight and undertake marketing decisions ULO4: Critically reflect on the ethical aspects of big data and marketing analytics including privacy and security ULO5: Apply automated technology and analytical processes to marketing-related data, and to create data driven marketing strategies  Assessment instructions Part 1: Dashboard development and recorded presentation (30 marks) Imagine you have just been employed as a business consultant. Your first task is to develop an interactive dashboard based on a dataset they have provided. This client would like you to develop some instructions on how to use the dashboard as they are unfamiliar with developing or using dashboards. They would like you to record an approx 5-to-7-minute presentation of the dashboard along with any findings on the dataset. Ensure you limit your choice of tools to the contents of Modules 6, 7, 8 and 9. There are two deliverables for this part: pbix file Video presentation Download the data file here: marketing-campaigns data.xlsx Download marketing-campaigns data.xlsx If you cannot open the file above, try here: /courses/17359/files/5768219 Examine the data carefully to understand it. Variable names are: campaign_name: This column contains the name of the marketing campaign start_date: This column contains the start date of the marketing campaign end_date: This column contains the end date of the marketing campaign budget: This column contains the budget for the marketing campaign. It is a float between 1000 and 100000 with two decimal places. roi: This column contains the return on investment (ROI) of the marketing campaign. It is a float between -1 and 1 with two decimal places. ROI is usually calculated as (revenue - cost) / cost. type: This column contains the type of marketing campaign: email, social media, webinar, or podcast target_audience: This column contains the target audience of the marketing campaign: B2C and B2B. B2B stands for business-to-business, and B2C stands for business-to-consumer. channel: This column contains the channel of the marketing campaign. conversion_rate: This column contains the conversion rate of the marketing campaign. The conversion rate is usually calculated as (number of conversions/number of visitors) * 100%. revenue: This column contains the revenue of the marketing campaign Connect the dataset with the visualisation tool. Transform. the data using Power Query Editor in Excel or Power BI. Ensure data quality checking the data types for each attribute. You will need to: cleanse data, replace values (if needed), and unpivot columns (if needed). Prepare multiple tables and link using PowerQuery Modelling or other modelling if using Power BI. Create the visualisation dashboard. Record a screen presentation or ppt with sound overlay of the dashboard briefly describing and demonstrating the process from: Introducing yourself connecting the dataset, transforming the data, integrating (if required) and describing the interactive visualisation dashboard. Download the pbix and upload it to Canvas Upload your video presentation. Part 2 - Predictive analytics and report (15 marks) Your boss was so impressed with the work you did with your dashboard and presentation, that she has decided to assign you a more complex task from a much-valued client. This client wants you to perform. some predictive analytics, particularly to find out which country to market to based on your analysis. Specifically, you have been asked to make predictions using regression modelling and then prepare a short (700 – 800 word) insight report for this client.  Download the yy data file [link] /courses/17359/files/5840725 (If this isn't working, go to 'modules' on the left side, assignments, and navigate to Assignment 3, Part 2 data Apply multiple linear regression to find out sales forecast for country A and B. Prepare a report explaining the findings that includes the following areas: Introduction (150 words), Regression outputs for countries A and B in tabular form, Findings and insights (country profile analysis to support findings) (400 - 500 words) A conclusion and recommendations (150 words). Assessment formatting guidelines Microsoft PowerPoint APA Referencing Style. (Reference list is not included in the word count) Students' names are not to be included on any assessment tasks/submissions. Only student ID numbers should be included (as per the Assessment Policy and Assessment Procedures which can be found in the University Policy Library: Academic). Please note this assessment will be reviewed by the University’s plagiarism checking software (Turnitin) and, with reasonable grounds, be subject to further inquiry through the Office of the Associate Dean of Education.

$25.00 View

[SOLVED] EECS 31L Introduction to Digital Logic Laboratory Spring 2025 Lab 3 Processor Components Ja

EECS 31L: Introduction to Digital Logic Laboratory (Spring 2025) Lab 3: Processor Components (Revision: v1.1) Due: May 11, 2025 (11:59 PM) Revision v1.1: Code 3 should be inside the InstMem module definition. Through this course, we will design a single-cycle RISC-V processor.  We have already designed some of the modules needed in a single cycle processor. In this lab, we will design a few other essential components in a processor. We will build a high-level module to connect the lower-level modules in the next lab. 1 Single Cycle Processor The building block of a single cycle processor is shown in Figure 1. The instruction execution starts by using the program counter (PC) register to supply the instruction address to the instruction memory.  After the instruction is fetched, the register operands used by an instruction are specified by specific bit fields of that instruction. Once the register operands have been fetched from the register file, they can be operated on to compute a memory address (for a load or store instruction), to compute an arithmetic result (for an integer arithmetic-logical instruction), or an equality check (for a branch). If the instruction is an arithmetic-logical instruction, the result from the ALU must be written to a register. If the operation is a load or store, the ALU result is used as a memory address to either store a value from the registers or load a value from memory into the registers. The result from the ALU or memory is written back into the register file. The blue lines interconnecting the functional units represent buses, which consist of multiple signals.  The arrows are used to guide the reader in knowing how information flows.  Since signal lines may cross, we explicitly show when crossing lines are connected by the presence of a dot where the lines cross. Some of the inputs (RegWrite, ALUSrc, ALUCC, MemRead, MemWrite, MemtoReg) are control signals which are derived by a module named “Control Unit”. You will design the control unit later in Lab 5. Figure 2 shows the list of instructions our single cycle processor supports. 1.1 Lower Level Modules As you can see in Figure 1, there is a top module (Datapath) and nine lower-level modules (FlipFlop, Adder, InstMem, RegFile, ImmGen, Mux (two instantiations), ALU, and data mem).  In this lab we will design four lower-level modules including FlipFlop, InstMem, RegFile, and ImmGen.  For each of these modules, you need to create a new source file and run some testing scenarios to validate their functionality. 1.1.1 Flip-Flop Flip-flops are the simplest memory elements. D flip-flop stores the value of its data input signal in its internal memory. It has three inputs and one output. The inputs are the data value to be stored (d), a clock signal (clk) that indicates when the flip-flop should read the value on the d input and store it, and a reset signal (reset) that indicates when the output should set back to the initialized value (usually 0). The output Figure 1: The building block of a single cycle processor. Figure 2: RISC-V Instruction Set. is simply the value of the internal state (q). When the clock input (clk) changes from deasserted to asserted (rising edge of the clk), the q output stores the value of the d input. The value of the output does not change till the next rising edge of the clock. Figure 3 shows the operation of a D flip-flop with a rising-edge trigger. Here we want to design a flip-flop with an 8-bit input “d” and a synchronous reset. Note that synchronous reset means reset is sampled with respect to the clock clk. In other words, when reset is enabled, it will not be effective till the next active clock edge (in our case, it is the rising edge). Figure 3: The D Flip flop with a rising-edge trigger. Use the following code for the module definition of the D flip-flop. Code 1: D Flip-flop `timescale 1 ns / 1 ps // Module definition module FlipFlop ( clk , reset , d , q ); // Define input and output signals // Define the D Flip flop module 's behaviour endmodule // FlipFlop In our single cycle processor, this flip-flop holds the program counter (PC), which is a register that holds the address of the current instruction. We will send this address to the instruction memory to read the current instruction. Test your module: Complete the design for a D flip-flop and also write a testbench to test the following scenario: • In the testbench define the clock signal with a clock period of 20 ns. •  Activate the reset signal for the first 100 ns and the output signal have to be set to zero (at the rising edge of the clock) regardless of the input values. •  After 100 ns the reset signal is inactive and the output should reflect the input values.  Note that the output may change only at the rising edge of the clock. The simulation result for a similar testing scenario is shown in Figure 4: 1.1.2 Adder We need an adder to increment the PC to get the address of the next instruction. For the adder, you can simply use “+” operator. Figure 4: The simulation result for D Flip Flop. 1.1.3 Instruction Memory Instruction memory has one input which is the address line (called addr with 8 bits), and one output which is the instruction we read from the instruction memory (instruction, 32 bits). With the 8 bits address which comes from the PC, we can address 28 bytes (this memory is byte addressable). An instruction has 4 bytes (32 bits). So we can store 28 /4 = 64 instructions in our instruction memory. Hence, our instruction memory capacity is 64 × 32 bits. Figure 5: Instruction memory block diagram In the instruction memory, we need internal storage to store the instructions. We need to define a 2D array to store 64 instructions each with 4 bytes (32 bits). Then, we need to actually store some instructions (which are 32 bits data) in the internal storage. Use the following code for the module definition of the instruction memory. Code 2: Instruction Memory `timescale 1 ns / 1 ps // Module definition module InstMem ( input [7:0] addr , output wire [31:0] instruction ); // Define the Instruction memory module behavior. endmodule // InstMem You need to save the following instruction codes in your Instruction memory for further usage (inside the InstMem module definition).  The comments show the meaning of each instruction and the expected execution result. Code 3: Instruction Memory memory [0] = 32 'h00007033 ;            // and x0 , x0 , x0                 32 'h00000000 memory [1] = 32 'h00100093 ;            // addi x1 , x0 , 1                  32 'h00000001 memory [2] = 32 'h00200113 ;            // addi x2 , x0 , 2                  32 'h00000002 memory [3] = 32 'h00308193 ;            // addi x3 , x1 , 3                  32 'h00000004 memory [4] = 32 'h00408213 ;            // addi x4 , x1 , 4                  32 'h00000005 memory [5] = 32 'h00510293 ;            // addi x5 , x2 , 5                  32 'h00000007 memory [6] = 32 'h00610313 ;            // addi x6 , x2 , 6                  32 'h00000008 memory [7] = 32 'h00718393 ;            // addi x7 , x3 , 7                  32 'h0000000B memory [8] = 32 'h00208433 ;            // add x8 , x1 , x2                 32 'h00000003 memory [9] = 32 'h404404b3 ;            // sub x9 , x8 , x4                  32 'hfffffffe memory [10] = 32 'h00317533 ;          // and x10 , x2 , x3                32 'h00000000 memory [11] = 32 'h0041e5b3 ; // or x11 , x3 , x4 32 'h00000005 memory [12] = 32 'h0041a633 ; // if x3 is less than x4 , then x12 = 1 // 32 'h00000001 memory [13] = 32 'h007346b3 ; // nor x13 , x6 , x7 32 'hfffffff4 memory [14] = 32 'h4d34f713 ; // andi x14 , x9 , "4 D3" 32 'h000004d2 memory [15] = 32 'h8d35e793 ; // ori x15 , x11 , "8 D3" 32 'hfffff8d7 memory [16] = 32 'h4d26a813 ; // if x13 is less than 32 'h000004d2 , then x16 = 1 // 32 'h00000000 memory [17] = 32 'h4d244893 ; // nori x17 , x8 , "4 D2" 32 'hfffffb2c Test your module: Try to set the higher 6 bits of “addr” signal to different numbers between 0-17 (and lower 2 bits addr[1:0] = 2’b00), and see if the output is equal to the corresponding instruction code. Here are two example test cases: • addr[7:2]: 16 (decimal)     the expected output instruction: 32’h4d26a813 • addr[7:2]: 3 (decimal)     the expected output instruction: 32’h00308193 Important note: This instruction memory is byte addressable, hence you need to use bits [7:2] of addr as the instruction index (0-17). Figure 6 shows the simulation result for the second test case: 1.1.4 Register File One structure that is central to our datapath is a register file. A register file consists of a set of registers that can be read and written by supplying a register number to be accessed. For reading from a register file, Figure 6: The simulation result for instruction memory we only need the register number. For writing to a register we need three inputs: a register number, the data to write, and a clock that controls the writing into the register.  Our register file has two read ports and one write port. The block diagram of the register file is shown in Figure 7. Figure 7: Register File We have two 5-bit inputs, the register read addresses (rg rd addr1, rg rd addr2). With 5 bits, we can address 25 = 32 registers. To read from the register file, we give the register read addresses as inputs and the register values should be available at the two output lines rg rd data1 and rg rd data2 (these are 32 bits), regardless of the clock or reset.  To write to the register file if reset input is zero and write enable signal (rg wrt en) is ‘1’ (ON), in the rising edge of the clock we will write the data from input line rg wrt data to the register number rg wrt addr. Unlike what we had for flip-flop, here we want to have an asynchronous reset. It means that regardless of the clk, whenever we have reset signal, we should reset the register file (set all registers to 32’h00000000). Here is the module definition of the register file. Same as instruction memory, we need some internal storage for the register file. Code 4: Register File `timescale 1 ns / 1 ps // Module definition module RegFile ( clk , reset , rg_wrt_en , rg_wrt_addr , rg_rd_addr1 , rg_rd_addr2 , rg_wrt_data , rg_rd_data1 , rg_rd_data2 ); // Define the input and output signals // Define the Register File module behavior. endmodule // RegFile Test your module: • Generate a clock with a clock period of 100 ns. • Set the reset signal as “1”. It means that the reset signal is getting active and set all registers to zero. •  Set the rg wrt en as “1” meaning that it is allowed to write into a selected register. •  Set the rg wrt addr to for example “10010” meaning that you have chosen the register number 18 to write into it. •  Set the rg wrt data to an optional number you would like to write into the selected register. An example result of the simulation is shown in Figure 8. Follow the same steps above again, but set reset signal as “0”. It means the reset is getting inactive. The results of the simulation is shown in Figure 9. If you expand the register file signal in the waveform window, you will see the data is written into the selected register. 1.1.5 Immediate Generator Immediate Generator (ImmGen) receives the 32-bits instruction and based on the opcode, decides which bits of the instruction should be interpreted as the 12-bit immediate. Then, it sign extends the 12-bits imme- diate into 32 bits. The opcode part of the instruction is 7 bit (bit 0 to bit 6). Sign extension means to extend the sign bit. As an example, if the 12-bits immediate are 12’h900 then the output of this module should be 32’hfffff900. Or if the 12-bits immediate are 12’h700, then the output will be 32’h00000700. Figure 10 shows the block diagram.  The Verilog implementation of ImmGen is provided for you and you can use it in later labs.  Test the provided ImmGen module to verify its correctness (optional, no need to include in your report). Figure 8: The simulation results with reset as 0 Code 5: Immediate Generator module ImmGen ( InstCode , ImmOut ); // The input and output signals input [31:0] InstCode ; output reg [31:0] ImmOut ; // The ImmGen modules behaviour always @ ( InstCode ) begin case ( InstCode [6:0]) // I- type - Load 7'b0000011 : ImmOut = { InstCode [31]? {20{1 'b1 }}:20 'b0 , InstCode [31:20]}; // I- type - non - Load 7'b0010011 : Figure 9: The simulation results for writing into Register File Figure 10: The Immediate Generator block diagram. ImmOut = { InstCode [31]? {20{1 'b1 }}:20 'b0 , InstCode [31:20]}; // S- type - Store 7'b0100011 : ImmOut = { InstCode [31]? {20{1 'b1 }}:20 'b0 , InstCode [31:25] , InstCode [11:7]}; // U- type 7'b0010111 : ImmOut = { InstCode [31:12] , 12 'b0 }; default : ImmOut = {32 'b0 }; endcase end endmodule 1.1.6 ALU We completed the ALU design in Lab 2. 1.1.7 Result MUX The MUX on the output of the Data Memory will decide whether the writing data (to the register file) should come from the ALU (ALU Result) or from the Data Memory (DataMem read).  You designed a 2-to-1 MUX module in Lab 1. 2 Assignment Deliverables New Testbench Requirements: To make the grading more efficient, please add the following initial block in your testbench module: Code 6: Testbench Initial Block initial begin $dumpfile (" test . vcd "); $dumpvars ; end Submission Requirements: Your submission should be in a *.zip file and should be submitted to GradeScope.  The ZIP file should include the following items: • Source Code: design and testbench files. (FlipFlop.v, InstMem.v, RegFile.v, and their testbenches) • PDF Report: A report in the PDF format including the simulation results. Compress all files (*.v files + report) into one ZIP file named “lab3 UCInetID firstname lastname.zip” (note: UCInetID is your email user name and it is alphanumeric string), e.g., “lab3 sitaoh sitao huang.zip”, and upload this ZIP file to GradeScope before deadline. Note 1: To make the grading process more efficient, please use the exact same module names, port names, and file names as specified in this manual.  You may lose points if you use different names.  Use the code skeletons given in the lab manual.  The module part of your code (module name, module declaration, port names, and port declaration) should not be changed. Note 2: Start working on the lab as early as possible. Note 3: It is fine to discuss the lab with others, but please write the code by yourself.

$25.00 View

[SOLVED] CETM47 Machine Learning and Data Analytics

MODULE CODE: CETM47 MODULE TITLE: Machine Learning and Data Analytics ASSESSMENT: 2 of 2 TITLE OF ASSESSMENT: Multi-class Classification of Tweets ASSESSMENT VALUE: 50% PLEASE READ ALL INSTRUCTIONS AND INFORMATION CAREFULLY. This assignment contributes 50% to your final module mark. Please ensure that you retain a duplicate copy of your assignment work as a safeguard, in the unlikely event of your work being lost or corrupted online. THE FOLLOWING LEARNING OUTCOMES WILL BE ASSESSED: ●  [LO2] Developed a critical understanding of Machine Learning, Data Mining and Data Analytics tools ●  [LO3]   Developed understanding of the professional, ethical, social and   legal considerations involved in Data Mining and Data Analytics ●  [LO4]  Critically assess, choose and apply the appropriate Machine Learning, Data Mining and Data Analytics formalisms and tools to practical problems ●  [LO5]  Identify and assess data for the use of Data Mining and Data Analytics tools ●  [LO6] Define, explain and interpret the results obtained from the practical application of Machine Learning, Data Mining and Data Analytics tools. IMPORTANT INFORMATION You  are  required  to  submit  your  work  within  the  bounds  of  the   University  Academic Regulations (see your Programme Guide). Plagiarism, paraphrasing and downloading large amounts of information from external sources, will not be tolerated and will be dealt with severely.   The  coursework  submission for this  module  is  largely  based  upon  your  own practice, but where you do use material from other sources, for example an occasional short quote, this  should  be  duly  referenced.  It  is  important  to  note  that  your  work  WILL  BE SUBJECT TO  CHECKS  FOR  ORIGINALITY,  which  WILL  include  use  of  an  electronic plagiarism  detection  service.  Originality  reports  will  NOT  be  available  until  after  the assessment deadline. It is therefore important that you understand the referencing standards and  make  use  of  available  guidance  from   University   Library  resources  for  Academic Referencing. Where you are asked to submit an individual piece of work, the work must be entirely your own, except where you have correctly quoted, cited, and referenced external sources. The safety  of your  assessments  is  your  responsibility.  You  must not permit another student access to your work at any time during the inception, design or development of your coursework submission and must take great care in this respect. Where referencing is required, unless otherwise stated, the Harvard referencing  system must be used (see your Programme Guide or university library website). Use of AI in the production of this assessment submission is strictly prohibited. Use of AI will be considered serious academic misconduct. The module leader and/or marker reserves the right to call students to an interview to defend their report, clarify uncertainties, or verify originality and authorship before finalising a marking decision. Submission Date and Time: Detailed in CANVAS assignment area Submission Location: Electronic submission to CANVAS assignment area Aims This coursework focuses on the practical side of developing a Natural Language Processing Pipeline. The aim is to produce a pipeline for the given task, demonstrating good scientific technique and critical evaluation skills. As part of this you will be utilising industry standard tooling, and the work in this assignment requires the formulation of experiments to determine an appropriate solution. You will be expected to write a report, produce Python code (E.g Python Script or Python Notebook), and a video presentation supporting your findings. Task - Twitter Topic Classification As part of the module you have looked at various techniques within Natural Language Processing, tying them together into a pipeline towards the supervised machine learning problem of classification; often referenced as a pipeline. Your task is to produce a pipeline capable of solving a multi-class classification task in the form. of a research project - whereby comparisons are made and assessed towards the task. For this you will follow the CRISP-DM Methodology (see Figure 2) covered in the module, evidencing your process in your report. Multiple approaches will be compared, and final evaluations and recommendations made. For this assignment you are provided a JSON file containing 6443 entries which represent tweets from the social media platform. Twitter, covering 6 topics. These tweets were gathered between 2019 and 2021 and were human-labelled using Amazon’s Mechanical Turk. The categories of tweet cover a variety of topics, namely: 0.  Arts & Culture 1.   Business & Entrepreneurs 2.   Pop Culture 3.   Daily Life 4.   Sports & Gaming 5.   Science & Technology You will be expected to read-in this dataset yourself using scikit-learn, pandas, and other library functionality; some of which we have covered in workshops. Table 1 outlines the Data Description for the provided dataset.   Figure 1 - Example of a tweet on Social Media Platform, Twitter. Figure 2 - The Standard CRISP-DM Data Mining Methodology.  Table 1 - Data Description for bespoke Twitter Dataset Column Name Description text Raw Content of the tweet. I.e The message posted by the user, including text, emojis, hashtags, and any @ mentions. Contains pre-processed placeholders for certain content. E.g {{URL}} represents a URL that has been replaced by that token;  Specific user mentions are also tokenised {@HipHopDX@} for the user @HipHopDX date Date of the Tweet. Follows the YYYY-MM-DD format. E.g 2021-08-01 label Numeric encoding of the label (As listed above), starting at 0. E.g 2 id ID of the Tweet itself. E.g 1421650405411405828 label_name Human-readable name for the chosen category. E.g “pop_culture” You are expected to appropriately read in the dataset, construct an appropriate pre-processing pipeline, select and apply suitable representational models, perform. any required dataset partitioning, train any relevant classification model(s) (e.g Naive Bayes, Logistic Regression, etc), and then evaluate it on the testing data. For this you should consider aspects of the NLP pipeline, including how we represent textual information and any techniques we’ve introduced which can assist us. An example of this would be the concept of vectorisation. This would be the representation of the text as numeric data, to then feed into appropriate classification models. It is important to have a good methodological approach to this work, to follow the CRISP-DM methodology, and to ensure that experimental design is clear, concise, and well reported. You may wish to consider starting with a simple baseline pipeline and model, and iterating  upon it. It is expected you will use academic literature, alongside experimental evidence, to inform. your decisions and choices and guide your search. Alongside the Python code for the proposed experiments, pipeline, and classification model, you will write a report ( 10 pages maximum ) outlining your solution, the pipeline chosen, the classification model selection, any further processing of the dataset, as well as evaluative results. For the purposes of this report, you should carefully consider experimental design, showing comparisons between various different pipeline choices and classification models you’ve tried, using evaluative metrics to demonstrate an overall ‘good’ solution to the task.  Report Submission A report outlining the steps taken, aligned to CRISP-DM, towards solving the classification    task. This should include any data reading and data pre-processing, the construction of your NLP pipeline and classification model, training, as well as any evaluations. This report should include comparisons of various solution choices (E.g Vectorisation, stop- words, regex filtering, classification model, etc). Therefore, it’s important to present the various experiments clearly, provide rationale behind the hypothesis (why you selected those elements to try), and an evaluative methodology to compare them (how will you select which solution is the best). If you found any ‘interesting’ results through your experiments, you should also present these. The evaluation section of your report should evaluate the overall solutions themselves towards the task, as well as form. a conclusion on which selection (pipeline choices + classification model) is the best with appropriate justification. Commentary may be included in this section on the success of any pre-processing or data manipulation steps you’ve taken. For example, this could be the impact that filtering via regex had on the overall solution. This may be something to consider when setting out your various experiments. For your report, you should follow the headings outlined below: Methodology - Provide details on the methodology applied towards the task undertaken, providing rationale for these steps. This should detail how you went from the raw data provided to the chosen model(s), choice of model, and how this methodology helps address the problem domain. Evidence to support the following of this methodology must be presented, especially any cases which required moving backwards in the process to readdress issues. Results - Presentation of any graphics, figures, tables, charts, etc which constitute as results. This could be the evaluative metrics presented from training of your solutions, it could also be interesting entries discovered through the process. There should be no discussion here of what results mean, only their presentation. If using modified variants of the dataset (as part of your experiments / processing), these should be clearly identified in any tables with appropriate naming. The justification and description of such modification is not for this section. Additional figures may be used as appropriate which can be in support of discussion points in the evaluation and discussion section, or as evidence for methodology following above. Evaluation & Discussion - Outlining of an evaluative methodology; i.e How you went about evaluating your experiments and obtaining the results previously shown. Interpretation of your previously presented results (make frequent references back E.g “See Figure X” or  “Figure Y shows that…”). Discussion of these findings in relation to the overall task. How were these evaluated? Why was this selected? What metrics were used and why? Discussion of the results should be presented with appropriate evidence and rationale. E.g Which is the best model, and why? Consider each stage in the methodology and reflect on any improvements which could have been made. Could any techniques have been used which may have improved the performance of your results? Why? Future Works - Based on the outcome of your experiments, and the conclusion you have made, what are potential avenues of investigation if you were to continue this, or have more  time. Why are these worthwhile avenues to pursue? These suggestions should be grounded and supported by your own findings and relevant academic literature. References - Academic references section. Appendices - For any evidence which is too large to fit in-situ, they can be put in this section. This could be screenshots, diagrams, etc. Each time should be appropriately captioned. E.g “Appendix Item A - Diagram outlining … .” Video Submission As part of this assignment you will present a video presentation demonstrating an understanding of the code you have written, and explain the NLP pipeline you have developed through the use of the CRISP-DM methodology. The presentation is a maximum of 15 minutes, any work over that length will be ignored. Use the following as a template to structure your time. Introduction (~2 minutes) ●  Briefly introduce yourself and the purpose of the video, and provide a high-level overview of the task and the main objectives. Code Walkthrough (~5 minutes) ●  Walk through the main sections of your code, highlighting key functions and methods. ●  Explain how the code implements the NLP pipeline, including data preprocessing, feature extraction, model training, and evaluation. ●  Emphasise any unique or innovative aspects of your code; especially if it is technical in nature and beyond the scope of taught content. Results and Evaluation (~5 minutes) ●  Present the key results of your experiments, including performance metrics for various pipeline choices and classification models. ●  Explain how you evaluated the results and determined the best solution. ●  Discuss any interesting findings, challenges faced, or limitations of your approach. Future Works and Conclusion (~3 minutes) ●  Discuss potential improvements and future research directions based on your experiments and findings. ●  Summarise the main takeaways from your work and reiterate the significance of your chosen solution.  Deliverables & Submission Requirements Report submission is required in PDF format via Canvas with a maximum of 10 pages. You should ensure that the PDF is uploaded as-is, and not within a ZIP file or any other  archive for the purposes of TurnItIn. Note: The maximum page limit is 10, but submissions can be shorter. Any content  beyond the 10-page limit will not be considered. The title page, table of contents, references, and appendices are not included in this limit. Any submissions which do not adhere to guidelines in submitting in PDF will receive  a 10-mark presentation penalty. Work will be subject to any relevant over-length penalties (see https://services.sunderland.ac.uk/academicregistry/academicqualityhandbook/ programmeregulationsandassessment/#policies) Python Code submission via Canvas (.ipynb, .py, or a .zip of source code). There is no limit on the number of lines of code. Note: Code must also be included as a single appendix item in the report (one unbroken entry), and in plain-text for the purposes of originality checks. Any work which does not adhere to this will receive a fixed deduction of 10 marks from the assignment. Video Presentation submission via Canvas (E.g .mp4 uploaded and linked to ReView). 15 minutes maximum. Video Presentation files should be of reasonable resolution (approx 1080p), of reasonable file-size (approx 500MB), and of a playable file format (E.g .mp4). Links will NOT be accepted. The entire video presentation is to be uploaded to the video presentation submission zone. You may find it useful to record a short test-clip to verify you have appropriate settings for resolution and file-size prior to recording your presentation. Do not leave your upload of this component to the last minute, files should be fully uploaded into canvas before the deadline to be considered on-time. This is your responsibility. Help with Referencing Whenever  you   need  to  refer  the  reader  to  the  source  of  some  information,  e.g.  a book/journal/academic paper/WWW address, provide a citation at that point within the main body of your report. Example 1: ... as we are all now aware referencing is not trivial (Kendal, 2017) Provide a  reference  list towards the end of your  research  paper  (after your  conclusions section but before any appendices) that contains: ●  References,  a  list  of  books/journals/academic  papers/URLs  etc.  that  have  been directly cited from within the report (see example citation above). ●  Any material from which text, diagrams or specific ideas have been used, even  if this has been presented in your own words, it must be cited within the main body of the paper  and  listed  in  the  reference  list.  It  is  not  enough  to  list  this  material  in  a bibliography. Example 2: For Example 1, (using Harvard system) the reference list would contain the following: Kendal S., 2017, Referencing standards, International Student Journal, Vol 55, Pages 25 – 30, Scotts Pub., ISBN 1-243567-89 This shows the authors, date published, title of paper (in single quotes), title of journal or conference  (in  italics),  volume,  page  numbers,  and  publisher  (ISBN  desirable  but  not essential). For further help see the following book which is available in the library: ●  Cite  Them  Right:  The  Essential Guide to  Referencing and  Plagiarism  by  Richard Pears and Graham Shields An interactive online version of this guide is available by logging into My Sunderland with your User ID and password and then clicking on Me and Library Resources.    

$25.00 View

[SOLVED] CPT204 AY2425 Coursework 3 Task Sheet

Coursework 3 Task Sheet CPT204 AY2425 CW3 Introduction Coursework 3 is the final coursework component of the course this semester, which accounts for 40% of your final mark. You will form. a team of two with your classmates and apply object-oriented principles and advanced data structures, as you have learned throughout the semester, to solve the tasks specified in this document. You will be tasked with writing a report and creating a video presentation to demonstrate your knowledge of 1. object-oriented concepts, 2. problem-solving techniques, 3.  AI-assisted  team cooperation, 4. equality, diversity, and inclusion principles, and 5. planning and self-learning in object-oriented programming. You are required to submit the following files: ● Java code in a ZIP file; ● A Word report; ● An MP4 video; ● A PowerPoint (PPT) presentation used in the video. Phase Date Task Sheet Release Week 9, Monday, 14th of April, 9:00 am (UTC+8). Submission Week 12, Sunday, 11th of May, 11:59 pm (UTC+8). Late Submission Week 13, Monday-Friday, 12th-16th of May. 5% lateness penalty per day, max 5 days (Monday-Friday), no submissions are accepted after 11:59 pm (UTC+8), 16th of May. Tasks Overview and Requirements Overview For Tasks A and B, you are required to design and implement an application for planning road trips in the USA. Assume the user will input a starting city/origin (e.g., New York) and an ending city/destination (e.g., Chicago). In addition, the user will input zero, one, or more places of interest (e.g., NASA Space Center, Hollywood Sign, and so on. Once implemented, your solution must find a route from the starting city to the ending city in a way that visits each of the places of interest while keeping the number of miles driven (the total distance) to a minimum. With this objective, you are supplied two files in CSV format, as described here: 1. attractions.csv ---  A  file  with  names  of places of interest. The  user may choose to stop at zero, one or more of the places listed in this file. The file is in CSV format with two columns, in order: a.  Names of the places of interest (e.g., Statue of Liberty) b.   Location (city and state; e.g., New York is the name of the city, NY is the abbreviation of the state) Fig.1 Preview of the file attraction.csv 2. roads.csv --- A file with names of cities and the distances between them. The user must choose one starting city and one ending city available in this file. The file is in CSV format with three columns, in order: a.  CityA (city, state; point/node A) b.  CityB (city, state; point/node B) c.  Distance (between A and B; in miles) Fig.2 Preview of the file roads.csv - for instance, row 1 indicates that from New York NY to Los Angeles CA is 2800 miles Since the road network forms a graph, your program must leverage graph-based shortest path algorithms. In other words, once the user has input a starting city, an ending city, and a set of places of interest, your solution should return the shortest route in the shortest possible algorithmic running time. In Task C, you will be given four extra datasets of different sizes and orders, which may serve as the final database for this project in the future. Your task is to evaluate and analyze the performance of the three algorithms we have learned (i.e., Insertion, Quick, and Merge) on these datasets and report your findings. Task D requires you to provide a general summary of the entire project, focusing on how you utilized AI-assisted tools for project management, how you implemented the principles of equality, diversity, and inclusion during development, and what you have gained from this project as a developer. Task E requires you to create a  PPT and use it to deliver an oral report of your project in the form of a video. Both  PPT and the video (.mp4) are required to be submitted. Task A - Program Design Recall the scenario. Since the users will input the starting city, ending city, and the places of interest, the solution must have one function to determine the route with a signature similar to the following: Listroute(String startingCity, String endingCity, List attractions) This function could take the user-input starting city, ending city and list of attractions. (The list of attractions does not have a particular order.) This function returns a list representing the route the user should take. In the report, you must think and include a description of the type or class contained by the returned list (hence the "?" character in the code above). You should also describe  and justify  your  design  by  considering  the  questions from the following aspects: ● Data Structure ○   What  data  structure(s)  will  you  use to  represent the data  in the file “attractions.csv”? ○   What  data  structure(s)  will  you  use to  represent the data  in the file “roads.csv”? ● Classes and Functions (Feel free to use UML/code screenshot) ○ What classes did you use? ○ What public or private functions would the classes have? ○    How  are  these  functions/classes  implemented,  and  how  do  they collaborate/interact in your solution? ● OOP Principles (Feel free to use UML/code screenshot) ○   What   object-oriented   principles   (e.g.,    encapsulation,   inheritance, polymorphism,  abstraction)  have  been  applied  in  your  overall  Java program solution? ○    How are these  principles applied specifically?  For example,  how did you encapsulate user input data to avoid directly manipulating raw data structures? ○ Why are these OOP principles important to your program? Task B - Algorithm Evaluation: Graph The implementation of your program must accept one or more queries from the user. The implementation must respond with a path (the optimal route) based on a graph algorithm. An example of the output is as follows (user’s inputs in green): Fig 3. Example Output In the report, you need to provide the output of the following cases with the total route distance calculated and displayed in the console (see Fig 3): ● Houston TX to Philadelphia PA via no place of interest ● Philadelphia PA to San Antonio TX via Hollywood Sign ● San Jose CA to Phoenix AZ via Liberty Bell and Millennium Park After that, you should also evaluate the implementation of your graph algorithm by considering the following questions: ● What graph algorithm do you use and why? ● How is the algorithm implemented in the program? ●   What is the time and space complexity of your chosen algorithm (in Big-O notation)? ●   What   is  the   optimality/sub-optimality   of  your  algorithm  in  terms  of  its efficiency? ●    (In  the   case  where  the  algorithm  is  sub-optimal)  What  can  be  a  better alternative and why? Task C - Algorithm Evaluation: Sorting In  this  task,  you  need  to  critically  evaluate  the  performance  of  different  sorting algorithms for potential usability requirements. You are therefore given the following test datasets to evaluate the performance of three sorting algorithms taught in class, namely Insertion, Quick, and Merge. ●    1000places_sorted.csv - contains 1000 alphabetical names of places that are already sorted (A-Z), one per line ●    1000places_random.csv  -  contains   1000   random  alphabetical  names  of places, one per line ●    10000places_sorted.csv - contains  10000 alphabetical names of places that are already sorted (A-Z), one per line ●    10000places_random.csv  -  contains  10000  random  alphabetical  names  of places, one per line In the report, you need to provide the following table summarizing the test results. You can use System.nanoTime() or System.currentTimeMillis() to calculate the time. Datasets Insertion (ns/ms) Quick (ns/ms) Merge (ns/ms) 1000places_sorted 1000places_random.csv ... Table 1. Template table for sorting algorithm performance In addition, you need to finish this task by considering the following questions: ●    Based on your test data, which of these sorting algorithms does the order of input (i.e., sorted versus random) have an impact on? Why? ●    Based on your test data, which of these sorting algorithms does the size of input (i.e., 1000 versus 10000) have an impact on? Why? ●    If  you  were  to  sort  a  dataset  containing  duplicate  values,  which  sorting algorithm would you choose among Insertion, Quick, and Merge sort? Why? ●    If  you  were  to  implement  sorting  in  a  system  with  limited  memory  (e.g., embedded system), which of these algorithms would you choose? Why? Task D - Project Reflection Now that you have coded the project, you are required to provide a critical project reflection section in the report, considering the following aspects: ● AI-assisted planning and collaboration ○    How do you use AI tools (such as JIRA and Trello as we mentioned in the  class)  to   help  with  the   planning  and  collaboration  (e.g.,  task allocation) in the project? ○   What do you think are the advantages and disadvantages of using the AI-empowered software management tools? ●    ● Recognition of equality, diversity, and inclusion ○    Illustrate your understanding of the definition and benefits of applying equality, diversity, and inclusion principles in the current project. ○    Based on these  principles,  in what areas can the current project be optimized in the future? (e.g., based on the equality principle, one may think  of  providing  features  like  text-to-speech  for  visually  impaired users and so on). ○   What challenges might arise when applying the improvement above, and how can these challenges be addressed? ● Conclusion ○    How did completing this project improve your skills and knowledge as a programmer and software developer? Task E - Project Presentation Finally, you are required to create a video explanation with PPT slides to illustrate your project in a succinct manner with the following requirements. ●   Briefly introduce the project (e.g., project purpose, key objectives). ●   Explain   how   OOP   principles  are  applied   in  the   project  (Encapsulation, Inheritance, etc.). ●   Explain  how  the  graph algorithm works to calculate the shortest path using another test case that is different from the ones required in the report. ●   Considering  the  size and order differences, explain which types of datasets that Insertion Sort, Quick Sort, and Merge Sort are  best  suited  for respectively? ●   Conclude   your  presentation  with   a  proper  reflection  regarding  planning, collaboration,  application of equality, diversity, and  inclusion principles, and future plans. Report Requirements Structure The purpose of your report is to show how you solved Tasks A, B, C, and D in a well-detailed manner. You need to organize your report in the following format. ● Coursework submission cover page ○    (This page is compulsory. You can download the template from the CPT204 LMO homepage.) ● Chapter 1 – Program Design (Task A) ○ (You may add sub-chapters) ● Chapter 2 – Graph Algorithm (Task B) ○ (You may add sub-chapters) ● Chapter 3 – Sorting Algorithm (Task C) ○ (You may add sub-chapters) ● Chapter 4 – Project Reflection (Task D) ○ (You may add sub-chapters) ● Chapter 5 – Program Code ○    Include all your code in Chapter 5 as text, copy and paste each source file content into the report. The use of screenshots in Chapter 5 will result in an automatic total mark of 0 for the entire coursework task. ● Chapter 6 - Contribution Form ○ Use the following table to indicate your contribution: Student ID Contribution (%) ○ Note: The total percentage is  100%. That is, if you and your teammate contribute  equally  to  this  project,  both of you  should fill 50% in  the table. ● Chapter 7 – Appendix ○  You  may  use  this  section  to  include  any  supplementary  sources  (e.g., output of the sorting tests). Formatting Write your report using Word with the following settings: ● Font Calibri, Font Size 12, Line Spacing 1.5, Normal Margins. ●   The  page  limit  is  a  maximum  of 20 pages,  excluding the  cover page and Chapters 5-7. ●   Consider using images and diagrams to improve the readability of your report. Coding ●   You  must  only  use  libraries that are covered in CPT204 (including in Liang textbook). Violating this by using third-party libraries that are not covered in CPT204 (e.g., JGraphT) will result in an automatic total mark of 0. ● Plagiarism,  copying,  collusion,  using  or  consulting  unauthorized  materials (e.g., copying code from sharing forums and/or generative AI tools, including, but not limited to, ChatGPT/DeepSeek) will not be tolerated and will be dealt with in accordance with the University Code of Practice on Academic Integrity Project Presentation Requirements Create a PPT presentation and video explanation (Task E) satisfying the following requirements: ●   Clearly demonstrate your understanding of the project in terms of program design, algorithm implementation, analysis, and project reflection in a succinct manner. ●   You can use any template for your PPT, not limited to the XJLTU standard theme. ●   The video must not exceed 8 minutes in length. You must use your own voice for  narration  and  appear  on  camera  (i.e.,  show  your  face  in  the  video). Exceeding the time limit, using English audio translation software for narration, or failing to show your face will result in a score of 0 for Task E. ● Submit to the LearningMall: ○   A video file in MP4 format, ○   The PPT file presented in the video. Submission Requirement Submit the following files in accordance with the requirements above. Four separate submission portals (links) will be set up for each file on LMO: ● A ZIP file containing ALL your code files; ● A Word file for the report; ● An MP4 file for the video recording; ● A PPT file that is used in the video recording.

$25.00 View

[SOLVED] N1592 Trading Strategies Spring 2025 Term 2

N1592 Trading Strategies Spring 2025: Term 2 IMPORTANT 1. Always access Canvas using Google Chrome, Microsoft Edge, or Firefox. Do not use Safari 2. If you have problems accessing your exam email your school office immediately [email protected] 3. You must start this exam at the time published in your Sussex Direct Timetable. 4. Your submission must include: · Your candidate number (Do not put your name on your paper) · The title of the module and the module code 5. You are advised to save and submit your assessment in pdf format, as this prevents issues with file corruption. It is also the only format that will be considered/accepted if you have issues uploading by the deadline.  Please note that for a file to be accepted by Turnitin, your submission must be a single file and must include at least 20 words of typed text. Further guidance about Turnitin submissions can be found here: https://student.sussex.ac.uk/assessment/submission/canvas-turnitin 6. You have 2.5 hours hours to complete AND submit the exam (note that Sussex Direct will only show the work time of the exam in your Assessment Timetable). Note: You may submit your exam as many times as you wish before the exam ends.  When submitting through Turnitin, each upload will automatically replace the previous version. 7. Allow enough time (at least 30 minutes) to ORGANISE, SAVE, and SUBMIT.  Do not leave the uploading/submission to the last 5 minutes. It may result in you missing the deadline and having to do a resit. 8. If you have extra time due to Reasonable Adjustments this is already added to your exam on Canvas, and you will see a different deadline to the one below. 9. After the exam end time you will NOT be able to submit because the Canvas link will have expired. If you fail to submit by the deadline/exam end time, your exam grade will be ZERO. 10. If you are facing issues with your file upload, please read and refer to the submission issue guidance on the last page of this document.  Date: Friday 16th May 2025 Exam Start Time: 09:30am Exam End time (includes time for uploading – see above): (12:00 pm) The Exam End time is when the Canvas link closes, and you will no longer be able to submit  ** Candidates should attempt ONE question from Section A and TWO questions from Section B The maximum total wordcount is 2,000 words   

$25.00 View

[SOLVED] BISM7206 Information Retrieval and Management Assessment 2

BISM7206 Assessment 2 Wine Company Case INTRODUCTION The wine company was founded in 1989 in the Hunter Valley region in New South Wales.  The company grows grapes on 27 acres of land and sells wine on the open market.  The first white wine was released in 1989 and their first red wine in 1992.  Each of these wines won silver at the Hunter Valley Winery Festival. This success enabled them to expand their operations in 1996 and they purchased another 14 acres to increase the quantity and variety of wines produced. Over the last 16 years, the company has become one of the major boutique wine manufacturers in the Hunter Valley and has grown to around three times its original size.  The company wins annual gold medals for many of its wines and has developed a large following of wine connoisseurs.  Amy, one of the winery’s co-owners, has been keeping the winery's business records since the business started.  This has been accomplished using a variety of Excel Spreadsheets and Word Documents.  This had been successful for many years, but with the last expansion of the winery, Amy has been finding it hard to complete her record-keeping.  As a result, she recommended to the other owners that it was time to further automate the business’s record keeping. Subsequently, the owners contacted a database consultant to analyse the Winery’s information requirements and to propose a solution to the problems Amy was having with the record keeping as a result of the Winery’s growth.  They have only partly completed the job by writing the descriptions that follow. PERSONNEL The wine company employs 32 permanent workers, who focus on all of the functions of the winery including clerks to grape farmers to wine makers. These functions are called roles. The role is to be given a unique role identifier and have its name and description stored. Over time employees can change roles and can be fulltime or parttime. Among the employees, supervisors have been appointed to oversee the work of other employees. Each supervised employee reports to only one supervisor.  Supervisors report directly to Mark, one of the owners of the Winery.   In addition to these permanent employees, the Winery also hires about  10 casual employees on a seasonal basis to help pick grapes. These  casual employees report to the grape farmer supervisor. Each employee, upon employment, is  assigned a unique employee identification number. In addition to the employee's name and position, the company also records each employee's tax file number, address, and phone number. An employee can have more than one phone number, so the primary contact is indicated in the record. It is important to store the history of roles, supervisors, addresses and phones. Therefore, the start date and end date are stored for each of these. The end date is left null when current. Each role has a unique role identifier with its name and description recorded. Many of the roles can have more than one employee hold the role at one time. For example, there are multiple grape farmers. When recording an appointment to a role whether the employee is fulltime or parttime is recorded, with the starting date. Further, whether they are casual or permanent is also recorded as part of the role history. VINEYARD HOLDINGS AND GRAPE VARIETIES At the time of this report, the wine company owns many vineyards in the surrounds of Rutherglen.  The vineyards range in size from 2 hectares through to 42 hectares. Each vineyard has its own unique name, such as Valley, Hightop, etc. and each is managed by a grape farmer.  No employee manages more than one vineyard, although the grape farmers report to the grape farmer supervisor. The location and size, measured in hectares, of each vineyard are recorded. Decimal sizes need to be able to be stored.  Each vineyard is dedicated to the growing of a single grape variety per vintage year.  However, over time a particular vineyard may be replanted to a different grape variety, depending on market demand for particular types of wine.  This is an expensive undertaking and only occurs infrequently!  The winery maintains a record of these plantings. The wine company currently grows the major Hunter Valley varieties plus a number of minor varieties and some experimental varieties.  Information that is specific for each grape variety and must be recorded includes the juice conversion ratio, a measure of how much juice, on average, can be extracted from a given weight of a grape variety, stored as a percentage. The wine storage requirement, which is the type of storage container (typically either stainless steel tank or oak barrel) used to hold the juice while it ferments into wine, is also recorded for each grape variety, as is the wine aging requirement, which is the measure of how  long (in days) the wine produced from the juice should be stored before bottling. Certain measures related to the grapes that vary with the specific vintage year harvest are also recorded including the vineyard the grapes come from, the total amount (weight) of grapes harvested, and the ripeness of the grapes (expressed in % sugar). WINE PRODUCTS AND BOTTLES Information on the wines created from the grapes must, of course, be recorded.  Each wine produced is given a unique identification number in addition to its name. Other Information recorded for each wine is its vintage year, category (e.g., dry red, dessert, sparkling, etc.) and percent alcohol, a legal requirement.  Additionally, the wine company wishes to keep records of the medals won for each wine including: which medal, the year won, and the awarding organisation.  Also recorded is the employee in charge of making that wine.  Wine makers may be responsible for more than one wine at a time. The composition of a wine may be entirely from a single grape variety or may be a blend of more than one variety.  The proportion of juice from each grape variety for each wine produced must be recorded.  Several of the grape varieties are used in more than one blended wine. None of the wine company’s wines are vineyard specified; that is, the wines are labelled by the grape varieties contained in the wines only, without reference to specific vineyard plots. The wines are sold in case lots.  The winery refers to these case lots as products.  A product is a specific wine in a specific bottle size in a specific case quantity sold at a specific price.  Each product type is given a unique product identification number.  The wine company does not sell partial case, nor does it mix wines or bottle types in a single case. The bottles used for the wines vary in capacity, shape, material (i.e. glass or plastic) and colour.  Each bottle type is assigned a unique bottle identification code.  The wine company maintains an inventory count of how many of each bottle type is currently on hand in their warehouse. The winery prefers to keep at least a month’s worth of bottle inventory on hand.  The usual cost per bottle is also recorded for each bottle type to aid in pricing the products and as a guide in calculating expected future bottle order costs. The bottles  must  be  purchased  from  outside  suppliers.    Each  of  these  suppliers  is  assigned  a  unique identification number.  In addition to this number, each supplier’s name, address, and phone are recorded. Also recorded, for each supplier, is the name of the principal contact (i.e., account representative) at the supplier that handles the wine company account with their email address. Bottles are acquired from the suppliers by placing orders.  Some bottle types may be ordered from more than one supplier.  Each order involves only a single supplier but may include more than one bottle type.  Usually, orders are filled completely by the suppliers, but occasionally an order must be filled with multiple shipments, due to a back-order condition at the supplier.  The wine company maintains careful records of what quantities are ordered and what quantities are received, as well as when the bottles are ordered, when they are received, and the actual price charged for the bottles. CUSTOMERS The wine company’s customers are mainly restaurants and wine shops, but the winery also sells to individuals via a mail-order newsletter.  All customers are assigned a unique customer identification number, and this number is recorded along with their address, email and phone number.  Individual customers also have their first and last names recorded along with their date of birth, in order to demonstrate legal age.   First and last names are also stored for business customers and are the details for the contact for the business. The wine company does not ship directly to overseas customers. They do sell to Australian based export companies. Restaurants, wine shops, export companies and other Australian based businesses have their company name and Australian Business Number (ABN) recorded. All customers obtain their products from the wine company by placing orders. Each order is assigned a unique order number and the date the order is received is recorded along with the product or products ordered and the quantity or quantities desired.  A shipment is sent to the current customer address and never to a PO Box number or private bag. A shipment status of “pending” is assigned to an order until it is actually shipped , whereupon the status is then changed to “shipped”.  Customer orders are always filled in a single shipment as no back orders are possible.  Once the wine company is out ofa given wine for a particular year, no more can be produced. ADDRESSES It has been identified that the wine company stores addresses for multiple reasons. Customers, suppliers, employees and vineyards all must have a physical address. The customer, supplier or employee may change addresses. The wine company needs to know what address was valid on a certain date. The format of these addresses is a format that captures the majority of physical addresses. It follows the Australian standard. The following address elements have been identified and for the purposes of the database a unique address identifier be given to each unique address: •    Unit type and number (when required) •    Level type and number (when required) •    Building/property name (optional) •    Place name (optional — used for acknowledging traditional custodians) •    Address number (can include textual prefixes and suffixes) •     Street/road name (or water feature or island name) •    Locality/suburb name •     State/territory name •    Australia Post Postcode Postal addresses are also stored but are optional. These may include post office boxes and private bags. These are used for accounts and mail outs ofthe mail-order newsletter. Orders are never shipped to this address. A history ofthe address is to be stored like the other addresses. Additionally, the GPS location of a vineyard needs to be recorded. This does not change. A location is made up of a longitude and latitude point. For example, UQ has a GPS position of Latitude: -27.4920 and Longitude: 153.0077. This will be sufficient for the purposes of this assessment. There are other ways that vineyards are also located. CONCLUSION The preceding information was obtained by the database consultant through discussions with the winery owners, and some of the  supervisors and through observations of the operations of the winery.   Some additional points have been determined as follows: •   The database system initially desired by the winery owners will not have to handle employee payroll, as this is handled by an external accounting firm. •   Order payment details of how the customer paid are not stored in a separate accounting system. Only an indicator is stored to show that the customer has paid so that the shipment can proceed. Delivery costs are also handled by the accounting system’s payment component. A customer is charged what it costs the company to ship so there is no profit or loss to be considered by this system. Refunds when the desired number of products cannot be filled are handled by the accounting system. •   No other inventory requirements exist for the system beyond those previously identified. Corks, labels, barrels and packing boxes are acquired in large annual lots and are not a concern for the winery owners to track with the database system unless your group has them as part ofthe sustainability initiative (see next point). •   Production expenses apart from bottles are not part of this version of the database. •   To demonstrate an understanding of how data changes over time without loss of information, it will be sufficient for this database to show how this can be accomplished for all addresses (apart from Vineyards as they do not move), all phone numbers and personnel has detailed previously. This can be accomplished through the use of start and end dates which include time. •   The owners recognise the importance of being transparent with sustainability initiatives. They have requested that on facet of sustainability being recorded in the new database and example reports be provided. This is to make a start on better sustainability reporting. The winery owners are hopeful that the software you will design for them will help take some of the record- keeping burdens off them so that they can spend more of their time involved with the grape growing and wine making activities that they love. Useful resources You may find the following resources useful for extra background and explanations. Wine Australia’s website (Wine Australia - Empowering the success of Australian wine | Wine Australia) which has last year’s report available. Wine AustraliaVintageReport2024.pdf Sustainable Wine Growing Australia (Sustainable Winegrowing Australia | Let's make a world of difference in wine). This site has an extensive list of resources. And an interesting article from the Financial Times (2024) on cork versus screw top bottling for those groups looking at the Inventory and Supplier Management Perspective (Cork vs screwcap: which is better for the planet?).

$25.00 View

[SOLVED] Math549 Coding Theory and Cryptography The DES Key Schedule

Math549 Coding Theory and Cryptography The DES Key Schedule Due date:  May 16th, 11:59pm DES has a well-defined key schedule for generating the 48 bit subkeys needed in each round of the Feistel cipher from the original 64 bit key. To claim your extra credit, you need to write a detailed description of this key schedule. You should also give a worked out example of the full key schedule to illustrate how it works. All submissions must be in a single PDF file through Canvas before the deadline. Assessment Value:  10 points

$25.00 View

[SOLVED] Math549 Coding Theory and Cryptography Risky Biz

Math549 Coding Theory and Cryptography Risky Biz Due date:  May 16th, 11:59pm Listen to one of Risky Biz’s recent podcasts — it must be one of the main podcasts with a number after #777.. To claim your extra credit, you need to write a report on the full podcast, and discuss your impressions of the utility of each of the segments of the podcast. All submissions must be in a single PDF file through Canvas before the deadline. Assessment Value:  10 points

$25.00 View

[SOLVED] COM265 Quantitative Research Methods Semester 2 2024-2025

COM265 Quantitative Research Methods Semester 2, 2024-2025 Group Research Project Deadline: 11:59 on Friday, May 30, 2025 Submission method: LMO Submission format: Research poster and SPSS files Weight: 50% of the final grade Resit: S Learning Outcomes: B. Use appropriate quantitative research methods for data collection and analysis D. Design and conduct quantitative research projects Overview The goal of this group project is to carry out a quantitative research study. In groups of 5-6, students must choose and implement a research proposal developed by one of the group members for assignment 1 (please do not wait for assignment 1 to be graded!). Based on the research proposal, students are then expected to create materials for their research project (such as a codebook, questionnaire, or experimental protocol), execute the project, collect and digitize empirical data, conduct a statistical analysis of the collected data, generate at least two data visualizations, and test a minimum of two hypotheses. Additionally, students need to summarize their projects, outcomes, and interpretations in a research poster. Project Implementation Guidelines 1. Project Selection: You need to meet with your group members to choose one of their Research Proposals (Assignment 1). You can modify any elements of the selected research project to make it more feasible or to improve its scientific quality. Please do not wait for our feedback on the Research Proposal Assignment, as it will not arrive on time! 2. Development of Materials: Based on the chosen project, you are required to develop materials to measure the constructs outlined in the proposal. These materials include a questionnaire for a survey study, a codebook for a quantitative content analysis, and a detailed experimental protocol for an experiment. You may also combine different methods, but in that case, you must provide materials for each of these methods. 3. Implementation: After developing the materials for your study, you are required to apply them to a reasonably sized sample of respondents, documents, or experimental subjects. The minimum for a survey is 50 respondents; for content analysis, the minimum is 50 short documents (articles, social media posts, video clips) or 30 long documents (books, movies); and for an experiment, the minimum is 30 participants. In a content analysis, each document must be rated by at least two group members simultaneously. You should specify the population, and if possible, your sample should be representative of that population. Additionally, be prepared to volunteer as respondents or experimental subjects for your fellow students' projects! 4. Data Collection: The data collected from your project should be entered into an IBM SPSS Statistics file (.sav). All variables should be appropriately named and given the correct measurement level. Furthermore, value labels (if applicable) and missing values must be defined. 5. Data Analysis and Visualization: First, data from items of the same scale / parallel raters must be aggregated into index variables. To do this, their reliability must be ensured using the appropriate procedures. The resulting variables should be analysed using appropriate univariate statistics (central tendency and dispersion). At least two hypotheses must be tested using appropriate multivariate statistical procedures. At least two (and at most four) data visualizations must be created to depict either one or several variables. Please note that tables are not data visualizations! 6. Interpretation & Conclusions: You should interpret the results of the statistical procedures and data visualizations you applied. Specifically, you must answer the following questions: Can you reject your hypotheses? What do your results mean for the research question? Research Poster Guidelines Research Poster Structure: The research poster should be A1 format and contain a maximum of 900 words (excluding headlines and references). The research poster should be concise, informative, and visually appealing. It is expected to effectively communicate your research project and its results to an interested audience. The research poster should contain the following elements: ▪ Headline: The name of your project. ▪ Research Question and Hypotheses: Restate the original research question and hypotheses of the project. You do NOT have to give any explanation, justification of relevance, literature review, or discussion of the theoretical background! ▪ Description of Research Design: Give a short description of how the research project was conducted, including the chosen method, how the constructs were measured, population and sampling process. ▪ Outcomes: Report the outcomes of phase 5 of your project (see above), including data visualization(s) and their (short) description. ▪ Interpretation and conclusions: see project phase 6. Format & Ethics Writing Style.: The poster can be written in the form. of bullet points. Please avoid overly long and complex sentences, and try your best to include essential information only. Should you cite any literature, please use the latest APA citation style. Should you use AI tools to edit and polish your writings, as well as to generate visual elements, please cite such use in line with the latest APA standards. Teamwork: All group members are required to contribute equally to the group project and collaborate on all the different parts of the project. If a group member does not contribute to the project at all or simply can’t be reached, please contact us as soon as possible. If this behavior. doesn’t change, non-contributing group members will receive 0 points as their group project mark. Submission Guidelines The research poster, project materials, and SPSS files have to be uploaded on Learning Mall Online NO LATER THAN on May 30, 23:59. Earlier submissions are welcome. The research poster and project materials should be uploaded in PDF file format. The SPSS files should be uploaded as .sav (dataset) and .spv (output). You should name the file as follows: COM265_Research Poster_Student IDs, where all group members’ student IDs must be stated. Only one member per group needs to submit the files on LMO.

$25.00 View

[SOLVED] Assignment 3 Creating a Virtual World

Assignment 3: Creating a Virtual World (Hard) Objectives: To create a virtual world using textured cubes and explore it using a perspective camera. Introduction: You will create a first-person exploration application. Your application should look like the following example: A first-person camera (the player) should start in a given position of a 32x32x4 voxel-based 3D world (which is made out of textured cubes). The user should be able to navigate in this world using the keyboard and/or mouse to move and rotate the camera. Your application is required to have the following features: The world is fully created when the application starts. Ground is created with a large plane (square), or the top of a flattened (scaled) cube. Walls are created with cubes. Walls can have different heights in units (1 cube, 2 cubes, 3 cubes and 4 cubes). The faces of the cube should be textured to make it look like a wall. The sky is created with a very large blue cube that is placed at the center of the world The world layout should be specified using a hardcoded javascript. 2D array. Each element of the array represents the height of the wall (0, 1, 2, 3 or 4) that will be placed at that location. Camera can be moved using the keyboard. W moves camera forward. A moves camera to the left. S moves camera backwards D moves camera to the right. Q turn camera left E turn camera right Additional requirements without helper videos: Camera can be rotated with the mouse. Add multiple textures to make your world more interesting. Simple Minecraft: add and delete blocks in front of you. Add your animal(s) to your world Change your ground plane from a flat plane to a terrain map OR get OBJ loader working Add some sort of simple story or game to your world Instructions: The following will walk you through each point of the basic rubric. Note that the written suggestions and video suggestions are not exactly the same. One may suggest to build a Class, while one just sticks a global variable. Or one may stick an 'if' statement in the shader while the other suggests an interpolation. Either is fine, or your own method is fine. You should do what you think makes cleaner better code. 0. Start a local web server. Before we can load a texture file, we are going to need a web server. You can't just click the html file anymore because of security issues. The book gives a way to bypass security and just use the browser, but you shouldn't bypass security. Make sure you can view your webpage through this local server. There is no rubric point for this since its not observable in your final output. - Texture Mapping (Matsuda Chapter 5) This section will guide you to solve the following rubric points: Texture working on at least one object. Texture on some objects and color on some other objects. All working together. 1. Create a new attribute variable to store texture (UV) coordinates. Read Matsuda pages 137-145. Decide whether you want to use an extra buffer (textbook pages 137-140) or interleave a single buffer (textbook pages 141-145). Either works, but make sure you can get this new attribute variable working. You should be able to give each vertex a different UV coordinate. There is no rubric point for this since its not observable in your final output, but you need it working to get the texture working. 2. Load Texture from the filesystem. Read Matsuda pages 146-178. Use the TexturedQuad example (functions initTextures and loadTexture) to load a texture file (e.g. sky.jpg) from your filesystem. Your texture must be square and size is a power of 2. e.g. 64x64 or 1024x1024. Resize it with an external program if you need to. 3. Pass the Texture to the fragment shader. Read Matsuda pages 179-181. Use the TexturedQuad example (fragment shader) to look up colors from texture. 4. Mix base color with texture color. Your sky will be a gigantic cube with solid blue color surrounding the world. Your walls would be made of unit boxes that are textured. Thus, you need to use solid base colors in one object and textures in others. Create a new uniform. variable (e.g. called u_texColorWeight) to linear interpolate between a given base color and the texture color. For example, assuming the base color is stored in a uniform. baseColor and the texture color in another variable texColor. You can linear between this two colors as follows: t = u_texColorWeight gl_FragColor = (1 - t) * baseColor + t * texColor Note that you can use u_texColorWeight=0 if you want only base color (for the sky box) and u_baseColorWeight=1 if you want only texture colors (for the walls). - Camera (Matsuda Chapter 7) This section will guide you to solve the following rubric points: Implement camera movement. Key commands for rotation work. Use Q (rotate left) & E (rotate right). Perspective camera implemented. 5. Include both View and Projection matrices in your vertex shader. Read Matsuda pages 179-181. Use example "PerspectiveView_mvp" (vertex shader) to update your vertex shader to: glPosition = u_ProjectionMatrix * u_ViewMatrix * u_ModelMatrix * a_position; Note that the book has lots of examples that have some matrices, but not others. I believe this project is conceptually easier if you pass all three as uniforms to the vertex shader and multiply them there. 6. Create a Camera class to store and control both View and Projection matrices. Create a new file called camera.js and define a class called Camera that has the following attributes: fov (field of view - float), initialize it to 60. eye (Vector3), initialize it to (0,0,0). at (Vector3), initialize it to (0,0,-1). up (Vector3), initialize it to (0,1, 0). viewMatrix (Matrix4), initialize it with viewMatrix.setLookAt(eye.elements[0], ... at.elements[0], ..., up.elements[0], ...). projectionMatrix (Matrix4), initialize it with projectionMatrix.setPerspective(fov, canvas.width/canvas.height, 0.1, 1000). In your camera class, create a function called "moveForward": Compute forward vector f = at - eye. Create a new vector f: let f = new Vector3(); Set f to be equal to at: f.set(at); Subtract eye from f: f.sub(eye); Normalize f using f.normalize(); Scale f by a desired "speed" value: f.mul(speed) Add forward vector to both eye and center: eye += f; at += f; In your camera class, create a function called "moveBackwards": Same idea as moveForward, but compute backward vector b = eye - at instead of forward. In your camera class, create a function called "moveLeft": Compute forward vector f = at - eye. Compute side vector s = up x f (cross product between up and forward vectors). Normalize s using s.normalize(); Scale s by a desired "speed" value: s.mul(speed) Add side vector to both eye and center: eye += s; at += s; In your camera class, create a function called "moveRight": Same idea as moveLeft, but compute the opposite side vector s = f x up. In your camera class, create a function called "panLeft": Compute the forward vector f = at - eye; Rotate the vector f by alpha (decide a value) degrees around the up vector. Create a rotation matrix: rotationMatrix.setRotate(alpha, up.x, up.y, up.z). Multiply this matrix by f to compute f_prime = rotationMatrix.multiplyVector3(f); Update the "at"vector to be at = eye + f_prime; In your camera class, create a function called "panRight": Same idea as panLeft, but rotate u by -alpha degrees around the up vector. 7. Set View matrix using keyboard input. In your main function, instantiate a global camera object. camera = new Camera() When user hits W, call camera.moveForward() When user hits S, call camera.moveBackwards() When user hits A, call camera.moveLeft() When user hits Q call camera.panLeft() When user hits E call camera.panRight() - World Creation Make sure you have your camera working already with keyboard control. If not, go do that section first. You can't debug your world if you cant actually see all of it. This section will guide you to solve the following rubric points: Have a ground created with a flattened cube and sky from a big cube. World is implemented. There is some interesting world (or terrain) to walk around. 8. Add a ground to the world. Create a cube using the code you wrote in Assignment 2. Scale the cube on the y axis to make it a flat plane. Rotate this cube to put it in the x-z plane. 9. Add a sky box to the world. Create a cube using the code you wrote in Assignment 2. Place this cube in the center of the world and scale it by a very high number (e.g. 1000). 10. Add walls to the world. Placing cubes manually in the world will genuinely suck if you need 100s of cubes to specify your world. Instead we will build it programatically. Define a small 2D array: map = [[ 1 0 0 1] [1 1 0 1] [ 1 0 0 1] [ 1 1 1 1 ]]. Write a double loop to create a wall wherever there is a 1. walls = []; for x = 1 ... 4: for z = 1 .. 4: if map[i][j] == 1 { let w = new Cube(); w.translate(x, 0, z); walls.push(w); } } }. Expand your map to 32x32. Instead of just making a 1 unit wall, make the wall N units high according to what you put in the 2d map array. Include a third for loop to iterate on the height and translate the y coordinates of the walls. You don't need to specify your map exactly like this if you want to be more fancy. Making just walls wont allow your world to have ceilings. You just need to end up with a world that is at least 32x32. You can't just write 100 hardcoded calls to drawCube() in your code. You should be able to 'edit the map'. - Requirements without helper videos Rotate camera with mouse. - Most games have this control. You need to add an onMove() function and map this to the rotation you previously had on QE keys. Its a little tricky since with keys you can just turn 5degrees, but with mouse you have to keep track of the old mouse location and figure out an appropriate amount to turn based on the new mouse location. Multiple textures The book talks about multiple textures on pg 183. The easiest way to handle multiple textures is to just set up the samplers and texture units for all the textures and then just leave them (you dont need to pass all the textures with each drawArrays(), they will stay there). Just use a uniform. variable to specify which texture to use and update this uniform. before each call to drawCube(). Now different cubes can have different textures. You'll have to modify your map to say which kind of cube to draw as well. You may want to update your sky to have a different texture and ground as well. You can have up to 8 textures at a time loaded in webGL. Simple Minecraft Add and delete blocks in front of you. You do not need a raytracer, and you dont need full 3D pointing. You know your camera location and you know your map. Just find the map square right in front of you and add or delete a block from the stack of blocks that is there. Its super cool if you can save/load whatever world your create, but not required. Add some sort of simple story or game to your world e.g. Your animal takes care of a herd of baby animals, or pacman, or mini-minecraft and the mob wants to get you, or your animal puts on a puppet show as a story plays,. Use your creativity! Performance You may have efficiency issues, most people do on this assignment. If this is the case reduce world size until you can debug and interact. However to get this rubric point, you need to run 10fps with a full 32x32 world. Wow! This is intentionally vague. Its meant to leave you some space to do something you want to spend time on. You could make an impressive beautiful world. Past versions of this assignment talked about adding OBJ files or terrain maps to make it unique. But whatever you do, your goal is Wow! FAQ: But I want to load my world from a file. Hard coding is stupid! - Yep. Hard coding is stupid. But its much easier. Load from a file if you want to do that. Then you can even load different 'game levels' from different files. How can I improve performance? - The primary issue is likely that you are rendering only one triangle at a time (since thats how the videos have showed it). That is, calling drawArrays() for each triangle. This is inefficient. It is possible to stack all the triangles you want to draw into a single vertexList and pass the whole thing to a single drawArrays() call. This will be much more efficient. The other big efficiency issue is allocating memory that is then garbage collected. Minimize the number of times new() is called in your code. If its in your rendering loop and happening every frame, then its probably too much.

$25.00 View

[SOLVED] CS3TM Text Mining and Natural Language ProcessingPython

Department of Computer Science Summative Coursework Set Front Page Module Title Text Mining and Natural Language Processing Module Code CS3TM Type of Assignment (e.g., technical report, set exercise, in-class test) Technical report   Individual or Group Assignment Individual Weighting of the Assignment 50% Word count/page limit 12 pages (excluding appendix) Expected hrs spent for the assignment (set by lecturer) 8 hours Items to be submitted Individual report in PDF with commented code Work to be submitted on-line via Blackboard Ultra by 20/5/2025 noon Work will be marked and returned by 15 working days after the submission deadline                               Artificial Intelligence Tools (select one of these) May not be used Note By submitting this work, you are certifying that you have read the assessment guidelines, which are displayed in the folder of Assessment on the Blackboard course for this module, and that you have conformed to and understand the associated policies and practices, including those on: • Submitting your own work, not that of other people or systems (including those using artificial intelligence), and the associated penalties for Academic Misconduct • Submitting by the specified deadline, and the penalties associated with late submission (if allowed) • The exceptional circumstances system • For students with relevant needs, attaching with a green sticker 1.  Assessment classifications First Class (>= 70%) The coursework demonstrates: · Exceptional understanding of the principles of natural language processing · Solid knowledge of used techniques/algorithms for text processing and excellent technique skills in implementing these algorithms. · Comprehensive analysis of results from the implemented algorithms · Excellent presentation of the report  Upper Second (60-69%) The coursework demonstrates: · Good understanding of the principles of natural language processing · Appropriate use of techniques/algorithms for text processing and good technique skills in implementing these algorithms. · Good technical skills in implementing these algorithms with good result analysis. · Clear presentation of the report  Lower Second (50-59%) The coursework demonstrates: · Basic understanding of the principles of natural language processing · Basic use of algorithms in implementing these algorithms. · Moderate technical skills in implementation · Clear presentation of the report Third (40-49%) The coursework demonstrates: · Satisfactory understanding of the principles of natural language processing · Satisfactory use of algorithms in implementing these algorithms. · Satisfactory technical skills in implementation. Pass (35-39%) The coursework demonstrates: · Satisfactory understanding of the principles of   natural language processing · Satisfactory knowledge to implementing these algorithms. Fail (0-34%) The coursework fails to demonstrate understanding of NLP processing techniques and skills in implementing these techniques. 2. Assignment description Summary: A technical report is required.  Please refer to report structure and marking scheme below.   This report should describe related concepts of text mining and NLP techniques, and the experimental results  in two tasks. The experiments include:      Task 1   Apply NLP analysis methods of linguistic level including morphology, lexicon, syntax, and semantics to process  text  inputs and extract features.  Task 2   Training a Logistic regression classifier or other classifiers, based on two Newsgroups and predict the group label of your own two class data set.   · Use tf-idf weighted unigram bag-of-words model as baseline model. · Add more text extraction methods  (optional)        A skeleton code is provided in Blackboard Week 7 folder to assist your implementation. The original code (with detailed comments) should be attached at the end of the report as an appendix.         You will have own version of scikit-learn 20 newsgroups text dataset by typing student number at the beginning of the skeleton code below. You need to modify the code accordingly to achieve the two tasks above.         You will download your two Newsgroups based on your student number.

$25.00 View

[SOLVED] MTH208 2025 Coursework

MTH208: 2025 Coursework •  Total marks for the coursework are 15. • You just need to choose one of the following two questions to write a report. •  There is no specific word limitations but you are expected to address all the questions clearly and thoroughly with 8000 words. • You may complete the work by using the provided solution sheet in word or tex. •  Please submit the completed solution via a submission link provided on the LMO. •  All the learning materials on the LMO can be referenced including lecture notes, lab codes, extra reading materials.  Seeking help from AI is allowed, but you must complete the coursework inde- pendently and explain how the AI is used and the percent of contributions by AI. Any form of plagiarism, collusion and fabrication of data is not allowed. •  Please convert your file into pdf before submission. •  Please name your submission in the form MTH208Final+ID+ZhangSan.pdf •  The coursework will be available at 9:00 AM on May 15th, and the deadline for submission is 9:00 AM on May 23rd. Submissions will still be accepted after the deadline, but a penalty of 5% of the total marks will be deducted for less than 5 days of delay.  Work received more than five working days after the submission deadline will receive a mark of zero. Question I: Application of Numerical Methods in Financial Mathematics 1 Introduction Options are financial instruments that give the holder the right, but not the obligation, to buy or sell an underlying asset at a specified price (strike price) on or before a specified date (maturity).  The price of an option depends on several factors, including the current price of the underlying asset, the strike price, the time to maturity, the risk-free interest rate, and the volatility of the underlying asset. 1.1 Implied Volatility Implied volatility is a crucial parameter in option pricing.  It represents the market’s expectation of the future volatility of the underlying asset.  The Black-Scholes model is a widely used formula for pricing European options. However, the Black-Scholes model does not provide a direct formula for implied volatility.  Instead, it must be found by solving the Black-Scholes equation for the volatility parameter, given the market price of the option. 1.2 Black-Scholes Formula The Black-Schoies formula for the price of a European cail option is given by: where and N (·) is the cumulative distribution function of the standard normal distribution.  To find the implied volatility σ, you need to solve the equation C(σ) = Cmarket   for σ . 2    Problem Statement In the context of implied volatility, we need to solve the equation C(σ) = Cmarket  , where C(σ) is the Black-Scholes price of the option as a function of volatility σ, and Cmarket   is the observed market price of the option.  Suppose you are given the following information about a European call option: - Current stock price S = 100; - Strike price K = 100; - Time to maturity T = 1 year; - Risk-free interest rate r = 0.05 - Market price of the option Cmarket   = 10. Using the Black-Scholes formula, you need to find the implied volatility σ by solving the equation C(σ) = Cmarket  . Change the problem into a root finding problem.  Then compare the performance of different root finding methods including the bisection method  (Use an initial interval for volatility, such as  [0.1,0.5]  (10% to 50%) and initial guess, e.g., σ = 0.2); Newton’s method, Secant method etc. In the report, you should recall the background of the problem, then present the idea and detailed im- plementation of each numerical methods; Evaluate the performance of each method in terms of -Convergence speed (number of iterations to reach a solution). -Computational time (time taken to reach a solution). -Accuracy (how close the solution is to the true implied volatility). You may also have a discussion of the advantages and disadvantages of each method.  Provide a recom- mendation on which method might be most suitable for calculating implied volatility in different scenarios. Also put your MATLAB (or other programming language) code for each method as an appendix. If you seek help from AI in completing project, please also mention how the work is carried out and the percent of contribution by AI. Project assessment: The assessment of the report will mainly consider two parts: • the content of the report  (10 marks) including research contribution, methodology and analysis, results and discussions; •  format of the report (5 marks) including clear structure and format, clear figures and tables with captions, proper citations and references, precise presentation of results 3    Suggested Structure of the Report - Title: xxxxxxxxxxxx - Author:  [Your Name] - ID: [Current Date] - Module Code:  [Course Name] Table of Contents 1. Introduction 2.  Numerical Methods 3.  Performance Evaluation and Discussion 4.  References 5. Appendix-Codes Question II: Wave Packet A Gaussian wave packet refers to a wave packet whose profile follows a Gaussian distribution, and it has important applications in both optics and quantum mechanics.  In optics, it can be used as the electric field function of a laser pulse.  In quantum mechanics, it is often employed as a wave function. The Gaussian wave packet is represented by a complex function as (where A is a complex number). As an specific example, we take A =  1, a =  1/20 and k = 5.  The plot is shown in Figure 1. In this Figure 1:  Gaussian wave packet.  Blue curve for real part; red curve for imaginary part. project, we just consider and its approximation in [-10, 10]. Project goal: Explore and compare various numerical methods (interpolation with various basis or fitting in discrete and continuous cases) for approximating the  absolute value  function.   You  may provide basic ideas of each numerical method, give the implementation details and then compare their performance in terms of accuracy, implementation details and computational efficiency (You don't need to include the code in the report) Project  suggestions: You are encouraged to refer to textbooks, academic  papers, and online resources on numerical methods for function approximation to enrich your understanding and imple- mentation of the numerical methods.  By incorporating these additional details, you are expected to be prompted to delve deeper into the theoretical and practical aspects of numerical methods, enabling a more comprehensive exploration and comparison of the methods for approximating the absolute value function. Project assessment: The assessment of the report will mainly consider two parts: • the content of the report  (10 marks) including research contribution, methodology and analysis, results and discussions; •  format of the report (5 marks) including clear structure and format, clear figures and tables with captions, proper citations and references, precise presentation of results

$25.00 View

[SOLVED] SPS 5010P Global Economy Dissertation 2024/25

Global Economy Dissertation (SPS 5010P) Course Guide 2024/25 Course Overview This dissertation will allow students to explore an area of particular interest, using a combination of primary and secondary research material. Working closely with a supervisor, they will develop the topic, undertake the research and submit a dissertation of 12,000 - 15,000 words. Aims The MSc Dissertation option offers students the opportunity to identify an original research proposal and to conduct independent research on their chosen topic.  This allows students to conduct research on a topic under the guidance of a supervisor and will acquaint them with a wide variety of research methods and encourage their use. The aim is to prepare students for further postgraduate research or employment in jobs related to the material covered elsewhere in the programme. Students will benefit both from the specialised knowledge of staff in areas where they have made a particular research contribution and provide a specialised education in the study of the Global Economy in both its empirical and theoretical aspects. Intended Learning Outcomes On successful completion of the dissertation, students will · have a specialised and detailed knowledge and understanding of a particular issue relating to the global economy. · be able to apply a range of research methodologies and able to apply them in pursuit of a particular topic or question · be able to evaluate competing theories and analyse critically the arguments of a range of scholars; · have acquired the ability to approach any subject of enquiry in an open-minded, rigorous and undogmatic manner and the skill to construct arguments and express their own views in a logical and lucid fashion · an ability to work independently using their own initiative to produce work containing a substantial element of originality · be able to identify, gather and interrogate research data from a wide variety of sources. Course Requirements The Global Economy Dissertation is a sustained piece of independent research and writing. Students will identify a topic of interest that relates to the global economy and design research to address the topic. They will work closely with a supervisor to refine the research design, conduct the research and write it up as a dissertation. The MSc Global Economy is a global degree, so students must either: a) choose a topic that covers more than one country, or b) choose a topic that relates one country to issues of globalisation (e.g., global capital flows, global regulatory institutions, corporate social responsibility, international supply chains, technology transfer, international finance, etc.). Students must use empirical materials in their project. This will help to provide evidence to support the argument. Examples of suitable empirical materials for the dissertation include: · Reports produced by organisations or governments · Congressional/Parliamentary reports and transcripts · Company materials, e.g. annual reports, CSR reports · Industry association data and marketing research · Archival sources · Press media reporting (but not social media posts) · Statistical data obtained from a database, e.g., Statista, World Bank. There are two important restrictions regarding empirical materials: 1. Data collection involving human participants is not permitted as part of the dissertation. This means students cannot conduct surveys, interviews or focus groups. This is because there is only limited time available to design and complete the dissertation, and this does not leave enough time to complete the ethics approval process. 2. We do not permit econometric and advanced statistical methods in the research project. Past students have found that there is insufficient time available in the research project to obtain raw data of sufficient quality, to complete database construction and data cleaning, and to conduct the necessary validity tests. We have also found that students run correlations that lack explanatory power, resulting in low grades. Please note: Any student may use descriptive statistics (e.g. graphs, percentages). The supervision process is organised through a series of group supervision meetings in which students receive guidance from their supervisor on specific steps in the research process, discuss their work with other students and with their supervisor, and provide constructive peer feedback on the work of other students. The group supervision meetings are participatory and designed to build teamworking skills including presenting ideas, active listening, and providing peer feedback. The role of the supervisor in the group supervision meetings is to facilitate discussion around key issues and provide additional insights. You will also have a one-to-one meeting with your supervisor, midway through the dissertation process, to receive additional, tailored guidance. Your supervisor will inform. you of the dates, times and locations for your supervision meetings. Supervision meetings are mandatory and in-person. They are used by the university to monitor for Tier 4 visa compliance. You must be present in Glasgow to take part in these required supervision meetings. Your supervisor is an expert in their field and has extensive experience in the design and conduct of research. To make best use of your supervisor’s knowledge, skills and time, we have provided a list of your responsibilities and those of your supervisor. Responsibilities of the student: · Identify a topic of interest relating to the global economy · Design, conduct and write-up the research project · Come to supervision meetings with questions, problems or difficulties encountered · Deliver written work by the date agreed with the supervisor · Manage time effectively and maintain a schedule of work as agreed with your supervisor · Provide constructive feedback to other students in the supervision group · Submit the completed Dissertation via Moodle by the deadline Responsibilities of the supervisor: · Set dates for supervision meetings and communicate these to students · Provide guidance about the nature of the research, how to plan and manage time, and the expectations of the Dissertation · Review and comment on the research proposal, including the suitability of the research approach · Monitor progress with the project and provide feedback on issues relating to research design and implementation, to help improve the quality of the work · Review and comment on the following draft chapters (if submitted on time): literature review, and first and second empirical chapters · Mark the final Dissertation Assessment The Global Economy Dissertation is assessed by submission of a 12,000-15,000 words dissertation. A pass mark (D3 or higher) must be achieved in order to gain the MSc degree. The dissertation should be typed, left-aligned and 1.5-spaced. You are responsible for all errors in your papers, including grammatical and spelling mistakes. Written work should have use an appropriate form. of academic referencing. Students must submit their assignments via Turnitin, using a .docx (but not a .pdf file type). You should submit your Dissertation via Moodle . Assessment Submission Warning Students must submit their coursework assignments to the correct summative assessment link on Moodle, usually named "FINAL." · Penalties for late submissions: If an assignment is not uploaded to the correct submission link, penalties will be applied for up to five working days. · Draft submissions: Uploads to the "Draft" submission link are not considered final and will not be accepted, even if uploaded before the due date and time. · Non-submission after five days: If the correct submission link is not used within five working days, the assessment will be treated as a non-submission and receive a grade of 0. Standard late penalty submissions are a deduction of 2 points per day, up to 5 working days, at which point late submissions are a 0. Penalties for assignments that exceed word counts. The word count should be stated on the assignment. For assignments which are more than 10 per cent over the word limit, the penalties are: · 10-15 per cent over – 1 point · 15-20 per cent over – 2 points · 20-25 per cent over – 3 points · More than 25 per cent over – fail (zero) and where allowed resubmit as a second attempt.

$25.00 View

[SOLVED] Dynamic Fiscal Policy Summer Term 2025 Worksheet 1

Dynamic Fiscal Policy – Summer Term 2025 Worksheet 1 Simulation of a Pay-as-you-go Social Security Scheme Consider the following two-overlapping-generations model: A. Demographics The working population Lt  grows at a constant exogenous rate n. Accordingly for the cohort born in t the following relation holds: B. Households Households  are  described  by  a  representative  individual  with  full  anticipation that plans over a complete life cycle consisting of two periods. Young households, in  their  first  life  cycle  period,  form  the  working  population  and  spend  their wage  wt   either  on  consumption  ct(1)  or  on  savings  st(1) .  In  their  second  life  cycle period households retire and live off their savings from the first life cycle period. The utility function depends on first period consumption  ct(1)   and second period consumption ct(2)+1 : C. Firms The firms underly full competition and produce output according to the following Cobb-Douglas production function: Yt ,  Kt   and  Lt   represents production,  capital  and  labor  on  an  aggretated  level. Furthermore, there is: Whereby Yt , Kt  and Lt  represent aggregate output, aggregate capital input and aggregate work input in period t. D. Capital Market In presence of depriciation δ but in absence of external trade the capital market equilibrium condition is: Exercise 1 a)  Derive the household’s lifetime budget constraint, b)  the Marshallian demand functions for first and second period consumption c)  as well as optimal savings. Exercise 2 a)  Derive the capital market equilibrium condition given by Equation (7). Hint: In a closed economy the difference between capital stock in period t and period t+1 is equal to the economy’s savings  St . The latter consists of the savings of the young generation  St(1)  and the savings of the old generation  St(2) . Notice, that for matters of utility maximization, the old genereation completely dissaves its capital. b)  Derive the model’s dynamic equation of motion kt+1(kt , kt+1) under the as- sumption of full competition in the absence of depriciation (δ = 0). Simplify this equation as far as possible. c)  Derive the steady-state capital intensity k* . d)  How does population growth influence capital intensity in the steady state? Is this influence also evident outside the steady state? Justify. Exercise 3 Assume n = 0.4, α = 0.25, β = 0.6 and δ = 0. a)  Calculate the economy’s steady-state capital intensityas well as the capital coefficient b)  Is the capital coeffcient within a realistic range? c)  Is the economy on a dynamically efficient growth-path? Justify your answer. Exercise 4: Introduce a government sector into the model. Assume the government to provide a  mandatory  pay-as-you-go  social  security  system  with  a  constant  per  capita contribution τt  = τ   ∀ t  levied on the working population and a per head transfer trt  payed to the older generation. Further assume the following relation between contributions and transfers: a)  Derive the new lifetime budget constraint. b)  Show that the introduction of the per capita contribution does not distort household consumption decisions. What can be concluded from this finding? Justify your answer using the income and substitution effect. c)  Derive the new Marshallian demand functions for first and second period consumptions. d)  Derive the new dynamic equation of motion kt+1(kt , kt+1) under the assump- tion of full competition in the absence of depriciation (δ = 0). Simplify this equation as far as possible. e)  Explain on which factors this dynamic equation of motion depends. To what extent does the introduction of a social security system for old age influence the development of capital intensity? Important working instructions: 1) Allow a sufficient amount of time for the assignment and work thoroughly and properly. 2) Make sure that your handwriting is legible. Please pay special attention to the distinction of upper and lower case letters. 3) Make sure to provide a complete documentation of your thoughts and arithme- tic steps. Therefor consecutively number all equations you refer to. 4) Make sure to assign the results to the corresponding exercise. You will not get any points for results in the wrong place! 5) Elaborate the intuition of your formal statements, taking the underlying as- sumptions of the model as well as the implications of your results into account. 6) Group-work is expressly permitted. Make use of this opportunity! However, be aware that each student has to hand in a separate handwritten solution. Obvious copying may lead to the deduction of points or failing the course.

$25.00 View

[SOLVED] CS3DP Distributed and Parallel Computing

Department of Computer Science Summative Coursework Set Front Page Module Title:  Distributed and Parallel Computing Module Code:  CS3DP Type of Assignment:  Coursework Individual / Group Assignment:  Individual Weighting of the Assignment:  50% Total marks: 100 Page limit/Word count:  4 pages Expected hours spent for this assignment:  20 hours Items to be submitted:  4-page report  (excluding title page, diagrams, graphs and references) in pdf format Work to be submitted on-line via Blackboard Learn by:  Monday 12th  May 12 Noon Work will be marked and returned by: Tuesday 4th June. NOTES By submitting this work, you are certifying that it is all your sentences, figures, tables, equations, code snippets, artworks, and illustrations in this report are original and have not been taken from any other person's work except where explicitly the works of others have  been acknowledged, quoted, and  referenced. You understand that failing to do so will be considered a case of plagiarism. Plagiarism is a form. of academic misconduct and will be penalised accordingly. The University’s Statement of Academic Misconduct is available on the University web pages. If your work is submitted after the deadline, 10% of the maximum possible mark will be deducted for each working day (or part of) it is late. A mark of zero will be awarded if  your  work  is  submitted   more  than  5  working  days   late.  You   are  strongly recommended to hand work in by the deadline as a late submission on one piece of work can impact on other work. If you believe that you have a valid reason for failing to meet a deadline then you should make an Exceptional Circumstances request and submit it before the deadline, or as soon as is practicable afterwards, explaining why. To make such a request log on to  RISIS  and  on  the  Actions  tab  select  Exceptional  Circumstance:  as  explained  at https://www.reading.ac.uk/essentials/The-Important-Stuff/Rules-and- regulations/Exceptional-Circumstances 1. Assessment Classifications First Class (>= 70%) Outstanding/excellent work with correct results, a good presentation  of  the  theoretical  concepts  applied  to applications.  A   good  presentation  of  the   code  and results,   and   a   critical   analysis   of   the    results.   An outstanding  work  will  present  full  solutions  with  an insightful discussion. Upper Second (60-69%) Very good work with partial correct results: most work has  been  carried  out  correctly.  Some  tasks  have  not been  carried  out  or  are  not  completely  correct.  The presentation   is   good,    well   structured,   clear   and complete with respect to the work done. Lower Second (50-59%) Good work, which is missing some significant part of the assignment, and/or with partially correct results. Some tasks have not been carried out. The presentation is, in general,  accurate  and  complete,  but  it  lacks  clarity (presentation quality). Third (40-49%) Acceptable solutions to limited part of the assignment. Some tasks have not been carried out. Some results may not be complete or technically sound. The presentation is not accurate, complete and lacks clarity. Pass (35-39%) Partial solutions to limited part of the assignment. Some tasks have not been carried out. Some results may not be complete or technically sound. The presentation is not accurate, complete and lacks clarity. Fail (0-34%) Incomplete solutions to limited part of the assignment. Most tasks  have  not  been  carried  out  with  sufficient accuracy.  Results  may  not  be  correct  or  technically sound. The presentation is not accurate, complete and lacks clarity. 2. Assignment Description Task 1. Understanding the CAP Theorem. [25 marks] Choose a real-life distributed computing system, such as the distributed Domain Name Server (DNS), not one that we’ve introduced in the lectures. Analyse its distributed architecture and the rationale behind its design including aspects such as data storage, algorithms, and investigate how the CAP theorem is applied in the design and operations. Analyse and discuss the following: a)   The semantical properties: concurrency, availability and durability b)   The wish-list for distributed software, consider whether and how the chosen system has the following properties: High-availability, Fault tolerance, scalability, Extensibility, Usability, debuggability and Efficiency. c)   How is the CAP theorem applied for the chosen distributed system and why? Please note: your discussion should incorporate specific function/service examples provided by the system to show your understanding of the CAP theorem. A general introduction to the chosen distributed computing system and the semantical properties is not sufficient. Task 2. Understanding the Hadoop MapReduce Framework [35 marks] You have been provided with a dataset below containing web server log files from a large e-commerce platform. Each log entry contains: •    IP Address (e.g., 192.168.1.1) •   Timestamp (e.g., [10/Jan/2024:10:05:23 +0000]) •    Requested URL (e.g., "GET /product/123 HTTP/1.1") •    HTTP Status Code (e.g., 200) •    User Agent (e.g., Mozilla/5.0) 192.168.1.1 - - [10/Jan/2024:10:05:23 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:10:06:12 +0000] "GET/product/123 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.3 - - [10/Jan/2024:10:07:45 +0000] "GET/cart HTTP/1.1" 302 "Mozilla/5.0" 192.168.1.1 - - [10/Jan/2024:10:08:50 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.4 - - [10/Jan/2024:10:10:30 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:10:15:42 +0000] "GET/product/456 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:20:18 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.6 - - [10/Jan/2024:10:22:30 +0000] "GET/product/789 HTTP/1.1" 404 "Mozilla/5.0" 192.168.1.7 - - [10/Jan/2024:10:25:47 +0000] "GET/cart HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.3 - - [10/Jan/2024:10:30:59 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.8 - - [10/Jan/2024:10:35:10 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:10:40:25 +0000] "GET/product/123 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:10:42:47 +0000] "GET/cart HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.4 - - [10/Jan/2024:10:43:45 +0000] "GET /product/357 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.9 - - [10/Jan/2024:10:45:33 +0000] "GET/product/123 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:10:46:30 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:46:40 +0000] "GET /product/235  HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:50:45 +0000] "GET /product/357 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.9 - - [10/Jan/2024:10:51:40 +0000] "GET /product/246  HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:52:47 +0000] "GET/cart HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:52:52 +0000] "GET /product/579 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.9 - - [10/Jan/2024:10:53:50 +0000] "GET /product/135 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:10:55:50 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.10 - - [10/Jan/2024:11:00:12 +0000] "GET/contact HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.6 - - [10/Jan/2024:11:05:29 +0000] "GET/product/456 HTTP/1.1" 404 "Mozilla/5.0" 192.168.1.2 - - [10/Jan/2024:11:15:00 +0000] "GET/product/123 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.5 - - [10/Jan/2024:11:35:10 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.8 - - [10/Jan/2024:11:40:42 +0000] "GET/product/789 HTTP/1.1" 404 "Mozilla/5.0" 192.168.1.9 - - [10/Jan/2024:11:50:30 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.10 - - [10/Jan/2024:12:00:05 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.11 - - [10/Jan/2024:12:05:15 +0000] "GET/product/123 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.12 - - [10/Jan/2024:12:10:25 +0000] "GET/home HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.13 - - [10/Jan/2024:12:15:40 +0000] "GET/cart HTTP/1.1" 302 "Mozilla/5.0" 192.168.1.14 - - [10/Jan/2024:12:20:00 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" 192.168.1.15 - - [10/Jan/2024:12:25:50 +0000] "GET/product/456 HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.20 - - [10/Jan/2024:12:50:10 +0000] "GET/cart HTTP/1.1" 200 "Mozilla/5.0" 192.168.1.21 - - [10/Jan/2024:12:55:55 +0000] "GET/checkout HTTP/1.1" 500 "Mozilla/5.0" Your task is to use MapReduce to analyse the logs and extract the information - the Top 10 most frequently accessed URLs within the hour peak hour (the hour with the most requests), and the number of unique visitors to each of the Top 10 URLs within the peak traffic hour. You need to break down this complicated task into multiple MapReduce jobs and justify how the jobs can lead to the desired result in the end. In your report, you are required to: a)   Describe the decomposition of the task into a series of MapReduce jobs and justify the  reasoning.  For each MapReduce job,  identify the input, output, Mapper function, and Reducer function. b)   Write python programs for the map and reduce functions and run the MapReduce jobs in the Hadoop local setup. The code should be included in an appendix to the report and is excluded from the 4-page length limit. c)   In the main report, you need to provide screenshots for the generated result of each MapReduce job. Please note that the results should be the execution results of Hadoop, not the local testing results for your Python programs. Task 3. Understanding Parallel Programming with Spark [35 marks] Pi is an essential number in mathematics. It is both transcendental, which means it cannot be determined as a solution to an algebraic equation (polynomial with integer coefficients) and irrational, which means it cannot be expressed as a ratio  of integers. Determining its value is not so simple. Here is a method which uses random numbers. Figure 1: Unit circle with radius r   =  1 and a square with side of length one. Figure 1 is a unit circle, with radius r   =   1 and a square with unit length side. The area of the square is As   =  r   ×  r   =   1              (1) The area of the circle is    Ac    =  πr2    =  π                   (2) The area of the upper quadrant contained in the black square is a quarter of the circle. Darts are thrown at random into the black square and counted to see how many fall within the quadrant.  The  number of darts inside the quadrant  is proportional to the area, and so π can be estimated by taking the ratio of darts that fall inside and outside. Here is the function in python using random numbers for x and y coordinates to compute whether a dart landing inside or outside of a unit circle. import random # function to compute whether a "dart" is inside the unit circle def sample(p): x, y = random.random(), random.random() return 1 if x*x + y*y < 1 else 0 Based on the key computation given above, please produce a python program to calculate Pi using pyspark. The program should be able to accept the number of samples (darts) and the number of partitions as two input arguments, and output the value of Pi given the input values. from pyspark import SparkContext import sys #Define the sample() function here # You should start from creating a Spark Context sc=SparkContext(appName="miPi") # Take the number of samples NUM_SAMPLES=int(sys.argv[1]) # Next you should parallelise the samples in Spark. # Remember to take the number of partitions from an input argument # Your code of using spark should go here. #The number of darts inside the quadrant should be stored in an integer variable count # Calculating Pi, python3 syntax print("Pi:"+str(NUM_SAMPLES)+":"+str(4.0*count/NUM_SAMPLES)) You should also investigate how the accuracy of the calculation scales with the number of darts and the number of parallel elements. In the report, you are required to include the following components: a)   Screenshot of your python code (as an appendix, excluded from the length limit) b)   In the main report, two plots respectively showing how the accuracy varies versus a.   the number of darts at a fixed partition number; b.   the number of partitions at a fixed number of samples. c)   Brief discussion and justification on the observations. Explore the reasons behind unexpected observations.

$25.00 View