CMPT466 - Computer Animation Programming Assignment 3: Rigid Body Simulation (15 points) Spring 2025 Due date: 23:59 Tuesday April 1, 2025 Marks for late assignments will be discounted by 10% each day. That is, if you are one day late, your marks will be multiplied by 0.9, two days late by 0.9*0.9 … In this assignment, you are going to implement a rigid body simulator using forward dynamics. You will need to simulate the motion of two rigid bodies (a dice and a ball) when they are dropped from mid-air and collide onto the ground. The coding environment will be in Unity. Unity Setup To begin, download and extract CMPT466-Assignment3.zip. Open the extracted folder CMPT466-Assignment3 as a Unity project in Unity Hub and select 2022.3.56f1 as the editor version. Later versions should also work, but if you run into issues, use the listed version. It should take a while to open the project for the first time. Once the project is opened, open the scene in Assets → Scenes → Assignment3 to begin the assignment. Demos Demo link: Assignment3Demos Project Script. files All the C# script. files are contained in Assets/Scripts folder. Here are some brief details on what they do: 1) CameraController.cs This script. controls the camera movement. If you like, you may modify this script to have the controls bind to different keys. 2) StateController.cs Do not edit this file. This script. adds key controls to control the simulation state. 3) Matrix3x3.cs Do not edit this file. This script. defines a 3x3 Matrix class which you can use for this assignment. The documentation is documented in the file. 4) BaseRigidbody.cs File you need to modify. This script. will be the file that simulates the motion of a rigid body. All the forward dynamics should be implemented here. 5) DiceRigidBody.cs File you need to modify. Script. for Dice rigid body that extends the base rigid body and overrides the local vertices and inertia matrix. 6) BallRigidbody.cs File you need to modify. Script. for Ball rigid body that extends the base rigid body and overrides the local vertices and inertia matrix. Introduction to the project When you first open the project, you’ll be greeted with two dice and two balls in the scene. The white objects will move according to your implementation of the forward dynamics. The yellow objects will follow the dynamics from Unity’s built in physics engine. When you first run the project, the white objects will not move since nothing has been implemented yet. However, the yellow objects will begin to fall and collide with the ground. You can press ‘r’ to reset the simulation state, press ‘space’ to pause the simulation, and press ‘right arrow’ to advance a single timestep while the simulation is paused. There are some simulation parameters for each rigid body that you can change via the Unity editor interface. Click on the respective GameObjects (WhiteDie and Ball) and you’ll see some properties you can modify under their script. components. Here are the default values when you first open the project: Here is a brief description of what they do: • Initial Position: The initial position of the object. This also changes the initial position of the corresponding yellow object. • Initial Rotation: The initial orientation of the object. The corresponding yellow object will have the same initial orientation. • Initial Velocity: The initial velocity of the object. The corresponding yellow object will have the same initial velocity. • Dt: The simulation step of the object. The corresponding yellow object will have the same value. • Mass: The mass of the object. • Ks: The penalty coefficient. • Kd: The damping coefficient. • Mu: The coefficient of friction. Note that the parameters mass, ks, kd, mu are exclusive only to the white objects and do not affect the yellow objects. Part 1: Inertia Matrix (0.5/15 points) Implement the InertiaRefMatrix in DiceRigidbody.cs. (0.5/15 points) Implement the InertiaRefMatrix in BallRigidbody.cs. You can refer to lecture notes for the inertia matrix of different shapes. Part 2: Collision Detection (2/15 points) Complete the following function: private List GetCollidedVertices() This function should return a list of the object’s vertices which have collided onto the ground. You can assume that the ground is at height zero, thus a vertex is in collision when its y value is negative. You are given a list LocalVertices which contains the local positions of the vertices that are relative to its center of mass. You must first transform. them into global positions before checking for ground collision. Part 3: Calculate Forces and Torques (5/15 points) Complete the following function: private (Vector3, Vector3) ComputeForceAndTorque() This function should return the net force and net torque applied to the object at the current simulation state. You can assume a gravity of -9.81. The penalty method should be used to compute the collision force on each collided vertex, and you will need to take account of the damping force and dynamic frictional force. You must aggregate each vertex’s collision force and torque into the net force and torque. You will need to use the properties mass, ks, kd, mu to compute the relevant forces. Their values can be modified via the editor, as described before. Part 4: Integrate Timestep (4/15 points) Complete the following function: private void Integrate(float deltaTime) This function should update the position, rotation, linear_velocity, and angular_velocity state variables with simulation timestep deltaTime. It should be implemented using the Semi-Implicit method. You can get the inertia matrix of the objects via IntertiaRefMatrix property. Note that this returns the inertia matrix in an object’s local body frame, you’ll have to transform it into the global frame. given the object’s current rotation state. After you’ve implemented part 1 through 3, you should see the objects start to fall and tumble on the ground. If you’ve implemented everything correctly, your results should be similar to the result shown in demo1.mp4 in the demo folder. The default parameters are used in this demo. Part 5: Parameters Tuning (1.5/15 points) As you may see, simulating the objects with default parameters does not resemble the simulation of the yellow objects. Try to play around with the parameters and report the best values you can find that can result in a similar motion as the yellow objects in a text file answer.txt. Ensure you have reported the parameter values for both the die and the ball. For reference, you may have a look at demo2.mp4 to see what the simulation can look like with some better parameter values. (1.5/15 points) In answer.txt, write a few sentences to explain how you can achieve different motions by tuning each parameter. Submission Please create a zip named studentid.zip (e.g. 123456789.zip) containing your BaseRigidbody.cs, DiceRigidbody.cs, BallRigidbody.cs, and answer.txt. At the top of your files, please leave a comment that includes both your name and student id. Submit your zip file on CourSys.
ENG2047 Soil Mechanics 2 Seepage Coursework Exercise Assignment Guidance Assignment Start Date: 10 March 2025 Assignment Submission Date: 31 March 2025 Submission Method: On course Moodle Requirements of Assignment: Each student must submit a short formal report, justifying a recommended depth of sheetpile penetration. The report should include an Introduction (describing the problem and based on the briefing document), other sections as appropriate to provide the evidence to justify the final recommendation, and a final Conclusion section to present the recommendation. Within appropriate sections should be flownets for 3 different sheetpile penetrations, all calculations and whatever tables and graphs are helpful in providing the evidence to justify the final recommendation. Adequate explanation should be provided throughout. Objectives of Assignment: • to gain understanding and practice in construction of flownets; • to tackle successfully a small but realistic geotechnical engineering problem, involving technical issues, optimisation of cost and consideration of safety and sustainability issues; • to prepare a short technical report, recommending a particular solution to a closely defined problem and providing the reasons and supporting evidence for this recommendation in a clear and well-argued fashion. Assessment Weighting: This assignment contributes 20% of the assessment weighting for Soil Mechanics 2. Marking Criteria: Criteria taken into account in marking the report (equally weighted) will be: • technical correctness and quality of flownets; • correct calculation of flowrates, pumping costs and total costs; • correct calculation of hydraulic gradients; • appropriate recommendation of embedment depth, including explanation and taking account • of both costs and risk of piping; • quality of report (layout, quality of writing, effective use of tables and figures, etc). Assignment Rules: • The School’s coursework cover sheet must be used, which can be downloaded from the School’s website. • Text and tables within the report should be word-processed, but flownets can be hand- drawn and graphs can be either hand-drawn or prepared using an appropriate software tool (e.g. Excel or a graphics package). • Standard university-wide penalties will be applied for late submission.
GEOG4079 Leadership and Management in Practice Innovation Report Briefing and Guidance Checklist for submitting your Innovation Report. 1. Have you completed the cover sheet correctly and included a ‘wet signature’? 2. Have you met all the University of Nottingham marking criteria sufficiently? Make sure that you refer to the University of Nottingham criteria – available in this document on page 2. For example: • how and where have you engaged with a plurality of ideas, • how have you challenged existing arguments, • have you developed independent conclusions based on your evaluation of the evidence, • is your proposal innovative, have you used the creative thinking techniques introduced on the module to develop your thinking, is your proposal original, • is your report clear and concise, • in what ways is your report persuasive and engaging? 3. Have you met all the ILM criteria sufficiently? Make sure that you refer to the ILM assessment criteria for each question – as shown throughout this document. 4. Have you included evidence of all your creative thinking and evaluation activities in the appendices? Remember that this can be done with photographs and/or screen shots of digital assets. 5. Have you included evidence of your stakeholder analysis activities (stakeholder map and impact/influence diagram) in the appendices? 6. Have you cited all your sources of information correctly within the text of your report? 7. Have you included all your sources of information (those you have cited AND those you have read) in the References section of the Innovation Report? 8. Have you met the word count for the University of Nottingham assessment correctly – remember that tables and the Appendices are NOT included in the word count. Guidance for completing the Innovation Report Use the guidance provided here to help you to focus your attention appropriately – this will help you to meet the University of Nottingham marking criteria AND the ILM assessment criteria. University of Nottingham Marking Criteria for the Innovation Report. This rubric is designed to guide you in the preparation of your Innovation Report This assessment task particularly develops the. MSc ELM Graduate Learning Characteristic #1: “Can influence and facilitate change”, in particular, Characteristic 1.1 “Construct, articulate and an evidenced and persuasive argument”, and Characteristic 1.2 “Adapt the ways in which you present and articulate ideas and arguments for different audiences”. You can use the questions in the checklist above to help you decide the extent to which you think you have met the aspects of assessment shown in the table below. Aspect of Assessment Needs improvement Satisfactory Good Excellent 1. Critically engages with a plurality of ideas and challenges existing arguments. 2. Develops independent conclusions based on evaluation of relevant evidence. 3. Offers innovative, original and creative ideas relevant to leadership development 4. The Innovation Report is written in a style that is clear, concise, persuasive and engaging Section 1: Explain the importance of innovation for the University of Nottingham (ILM AC 1.1: 8 marks) This is a really good place for you to demonstrate your levels of critical thinking and show how much you understand about the importance of innovation, with particular reference to the University of Nottingham. In terms of the University marking criteria you can show your ability to engage with a plurality of ideas, challenge existing arguments and develop independent conclusions based on relevant evidence with this answer. In terms of the ILM you will need to make sure that you meet the pass criteria shown in the table below (and avoid the refer criteria). Question Marks Refer Pass/ Even better pass 1.1 Explain the importance of innovation for own organisation 8 The importance of innovation for own organisation is not explained, or is incorrect or inappropriate, or is explained in generic terms with no reference, or with insufficient reference, to own organisation ‘Innovation’ is merely defined or described with no explanation as to the reasons why innovation is important for own organisation A limited but sufficient and correct account of a narrow range of the practices associated with innovation are provided that explain the importance of innovation for own organisation A full and correct account of a wide range of the practices associated with innovation are provided that explain the importance of innovation for own organisation Make sure that you relate your answer to the University of Nottingham and to the higher education sector. Include examples of innovative practices from the those provided in the lecture, recommended further reading and from your own personal investigations. There is no need to explain what innovation is – the key part of this question is to explain why innovation is important to the University. See the table below for a reminder of what ILM is looking for when it asks you to explain something. Essentially an explanation should include discussion on reasons – in this case the reasons why innovation is important to the University. Explain How does it work? Involves some description of a topic with an account of the practices associated with the topic. It may also imply some reasons for those practices, depending on context. Again, the level of cognitive skill involved will depend on the complexity of the subject matter. For the ILM this question is worth 8 marks (out of 100) so shouldn’t be more than two or three paragraphs of your report.
COMP2400/6240 - Relational Databases Assignment 1 (SQL) Due date: 23:55, 28th of March 2025 Instructions ● This assignment must be done individually. Do not share your solutions, or partial solutions, with anyone. Do not post any idea/- partial solution/result related to the assignment on the course discussion forum, or anywhere else where it can be read by other students. You may of course ask clarification questions, but make sure you phrase your questions so that they do not give away what you think the answer or solution is. If you have technical problems with accessing the moviedb database then you should ask for help. If you are not sure if a question is ok to post to the forum then ask your tutor during a lab or come to a drop-in session instead. Your answers to the assignment must be your answers. You can (and indeed should) use documentation, tutorials and other resources you can find on the web to learn SQL, and use what you learn to answer the assignment questions, but you should not obtain answers to the assignment questions from anywhere, anyone or anything. Your mark will be based on your original contribution to the answers only. Reference all resources (other than course material) that you have used in completing this assignment (by writing comments in your submitted SQL file). ● You must submit your solutions through Wattle before the assignment deadline. There will be an Assignment activity on the course Wattle page where you should upload your solution file. You can submit more than once, but we can only see, and will only mark, the last file that you submit. Late submissions will not be accepted. Submissions made outside the Assignment activity on Wattle (for example, files sent by email) will not be accepted under any circumstance. You will be marked on what you have submitted at the time of the deadline. If you find yourself in an unforeseeable situation beyond your control that you be- lieve significantly affects your ability to complete the assessment on time, you should submit an ECA (https://www.anu.edu.au/students/program-administration/ assessments-exams/extenuating-circumstances-application). ● This assignment will count for 18% of the final course mark. ● A copy of the moviedb database is available in the PostgreSQL DBMS in the CSIT lab environment (including via partch). You can connect to the moviedb database by entering the following in a Terminal: psql moviedb ● (Optional ) If you wish to set up your own copy of the movie database, you can use the pg dump utility on a lab computer (or partch) to create an SQL file that will create and fill all tables in the database. You can then execute that script in your own database. ● You must submit one file: myqueries .sql containing your solutions to all the ques- tions. The file must be submitted through Wattle before the due date. You can download the template file from the folder “Assignment 1 (SQL)” on Wattle. You must enter your queries into the template file, and your submitted file myqueries .sql must be executable in the given database moviedb. moviedb=> i myqueries .sql You can also test your queries against the moviedb database one by one following previous lab instructions. Please write each of your answers below the comment indicating the corresponding question (-- Q1 through -- Q10), and leave these comments unchanged. ● The correctness of queries should not depend on the database state, i.e., the content of the tables in the database. The current content in moviedb is provided to help you to get familiar with the database schema. To be fully correct, your SQL queries should produce correct answers when tested against other databases that have the same schema, but di erent content. Partial marks may be given if a query only has minor issues, but any query that is not runnable (i.e., that has syntax errors or is not correct w.r.t. the database schema) will receive zero marks. ● Please write your SQL queries in a clear, well formatted style, and use SQL comments (lines starting with --) to explain your thinking behind the crafting of a complex query. We may inspect queries that are not fully correct to determine if the flaw is minor. If your queries are well documented and easy to read and understand, this increases the chances that we will be able to find it partially correct. ● Sample SQL questions and solutions on moviedb will be available on Wattle, which will be helpful for you to work on your assignment. ● Plagiarism, collusion, and the use of disallowed tools will attract academic penalties in accordance with the ANU guidelines. Every student in this course is expected to be able to explain and defend any submitted assess- ment item. The course conveners can conduct or initiate an additional interview about any submitted assessment item for any student. If there is a significant discrepancy between the two forms of assessment, this will be seen as a case of potential academic misconduct. The Movie Database The schema of the relational database moviedb is shown in Figure 1. There are five different categories of awards: movie awards, crew awards, director awards, writer awards and actor awards. The result attribute in the relations listing each type of award indicates if the move/actor/director/writer/crew won the award, or was only nomi- nated. Note that values of this attribue are not consistently capitalised (for example, both ' won ' and ' Won ' may appear). A movie that won an award was, of course, also nominated for that award, but the result attribute will only show that it won. Figure 1: The moviedb schema. Questions Your task is to write SQL queries that answer the following questions. For each question, your answer must be a single SQL query (that may contain subqueries). Remember that your answers should not depend on the example database state. You must write all your answers into the template file myqueries .sql. 1. List all countries in which one or more movies in the database have been produced, in alphabetical order and without repetitions. The query result should have a single column. 2. List each country and how many movies were produced there, sorted by movie count descending. 3. List all actors who have played more than one role in the same movie. (For example, in “Psycho”, 1960, Anthony Perkins plays both “Norman Bates” and “Mother”.) The query result should have four columns: The actor’s first name, last name, and the title and production year of the movie. 4. List the award names (in the award table) that have not been given to any actor (i.e., that do not appear in the actor award table). The query result should have a single column, with the award names in alphabetical order and without repetitions. 5. What is the maximum number of roles for any movie listed in the database? Note: diferent roles played by the same actor in a movie still count as diferent roles. The query result should be a single row with a single column, containing the maximum number. 6. List the first and last name of all persons who have won a director award but never won a writer award. The query result should have two columns, with the person’s first and last name, and no duplicate rows. 7. List the title and production year of all movies that have won either a movie award or a director’s award, along with the director’s first and last name. That is, the query result should have four columns: title, production year, director’s first name and director’s last name, and no duplicate rows. 8. List all actors (first name and last name) who have played a role in a movie that has won less than 2 movie awards (including none), together with the title and production year of the movie. The query result should have four columns: The actor’s first and last names, and the movie’s title and production year. 9. List all actors who have had roles in the largest number of diferent movie genres (as given by the attribute major genre of the movie relation). (For example, according to our example database, Meg Ryan has had a role in two diferent genres of movie: one drama, and three comedies.) The query result should have two columns, with the actors’ first and last name. All done? Well done! Before you submit: ● Check that your myqueries .sql file is syntatically correct SQL, by running it in psql: moviedb=> i myqueries .sql ● Check that your solution (query) for each question is written below the comment line indicating the corresponding question (“-- Qi”) in your myqueries .sql file.
MATH3001 Project in Mathematics Project: Survival Analysis Summary Survival analysis is concerned with data on how long it takes for a certain event to occur, such as: death of a patient after onset of a disease; breakdown of a home appliance after purchase; making a claim after taking out a car insurance policy; finding a job after graduation from university, etc. The appropriate statistical methods to analyse and model survival data are of critical importance in medical studies and actuarial work, as well as in other settings. The most characteristic feature of survival data, which makes the statistical analysis particularly challenging and interesting, is that some observations may be incomplete (censored), e.g. when it is only known that an individual was alive up to a certain time, which may be caused by loss to follow up or just the end of study. Pre-requisites MATH2715 Statistical Methods or MATH2735 Statistical Modelling or equivalent. This project is not available for students who have taken MATH2775 Survival Analysis. Objectives The aim of this project is to study in some depth statistical methods for the analysis of time-to- event data, with applications to medical, actuarial and industrial practices. Students will also acquire skills of analysing survival data sets using standard routines in the statistical software package R. In its first half, the project will cover the basic principles and techniques of statistical analysis of survival data, including a selection from the following topics: ● Nonparametric estimation: the Kaplan–Meier and Nelson–Aalen estimators. ● Comparison of survival curves; the log-rank tests. ● Estimation of the variance; Greenwood’s formula. ● Parametric survival models. ● Maximum likelihood estimation in the presence of censoring. ● The Cox proportional hazards model. ● The accelerated failure time (AFT) model. Further topics, to be included in the second half of the project, are subject to students’ individual choices and preferences, which may be one or more of the following: 1. Critical review of the Kaplan–Meier estimator of the survival function. 2. Point processes approach to survival modelling. 3. Interval censoring and justification of actuarial (life-table) estimators. 4. Model building and selection of significant explanatory variables. 5. Justification of the log-likelihood ratio tests. 6. Critical review of the Cox regression model; partial likelihood. 7. Model checking in parametric models using residuals. 8. Model checking in the Cox regression model; Cox{Snell residuals. 9. Testing the assumption of proportional hazards. 10. Proportional odds models. 11. Time-dependent variables. 12. Frailty models. 13. Non-proportional hazards and institutional comparisons. 14. Competing risks. 15. Multiple events and event history modelling. 16. Dependent (informative) censoring. Bibliography Books 1. D. Collett, Modelling Survival Data in Medical Research , Texts in Statistical Science, Chapman & Hall / CRC, Boca Raton { London, 1994 (1st ed.), 2003 (2nd ed.), 2015 (3rd ed.). 2. D. R. Cox and D. Oakes, Analysis of Survival Data, Chapman & Hall, London, 1984. 3. R. C. Elandt-Johnson and N. L. Johnson, Survival Models and Data Analysis, John Wiley & Sons, New York, 1980. 4. J. D. Kalb eisch and R. L. Prentice, The Statistical Analysis of Failure Time Data, Wiley Series in Probability and Mathematical Statistics, John Wiley & Sons, New York, 1980 (1st ed.), 2002 (2nd ed.). 5. G. Brostrom, Event History Analysis with R, Chapman & Hall/CRC The R Series, CRC Press, Boca Raton, FL, 2012. 6. M. Mills, Introducing Survival and Event History Analysis, SAGE Publ., London, 2011. Selected Papers 7. B. Altshuler, Theory for the measurement of competing risks in animal experiments, Mathematical Biosciences 6 (1970), 1{11. (https://doi.org/10.1016/0025-5564(70) 90052-0) 8. J. P. Costella, A simple alternative to Kaplan{Meier for survival curves, Preprint (2010), available at https://johncostella.com/physics/survival.pdf. 9. D. R. Cox, Regression models and life-tables, Journal of the Royal Statistical Society, Series B 34 (1972) 187{220. (https://doi.org/10.2307/2985181) 10. P. Hougaard, Fundamentals of survival data, Biometrics 55 (1999), 13{22. (https:// doi.org/10.1111/j.0006-341X.1999.00013.x) 11. E. L. Kaplan and P. Meier, Nonparametric estimation from incomplete observations, Journal of the American Statistical Association 53 (1958), 457{481. (https://doi.org/ 10.1080/01621459.1958.10501452) 12. R. Peto and J. Peto, Asymptotically efficient rank invariant test procedures, Journal of the Royal Statistical Society, Series A 135 (1972), 185–207. (https://doi.org/10.2307/ 2344317)
ECE 132A: Introduction to Communication Systems Homework #3 Winter 2025 Due: Tuesday, February 4, 2025 at 11:59 PM via Gradescope 1. (25 pts) Suppose the message signal m(t) = 10 · cos(16πt) is transmitted using FM modulation with κFM = 10, producing a transmit signal (a) What is the two-sided bandwidth of m(t)? (b) If xFM(t) is passed through an ideal band-pass filter centered at 2 kHz with a (total) passband bandwidth of 62 Hz, what is the power of the signal at the filter output? What percentage of the total signal power of xFM(t) made it through the filter? (c) What should the passband bandwidth of the band-pass filter be to pass 90% of the total power of xFM(t)? (d) Repeat (c) if κFM doubles. 2. (15 pts) A sinusoidal message m(t) with a frequency of fm = 15 kHz is transmitted using FM modulation with a so-called modulation index of βFM = Am · κFM/fm = 2. (a) Find the approximate bandwidth of xFM(t) using Carson’s rule. (b) What percentage of the total power of xFM(t) lies within the Carson’s rule bandwidth? (c) Based on (b), would you say the Carson’s rule bandwidth is an adequate estimate of the signal bandwidth in this particular case? 3. (10 pts) Prove that the k-th order Bessel function of the first kind Jk(β) exhibits the property J−k(β) = (−1)k · Jk(β). 4. (20 pts) The FCC has just gifted us the band of spectrum from 200 MHz to 201 MHz to deploy a new FM radio broadcast system. Each channel is B Hz wide, and there is a guard band 20 kHz wide between neighboring channels. There are no other guard bands. All message signals have a one-sided bandwidth of at most 10 kHz and a magnitude of at most 2. The FM transmit signal is generated with a maximum frequency deviation of 50 kHz. (a) Based on Carson’s rule, what should the bandwidth B of each channel be? Based on this, what is the maximum number of channels our band can support? (b) Henceforth, consider a wideband FM bandwidth analysis, approximating the message signal as a sinusoid at 10 kHz. What is the smallest channel bandwidth B that contains at least 95% of the total modulated signal power? (c) What is the largest frequency deviation such that 75% of the total signal power is contained in a channel whose passband bandwidth is B = 130 kHz? What percentage of the total signal power is contained in the adjacent guard bands? 5. (15 pts) Let x(t) be defined as follows, where fc = 10 kHz. x(t) = 1[0,1)(t) · cos(2π(fc + 1000)t) + 1[1,2)(t) · cos(2π(fc − 1000)t) + 1[2,3)(t) · cos(2π(fc + 2000)t) (a) Find and plot/sketch the magnitude spectrum of x(t), i.e., |x(f)|. (b) Plot/sketch the instantaneous frequency of x(t) as a function of time t. (c) What is the bandwidth of x(t)? 6. (35 pts) Let X be a discrete random variable taking +1 with probability 0.4 or −1 with probability 0.6. Let N ∼ N (0, 1) be an independent Gaussian random variable with mean zero and variance one. Let Y be the random variable defined as Y = √ρX + N, where ρ > 0 is a constant. Let ˆX = sgn(Y ). (a) Roughly sketch the PDF of N for ρ = 1. (b) Roughly sketch the PDF of Y if X = +1 and that if X = −1, for ρ = 1. (c) Repeat (a) and (b) for ρ = 10. What do you observe as ρ is increased? (d) Let ρ = 1 for the remainder of this problem. What is the probability that Y = 1 or Y = −1? (e) What is the probability that Y ≥ 2? Sketch the PDF of Y and indicate what this probability corresponds to on your PDF. (f) What is the probability that |Y| ≤ 1? Sketch the PDF of Y and indicate what this probability corresponds to on your PDF. (g) What is the probability that ˆX = −1? Sketch the PDF of Y and indicate what this probability corresponds to on your PDF. (h) What is the probability that ˆXˆ = X if X = +1? Sketch the PDF of Y and indicate what this probability corresponds to on your PDF. (i) What is the probability that ˆX = X if X = −1? Sketch the PDF of Y and indicate what this probability corresponds to on your PDF. (j) What is the probability that ˆX = X? (k) What is E[Y]? What is E [ˆX]? (l) Suppose we redefine Y as Y = √ρX + N1 + N2, where N1 ∼ N (0, 1) and N2 ∼ N (0, 2) are independent. What is the probability that ˆX = X?
GEOM30009 IMAGING THE ENVIRONMENT Department of Infrastructure Engineering Assignment 1 Image Interpretation Due Date: 11:55 pm on Friday of Week 3 Value: 15% of Subject Mark Objective The purpose of this assignment is to learn how to visually interpret satellite images and identify various features and land cover types. You will learn that using certain cues and indicators will assist you in image interpretation and identification of different features. Background Aerial and satellite images are invaluable sources of information for understanding our natural and built environments. However, certain characteristics of aerial and satellite images makes their interpretation and understanding less straightforward. Specifically, the angle and altitude at which aerial and satellite images are taken are vastly different from the horizontal ground level views that we are used to, giving an unfamiliar perspective to what may otherwise be a normal image. Additionally, most airborne and spaceborne cameras can capture wavelengths of light beyond the visible spectrum, such as infrared. Consequently, different features and objects may not necessary appear in their natural colour. Because of such issues, we use the following basic indicators to assist visual interpretation and feature identification while analysing aerial and satellite images: 1. Tone/Hue/Colour – the relative brightness/colour of features. For example, in a natural colour image dense healthy vegetation usually appears dark green, whereas grassland appears light green. 2. Texture – what gives us the impression of smooth or rough texture. For example, water is characterised by a smooth texture, whereas sand dunes have a rough texture. 3. Shape – regular geometries generally signify human influence (e.g. Buildings) 4. Size – scale and shadows 5. Pattern – consider how trees in a park may form. no regular pattern, but trees along a roadside have a linear pattern. 6. Associations – features that belong and don’t belong together (e.g. Oil refineries will not be in a residential area). 7. Location – knowledge about the location of the image can help identify its features (e.g. snow and ice in an image of polar regions). Data Five images, which have been uploaded in Canvas, will be used for this assignment. The dataset can be downloaded from Canvas under “Assignment 1: image interpretation” . Tasks Your task is to visually analyse each of the five images and identify the main features using the above indicators, i.e., tone, texture, shape, size, shadow, pattern, location and association. Note that some images might be false-colour (i.e., features may not appear in natural colour). HINT: Each image has a .txt file next to it containing information about the sensor, spatial resolution, time and location. Please make sure you download both the jpg and the txt file. Submission We expect you to write a 600 words scientific report and include the following content. You can add more words if necessary BUT please keep it less than 2000 words. Your report should consist of seven sections as bellow: a. Introduction b. Image 001: Discussion c. Image 002: Discussion d. Image 003: Discussion e. Image 004: Discussion f. Image 005: Discussion g. Conclusion 2. Provide a proper introduction to address the purpose of image interpretation and clearly state the aim of your report. 3. Provide one paragraph discussion for each image including the following content: a. Describe the main features (at least five per image). For each feature, mention at least two indicators that help you identify it. b. Explain how you distinguish features with similar appearances, e.g. ice, cloud, and smoke. If a feature appears in an unnatural (false) colour, explain why it appears that way. c. When referring to a certain feature mention where it is in the image (e.g., top- left corner, bottom-centre, etc.). d. If you explained a feature in an image you do not need to explain it again for another image using the same indicators. For example, if you explained a water body in an image, try to focus on other features in the next image (e.g. vegetation, roads, etc.) and explain those. e. Your discussion should be based on visual interpretation. However, you can do an internet search (e.g., using the time and location of image capture) to support your interpretation. 4. In the conclusion section reflect on your findings and what you learned about image interpretation. 5. Provide a reference list if your text includes any information from other sources. Submit a digital version of your report via Canvas and in pdf format only. Marking rubric Appropriate length and proper formatting 5% Proper introduction 10% Proper discussion of image 001 15% Proper discussion of image 002 15% Proper discussion of image 003 15% Proper discussion of image 004 15% Proper discussion of image 005 15% Logical conclusions 10%
Assignment Sheet Unit Name International Financial Management Unit Code BFW2341 Assignment Name Forex Simulation Trading Assignment Number/Reference Assessment 1 Weightage 30% Learning Outcomes This assignment assesses the following learning outcomes: Learning Outcome Number Learning Outcome Description LO1 Explore the international financial environment and the importance of foreign exchange risk management. LO3 Demonstrate how foreign exchange market mechanisms can be used to hedge foreign currency transaction exposure. Weighting This assignment is worth 30% of your overall grade for this unit. Requirements This assignment has the following requirements: Assignment Type Individual Response Format Written copy Response Specifications N/A Due Date 4.30 pm (Malaysian Time), 4 April 2025 Submission Process Submit with Moodle Notes: N/A Assignment Instructions There are three parts, in part 1 you are required to demonstrate currency trading using the platform. MetaTrader 5 demo account. Complete both the table of historical price of the currency pair and the transactions records and describe the transactions and comment the trading performed during the last three weeks. Students may use Instant Execution and Pending Order (Buy Limit and Sell Limit) for the trading. Part 2 Conduct a regression analysis to estimate the relationship between the exchange rate for the period from 2000 – 2023 (use annual data) based on the given variables. Part 3 is a short essay question that required you to describe the factors that drives the movement of your choice pair of currency in part 1 above? BFW2341 S1 2025 Forex Trading Simulation Student name: Student ID: MetaTrader 5 demo account information User ID (digit): XXXXXXXXXX Password: XXXXXXXX Part 1: Trading currencies (40 marks) a) Fill in the historical price of the currency pair used to trade (10 marks) Date Currency pair Weekly High Weekly Low b) Fill in your transaction records (entry prices), increase rows if necessary. (10 marks) Date Currency pair Order type (market/limit) Volume (lot) Executed price c) Describe your trading transactions, including your strategy, key decisions, and market conditions that influenced your trades. Assess the effectiveness of your approach, highlighting successes, challenges, and risk management. Reflect on your overall performance and suggest improvements for future trading. (20 marks) Word Limit: 1000 words Part 2: Regression Analysis (40 marks) a) Conduct a regression analysis to estimate the relationship between the Exchange Rate (Dependent Variable) for the period 2000–2023 using annual data for one of the following currency pairs; (20 marks) i) Canada (Canadian Dollars to USD Spot Exchange Rate Annual) or ii) Japan (Japanese Yen to USD Spot Exchange Rate Annual) or iii) Singapore (Singapore Dollars to USD Spot Exchange Rate Annual) The independent variables to be analysed are as follows; · Constant Gross Domestic Product per capita · Inflation, Consumer Prices (Percent) · Central Government Debt (Percent of GDP) The above database can be found at https://fred.stlouisfed.org/. b) Interpret the regression results by explaining the relationship between the dependent variable (exchange rate) and the independent variables, identifying which factors have a statistically significant impact. (20 marks) Your discussion may include these points; - Discuss whether your findings align with economic theories on currency valuation, evaluating how inflation, GDP per capita, and government debt influence exchange rates in the selected country. - Justify your relationship using actual events that have taken place in the financial environment. - Discuss some limitations of your regression model. Word Limit: 1000 words Part 3: Short Essay Question (20 marks) In this section, you are required to analyse and discuss the key factors that drive the movement of your chosen currency pair from Part 1. Your response should go beyond basic explanations and critically examine the macroeconomic, political, and market sentiment factors that influence exchange rate fluctuations. You can use actual and real-life examples to justify and support your answer. Word Limit: 1000 words (20 marks)
IB9Y9 - Financial Reporting and Statement Analysis Individual Assignment, 2024-2025 This is a structured individual assignment and involves all aspects of valuation techniques. Your case company is Marks and Spencer listed on the London Stock Exchange. You are assessed based partly on your technical skills, but also the extent to which you understand the materials covered in the module. Good discussion should include relevant readings and examples, as well as refer tightly to your own analysis to support your arguments. You are required to provide full technical demonstrations in appendices, including full reformulation, value-relevant ratio analysis (advanced DuPont analysis), and abnormal operating profit analysis. Word limit figures for each section are for guidance only. Please also take good care in presenting the report and use adequate citations and references. You are required to write an equity research report on Marks and Spencer, using the company’s 2024 set of financial accounts. The report be up to 2,500 words long, including tables, figures, appendices and footnotes but excluding references. Please save all text as text (not as pictures). You should follow the format and content described below. Your report should include: 1. A summary page of the report and recommendation. (200 words max. 10% of the mark) What is expected? A brief and focused review of the company’s key financial performance and of your recommendations. 2. Reformulate Marks and Spencer financial data for at least the last four years. show well- tabulated net operating assets (NOA), net debt, net operating profit after tax (NOPAT), recurring NOPAT (if applicable), and free cash flows (FCF). Review of the firm’s recent financial performance, based on value-relevant ratio analysis that is based on the reformulated income statements and statements of financial position. Discuss the company’s core strategy with support of key reformulated figures. (1,000 words max. 40% of the mark) What is expected? You need to show the relevant skills when computing the reformulated numbers and the value-relevant ratios. You need to explain clearly how the value-relevant ratios help you to interpret the firm’s strategic initiative. In your explanations refer to current and to past performance. 3. The forecast assumptions. (25% of the mark) What is expected? You are expected to forecast four primary forecast assumptions (sales growth rates, profit margins, asset turnover, and cost of capital) and explain clearly and in a focused manner how these figures relate to the potential performance outcomes of the firm’s strategy. 4. Calculate the intrinsic (fundamental) value of the equity of the company using the enterprise-based valuation approach based on abnormal operating profit and free cash flow valuation models. What is your assumption about the growth of AOP? Explain your assumption. You should also include a brief discussion about the recommendations you associate with the calculations. (25% of the mark). What is expected? You are expected to perform. the computations related to the abnormal operating profit and free cash flow valuation models and write a clear discussion that explains your assumptions and your recommendations.
Assignment 4 STAT 321 Winter 2025 Due: Monday March 31, 5:00PM 1. (5 points) In this problem, you will work with data in 321warpbreaks. csv, located on Learn under Assignments/Datasets. The data contains information about warp breaks on weaving looms, depending on two categorical variables wool (wool type A or B) and tension (wool tension low, medium or high). Use ANOVA to test whether the effect of wool tension on number of warp breaks is significantly different between the two types of wool (level α = 0.05). State the null and alternative hypotheses in terms of MLR model parameters. 2. (10 points) In this problem, you will work with data in 321divorce . csv, located on Learn under Assignments/Datasets. (a) Fit a MLR model with divorce as the reponse and all other variates as predictors. Report a 95% prediction interval for the divorce rate in 1997, assuming all other predictors (besides year) are the same as 1996. (b) Use the Box-Cox procedure (boxcox in the MASS package) to select a transforma- tion of the response variate. Plot the output of boxcox. Draw scatter plots of year against the original response, and your new transformed response. (c) Fit a MLR model with your new transformed response and all other variates as predictors. Based on the new model, report a 95% prediction interval for the divorce rate in 1997, assuming all other predictors (besides year) are the same as 1996. 3. (11 points) In this problem, you will work with data in 321aatemp even . csv and 321aatemp odd . csv, located on Learn under Assignments/Datasets. The data con- tains information about annual average temperature (in degrees F) in Ann Arbor, Michigan between 1900 and 2000. (a) Fit three MLR models to the even-numbered year data (in 321aatemp even. csv) with response temp. As predictors, include polynomial transformations of year up to degree 1, 5 and 12. (b) Draw a scatter plot of year against temp. Based on each your three models from part (a), superimpose the estimated relationship between year and expected temp, as well as lower and upper bounds for 95% prediction intervals for the years in the dataset. (c) Based on each your three models from part (a), predict the annual average temper- ature for the odd-numbered years and compute the sum of squared errors between these predictions and the actual odd-numbered year data (in 321aatemp odd. csv). Which model gives the smallest sum of squared prediction errors? 4. (11 points) In this problem, you will work with data in 321chd . csv, located on Learn under Assignments/Datasets. The data contains information about coronary heart disease among a sample of American men. The dataset contains three variates: - chd (categorical) did this subject develop coronary heart disease? - chol (continuous) subject’s cholesterol level (mmol/L). - smoke (categorical) does the subject smoke? (a) Produce a plot to visualize the relationship between chd and chol. Does there appear to be a relationship between these two variates? (b) Produce a table to summarize the relationship between chd and smoke. Does there appear to be a relationship between these two variates? (c) Fit a logistic regression model with response chd and predictors chol and smoke. Report the summary output for this model. (d) Interpret βchol and βsmokeY in the context (and units of measurement) of the prob- lem. Report 95% confidence intervals for these two parameters. Additional instructions: — If you are unsure how to use an R function, its documentation can be viewed by typing a question mark and then the function name (i.e. ?function) into the RStudio console. — Unless otherwise specified, you may use results from lecture without additional justi- fication. Results from the reference textbooks can be used, but you should show all steps for full marks. — This assignment will be graded out of 37 points. Per the course outline, in normal circumstances it will count for 5% of your final grade. — Assignment solutions, including code, should be submitted on Crowdmark. Make sure that the uploaded solutions correspond to the correct problem. If the assignment is submitted with written solutions but no supporting code, it will be graded as normal, but the point total will be multiplied by 0.75. — If you experience technical difficulties using Crowdmark, 1. Consult Crowdmark Help 2. Watch this short video about submitting an assignment on Crowdmark 3. As a last resort, if you cannot upload your assignment to Crowdmark before the deadline, email it to [email protected], so I have proof that you com- pleted your assignment on time. — If you choose to submit typed solutions, please also email me the . tex or RMarkdown files used to compile your solutions. — Rules regarding extensions for (formally documented) absences and grades for late submissions are provided in the course outline on Learn.
CS3388B - Computer Graphics Assignment 5 Exercise 1. The goal of this assignment is generate triangle meshes and get started with non-trivial shaders in OpenGL. At a high-level, your program will: • Implement and execute the marching cubes algorithm on an arbitrary scalar field. • Implement a shader with lighting. • Manipulate the view matrix to have the appearance that the object is rotating around the origin. • Write triangle mesh data to a file. The end product of this assignment is to have a program which executes marching cubes, renders the result, and saves the resulting mesh to a PLY file. The Camera. 1. You should be able to “click and drag” the object in view so that it appears to spin in-place around the origin. This effect will actually be implemented using camera movement. See, for example, the plot generated by Google from this google search. 2. This can be achieved using spherical coordinates (https://en.wikipedia.org/wiki/ Spherical_coordinate_system). 3. We are going to use a create a limited “first-person camera”, where you (the character) are viewing the world as if you were in it. You will directly be controlling the camera. This will be reviewed in Lecture 14. 4. The key idea is that we will specify the camera’s position relative to the world origin using three parameters: r,θ,ϕ . During a “click and drag”, any horizontal motion will modify θ; any vertical motion will modify ϕ . 5. We modify r using the arrow keys. Pressing the up arrow key will decrease r, moving the camera closer to the world origin. (but stopping before r reaches 0). Pressing the down arrow key will increase r, moving the camera further from the world origin. 6. Begin with the camera being positioned at (5,5,5) in world space and looking at (0,0,0) in world space. The Marching. Implement a function for marching cubes. Its parameters are: a function encoding a scalar field, an isovalue, a minimum value for the grid, a maximum value for the grid, and a step size. It should return a list (or std::vector) of floats encoding the x,y,z positions of the generated vertices. std::vector marching_cubes( std::function f, float isovalue, float min, float max, float stepsize); • f is a function which takes 3 floats (x,y,z) and returns a single float. Thus, f implements a scalar field. • isovalue is a number which represents the value in the scalar field to use as the boundary. Let val be the value returned by the function call f(x,y,z). If val < isovalue then the point (x,y,z) is considered to be inside the object. If val > isovalue then the point (x,y,z) is considered to be outside the object. • min is the minimum value for each of x, y, and z to use during the marching. • max is the maximum value for each of x, y, and z to use during the marching. Thus, the grid over which the algorithm marches is a always a cube. • stepsize is the side length of each cube during the march. • To help with your implementation, the marching cubes lookup table (with 256 entries) is provided on OWL. The Processing. 1. Implement a function compute_normals which takes the list of floats generated by marching_cubes and returns another list of floats which encodes the normal vectors for each vertex in the input list. • All three vertices which make up a single triangle should have the same normal vector. But, since each vertex has its own normal vector, that vector should be repeated thrice in the list (so the input list and the output list of floats will be of the same size.) • Make sure each normal vector is normalized. • Assume a counter clockwise winding order when computing normals. 2. Write a function writePLY with 3 parameters: vertices, the list of floats generated by marching_cubes; normals, the list of floats generated by compute_normals, and fileName, a string for the name of the file. • This function will create the file named fileName and write to it a valid PLY file encoding the vertices and normals in vertices and normals. • This function does not and should not share vertices between faces. Let every face be declared by three unique vertices. Thus, the faces in your PLY file should be written like: 1 3 0 1 2 2 3 3 4 5 3 3 6 7 8 4 3 9 10 11 3 12 5 13 14 6 ... The Rendering. 1. Draw a box around the marching volume. That is, draw the cube whose opposite corners are (min, min, min) and (max, max, max). Where min and max are as the parameters to marching_cubes. Only draw the edges of this box. 2. Draw three coordinate axes corresponding to the positive x direction, positive y direction, and positive z direction. The tail of each axis should start at (min, min, min) in world coordinates and have length max - min. 3. Store your vertex positions and normals in VBOs and use a VAO alongside glDrawArrays to draw the triangles generated by marching cubes. 4. Draw the marching cubes triangles using a Phong-like shader. That is, a shader which incorporates lighting, ambient, diffuse, and specular colors. (a) Implement the computation of the required vectors in the vertex shader (so they can be interpolated before being input to the fragment shadeR). (b) Implement the color computation in the fragment shader. (c) The vertex shader should use three uniform. variables: MVP, the model-view projection matrix; V, the view matrix; and LightDir, a vec3 describing the direction of the light source. (d) The fragment shader should use a uniform. variable modelColor which is the base color to be used for the diffuse component. (e) Let the ambient color be (0.2,0.2,0.2). Let the specular color be (1,1,1). Let shininess be 64. (f) Your fragment shader must correctly compute the combination of ambient, diffuse, and specular colors. The latter two require computing the correct lighting direction. The Bonus. If you are up to a challenge here is a bonus task, worth 25% extra on the overall assignment • Somehow implement your program so that the triangle mesh is rendered during the marching algorithm. Thus, your mesh should continuously “grow” as the algorithm progresses. • Dr. Davis will not help with this one. The Submission. Submit to OWL: 1. Your source code. (One or more files depending on how you defined the classes). 2. A README explaining what you did and why you did it like that, any known bugs, instructions for compiling. It doesn’t have to be long, but it should be informative to the person marking. Include compile instructions, particularly if non-trivial. 3. Two screenshots of your program rendering the two functions described on page 2. If you find any other cool scalar fields, submit a screenshot of that too! 4. The PLY file generated for each of the two functions described on page 2.
Advanced Programming LanguagesHomework Assignment 6F and 6CEECS 590Pairs. You may work with a partner for HW 6F and HW 6C. You may also work alone.If you work with a partner, we expect roughly 1.5× the work described below from thepartnership (but not 2× — there is communication and teamwork overhead). If you workwith a partner then the partnership will submit one final PDF writeup (selecting the teammembers on Gradescope) and one final code project (selecting the team members on theautograder). You must indicate your partnership or solo status in the writeup text (seebelow).Logistics. The previous homework assignment was largely theoretical. This homeworkassignment is largely practical. There is no peer review component for this homework as signment.In class we have covered operational semantics (large- and small-step), axiomatic seman tics (including verification condition generation) and some abstract interpretation. You arenow qualified to pull ideas from many of those techniques together and create a non-trivialprogram analysis.This analysis will target off-the-shelf C programs. We will use the CIL library to parse andprocess C programs into an IMP-like OCaml representation. We will use the Z3 automatedtheorem prover of de Moura and Bjorner to reason about infeasible paths or otherwise decidequestions of logic.Our analysis will automatically generate test inputs that will force the subject programto cover all of its branches. This is undecidable in general (by direct reduction with thehalting problem). Automated test input (and test case) generation is a research problemthat is receiving quite a bit of attention; see the papers on the course webpage for moreinformation. This problem is also known as program reachability, the same issue we discussedin the context of software model checking.I have provided an introductory analysis. It performs flow-sensitive, path-sensitive,context-insensitive, intraprocedural path enumeration, symbolic execution, and constraintgeneration to create test inputs. Unlike previous assignments, for this assignment you maychange anything in the main file you like.Initial steps:1. Compile tigen, our test-input generation program. See the file README-GradPL.txt inthe code archive for details. Reproducing the systems research results of others is a1key part of modern research. Getting the code up and running is explicitly part of thisassignment and is your responsibility. Talk to your friends, post on the forum, scourthe Internet — do whatever it takes to make it happen.2. Take a look at some of the included small subject programs. Think about how youwould generate test inputs to reach and cover all of their branches. Then run tigenand inspect the test cases it actually creates.As a sanity check, on my machine, the report.txt output is:array-1.i.c : reached 0 / 4array-2.i.c : reached 8 / 8array-3.i.c : reached 0 / 10array-4.i.c : reached 1 / 4balanced.i.c : reached 4 / 8bsearch-1.i.c : reached 4 / 8bsearch-2.i.c : reached 6 / 8bubblesort.i.c : reached 5 / 6conway.i.c : reached 6 / 6dotprod.i.c : reached 2 / 2eq-index.i.c : reached 6 / 6fibo.i.c : reached 6 / 6float-1.i.c : reached 2 / 6float-2.i.c : reached 7 / 8float-3.i.c : reached 5 / 8float-4.i.c : reached 4 / 14float-5.i.c : reached 1 / 4gcd.i.c : reached 4 / 4hailstone.i.c : reached 5 / 6leven.i.c : reached 7 / 10many-features.i.c : reached 0 / 8matmul.i.c : reached 3 / 6matrix-path.i.c : reached 0 / 8mymin-1.i.c : reached 7 / 8roman.i.c : reached 21 / 28selsort.i.c : reached 6 / 6simple-1.i.c : reached 2 / 2simple-2.i.c : reached 4 / 4simple-3.i.c : reached 8 / 8simple-4.i.c : reached 5 / 6string.i.c : reached 0 / 8struct-1.i.c : reached 3 / 10struct-2.i.c : reached 0 / 8struct-3.i.c : reached 0 / 18struct-float.i.c : reached 0 / 16subseqsum.i.c : reached 0 / 122Your output may be slightly different, but if you are reaching significantly fewerbranches, you may be encountering a local setup or installation concern.3. Read some of the papers associated with this homework on the course webpage.This exercise is open-ended. You must do something to convince me that you havean integrated understanding of the theory and practice of using PL research techniques toanalyze programs. More concretely, you must modify tigen.ml so that it is “better” in away of your choosing. As a rough estimate, I would expect a diff of your modified sourceto indicate at least 200 changed lines. Then you must write up a formal three- or four paragraph explanation of what you did and why it was worthwhile. Your explanation shouldmotivate your changes and explain why the problem you tackled is important.Any of the following could suffice:• Modify tigen so that it handles string-valued data. Textual input generation is in creasingly popular, both using modern LLM-style techniques or traditional symbolicapproaches (e.g., some students have integrated the DPrle external decision procedureto handle some string constraints). While not required, handling string or textual dataoften involves inferring a grammar or regular expression constraints.• Modify tigen so that it handles loops in an intelligent manner. For example, youmight use a dataflow-style join — if it is to possible reach the loop head knowingx = 0 ∧ y = 55 and it is also possible to reach the loop head knowing x = 5 ∧ y = 55,you should process the loop in a state where y = 55 (or, better yet, x ≥ 0 ∧ y = 55).• Modify tigen so that it handles arrays. Note that Z3 already has built-in handling forthe McCarthy select and update axioms, but you’ll have to integrate it.• Modify tigen so that it handles the heap (i.e., dynamic pointers) more precisely. Forexample, you might introduce an explicit handling of malloc (which either returns 0or a new non-zero address that is distinct from all previous addresses) and free.• Modify tigen so that it uses computed alias information. CIL comes with John Kodu mal’s implementation of Manuvir Das’ One-Level Flow alias analysis to aid in reasoningabout pointers, but it is not currently used in this project. As a hint, alias analysis in formation leads directly to “distinctness” constraints. This would be a relatively shortchange, so you should also do something else and/or provide compelling examples toshow that the alias analysis really helps.• Modify tigen so that its performance and scalability are non-trivially improved. Thistypically requires more “engineering” than “theory”, but getting an analysis to runon millions of lines of code (e.g., the Linux kernel, SQL Server) is very difficult. Yourmodified version should run significantly faster on large benchmarks of your choosing.3• Modify or post-process tigen so that the performance of its generated test inputs isnon-trivially improved. That is, perform test suite selection or test suite reduction oreven time-aware test suite prioritization or a similar improvement. Ideally we wouldlike the smallest number of test cases that require the smallest amount of wall-clocktime to execute but still covert the greatest fraction of the subject programs. This isa reasonable project if you are more interested in CS theory than in systems hackery.• Modify tigen to handle record data types (e.g., structures and/or unions).• Modify tigen to handle floating-point data types. In practice, this ends up being insuffi-cient for full credit for most students, as a direct implementation of Z3’s Real datatype(especially without considering the differences between real numbers in mathematicsand IEEE floating point numbers) may not provide enough material to demonstrateyour mastery of course concepts. Think carefully before you select this option.• Modify tigen to accept additional constraints provided by the user (e.g., pre- and post conditions on the subject program, an external constraint language that you parse atthe beginning, or whatever you like). For example, you may want to specify that you’reonly interested in test inputs involving negative numbers. Part of a larger project mightbe to have tigen output multiple diverse test inputs that cover the same path.• Modify tigen to be context-sensitive. You might compute the call graph and analyze thefunctions in reverse dependency order. You might do a full-blown CFL reachabilityanalysis. Or you might just start in the target function and take very long pathsthrough the entire reachable program. Handling recursion is a related topic.• Modify tigen to incorporate ideas from the popular and effective afl (see https://github.com/google/AFL), such as the use of a genetic algorithm.• Modify tigen so that it implements key ideas from a well-cited or classic test inputgeneration tool. Examples might include Godefroid et al.’s DART project (randomtest input generation), Sen et al.’s CUTE project (concolic testing), or Lakhotia etal.’s AUSTIN project (empirical optimizations and best practices).• Rewrite tigen so that it supports another target language with functionality compa rable to the provided baseline. Please check with the instructor before selecting thisoption: it usually involves taking the provided tigen code as documentation and writ ing something entirely new. This means that more of the focus is on writing code toprocess intermediate representations (rather than implementing a research idea), andthus more coding work may be required. However, it may be appealing to studentsworking on a new language. For example, if you are involved in Cyrus Omar’s Hazellanguage project, writing a test input generator for Hazel that can be incorporated intothat project going forward may feel more impactful than writing a “one-off” tool thathelps with learning for a class but is not used later.4Exercise 6C. Coding. Submit your modified tigen.ml file. In addition, submit two newsubject programs in the style of the subject programs already included. Your homeworkshould perform well on those new subject programs.Exercise 6F-1. Bookkeeping [2 points].1. Clearly indicate whether this is partner work (and make sure both names are clearlyindicated) or solo work.2. How did this assignment go? What were the high points and the low points? We’reinterested in hearing your opinions, and this is also an opportunity to speak directlyabout any meta-level concerns that arose during this assignment. For example, if youran out of time, you might feel more comfortable mentioning that here than in theformal section of the report.Exercise 6F-2. Report [22 points]. Provide a multi-paragraph report describing yourchanges (as above) as well as any other compelling figures or charts relevant to supportingyour case.Recall that you should demonstrate that you did something useful with respect to thishomework’s goals of using program analysis techniques either (1) in your research or (2) tounderstand programs or (3) to find bugs or (4) to verify properties of programs or (5) tomake related tools more usable.Exercise 6F-3. Research Communication [4 points]. Compose a brief (one- or two paragraph) email to one of the authors of the tools or papers you used in this homeworkand include the text of it in your submission. In addition, indicate whether you are willingto use your name or whether you would like to be portrayed as an anonymous student inmy class. I will check off the fact that you wrote something and potentially forward italong (or suggest that you do so personally). You can comment on any aspect of yourexperience with their work — your comments need not be positive. For example, you mightask Bjorner why Z3 doesn’t handle multiplication, complain to Kodumal or Das that OLFisn’t precise enough for C programs, or tell Necula or McPeak that you find CIL’s memorylvalue semantics unintuitive. You might write to Lakhotia and ask him how he managed toscale to large programs given all the difficulties you observed when wrestling with C. If youdo offer criticism, strive to make it constructive by commenting on what you would haveliked to have seen instead or how you might like to see things improved if the time wereavailable. If you absolutely cannot think of anything to say, thank them for making theirtools available and let them know that you used them with success. Even minor commentsabout documentation or a fresh-eyed perspective on usability can be helpful.The purpose of this non-standard exercise is two-fold.• First, I have observed multiple instances in this class of a student being unwilling tocontact the author of some publicly-available project. While I realize that you don’t5want to be known as a whiny grad student who didn’t bother to read the manual (orsome other misconception), it’s also not worth wasting your time to try to decipher aresearch prototype when the author is only an email away. I think it would legitimatelybe good practice for many students to correspond with an arbitrary researcher. Youmay not get a response, but the sky won’t fall. (In addition, I know the people involvedin all of this software and they are all quite friendly.)• Second, internships are not the only way to build up contacts and networks. It is en tirely reasonable to grow a friendship or collaboration with someone over time, startingwith a lowly email about research, moving on to chatting a conferences, and eventuallyworking together on new research. You’re rarely certain of exactly where you will endup or what you will be working on, so it behooves you to know as many people outthere as possible.• Third, many software systems papers (especially in programming languages, softwareengineering, or operating systems) benefit from conducting a direct empirical compar ison to a previous project. This often involves locating, compiling and running thesource code from that previous project. Despite the rise of containerization, virtualmachines, paper artifact badges, and the like, getting the code from a prior paper torun often requires communicating with the prior authors.Exercise 6F-4. Guided Notes Feedback [2 points]. This semester we ran a pilotprogram of providing guided notes. Many students report that Graduate Programming Lan guages can be demanding in terms of the number of new things to keep track of (e.g.,new typography and vocabulary, formal mathematical and logical reasoning, etc.). Peda gogy studies suggest that guided notes can reduce cognitive overhead and support studyskills (e.g., see teaching-tip-of-the-week/engaging-students-with-guided-notes.html), but their usemay not be as clear in this graduate-level setting as opposed to an undergraduate context.Write one positive sentence about the guided notes and write one sentence with a suggestionfor improvement. (1 point for positive sentence, 1 point for negative sentence.) The contentof your answer does not influence your grade in any way: this is feedback to help improvefuture semesters.Submission. Turn in the formal component of the assignment as a single PDF documentvia the gradescope website. Your name and Michigan email address must appear on thefirst page of your PDF submission but may not appear anywhere else. Turn in the codingcomponent of the assignment via the autograder.io website.6
CIS129 Advanced Computer ProgrammingProjectGuidelineYou are required to use C++ to solve a real-life business problem by employing a logical and systematic programming solution, and to present your findings in a structured report.You should use different techniques learnt from classes to create your project such as data types, header, functions, reference, array, pointers, structure, etc.Choose 1 question from 3 questions.SubmissionDeadline: 21 April 2025 (Mon)No. of students: 1 – 3 students in each groupPlease upload the following files to Moodle. Write the student name and ID on the files clearly.• Solution folder – includes all C++ source and header files.• Project Report – complete the “Project Report Form” in Moodle.• Presentation Video – around 10 minutes presentation, please show your face in the videoIf your file is larger than 50MB, upload your file to OneDrive or GoogleDrive and copy the share link to Moodle. Each group need to submit once only. If you used any generative AI (e.g. ChatGPT) in your project, please write the question and the reply in the reference of the Project Report.Mark SchemeProgram Design & Implementation (30%)Project Report (25%)Presentation and Demonstration (25%)Innovation (20%)Bonus marks (10%) will be given for additional featuresQuestion 1Line, word and letter countWrite a program that reads a text file, and outputs the number of lines, the number of words, and the number of times each letter appears in the text. ExampleInput (Text file) Today we live in an era where information is processed almost at the speed of light. Through computers, the technological revolution is drastically changing the way welive and communicate with one another. Terms such as the Internet, which was unfamiliar just a few years ago, arevery common today. With the help of computers you can sendletters to, and receive letters from, loved ones withinseconds. You no longer need to send a resume by mail to applyfor a job; in many cases you can simply submit your jobapplication via the Internet. You can watch how stocks performin real time, and instantly buy and sell them. Studentsregularly surf the Internet and use computers to designtheir classroom projects. They also use powerful wordprocessing software to complete their term papers. Manypeople maintain and balance their checkbooks on computers.OutputThe number of lines = ??The number of words = ??The number of “A”= ??The number of “B”= ??The number of “C”= ??The number of “D”= ??……The number of “Y”= The number of “Z”= Question 2Voting ResultsA media organization hold an election of “My favourite idol” during an award ceremony. The media organization wants to computerize the voting. Please write a program to analyze the data and report the winner. The data is provided in a file VoteData.txt, each line consists of voting results in the following form: IdolName RegionNumber NumberOfVotesForTheIdolThat is, each line in the file VoteData.txt consists of the idol name, region number, and the votes received by the idol in this region. There is one entry per line. For example, the input file containing voting data looks like: CTS 2 34DKA84 1 56Bollar 2 56...… The first line indicates that CTS received 34 votes from region 2. The election committee wants to output the number of votes each idol received in each region, the total votes for each idol, the winner, and the total number of votes polled.Example----------“My favourite idol” Election Results----------VoteIdol Name--------------Region 1--------------Region 2--------------Region 3--------------Region 4--------------Total--------Winner: , Votes Received: Total votes polled:Question 3Auto vending machineWrite an auto vending machine program that consist of the following features:Show the customer the different products sold by the machine. The customer can buy a product if it is available; otherwise, it is out of stock. The machine should decrease the stock quantity of each product with every purchase. The customer can buy a product if the deposited amount is at least equal to the cost of the product. If the customer deposits more than the cost of the product, the machine should return the change. If the customer deposits less than the cost of the product, the machine should inform the user of the remaining amount required.Example*** Cold Drink Vending Machine ***To select an item, enter1 for Coke2 for Grren Tea3 for Coffee4 for Mineral Water9 to exitWhat would you like to buy?Please deposit dollars: Collect your product at the bottom and enjoy. Please take back dollars.orThe amount is not enough. Please deposit dollars.orSorry, this product is sold out.RubricsItems Poor(0 – 40%)Acceptable(40 – 60%)Good(60 – 80%)Excellent(80 – 100%)ProjectImplementation(30%)The program implementation is usually not appropriate.Some of theprogram implementation is appropriate.The program implementation is generally appropriate.The overall program implementation is appropriate.Project Report(25%)A report without structure;Just saidwhat thestudentswant to saywithout anylogic ofcontents.A below average structured report;Poorlogics of flow ofcontents.A structured reportwith organizedpoints and areas ofcontent;Showappropriate logicsof flow of contentsVery goodstructuredreport with wellorganize pointsand areas ofcontent;Logicalflow of contentsincludedProject Presentation (25%)Presenters do not have an understanding of the projectPresenters do not have a firm understanding of the projectPresenters mostly demonstrate an understanding of the projectPresenters demonstrate a clear understanding of the projectProject Innovation (20%)Incomplete project without much innovationA complete project without much innovationA good project with certain level of innovationAn excellent project with much innovation
Assignemnt 1 Description Word limit: 3,500–4,500 words (+/- 10%) Weighting: 40% Individual/team: Individual Due date: 11.59pm NZT Sunday 13 April 2025 After you have read this information, go to the Assignment 1 Q&A discussion board to ask any questions and see what your peers are saying about this assignment. Assignment overview Assignment 1 is an opportunity for you to inquire into an area of interest in mental health, wellbeing and education. This assignment supports course learning outcomes 1, 2 and 3. Assignment details Task Choose from the following topics, or decide on your own area of inquiry (check with the course director about your topic if it differs from those listed). In each case, your inquiry should have links to children, youth and/or schools or other education settings (e.g. ECE, higher education, alternative education, community education): 1. Social media, young people and mental health 2. Gender, sexuality and mental health 3. Body image and mental health 4. Climate change and youth mental health 5. Interpersonal and communication skills in education 6. Drugs, alcohol and mental health and wellbeing 7. Colonisation and youth mental health 8. Youth perceptions and experiences of mental health 9. Help-seeking and mental health 10. School approaches to wellbeing 11. Health services in schools 12. Pedagogical approaches to mental health education 13. Curriculum policy in mental health and wellbeing Instructions Complete an essay that overviews a range of key research and arguments in the field. You must include at least 20 peer-reviewed articles and book chapters. Focus on the following aspects: ● Define your topic and focus clearly (set the boundaries of the inquiry). ● Include as much research from Aotearoa New Zealand and Australia as you can in addition to research from other places. ● Include work that looks at Māori and Pacific research on your topic (and/or make links to Māori and Pacific concepts in this course). ● Structure your review with headings of the key themes and arguments. ● Include research that shows/argues different perspectives and findings. ● Include critical commentary about the topic that shows you are questioning the assumptions of the research (e.g. What perspectives do articles come from? What are the limitations of this research? Are conclusions moralistic? How is the research funded? etc ) ● Include a substantive section that makes links to your own practice (or makes links throughout the essay). ● Write a conclusion at the end that summarises what you have learned from the summary and key findings that are worth noting, including implications for your own practice. Please note: The reference list is not included in the word count. Assignment Tips It is helpful to have some questions to guide you. For example, do gender-diverse youth experience better or worse mental health and wellbeing? How do schools support mental health? What do young people want from mental health education programmes? Set 3–4 questions related to your topic to help guide your inquiry. Note: It is likely that you will find a lot more research on your topic than you will be able to meaningfully discuss in this essay. So, you'll need to make choices. These criteria might help: ● include research that is most relevant to the topic and to your context (setting clear questions at the start will help with this) ● include dedicated discussion of research findings that are the most interesting or significant, and use citations (a citation in a bracket) to show other articles or chapters that you read but are not discussing explicitly ● include headings in your essay to structure it according to themes in the research (choose only 4-5 themes max) and leave out others
SEMTM0016 Artificial Intelligence for Robotics SEMTM0016 Coursework - Part C Task Overview In this part of the coursework, you are being assessed on your ability to: • Discuss and explain for which problems/tasks an approach and algorithm is suitable and why. • Implement and apply a range of algorithms to a given “real-world” scenario, including poten- tially noisy, unstructured or unreliable datasets. • Evaluate and appraise the performance of a range of algorithms. Task Description Machine learning in robotics has many different approaches and algorithms available which can be applied to various problems. Therefore, it is a key skill to be able to select the appropriate approach and algorithm, to configure it appropriately, and to evaluate the performance. This assessment is an opportunity for you to demonstrate this capability. You are the mighty HeroBot traversing the MazeDungeon where you could encounter many differ- ent entitities. Herobot’s overall goal is to navigate the MazeDungeon and reach the exit as efficiently as possible. However, to achieve this overall goal there are various tasks Herobot will need to do, such as distinguishing between friend and foe or deciding what action to take upon meeting an enemy in the maze. The following will help you in your quest and can be downloaded from Blackboard or via the GitHub link: • dungeon images colour80. zip : This dataset is comprised of 17,842 80x80 pixel RGB colour images of entities that could be found within the dungeon. Each entity is labelled with a particular ‘race’ and there are five races in total. • dungeon sensorstats partC . csv : This dataset gives sensor and stats information about 10,000 example entities that may reside within the dungeon. • DungeonMazeWorld: The base reinforcement learning environment for the maze solving grid- world problem. Given the datasets and base simulation environment provided, in this part of the coursework you are now expected to identify and solve three tasks demonstrating each of the three machine learning approaches (i.e. one task per approach); • a supervised learning approach, • an unsupervised learning approach, and, • a reinforcement learning approach. The tasks cannot be exactly the same as those covered in Part A and B, but must be different in some way. For example, for a supervised learning task you might use classification on the image dataset again but no longer restricted to two classes. If you have any doubts or questions, please contact a member of the teaching staff. You should look to evidence and demonstrate your critical thinking through the written commu- nication of your approaches. You must produce a report which effectively communicates, for each task: • a description of the proposed task, your choice of algorithm to solve it and why that algorithm is appropriate. • a description of how you implemented the algorithm, including any pre-processing performed on the datasets and any adaptations made to the base simulation environment. • justifications for any design choices, which should be supported with evidence such as tables and plots where appropriate. • an evaluation and critical appraisal of the performance of the algorithm, using suitable metrics and comparisons to baselines where appropriate. Report Your report should be up to but no longer than eight pages, 11 or 12pt font is sufficient. Your report must be submitted as a pdf and should be prepared either in LaTeX (overleaf is a good approach), MS Word, or a similar text editor to prepare the report and submit it as a pdf document. Your code will not be marked for elegance, but it should run correctly; it is expected you will use Python. Do not include screenshots of graphs, they should be imported directly; resize them to the correct size before importing them, if the labels are tiny the graphs will not be marked. Make sure figure captions are descriptive, it is better to have some overlap between figure captions and the main text than to have figure captions that are not reasonably self-contained. Avoid code snippets in the report unless that feels like the best way to illustrate some subtle aspect of an algorithm; do always though consider a mathematical description if possible. You will be asked to submit your code and it will be tested to make sure it works and matches your report. It will not, however, be marked itself for quality. Assessment Criteria Your report will be assessed with consideration to the following unit criteria and general University marking criteria and scales. Feedback will be provided addresing the same criteria where appropri- ate. Criteria Weight Task and algorithm choice - Identify and describe three relevant tasks. - Realistic and challenging scope of tasks. - Approach and algorithm choice is suitable for each task. - Suitable justification given for choice of approach and algorithm. 0.2 Implementation - All algorithms implemented correctly. - Sufficient level of detail in documentation for reproducibility of work. 0.2 Design choices - Evidence of critical thinking/reasoning. - All design choices are fully discussed and justified. - Appropriate methods used to select any hyperparameters where applicable. - Justifications are supported by suitable evidence where appropriate. 0.25 Evaluation and self-reflection - Choices of evaluation metrics/method are appropriate, discussed, and justi- fied. - Evaluation includes comparison to suitable baselines where appropriate. - Work completed is critically appraised. - Limitations or shortcomings in relation to original task are acknowledged and discussed. - Realistic recommendations given for future work. 0.25 Report presentation - Report has a logical structure and clarity of presentation. - Excellent quality of writing, spelling, grammar. - Tables, diagrams and figures are readible, captioned and referenced in main body of text. - Use of English is clear and readible. - Communication is appropriate for audience. 0.1
FIT5145: Foundations of Data Science Assignments 1 & 3: Business and Data Case Study Semester 1, 2025 1. Assignment 1 (Proposal): Draft a proposal to introduce a data science project of interest. The due date of Assignment 1 is: Friday, 4 April 2025, 11:55 PM (Week 5). 2. Assignment 3 (Report+Presentation): Write a comprehensive report on your data science project and prepare a 4-minute presentation on your project. The due date of Assignment 3 (the final project report and presentation slides) is: Friday, 23 May 2025, 11:55 PM (Week 11) and the presentation will be held in the Week 12 applied class. - Both Assignment 1 and 3 are individual assignments. - Please do NOT zip your submission files. Zip file submission will have a penalty of 20% of the total mark of the assignment. Focus of the Project Proposal Assignments 1 and 3 require you to develop a novel data science project proposal that introduces an original approach to solving a significant real-world problem using data science methods. You are expected to go beyond existing studies by identifying unique problem statements, proposing innovative methodologies, or applying data science techniques in new contexts. Your proposal should demonstrate your ability to define a novel and important problem, identify relevant datasets, select appropriate methodologies, and develop effective evaluation strategies. The proposed project should align with the following business scenarios: agriculture, education, finance, gaming industry, healthcare, social media, and sports. You are encouraged to discuss any project ideas with your tutors for further guidance. Assignment 1: Proposal (15%) Weight: 15% of the unit mark Submission format: one PDF file Size: up to 1000 words. What you need to do: ● Choose a data science project. ● Write the initial three sections: (1) Introduction; (2) Related Work; and (3) Business Model (References as well to support your project) of the report, as detailed in the specification of Assignment 3: Report + Feedback + Presentation below. We have developed a system named FLoRA to support you to accomplish Assignment 1, which you may access via: https://www.floraengine.org/moodle/my/courses.php. You are expected to work with the chatbot embedded in FLoRA, powered by cutting-edge Generative Artificial Intelligence (GenAI) technology GPT-4o, to identify a novel and important problem to tackle in your data science project. You can discuss the assignment requirements with the GenAI-powered chatbot, seek suggestions for potential project topics in a specific domain, and gather information relevant to a specific project topic by conversing with the chatbot. Even more, you may send the proposal draft to the chatbot and seek feedback for further improvement. Please notice: ● We will send you the login credentials via emails for you to access the FLoRA platform. ● You are only expected to use FLoRA to accomplish Assignment 1, though you may use it for Assignment 3 as well, it is not mandatory. ● The conversational data you generate when interacting with the GenAI-powered chatbot will be used for textual analysis in Assignment 4 in this unit. That is, the conversational data will be shared with the whole class. Therefore, please notice the following: ○ Please only discuss your data science project with the GenAI-powered chatbot in English and do not ask any questions that are irrelevant to your project; ○ Please do not disclose any personal or sensitive information when interacting with the GenAI-powered chatbot. ○ There are four modules in FLoRA and you are required to complete all of them. Important: Any incomplete activities in these modules will result in your conversational data with the chatbot being excluded from the dataset used for Assignment 4, preventing youfrom answering the questions in Assignment 4. After logging to the platform, you will see there are four modules required to accomplish Assignment 1, as shown below: Module 1: Pre-task activity ● Please provide information about yourself as well as your prior knowledge and experience in data science and GenAI. Module 2: Training Module ● We provide a set of tutorial documents to help you familiarise with FLoRA, including: 。 The system interface; ○ The annotation tool, which you can use to make annotation to the reading materials provide to help you get some inspirations about potential project ideas before discussing with the GenAI-empowered chatbot; ○ The essay writing tool, which you can use to draft the assignment; ○ The GenAI-empowered chatbot, which you can consult for help when solving the assignment. The Chatbot uses the GPT-4o model. ● Please notice that all these tools have been enabled in Module 2 (available on the top right corner) and you may familiarise yourself with these tools first before moving to Module 3 to start working on the assignment. Module 3: Task - Assignment ● This is the main module in which you are expected to accomplish Assignment 1. Before discussing with the GenAI-powered chatbot, please first have a look at the “inspiring” materials that may give you some initial ideas of what data science can achieve in the domains where data science is playing an increasingly important role: ○ Data Science in Agriculture ○ Data Science in Education ○ Data Science in Finance ○ Data Science in Gaming Industry ○ Data Science in Healthcare ○ Data Science in Social Media ○ Data Science in Sports You may use the provided annotation tool to annotate the useful information in these materials. ● After selecting the domain that you would like to work on, use the GenAI-powered chatbot to get necessary help for accomplishing the assignment (e.g., seeking relevant information about a specific topic in the selected domain). ● After you finish the draft, please (i) click the “Save Essay” button to send your submission to FLoRA; and (ii) copy your project text and paste it into a word processing tool (e.g., Microsoft Word), format it if necessary, and then save it as a PDF file and submit it on Moodle as well. Important: Please ensure that the final project text saved/submitted in FLoRA matches the PDF version submitted on Moodle, as the FLoRA submission will be used forpeer grading, as detailed later. You may save/submit the written report multiple times, and the final version saved/submitted will be exported forpeer grading. ● Please notice that the conversational data you generate with the GenAI-powered chatbot will be used and shared for Assignment 4 and thus do not disclose any personal or sensitive information to the chatbot. ● As we will use the conversational data for Assignment 4, ideally you have one “meaningful” discussion session with the GenAI-powered chatbot (instead of having multiple at different times) in Module 3 to get the help you need to accomplish Assignment 1. Prior to this, you may familiarise yourself with the chatbot (and other tools as well) in Module 2. Module 4: Post-Task Activity ● Please share your experience in using FloRA as well as the GenAI-powered chatbot to tackle Assignment 1. Your responses to these survey questions will be mandatory for including your conversational data to prepare an anonymised conversational dataset for Assignment 4. For any technical issues in using FLoRA, please contact [email protected] and [email protected] Assignment 3: Report (15%) + Feedback (5%) + Presentation (10%) 1. Assignment 3: Report Weight: 15% of the unit mark Submission format: one PDF file and one RMD file (for demonstration in the Characterising and Analysing Data section) Size: up to 2500 words This report is your comprehensive analysis of how data science can be used to help solve a significant real-world problem. Please answer the following question in the FIRST page of your Assignment 3 submission: ● Have you selected a topic for Assignment 3 that is different from the one that you used for Assignment 1 (i.e., have you rewrote the first three sections of the report)? Your report should have the following sections: 1. Introduction ○ Clear articulation of the specific problem the project aims to solve. ○ Background and context of the problem. ○ Importance of the problem (why it matters). ○ Specific goals of the project. 2. Related Work ○ Summary of existing research, projects, or industry solutions related to the problem. ○ Identification of gaps in current approaches. ○ Why or how your project should be considered as novel. 3. Business Model ○ Analysis about the business/application area the project sits in. ○ What kind of benefits or values the project can create for the specific business area? ○ Who are the primary stakeholders and how will they benefit from the project? 4. Characterising and Analysing Data: ○ Discuss potential data sources and analyze their characteristics (e.g., the 4 V's), evaluate the required platforms, software, and tools for data processing and storage based on the specific characteristics of the data or consider potential options (e.g., platforms, software, and tools) if your project expands in the future. ○ Specify the data analysis techniques and statistical methods (e.g., decision tree or regression tree) applicable to the project. Provide a rationale for the selected methods and discuss the expected high-level outcomes. Note: The specification of data analysis and statistical methods should be different from the demonstration below and must be described separately. 。 Demonstration: identify a usable dataset for the proposed project and perform some basic analysis on the identified dataset to demonstrate the feasibility of the project, using R (e.g., detailing the information/features contained in the dataset, analyse the basic characteristics of the dataset, etc.), and report the analysis process and result in the demonstration section of a final report. Note: Please include a link to download the dataset in the final report, and upload the R markdown file created for data analysis on Moodle. 5. Standard for Data Science Process, Data Governance and Management 。 Describe any standards used in your data science process 。 Describe any practices for data governance and management in the project, e.g., how to address key issues such as data accessibility, security, and confidentiality, as well as potential ethical concerns related to data usage. The sections would present aspects of Weeks 1-10 of the unit for your chosen case study. The maximum word limit for the report (Assignment 3) is 2500 words. It may include some/all ofyour Assignment 1, modified if needed (counted in the 2500 word total). References at the end of the report (i.e., URLs and academic publications) are not included in the word count. Note that staying within the word limit demonstrates your ability to write concisely. 2. Assignment 3: Feedback from Assignment 1 Weight: 5% of the unit mark Please ensure the following content is included on the SECOND page of your Assignment 3 submission.: ● What feedback did your tutor provide for Assignment 1? ● Briefly describe how you incorporated this feedback to improve your Assignment 3 submission (maximum 150 words). 3. Assignment 3: Presentation (Slides + Verbal) + Peer-review Evaluation Weight: 10% of the unit mark Submission format: one PDF file (Slides) Size: a maximum of 10 slides (Slides) You need to submit your presentation slides along with your final report. The 4 minute presentation is given in Week 12 during your assigned applied class and after your presentation, the tutor will ask at least one question to the presenter (1 minute). You will also be required to review and provide feedback on presentations of other students (peer-review) during the applied class in Week 12, using the Google Form. provided. How you will be assessed See the marking rubric to understand how we will grade your assignments. To introduce you to various important and novel project ideas developed by your peers and ensure a more accurate and fair assessment of your assignments, we will conduct peer grading for different parts of the assignments, as outlined below. Assignment 1 proposal: The 15% awarded for your proposal is broken down into the following categories: ● Problem Clarity (2%): Is the problem well-articulated and clearly defined? ● Business Model Analysis (2%): Is the role of data in the project clearly articulated in relation to the business model? Are the benefits and value of the project clearly outlined? Are the primary stakeholders identified and their needs addressed? ● Problem Importance (4%): Does the project have real-world applications? Does it address key social, environmental, or business challenges and demonstrate potential for significant social impact? ● Novelty (4%): Does the project address an important and novel problem? Does it introduce a new or unconventional approach? Does it tackle an underexplored or emerging issue in data science? ● Peer grading (3%): You will review 6 randomly selected Assignment 1 submissions from other students and rate them based on Problem Importance and Novelty. Your peer-grading mark (3%) will be awarded in proportion to the number of reviews completed. Completing all 6 reviews will earn the full 3%. The peer-graded scores for Problem Importance and Novelty will be averaged and combined with the tutor’s evaluation score to determine the final score for these aspects of a project. The average peer-graded score and the tutor-assigned score will each contribute equally to the final score. Important: Please ensure that the final project text saved/submitted in FLoRA matches the PDF version submitted on Moodle, as the FLoRA submission will be used forpeer grading, as detailed later. You may save/submit the written report multiple times, and the final version saved/submitted will be exported forpeer grading. Please ensure that Assignment 3 report: You will be assessed on your ability to: ● define the problem, provide background and significance, outline specific goals, analyze the business domain and its value creation, identify key stakeholders and their benefits, summarize existing research or industry solutions, highlight gaps in current approaches, and justify the project's novelty and potential impact (You can reuse the content from Assignment 1 for this section); ● discuss potential data sources and analyze their characteristics (e.g., the 4 V's) and evaluate the required platforms, software, and tools for data processing and storage based on the specific characteristics of the data or consider potential options (e.g., platforms, software, and tools) if your project expands in the future; ● specify the data analysis techniques and statistical methods (e.g., decision tree or regression tree) applicable to the project. Provide a rationale for the selected methods and discuss the expected high-level outcomes; ● identify a usable dataset for the proposed project and perform. some basic analysis on the identified dataset to demonstrate the feasibility of the project, using R (e.g., detailing the information/features contained in the dataset, analyse the basic characteristics of the dataset, etc.), and report the analysis process and result in the demonstration section of a final report; ● describe any standards used in your data science process and practices for data governance and management in the project, e.g., how to address key issues such as data accessibility, security, and confidentiality, as well as potential ethical concerns related to data usage; ● think critically and creatively, providing justification and analysis; ● provide a good quality of report in terms of structure, expression, grammar and spelling. For both assignments, make sure that any resources you use are acknowledged in your report. You may need to review the FIT citation style to make yourself familiar with appropriate citing and referencing for this assessment. Also, review the demystifying citing and referencing guide for help. Please also make sure that the Turnitin scores will be generated properly for your submissions. If a submission receives a high Turnitin score (e.g., more than 15%), the student will likely need to provide further explanation on the project idea and a penalty might be imposed on the submission in case no proper justification is provided. If you use GenAI for this assignment (except for discussing potential project ideas with the GenAI-powered chatbot in FLoRA or seeking feedback from the chatbot), you must clearly document the type of GenAI used, how it contributed to the assessment, and provide a written acknowledgment of its use and extent in the final report. Assignment 3 Presentation (Slides + Verbal Presentation + Peer-Review Evaluation): The 10% awarded is broken down into the following categories: ● Presentation (Slides) – 2% (evaluated by your tutor); ● Presentation (Verbal Presentation) – 3% (evaluated by your tutor); ● Peer-Review Evaluation – 5% (average scores given by your peers in the same applied class during Week 12). You may only evaluate projects from other students in your class and are not allowed to evaluate your own project. What you need to do Before you begin, make sure you: ● You are highly recommended to review the “inspiring” materials provided in FLoRA to select a topic that you would like to work on. Also, you are highly recommended to propose your own interesting and novel topic and please feel free to discuss it with your tutors to ensure the topic is suitable. ● Download the marking rubric (available on Moodle) as guidance on how you will be assessed. Choose a data science project topic, and then: 1. Do preliminary research about your project topic and the relevant technologies by conversing with the GenAI-powered chatbot 2. Write and submit your proposal with cited references (Assignment 1) 3. Research and prepare your final report with cited references. 4. Submit your report and do a presentation (Assignment 3). You are free to modify the initial proposal sections submitted for Assignment 1 (especially in response to feedback from your marker), or even change topics, when you are working on Assignment 3. How to Submit Once you have completed your work, take the following steps to submit your work. Penalties may be applied to your marks if the following instructions are not followed. 1. For Assignment 1, please finish and save the project proposal first in FLoRA, copy & paste it into a word processing tool (e.g., Microsoft Word) for the purposes of structuring/formatting, then save the project proposal in the PDF format and submit it on Moodle. 2. Please ensure you name the file containing your proposal/report/slides correctly using the following format: FirstName_StudentNumber_AssignmentNumber(_report or _slides).pdf e.g., Guanliang_12345678_Assignment1.pdf or Guanliang_12345678_Assignment3_report.pdf or Guanliang_12345678_Assignment3_slides.pdf 3. Upload your assignment file in the corresponding assignment link provided on Moodle.
ANSC 221 HWEX1 Homework Exercise – Excel Spreadsheet for Nutritional Calculations The purpose of this exercise is to learn some elementary things about use of Excel spreadsheets for making calculations, that can be very useful in nutrition. Many of you may already know all of these things and more (and that s fine), and others may have never used Excel, so this will be at a very simple level. You are to make a spreadsheet that will make useful calculations. Print a copy of the spreadsheet to turn in (so it should be arranged to nicely fit on one page). Follow these directions: In Cell A1 type ANSC 221 Homework Excel-1 {YOUR NAME} and press Enter. (Of course type your own name and not literally “{YOUR NAME}” I will show you how to make a simple ration checking program that will multiply feed amounts times the nutrient content of feeds, and add up the results. List some feeds in rows 3 through 10 in column 1. Now copy those feed names to rows 13-20 by doing the following. Highlight the feed names you typed in rows 3-10. Hit Control-C. Place your cursor in cell A13 and left click the mouse. Press Control-V (which pastes what you copied with Control-C). Let s also copy those names to cells A23 to A30. Press ESC (escape) to release the area you highlighted. Let s format this so the feed names all sit in column A. Move your cursor to the spot between the A and B at the top of the spreadsheet cells. Left click, and when the cursor changes to a line with arrows to both sides, left-click again and drag the A-column wider so that the feed names all fit within column A. Let s put labels above the columns: on row 2 in column B enter AMOUNT, in C enter CP, in D enter TDN, in E enter CA, in F enter P. Of course you could do the same thing with other and more nutrients. From data on nutrient content (from somewhere), enter the percentage of CP, TDN, Ca, and P for the feeds you chose. (Leave the “Amount” column blank). Next, we are going to want to multiply the feed amounts we specify by the DECIMAL values for the percentages we entered, or in other words, by those amounts divided by 100. Let s go to Cell C13 (for timothy hay on my sample page, CP column) and write a formula that takes the value in cell C3 and divides it by 100. Start your formula by entering the = sign. So in cell C13 enter = then click on cell C3, enter “/” (for divide) enter 100 and then press the enter key. (To multiply it would be the asterisk symbol, *) Now we could do that for every cell, but there is a much faster way. Click in cell C13. Notice at the bottom right the box has a dense square. Move your cursor over it until it forms a +. Click that square and drag right to copy the contents (the formula) to Cells D through F. Alternatively, in Cell C13 we could have hit Control-C, clicked in Cell D13, dragged right to Cell F13, released and pressed Control-V (and it would do the same thing). CTRL-C copies to your clipboard, and CTRL-V pastes from your clipboard. Note that to undo something you could click the circular arrow pointing left at the top, and to redo you could click the circular arrow to the right at the top of the page. Sometimes Excel is not set up with all the same icons in the same page, but that can be adjusted and they are commonly there. Now let s copy those formulas down. Click in C13 and drag right to highlight C13-F13. Release the click, and then hover over that dot in the lower right corner of the line around the cells highlighted, and then drag down to include row 20, then release. (This could also be done with CTRL-C – CTRL-V.) Now let s make our multiplications. First you may enter values for each feed amount in column B, rows 23-30. These are the values you can change to get different results, so for now it isn t important what value you enter, BUT MAKE THEM DIFFERENT FROM THE EXAMPLE PAGE so it shows your sheet makes calculations. But we want EACH value (in column B) multiplied by the correct value in column C. If you enter a formula in cell C23 as we did in cell C13 and then copy that, the program will automatically adjust the formula. We don t want it to change the formula, we want it to always use the value in column B, so we are going to enter a “$” sign in front of a cell reference to “root” it so that it doesn t change. In Cell C23 enter: =$B23*C13 and press enter. The calculation is shown (but the cell contains the formula). Now we can copy the formula in Cell C23 to cells D, E and F. (Do that with the click, click the + and drag, or use the CTRL-C, CTRL-V method). Then you can highlight all 4 cells (C23-F23) and copy them down to row 30 (by either method). (There is another way we could do all of this. Instead of making a second table with all the values divided by 100, we could put that into the formula in which we multiply the amount of feed times the percent nutrient in the feed. That formula would look like: “=$C23*(C3/100)”. Your multiplications have all been made. Now let s add up those columns. In column B, row 31 enter =sum( and then click and drag to highlight cells B23-30, and then enter “)” (the close parenthesis symbol) and press enter. Now copy that formula right to make rows D-F calculate the sums. Let s separate the result from the data with some formatting. First in Cell A31 lets enter 2 spaces and the word TOTAL. Then highlight the 5 zeros in line 30 in Cells B-F. Click the box at the top of the page for formatting, located above the word Font . The down symbol there would present various choices. The default choice is probably Bottom Border, and that is what we want. Click that (or chose that and click it) and a line will be drawn between our data and the results on the total line. Now you can change the values for the amounts of the feeds, and see the resulting calculations. If you adjust the feed amounts so they total to 100, then the results calculated will be the percentage for the nutrients you are calculating (because recall, percentage is parts in 100 parts). This spreadsheet could have taken different structures. The decimal values for nutrient composition could have been used in the first place, or those calculations could have been made, and used, from further right on the page where they would not show so easily. I put each above each other so you could see what was going on, and we could still print the page and have everything show on one page. Let s do another calculation. Press Page Down to move us lower on the spreadsheet, as if it were a different page. In the top cell (Cell 35 in my example), enter your name again, ANSC 221 homework, Proximate Analysis, TDN. In Cell 37 through Cell 42, row A, enter Water, Nitrogen, Crude Protein, Ether Extract, Crude Fiber, Ash and NFE. In column B enter values for Water, CP, EE, CF and ASH. In Cell B42 enter the formula: =100-SUM(B37:B41). (We could have used the cursor to highlight cell B37 to B41 and it would write that part, and we only need to enter the close-parenthesis symbol and hit enter). Maybe we have the nitrogen value instead of the CP value. Let s calculate that. In cell A46 enter NITROGEN, in cell C46 enter the formula =B46*6.25 and press enter. Then a value entered in B46 will result in the calculation of CP. Let s put “CP” above that in cell C45. That sits clear at the left, and we can change the formatting of the cells with the icons at the top of the page. Let s make both sit in the center of the cell. Highlight cells C45 and C46 and find the “CENTER” icon in the alignment area, and click that. Now let s calculate TDN. We need the energy value so place that in column C (enter ENERGY in Cell C36). Values are water=0, CP=1, EE=2.25, CF=1, Ash = 0, NFE=1. We need digestibilities so enter those in column D, in the decimal format. Label that column DIG in Cell D36. Now label Column E TDN. Then make the formula in cell E37 contain: =B37*C37*D37 and press enter. Then copy that formula down to E42. All the partial products are calculated. Add them up in Cell E43 (or E44 if you prefer). The formula is =SUM(E37:E42). To make it obvious, let s place “TDN =” in column D ahead of the calculated TDN. You can print the results. In my program on my computer, that will all print on one page. You have many choices for what you print, how big it is and how it is formatted. When you print spreadsheets though you should make them easily readable and presentable. To save your work, click File then choose Save AS and choose a location and filename of your choice. ANSC 221 Example spreadsheet homework exercise - D. M. Forsyth AMOUNT CP TDN CA P Timothy Hay 12 55 0.8 0.5 Alfalfa Hay 18 56 1.4 0.6 Corn 8 80 0.02 0.28 Soybean meal 44 78 0.25 0.6 Cottonseed meal 42 77 0.3 0.64 Dical 0 0 24 18.5 Limestone 0 0 38 0 other Timothy Hay 0.12 0.55 0.008 0.005 Alfalfa Hay 0.18 0.56 0.014 0.006 Corn 0.08 0.8 0.0002 0.0028 Soybean meal 0.44 0.78 0.0025 0.006 Cottonseed meal 0.42 0.77 0.003 0.0064 Dical 0 0 0.24 0.185 Limestone 0 0 0.38 0 other 0 0 0 0 Timothy Hay 20 2.4 11 0.16 0.1 Alfalfa Hay 15 2.7 8.4 0.21 0.09 Corn 50 4 40 0.01 0.14 Soybean meal 5 2.2 3.9 0.0125 0.03 Cottonseed meal 2 0.84 1.54 0.006 0.0128 Dical 0.5 0 0 0.12 0.0925 Limestone 0.5 0 0 0.19 0 other 7 0 0 0 0 TOTAL 100 12.14 64.84 0.7085 0.4653 ANSC 221 homework, Dale Forsyth, Proximate Analysis, TDN amount Energy DIG TDN Water 10 0 1 0 CP 12 1 0.8 9.6 EE 4 2.25 0.75 6.75 CF 6 1 0.4 2.4 Ash 2 0 0.5 0 NFE 66 1 0.8 52.8 TDN = 71.55 CP NITROGEN 2 12.5
Bayesian Optimisation of SLIP Model Parameters EN4062/ENT794 Coursework 2023 Short Description The Spring Loaded Inverted Pendulum (SLIP) gait model can be characterised by various parameters, including spring stiffness, the mass of the robot, touchdown angle and leg length. Tuning the parameters can be time-consuming and Bayesian Optimisation provides an efficient way of finding the optimal gait parameters. In this package, we will explore different properties of the SLIP gait model and how to find the optimal solution for the gait motions. List of scripts and functions PIease take a Iook on each function (.m’ fiIes with their description. Try to open the fiIes in MatIab program to see the comments and description of each lines. BayesianOptimisationDemo1D.m - Script. for demonstration of Bayesian Optimisation in 1 dimension on a simple known function. The optimisation process is displayed in a figure. BO.m - Main script to run Bayesian Optimisation of the SLIP model parameters. The parameters to optimise and the corresponding search ranges are defined in the script. The optimisation process and results are stored in *.mat files. SLIP_model.m - Function that describes the dynamics of SLIP model. The arguments of the function are the parameters of the model. The function returns the motion data and the performance of the model. getNextSample.m - Function that returns the next sampling point to maximise improvement of specified amount. The function argument is the Gaussian Processes Regression through existing sampling points. results.m - The main function for displaying the optimisation results of any existing optimisation process. This includes a figure with colour map for parameters and a corresponding fitness function. A set of parameters and disturbance in initial conditions can be chosen to show animation and phase plot of the corresponding model. animation.m - Function to animate the motion of SLIP model with specified parameters phaseplot.m - Function to display phase plot of the SLIP model (ground height vs. velocity vector direction of the robot) Bayesian Optimisation Bayesian Optimisation is an optimisation method which minimises the number of sampling points required to find the maximum of the objective function. Gaussian process regression with the best-fitting Kernel parameters is found and fit through sampled points as described in [1]. For each point in the argument space, the expected mean and standard error from the expected mean are found. The expected mean and error data is then used to obtain the acquisition function which is then used to find the point where to sample next. [2] Figure 1 shows how the sampled data of a function can be modelled as Gaussian process and the calculated threshold. The plot below shows the probability that the value of the function is above the specified threshold. The next sampling point is chosen at the point where the probability is the highest. Figure 1. Bayesian Optimisation with the objective function to be maximised above and the corresponding acquisition function below Figure 2. SLIP model gait patterns with transitions between phases. (a) walking, (b) skipping, (c) running SLIP model The spring Loaded Inverted Pendulum (SLIP) gait model is one of the simplest bipedal gait models. It consists of a point mass with mass m connected to two weightless springs with stiffness k and uncompressed length l0 . The point mass is constrained to move in the sagittal plane. The motion of model can be described with three phases, each characterised with a different system of differential equations: (a) double stance phase – both legs are in contact with ground, (b) single stance phase – one leg is in contact with ground, the other leg is in swing, and (c) flight phase – neither of the legs is in contact with ground and the point mass in free motion. In this model, the impacts are considered to be completely elastic and springs have no damping. Therefore, the model conserves energy throughout the motion. Hooke’s law and Newton’s 3rd law yield to set of differential equations for each phase with first support point at (0 ,0) (if applicable), second support point at (x0,0) (if applicable) and the point mass at (x ,y). Flight phase: Single stance phase: Double stance phase: The transitions between phases are either landings or take-offs. Landing occurs when the height of the mass gets smaller than the height determined by touchdown angle and leg length. Take-off occurs when the distance between support and the mass gets larger than the uncompressed spring length. Two simplest gait patterns that can be identified are the running and the walking gait, first described in [3]. In walking gait single stance phase alternates with double stance phase. In running gait single stance phase alters with flight phase. The values of touchdown angle, spring stiffness and the total internal energy that provide stable gait patterns were first described in [4]. In addition, there are different skipping gait patterns where walking and running alternate with each other. For humans, running and walking are most prevalent gait patterns but in certain environments skipping could be preferred as described in [5]. The provided MATLAB code permits changing between all three phases: double stance, single stance and flight. Therefore, the gait with optimised parameters could be either walking, running or skipping depending on the initial conditions provided by user. Different stable limit cycles for running, walking and skipping were recorded and these can be found in limitcycles folder along with the respective phase plots and animations. The parameters that are varied during optimisation are the spring stiffness, touchdown angle while walking and touchdown angle when running. Leg length and the mass of the robot are considered to be constant due to dimensional analysis. During optimisation processes the performance of the model with specified parameters is assessed. The best characterisation of the performance was concluded to be the distance covered before losing stability, however different fitness functions could be used (e.g. number of steps or time before losing stability). The chosen fitness function is evaluated for the parameter set under evaluation and with pre-defined initial conditions subject to disturbances. Analysing the results Three pre-run optimisation processes with different initial conditions are provided with the code in data/BO_Data_xxx.mat files. These results can be reviewed using results(DatasetNumber) function. Use DatasetNumber=1 for walking gait model, DatasetNumber=2 for skipping gait model and DatasetNumber=3 for running gait model. The figure created when using the results function displays three plots. The first plot shows the progress of parameter values with optimisation iteration. As exploitation starts the values of parameters are not exposed to large changes in the values. The second plot shows the fitness function evolution with optimisation iteration. The third plot allows user to choose a parameter set and disturbance in initial conditions for animation and displaying phase plot to visualise the performance. References [1] Kaur Aare Saar, Bayesian Optimisation of SLIP model parameters (https://www.mathworks.com/matlabcentral/fileexchange/59060-bayesian-optimisation-of-slip-model- parameters), MATLAB Central File Exchange. Retrieved March 13, 2023. [2] C. E. Rasmussen, “Gaussian processes for machine learning,” Int. J. Neural Syst., vol. 14, no. 2, pp. 69–106, 2006. [3] E. Brochu, V. M. Cora, and N. De Freitas, “A tutorial on Bayesian optimization of expensive cost functions, with application to active user modeling and hierarchical reinforcement learning,” Rl, pp. 149, 2010. [4] R. Blickhan, “The spring-mass model for running and hopping,” Journal of Biomechanics, vol. 22, no. 11–12. pp. 1217–1227, 1989. [5] H. Geyer, A. Seyfarth, and R. Blickhan, “Compliant leg behaviour explains basic dynamics of walking and running.,” Proc. Biol. Sci., vol. 273, no. 1603, pp. 2861–2867, 2006. [6] A. E. Minetti, “The biomechanics of skipping gaits: a third locomotion paradigm?,” Proc. Biol. Sci., vol. 265, no. February, pp. 1227–1235, 1998.