6012SSL Project Management for Business (MOCK EXAM) Section A: Answer ALL questions in this section. Question 1. Case Study: Renewable Energy Project Background: EcoPower Solutions, a renewable energy company in the UK, is developing a wind farm project in Peru (South America) to provide clean energy to a growing population. The project includes designing, installing, and commissioning 50 wind turbines in a remote region. It requires collaboration with local government authorities, international suppliers (from China and Germany), and the indigenous community. Emma, the project manager, must ensure the project is delivered on time and within budget while addressing environmental and community concerns. The project involves several challenges, including logistical issues, environmental regulations, and cultural differences. Questions: A) Identify and evaluate at least three (3) main risks faced by EcoPower Solutions in this project. How can these risks impact the project’s success? B) How can the identified risks be effectively managed using appropriate risk management strategies? C) Critically evaluate the role of a Risk Register in systematically documenting, monitoring, and controlling potential risks across all phases of a project’s lifecycle. Question 2. Critical Path Analysis (CPA) Considering the project information presented in the table below: Activities Durations (days) Predecessor A 3 - B 2 A C 4 A D 4 B E 2 B F 3 C G 3 C H 2 F, G I 2 D, E J 3 I, H a) Draw the network diagram b) Calculate the total duration of the project c) Identify the critical path of the project Section B: Answer ONLY ONE question in this section. Question 3. In the context of project management, discuss the importance of implementing a Quality Management Plan. How does it contribute to achieving project objectives, and what are the key components that should be included in the plan? Provide examples to illustrate your answer. Question 4. How can the absence of a Communication Plan lead to misunderstandings and inefficiencies within a project team, and what are the potential consequences for stakeholder relationships? Provide relevant examples.
Chemical and Materials Engineering MAT E 640 Advanced Materials Thermodynamics Midterm Examination 25% of Final Grade October 20, 2020 12:30-1:50 PM Tips Read through the entire test first before starting the exam. Do not leave blanks - attempt all problems, you cannot get marks for blanks. Read carefully and be sure you answer what is being asked. Give concise answers. State any assumptions you make. Marks Marks for each part of the question are shown in the question as [X]. The total number of marks is 90. 1. Choose whether the following statements are true or false. If a statement is false, explain why? [20] T F The enthalpy and internal energy of an ideal gas only depend on the temperature of the system. T F With the same undercooling, the heterogeneous nucleation requires smaller critical nuclei size and lower energy barrier than the homogeneous nucleation. T F Based on the first law of thermodynamics, energy is always conserved, while entropy could be created. T F At constant composition and entropy, the enthalpy will decrease as pressure increases. T F The reason to form. coherent embryo is that minimizing interfacial energy is more important than minimizing strain energy. T F In an adiabatic expansion of an ideal gas the temperature always goes up. 2. One mole of a diatomic ideal gas is subjected to the following sequence of steps: (a) Starting at 300K and 1 atm, the gas is heated reversibly to 600K at constant volume. (b) The gas is reversibly expanded at constant temperature until its volume is again doubled. (c) The gas is then reversibly cooled to 300K at constant pressure. (d) The gas finally expands freely into a vacuum to double its volume. Calculate the values of q and w and the changes in U, H, and S for each step. [20] 3. A hypothetic system with two available energy levels ε0 and ε 1 is populated by N particles at constant temperature T. (a) Calculate the average energy per particle. [5] (b) Calculate the entropy of the system with N particles. [5] 4. Show [5] 5. Below is the crystal structure of wurtzite ZnS (yellow is Zn and grey is S). What is the total configurational entropy in each of following question? (Note: the total number of sublattice sites for Zn is NA) (a) A perfectly ordered wurtzite ZnS crystal (with no defects), as shown below. [5] (b) A perfectly ordered wurtzite ZnS crystal, but with one vacancy on the sublattice of Zn atoms and one vacancy on the sublattice of S atoms. [5] (c) A perfectly ordered wurtzite ZnS crystal, but with one extra S atom substitutes the sublattice of Zn atoms. [5] (d) A perfectly ordered wurtzite ZnS crystal, but with one nearest neighbor Zn and S atoms exchanged position. [5] 6. Draw schematic G-P curves which would be consistent with the iron T-P diagram shown as below at the temperatures 400, 600, and 1600°C. Neglect the δ phase. [15]
IOM 415: Supply Chain Management Dissertation Semester 3 AY2024/25 SECTION A: Basic Information Brief Introduction to the Module The dissertation module is a compulsory 20 credit module which all Master students at XJTLU are required to complete as part of their MSc degree programmes. Key Module Information Module name: Supply Chain Management Dissertation (Part-Time) Module code: IOM 415 Credit value: 20 Semester in which the module is taught: 3 Pre-requisites needed for the module: passed all taught components of the programme Programmes on which the module is shared: MSc Operations and Supply Chain Management SECTION B: What you can expect from the module Educational Aims of the Module The aim of this dissertation module is to enable students to undertake a significant piece of independent research on a particular topic in business and management field. This module provides students with opportunities to: (i) apply their learning to analyse contemporary and ‘cutting edge’ problems and issues of relevance to scholars or practitioners or both; (ii) deepen their knowledge and understanding of a particular topic of interest to them; (iii) produce a complete piece of scholarly work or a project of practical value from conception through to a final thesis or report; (iv) further their independent research skills, i.e. data management, project management, writing and presenting findings; (v) enhance their intellectual and employability skills and their career prospects, and (iv) make an original contribution with either theoretical or practical value. Students should identify, define and explore one or more problems or issues at the forefront of business and management as an academic discipline. This may lead to a large piece of independent writing in one of the following styles: • Standard academic research based dissertation, • Company based project on a particular issue, • Business plan including sections of literature review and methodology. The dissertation should demonstrate: (i) an analytical and critical approach to problem definition; (ii) the derivation of appropriate research questions and/or hypotheses; (iii) skills in designing and implementing a suitable methodology for gathering, analysing and interpreting data and information that address the research problem, questions and/or hypotheses; (iv) knowledge and understanding of literature and theories relevant to the area of inquiry, and the ability to apply it appropriately, and (v) the ability to write up and present the research as a dissertation in a way that combines academic depth and good scholarship with an appreciation of relevant practical and policy issues as appropriate in relevant subject areas. Learning Outcomes A. Demonstrate a substantial and systematic understanding of current and recent theory and research focus in business and management. B. Critically evaluate and apply relevant theories to construct suitable conceptual frameworks to study the research topic. C. Develop skills of conducting a research project through producing a reasonable research design, paying attention to research ethical considerations, collecting data through appropriate methods and analyzing data using suitable approaches. D. Present findings in a coherent and logical flow in the dissertation writing. E. Think, learn and work independently whilst demonstrating initiative, responsibility, self-discipline, self-motivation, self-direction and originality in tackling and solving research problems in management. Assessment Details The module is assessed through: 1. Presentation (15 minutes followed by Q&A for 5 minutes) 15% Each student will give a 15 minutes PowerPoint presentation of their project and interim results attended by two assessors. In addition, there will be a 5-minute session for the assessors to ask questions on the material presented. The presentation is intended for you to present the progress of your project against your targets and get constructive feedback to what the assessors expect you to include in the final report. An electronic version needs to be submitted via LMO 24 hours before the presentation date. Due Date: Oct 21 - Nov 3, 2024 upon arrangements between the supervisor and 2nd marker 2. Dissertation (min. 10,000 and max. 15,000 words) 85% Each student will complete a research thesis following the structure generally outlined within section D of this handbook. The thesis will develop academic skills (research, evaluation of primary and secondary data, drawing of conclusions from research) and transferable skills (time management, project management, organizing, written communication, presentation and problem solving). An electronic version needs to be submitted via LMO by the due date. Due Date: 00AM, Dec 23, 2024 Resit/Resubmission information: 1. Resit/Resubmission for Presentation (15%): No 2. Resit/Resubmission for Dissertation (85%): Yes Students who failed the Dissertation have the opportunity to resubmit their dissertation for reassessment. An electronic version needs to be submitted via LMO by the due date. Due Date: 00AM, May 12, 2025 Methods of Learning and Teaching As MSc dissertation is an independent research students are required to do, students are expected to independently manage the time and workload with the support of their dissertation supervisor. Support to research methodology and method training has been provided through semester 1 and 2. Typically, the dissertation work starts in semester 2 when students should firstly identify their dissertation focus. Students can select a research focus in one of the following ways: 1. Select a topic proposed by IBSS faculties and seek agreement with the faculty member. 2. Self-select a topic and approach the faculty who has similar research interest and seek agreement. Students are expected to work on their confirmed dissertation plan once their supervisor approves it. The role of dissertation supervisor is to support students during their dissertation project time once the supervision is confirmed. Such a support ends with the submission of the final dissertation. Supervisors are expected to meet with their students and support in key aspects of the dissertation project including topic selection, literature review, research methodology, data analysis and findings. Syllabus & Teaching Plan On supporting students’ dissertation work, supervisors should consider to give advices and suggestions to the following areas: • Research topic selection. Students should propose more narrowly focused topics for discussion. • Review of relevant literature. Supervisor suggests some readings or some literature searching techniques and students are expected to find and summarize relevant readings. • Design of methodology. This is a key area where supervisor should provide more support to ensure that students can better understand how to prepare and carry out data collection. • Data management and development of conclusions. Reading Materials Recommended Texts On Conducting Research: Creswell, J. W. (2013). Research design: Qualitative, quantitative, and mixed methods approaches. Sage. Fink, A. (2014). Conducting research literature reviews: from the Internet to paper. Sage. Hart, C. (2005). Doing your masters dissertation. Sage. Punch, K. (2000). Developing effective research proposals. Sage. Phelps, R., Fisher, K., & Ellis, A. (2007). Organizing and managing your research: a practical guide for postgraduates. Sage.
CS152 Lab Exercise 5: Representing Elephants as Lists The purpose of this project is to practice modular design of code with a larger, slightly more complex simulation than the penguin simulation. We will be making use of nested lists--lists of lists--in order to manage more complex data. This is the first of a two-part project where we will be simulating the elephant population in Kruger National Park, South Africa. The carrying capacity of the park is approximately 7000 elephants (1 elephant per square mile of park). Previous efforts to manage the population involved culling approximately 400 animals per year. After the development of an elephant contraceptive, the current effort to manage the population involves using a contraceptive dart on adult female elephants to limit the birth rate. The elephant population simulation will be more detailed than the penguin simulation, because there will be more characteristics of each animal which need to be accounted for. Lab Tasks (L1-L6) L1. Setup and problem description Make a folder called Project_05 where you keep your current work. Because the code you write for the lab will also be used in the project we will dispense with the lab folder this week. Create a new file, elephant.py, and save it in your Project_05 folder. Because we will need to calculate some statistics in this project (e.g., the mean), copy your stats.py file into your Project_05 folder. Make sure to test your statistics functions to assure you that they are working properly. The design of the simulation this week will be similar to the penguin simulation in the last project. The main function (that serves as the conductor of your program) will handle setting parameters, calling the function that runs the simulation, and summarizing the results. The diagram below shows the hierarchical relationship of all of the functions you will be writing. Recall that last week we represented penguins using only a variable for the animal’s sex. This week we will represent elephants using sex, age, and the breeding status of each individual animal in order to more accurately model the number of births each year and the effects of using a contraceptive dart. Here are some of the assumptions we will make about the elephant population. READ them carefully because there are important details that you will need to accurately represent your elephant model. Make sure that you understand the boundaries between categories and the differences for males and females, calves, adults and seniors. 1. Elephants live about 60 years. 2. Female elephants over age 12 and less than or equal to 60 can become pregnant. 3. The gestation period is 22 months. 4. Elephants over age 60 (seniors) have a survival rate of only 20% per year (it is unlikely, but not impossible to live beyond 60). 5. For adult elephants ages 2 through 60, the survival rate is very high: 99.6%. 6. The survival rate of a calf (age == 1), is 85%. 7. The average time between births for an adult female is 3.1 years. Since the gestation period is 22 months, that means that when a female is not already pregnant, the chance, per month, of getting pregnant is 1.0 / (3.1*12 - 22), if she is not on contraceptive. 8. A contraceptive dart ends any existing pregnancy and prevents the elephant from getting pregnant for the next 22 months. For this simulation, we're going to model gestation and contraception on a per month basis. However, we'll model survival and darting on a per year basis. We do this because gestation and contraception don't follow simple yearly intervals, but survival rates are easier to compute per year. As with last week, you'll employ modular design and start building your program incrementally one function at a time. After you have written each function you will test it carefully to make sure that it works as specified. Note: Not following this advice is guaranteed to lead you down a path of pain! Understand that this is a two-part project and that next week’s project depends on this week’s project working properly! New this week: Unlike last week, where we gave each function many, many parameters, we're going to collect all of the parameters for the simulation in a list and pass the list as an argument into our functions. For this to work, we have to invest a little time into setting up a connection between a variable and its index in the parameter list. The benefit is that our function definitions will be simpler (one composite parameter instead of many individual parameters) and more uniform. It is important that we set up the list of parameters carefully and use the same location in the list for the same parameter throughout the code. The following list shows all of the parameters of the simulation and their initial default values. Note: The darting probability parameter is set to 0.0. This will be updated via a parameter provided by the user on the command line. Calving Interval 3.1 Darting Probability 0.0 Juvenile Age 12 Maximum Age 60 Calf Survival Probability 0.85 Adult Survival Probability 0.996 Senior Survival Probability 0.20 Carrying Capacity 7000 Number of Years 200 L2. Create a list of parameters In order to pass all of the parameters at once, we're going to use a list. One method of setting up the list is to just make a list of numbers. This has the benefit that we can look at the variable names in the list to tell us the meaning of each position in the list. Using the template below, make a test function in your elephant.py file that creates the parameter list and then prints it to the console. Note: The order of the parameters must match that given in this document. Changing it will break the testing scripts. def test(): # assign each parameter from the list above to a variable using the following names: calvingInt = 3.1 dartingProb = 0.0 juvenileAge = 12 maxAge = 60 calfSurvivalProb = 0.85 adultSurvivalProb = 0.996 seniorSurvivalProb = 0.20 carryingCap = 7000 numYears = 200 # create the parameters variable and assign it all the values parameters = [calvingInt, dartingProb,. . . ] # print the parameter list if __name__ == "__main__": test() First, verify that the parameter list does in fact contain all the parameters and that they are in the correct order. For now, we will leave darting probability at 0.0, but later on we will add the ability to get that parameter value from the command line. Second, notice that while working with the parameters as a list is an ok solution, there might be problems with this approach. Can you anticipate any problems? For example, if we write a function that needs to access a specific parameter, we will have to remember that parameter's index in the list. So, for example, the calving interval parameter will be parameters[0] if you set up the parameter list with that value in the first position and parameters[5] will be for the adult survival probability. Then realize that there are nine parameters in this list and we could add more in the future! Using this arrangement means it is easy to make mistakes when you have to remember whether a given value is in position 4 or position 5. It also makes it hard to modify your code if you happen to change the order of the values in the parameter list or even add new ones. If you did make changes, it would mean you would have to go through all of your code and change all the indexes wherever you were accessing a parameter value. That's a lot of changes and it creates a lot of opportunities to make mistakes. Our solution will be to create a system of indexes that relates the position to the item in the parameter list using a mnemonic-like naming strategy. This provides flexibility for changes without changing our code everywhere an index is used. To do this we will declare a set of variables with a specific naming style. and assign the appropriate index number which corresponds to where in the parameter list the value is located. For example, by assigning to variable IDXCalvingInt the value 0 (the index of the calving interval in the parameter list) we can access that value in our code as follows: IDXCalvingInt = 0 probabilityPregnant = 1 / parameters [IDXCalvingInt] In the elephant.py file, add variables for all the simulation parameters (after module import statements at the top of your file) and assign appropriate values for each of the parameters in the simulation (like you did for IDXCalvingInt). When naming index variables, begin each name with IDX to indicate the value is an index, then use a name that indicates the field. L3. Representing an elephant as a list Because we will be representing individual elephants with such detail, we will be modeling each elephant as a list with four features. We have to keep track of an elephant's sex and age. For females, we also have to keep track of whether an adult female is pregnant, and whether she has been injected via contraceptive dart, and, if so, how many months are left on the contraception. The following table gives the attributes and their types. Field Type Sex string Age integer Months pregnant integer Months contraceptive remaining integer Use the same IDX design as above. Create a separate set of top-level variables with indexes to keep track of which entry in the elephant list is storing information about which field. Write the four assignment statements necessary to keep track of elephant features. Use the following names: IDXSex = 0 IDXAge = 1 IDXMonthsPregnant = 2 IDXMonthsContraceptiveRemaining = 3 L4. Write a function to create and return a new elephant The function newElephant should create and return a list with all of the necessary features of an individual elephant. The newElephant function should have two parameters: the list of simulation parameters, and the age of the elephant to create. It should return a list with the four items above. def newElephant ( parameters, age ): #Docstring for what this function does elephant = [0,0,0,0] Add the values to the list representing a new elephant using the algorithm below return elephant The newElephant function will need to use the calving interval, juvenile age, and maximum age parameters, so use the IDX names to access the parameter list in your function. a. Assign to a variable elephant a list with four zeros in it. b. Then use the random package to assign to elephant[IDXSex] either 'm ' or 'f '. Note: lookup random.choice() documentation or ask the lab TA. This will simplify your code and avoid another if/elif statement. c. Then assign to elephant[IDXAge] the value of the age parameter (not a random number, but the value passed into the function). d. If the elephant is female and if the elephant is of breeding age (strictly older than juvenile age and less than or equal to the maximum age), test if the elephant is pregnant (the probability the elephant is pregnant is 1.0 / calvingInterval). If the elephant is pregnant, pick a random number between 1 and 22 (inclusive) and assign that to the IDXMonthsPregnant position in the elephant list. e. No elephant starts out on the contraceptive, so the IDXMonthsContraceptiveRemaining field of the elephant list will always be zero when we create a new elephant because we initialized that index in the elephant list with 0. f. Return the elephant. Finally, test the newElephant function by adding the following code to your test function. Reduce the carrying capacity to around 5 elephants (so you can see the output on one line) and then print out the elephant population list. Just remember to change it back to 7000 later on. This code assumes you have a variable named parameters that contains the parameters for the simulation and you have named the index variables as in the code. # Code inside test function: population = [] for i in range (parameters [IDXCarryingCapacity): population.append ( newElephant ( parameters, random.rand int (1, parameters [IDXMaximumAge]) )) print (pop) Make sure that the data looks correct. There should be a spread of values. A mix of males and females. No males should be pregnant! (Don’t laugh, it has happened) Some females, within the correct age range, should be pregnant, but no female is on contraceptive. Run the test numerous times until you have convinced yourself that the newElephant function is working properly. If it doesn’t work correctly then debug until it does. This is a large project and if you start off incorrectly it will be very difficult to find the bugs later on. L5. Write an initPopulation function Write a function initPopulation (parameters) using the newElephant(parameters, age) function to create elephants. The init Population function should take in the parameter list and return a list of new elephants, where each new elephant is a list itself. The number of elephants to create is the carrying capacity parameter. In the last project we represented each individual animal with a single letter and a population as a list such as [‘f’ , ‘m’ , ‘m’ , ‘f’ , ‘f’ , ‘m’]. In this project we will be representing each individual as a list of four items: sex, age, months pregnant, and months contraceptive remaining. This means that our population of elephants will be represented as a list of elephant lists such as [ [‘f’ ,22,12,0], [‘m’ ,12,0,0],...] The initPopulation function should initialize a population list to the empty list, loop for the number of elephants to create and append each new elephant (call newElephant with a randomly chosen age between 1 and the maximum age both inclusive) to the population list on each iteration. It should then return the population list. Add code to your test function that calls initPopulation and then prints out the population list. Note: You may want to temporarily reduce the carrying capacity to 5 so that you can print out the population on one line and inspect it. Be sure to change it back to 7000. L6. Write a function to increment the age of the population Write a function incrementAge (population). This function should take in a population list and return a population list. Inside the function, it should increment each elephant's age by 1 year accessing the age value by using the IDXAge index. Add code to your test function that calls incrementAge. You will be passing in the population list created by initPopulation and then assigning the return value from the incrementAge function back to the same variable. Print out the new population list and double-check that each age was incremented by one and that no other changes are made to each elephant list. Congratulations! You have completed the lab portion of Project 5 and are ready to begin the project.
N1569 Workshop 7 1. Complete the following table for pay-off to different positions on standard European calls and puts assuming the underling price is 100 at maturity: Option Type Position Strike (K) Pay-off Put Long 90 Call Long 40 Put Short 120 Call Short 80 2. Suppose you have bought 10 of option 1 and sold 20 of option 2 and their Greeks are: • Option 1: callwith δ = 0.5, γ = 0.01 and ν = 0.08 • Option 2: put with δ = −0.4, γ = 0.02 and ν = 0.05 Find the net position Greeks. 3. Suppose you have bought 80 of option 1: • Option 1: put with δ = −0.8, γ = 0.02 and ν = 0.06 Two other options on the same stock are available: • Option 2: call with δ = 0.6, γ = 0.01 and ν = 0.15 • Option 3: put with δ = −0.8, γ = 0.03 and ν = 0.05 Each option is for 100 shares. How many of options 2 and 3 should I buy or sell to make the position gamma-vega neutral? How many shares should I buy or sell so that the total position is delta-gamma-vega neutral? 4. A call option has strike 98, and 30 days to maturity. The underlying price is 100, and its volatility is 25%. Assuming the interest rate r and dividend yield y are both 0, find (a) the Black-Scholes delta and gamma (b) the delta-gamma approximation to the change in price of the option when the underlying price rises by 2 (c) the delta-gamma approximation to the change in price of the option when the underlying price falls by 10
CS-350 - Fundamentals of Computing Systems Final Exam Fall 2020 Problem 1 The nancial institutions at the Bank Block in Downtown Sector B3 are all connected to a central processing hub. Due to the recent rise in cyber-crime (especially after Dec. 10, 2020), the banks have adopted measures to harden the security of the hub that handles all the transactions. From the outside, and average of 7 requests arrive every millisecond. These have always to go through a congestion control (S0) system rst. S0 is a single-processor system with an exponentially distributed service time. It operates with average service rate of 7 requests per millisecond. Congestion control is performed by setting a hard cap N on the number of requests at the S0 system. Requests that arrive when N requests are already in S0 are simply rejected. Any request that is not rejected moves on to be handed by the hub. An accepted request rst reaches the authentication (S1) system: a single-processor system capable of servicing, on average, 8.33 requests every millisecond. Typically, 20% of requests fail authentication and their processing is halted. Valid requests advance to the processing server (S2). This is a single-processor system capable of serving a single request in around 0.1 ms. After processing, a request is completed and leaves the system with 40% probability. Al- ternatively, the request is routed to a post-processing single-core server (S3) to determine what type of follow-up request needs to be generated to complete handling of the current request. This post-processing step requires on average 0.15 ms. Follow-up requests can be of two types: inter-bank and intra-bank. An inter-bank follow-up request needs to go through authentication, which happens only in 30% of the cases. Conversely, an intra-bank request can go directly to the processing phase skipping authentication altogether. Follow-up re- quests then follow the steps of normal requests i.e. they can themselves require (inter- or intra-bank) follow-up requests and so on. But under no circumstance a follow-up request is sent back to S0. (a) [3 points] Provide a diagram of the system where you specify the models to be em- ployed to solve the system. Explicitly list any assumption you are making to solve the system that is not already stated in the description above. (b) [7 points] While keeping the rate of requests from the S0 server as a generic param- eter λa , compute an expression for the average throughput (in terms of requests per millisecond) at the servers S1, S2, and S3. Show your work for full marks. (c) [3 points] Which server (S1, S3, or S3) represents the bottleneck of the hub? Motivate your answer. (d) [7 points] The goal is to maximize the overall throughput of the hub while preventing it from buckling-up due to congestion. For this purpose, we can adjust the value of N at S0. Exploring the range of values between 2 and 10, what is the ideal value of N? Problem 2 You have been assigned to analyze a black-box image compression co-processor. You are trying to understand a few important characteristics of its behavior by providing in input a few images of di erent sizes (in KB). For each experiment, you have recorded the time it took to perform image compression and the total energy (in Joules) consumed by the co-processor to perform compression over the given image. You have also measured that the processor consumes exactly 0 Joules/sec when idle. The measurements you have collected are reported in Table 1. # KB Time (ms) Energy (J) # KB Time (ms) Energy (J) 1 454 11.5 1.3 11 721 9.6 0.9 2 952 4.6 0.2 12 306 25.4 6.5 3 805 21.7 4.7 13 572 17.9 3.2 4 141 70.3 49.4 14 156 75.1 56.4 5 194 15.9 2.5 15 651 42.6 18.1 6 205 11.2 1.3 16 171 43.3 18.7 7 152 76.6 58.7 17 871 13.4 1.8 8 47 51.2 26.2 18 48 31 9.6 9 534 16.3 2.7 19 490 59.3 35.2 10 689 15.5 2.4 20 818 17.9 3.2 Table 1: Image compression measurements acquired on black-box co-processor. (a) [3 points] Based on the acquired data, can we conclude that the compression of larger images takes longer? (b) [3 points] Based on the collected data, can we conclude that the compression of smaller images yields lower power consumption? Recall that power is measured in Watts as the total consumed energy over the considered time window (i.e. Joules/second). (c) [5 points] With what con dence we can build a 13 ms con dence interval around the mean of the image compression service time? (d) [5 points] Consider a sequence of image compression requests that arrive (and are potentially queued) at the co-processor under analysis with an average rate of 29.4 requests per second. What will be the average response time of a generic request? Problem 3 The chemical plant Wharmful Corp. receives three types of raw materials M1, M2 and M3 to be stored in special pressurized cabinets C1, C2, and C3. Materials arrive in packages Pi , with each package containing a given type of material indicated with Pi (Mx). The material Mx can only be stored in Cx. As they move on the conveyor belt, they rst reach the sorting area which can hold up to 4 packages. Here, a robotic sorter can re-arrange the order of the packages. The sorted packages are then sent to a robotic arm that stores them into the corresponding pressurized cabinets. Refer to the Piazza post for a visual overview of the organization of the plant. Your job is to devise a strategy to program the robotic sorter. We know the following about the system. (1) the sorter always lls up the sorting area unless there are not enough packages on the belt. Thus, initially it will take in the rst 4 packages; then as one is pushed out, a new one is taken in and so on. It has no knowledge of other packages outside of the sorting area; (2) the three pressurized cabinets C1, C2, and C3 are initially closed and whenever closed they maintain a pressure of 32 psi, 64 psi, and 96 psi respectively; (3) any cabinet needs to be depressurized down to 16 psi before opening and depressurizes at exactly -16 psi per time unit; (4) any cabinet will re-pressurize instantly after it has been closed; (5) the arm can pick up the next packet and bring it to any cabinet in a single time unit; (6) only once the arm has brought a package in front of the corresponding cabinet, the cabinet can start de-pressurization; (7) after a cabinet is at 16 psi it can be opened and the arm can store the current package instantly; and (8) only one cabinet at a time can be in depressurized state, so when a cabinet initiates depressurization, the system automatically closes and re-pressurizes any other opened cabinet. (a) [6 points] De ne a notion of readiness to adopt FR-FCFS as the sorting strategy with goal of minimizing overall storage time. After that, describe and motivate the order- ing produced by FR-FCFS if the packages arrive on the belt in the following sequence: P1 (M2), P2 (M3), P3 (M1), P4 (M2), P5 (M1), P6 (M3), P7 (M3), P8 (M1), P9 (M2), P10 (M1), P11 (M3). You do not need to draw the time plot of the system in operation. (b) [6 points] By using the same notion of readiness de ned above, de ne a new strategy that (1) still prioritizes ready packages but that (2) tries to minimize waiting time when no ready packages are available in the sorting area. Once again describe the ordering produced by the new strategy with the same arrival sequence provided above. (c) [6 points] Compute the total amount of time for the system to fully store all the 11 packages under the two policies. No need to provide timed graphs, but show your reasoning. You can also assume that sorting does not introduce any delay. Problem 4 A sensor node needs to acquire and pre-process the data from 4 di erentonboard sensors. It is crucial that pre-processing completes always before a new data sample is available at a given sensors to prevent loss of samples. The sensors are the Gyroscope (G), Magnetometer (M), Accelerometer (A), and Baroscope (B). The gyroscope produces data at a rate of 200 Hz, with each data sample requiring 2 ms for pre-processing in the worst case. Pre-processing for the magnetometer takes no longer than 1 ms with samples being produced at 125 Hz. A new accelerometer sample is produced every 19 ms and pre-processing takes at most 4 ms. Finally, pre-processing a barometer sample takes at most 6 ms, but the sampling period is con gurable. (a) [6 points] Without drawing the schedule, perform a back-of-the-envelope calculation to determine a suitable con guration for the sampling period of the barometer such that the system always operates correctly under RM. For this part, consider only values of periods that are integers when expressed in milliseconds. (b) [6 points] Because the calculation above returned a value of sampling period which is too large, you decide to set the barometer sampling period to 29. Will the system operate correctly under RM? (c) [8 points] You decide to set the barometer sampling period to 30 ms and stick to RM. You notice however that once in a while (very rarely) the pre-processing of the accelerometer takes 5 ms instead of its nominal 4 ms worst-case execution time. When this happens, the system can still operate correctly if the faulty accelerator pre- processing job is killed when it misses the deadline. Killing any other job is not acceptable. Also, you can apply a utilization-preserving transformation to all or some of your tasks. Speci cally, you can release any pre-processing task twice as fast but only perform half of the required processing in each release. Explain how you can make the system operate correctly under RM. Problem 5 Two processes, namely the Printer and the Shifter, co-operate to respectively print and update the value of an array of integers that has a xed size of 5 elements. The code executed by the Printer process is provided in Listing 1; the code of the Shifter process is given in Listing 2. If a variable has the same name in both processes, it is to be considered a shared variable. A [FRAGMENT x] statement in the code refers to additional lines of code (a fragment) to be inserted in place of the statement. At the beginning of time, both processes start executing at their start line and will not run again once they reach their end line. The initial state of the shared data structures is as follows: array = [4, 9, 5, 3, 6] ; queue = [8, 1, 7, 2] (NOTE: 8 is at the head of the queue.) (a) [4 points] Assume that P2 and S2 are empty and that (a) fragment P1 expands to wait(go); and (b) S1 expands to if(queue .empty()){signal(go);}. Here, go is a semaphore initialized to 0. What is the maximum value that could ever be printed at line 13 by the Printer process? (b) [8 points] Assume that (a) fragment P1 and S1 expand to wait(m); and that (b) P2 and S2 expand to signal(m);. Here, m is a semaphore initialized to 1. What is the maximum value that could ever be printed at line 13 by the Printer process? (c) [8 points] Assume that fragments P1, P2, S1, and S2 are all empty. What is the maximum value that could ever be printed at line 13 by the Printer process?
Econ 1150 Applied Econometrics Mini-Exam 1 1. The random variable Y is the number of new followers that Taylor Swift’s Instagram account on any given day. Assume that Y is continuous and follows a normal distribution N(10000, 4202 ). Find the following probabilities. (a) P r(Y < 10357) (b) Pr({9370 < Y < 9580} or {10420 < Y < 10840}) 2. Information on new restaurants in Pittsburgh was collected. Specifically, the researcher checked whether the restaurants offered vegan items on the menu (V = 1) or not (V = 0) and whether they stayed in business for at least a year (B = 1) or not (B = 0). The joint distribution of these variables are given by the following table: (a) What is the proportion of restaurants that offer vegan items on their menu? (b) Given that a restaurant stayed in business for at least a year, what is the probability that this restaurant offered vegan items on its menu? (c) Are these variables (V and B) independent? (Hint: Use the marginal probabilities.) 3. X and Z are two random variables. We have P(Z = 1) = 0.7 and P(Z = 2) = 0.3. We also know E(X|Z = 1) = 9 and E(X|Z = 2) = 0. Calculate E(X).
CS152 Project 5: Simulating Elephant Population Management As noted in the lab, this is the first of a two-part project where we'll be simulating the elephant population in Kruger National Park, South Africa. The carrying capacity of the park is approximately 7000 elephants (1 elephant per square mile of park). Previous efforts to manage the population involved culling approximately 400 animals per year. After the development of an elephant contraceptive, the current effort to manage the population involves using a contraceptive dart on adult female elephants to limit the birth rate. The conceptual goal of this week's simulation is twofold. First, identify differences in the population distributions between the two methods of controlling the population. Second, identify the percentage of adult females that need to be darted with the contraceptive each year in order to maintain a stable population without culling. Following the overall design below, continue to develop the simulation step by step creating one function at a time and testing it with the provided “test” scripts. By the end of the project you will have a program which will allow you to test the effect of different percentages of darting on the total elephant population. For this project we will employ “trial and error” to get the best darting probability. In the next project, we will utilize optimization to programmatically find the optimum darting percentage. Project Tasks (1-9) Task 1: Write a function to calculate which elephants survive a year In the lab, you created the newElephant, initPopulation and incrementAge functions. The next function to create is calcSurvival. The calcSurvival function processes the elephant population and determines whether each individual elephant survives to the next year. The function takes the parameter list and population list as arguments. The function uses the parameters max age and the three survival probabilities (calf, adult, senior). The function should loop over the existing population list and add each elephant to a new population list if it survives, using the elephant's age to determine which probability to use to determine survival. It should return the new population list. To do this: 1. Create a new empty list, new_population. 2. Loop over the existing population list. Use the age of the elephant to determine which survival probability applies, then use the appropriate survival probability to see if the elephant should be added to the new_population list. Do this by testing if a call to random.random() is less than the survival probability. 3. After the loop, return the new_population list. 4. Test your function by downloading test_calcSurvival.py, reading the code to make sure you understand it. Read the comments to make sure you know what output to expect. Run it, examine the output, and make any necessary changes to your code. Task 2: Write a function to randomly dart female elephants Write a function, dartElephants, that goes through the adult females and randomly selects individuals for darting based on the comparison of random.random() and the darting probability parameter. Make sure that you generate a new random number for each comparison. The function takes in the parameter list and the population list as arguments. It returns the updated population list. The function makes use of the probability of darting, the juvenile age, and the maximum age. 1. The function should loop over each elephant in the population list. Inside the loop, it should test if the elephant is female and is older than the juvenile age and is less than or equal to the maximum reproductive age. 2. If the elephant is an appropriate age, then determine if the elephant should be darted by testing if a call to random.random() is less than the probability of darting. 3. If the animal should be darted, set its pregnancy field to 0 and set the months of contraceptive left field to 22. 4. After the loop, return the population list. 5. Test your dartElephants function to make sure some fraction of the adult females are being modified correctly. You may use test_dartElephants.py Task 3: Write a function to cull elephants from the population Write a function, cullElephants, that checks if there are more elephants than the carrying capacity. If there are too many elephants, the function should remove enough randomly chosen elephants from the population so there are as many elephants as the carrying capacity. The function takes in the parameter list and a population list as arguments. It should return a tuple with the first element being the new population list and second element being the number of elephants culled. The function makes use of the carrying capacity of the population. 1. Determine the number of animals that need to be culled (that is the total number of animals in the population minus the carrying capacity). 2. If there are too many elephants, then randomly shuffle the population list (use random.shuffle()). Use the appropriate list-slice to keep the first carryingCapacity number of animals. 3. Return the tuple like this: return (newPopulation, numCulled) 4. Use the test_cullElephants.py file to test your cullElephants function. Task 4: Write a function to manage how to control the population Write a function, controlPopulation, that will determine whether the population should be darted or culled and call the appropriate function. It then returns the new population list and the number culled (which will be zero, if the elephants were darted) as a tuple. The following is the structure of the controlPopulation function: def controlPopulation( parameters, population ): # if the parameter value for "percent darted" is zero: # call cullElephants, storing the return values in a two variables #( e.g. newpop, numCulled = cullElephants( parameters, population )) # else # call dartElephants and store the result in a variable named newpop # set a variable named numCulled to zero # return (newpop, numCulled) Test your controlPopulation function to make sure the list is being modified correctly. This is just a repeat of the individual tests you did on cullElephants and dartElephants making sure that the logic of controlPopulation is working correctly. You may use test_controlPopulation.py Task 5: Write a function to simulate a month Note: This is the number one function that causes problems for students, so think carefully and methodically about your logic. Using a case by case analysis will go a long way in combating the complexity of this task. Also, as a general practice you should NOT add or remove elements from a list that you are iterating over (Remember the homework program on lists?) You should create a new population list and add all elephants to it AND add any new calves. The function simulateMonth moves the simulation forward by one month. It modifies only the adult females in the population, and it adds a new calf to the population if the female has reached the end of her gestation. In the other cases, the function will either add an additional month to the number months pregnant variable, or reduce by one the number of months contraception remaining. The function takes in the parameter list and the population list. It returns a new population list. The function uses the calving interval, juvenile age, and maximum age parameters. 1. Loop over the population list. The algorithm inside the loop is given below. After the loop is complete, return the population list. 2. On a month to month basis the probability of a female elephant (not already pregnant and not on contraceptive) becoming pregnant is 1.0 / (3.1*12 - 22) where 3.1 is the calving interval, and 22 is the length of gestation in months. # make a new population list for e in population: # assign to sex the IDXSex item in e # assign to age the IDXAge item in e # assign to monthsPregnant the IDXMonthsPregnant item in e # assign to monthsContraceptive the IDXMonthsContraceptiveRemaining item in e #if sex is female and the elephant is of breeding age # if monthsContraceptive is greater than zero #decrement the months of contraceptive left(IDXMonthsContraceptiveRemaining element of e) by 1 # else if monthsPregnant is greater than zero # if monthsPregnant is greater than or equal to 22 # create a new elephant of age 1 and append it to the population list # reset the months pregnant (the IDXMonthsPregnant element of e) to zero # else # increment the months pregnant (IDXMonthsPregnant element of e) by 1 # else # if the elephant becomes pregnant # set months pregnant (IDXMonthsPregnant element of e) to 1 3. Test your function using test_simulateMonth.py Task 6: Write a function to simulate a year The simulateYear function takes in the parameter list and population list. It calls calcSurvival, then it calls incrementAge, then it loops twelve times calling simulateMonth. Finally, it returns the population list. When calling each of the helper functions, pass in the population list and assign the result of the function back to the population list. For example: population = calc Survival ( parameters, population ) Test your function using test_simulateYear.py It will ensure that the basic functionality is present. We will test it more thoroughly once more functions have been written. Task 7: Write a function to calculate statistics on the simulation The calcResults function calculates how many calves, juveniles, adult males, adult females, and seniors are in the population. It then returns a list with those values in it, along with the total number in the population, and the number culled from the population that year. It takes as input the parameters, the population list, and the number of animals that were just culled from the population. 1. Get the juvenile age and max age parameters. Initialize variables to hold the number of calves, juveniles, adult males, adult females, and seniors. 2. Then loop over the population list. For each elephant, increment the appropriate variable (use if statements to figure out the category for each elephant). 3. When the loop is complete, return a list with the following items: the total population size, the number of calves, the number of juveniles, the number of adult males, the number of adult females, the number of seniors, and the number of animals culled. 4. Test your function using test_calcResults.py. Task 8: Run a simulation The runSimulation function takes one parameter–the parameter list. Then it creates the new population, applies any control procedures (e.g. darts them), loops over N years, simulating the year, and it keeps track of the demographics for each year by appending them to a list. Use the following code as a template and add the function to your elephant.py script. Note: you may need to add a parameter to your parameter list (and indexes) that specifies the number of years to run the simulation. The default number of years to simulate is 200. Use IDXNumYears for the index. def runSimulation(parameters): popsize = parameters[IDXCarryingCap] # init the population population = initPopulation( parameters ) [population,numCulled] = controlPopulation( parameters, population ) # run the simulation for N years, storing the results results = [] for i in range(parameters[IDXNumYears]): population = simulateYear( parameters, population ) [population,numCulled] = controlPopulation( parameters, population ) results.append( calcResults( parameters, population, numCulled ) ) if results[i][0] > 2 * popsize or results[i][0] == 0 : # cancel early, out of control print( 'Terminating early' ) break return results Task 9: Write your main function Setup your main function and conditional statement to run elephant. main(argv) should take argv as an argument and the call to main should pass in sys.argv. The only command line argument you will need is the darting probability so the command line will look like this: %python3 elephant.py .5 The first part of your main function should be a usage statement which stops program execution if there are less than two command line arguments. Next, cast and assign the darting probability from the command line parameter float(argv[1]). Next, set up the rest of the parameters and make the parameter list just as you did in the test function. Next, call runSimulation once and store the return value in a list. Make sure you include the probDart parameter based on the command line argument. Test your function and print out the last item in the results list. You may want to edit your runSimulation function so it prints out the total population value each year of the simulation as a sanity check. Finish your main function by calculating the average results (average total population, average number of calves, average number of juveniles, and so on). Print out those results nicely at the end of your main function. Required Element 1: Screenshot of console output of your program displaying the current darting probability and the results that were generated. Follow-up Questions 1. What is the difference between a tuple and a list? 2. What are the benefits of using a naming scheme like IDXNumYears instead of just using an index number? 3. Discuss where errors might impact the simulation? How would you ensure the final simulation model would produce reliable results to support well-informed wildlife conservation decisions about this elephant population? Extensions: Extensions are your opportunity to customize your project, learn something else of interest to you, and improve your grade. The following are some suggested extensions, but you are free to choose your own. Be sure to describe any extensions you complete in your report. 1. Run simulations and compare results. Run simulations that use the culling population-control strategy (set the darted probability parameter to 0.0). Determine how the population demographics are different in this scenario compared to using contraception. Describe those differences. What are the average numbers of calves, juveniles, adult males, adult females, and seniors? Where are the most obvious differences in demographics between the two groups (think like a tourist). Does the percent to be darted change with different carrying capacities? 2. How sensitive is the system to changes in various variables? For example, modify the calf survival rate to 80% or up to 90% and see how that modifies the culling rate or the percent darted rate. 3. Use your stats.py file from Project 3 to compute the average values of each demographic. The list of results that you accrue when running multiple simulations can be thought of as the contents of a spreadsheet. Each list is a row, and each element in the list belongs in a column. The first column is for the total population, the second column is for the count of the calf population, etc. You may want to add a function that rearranges data from lists of rows to lists of columns, then you will be able to use your existing functions in stats.py to compute the average value of a given column. 4. Write the population data to a CSV file and generate plots of total population--or demographic subsets--under different scenarios. 5. Expand on the number of command line arguments that your program can accept. Write your project report Please read the grading rubric so that you know exactly what criteria your code and report will be evaluated upon. If you have any questions, ask! Reports are not included in the compressed code archive file! Please don’t make the graders hunt for your report. You can write your report in any word processor you like and submit a PDF document in the Google Classroom assignment folder. Or use a Google Document format. Review the Writeup Guidelines document in the Labs and Projects folder. Your intended audience for your report is your peers who are not taking CS classes. From week to week, you can assume your audience has read your prior reports. Your goal should be to explain to peers what you accomplished in the project and to give them a sense of how you did it. The following is a list and description of the mandatory sections you must include in your report. Do not include the descriptions in your report, but use them as a guide in writing your report. ● Abstract A summary of the project, in your own words. This should be no more than a few sentences. Give the reader context and identify the key purpose of the assignment. An abstract should define the project's key lecture concepts in your own words for a general, non-CS audience. It should also describe the program's context and output, highlighting a couple of important algorithmic and/or scientific details. Writing an effective abstract is an important skill. Consider the following questions while writing it. ○ Does it describe the CS concepts of the project (e.g. writing well-organized and efficient code)? ○ Does it describe the specific project application (e.g. generating data)? ○ Does it describe your solution and how it was developed (e.g. what code did you write)? ○ Does it describe the results or outputs (e.g. did your code work as expected and what did the results tell you)? ○ Is it concise? ○ Are all of the terms well-defined? ○ Does it read logically and in the proper order? ● Methods The method section should describe in clear sentences (without pasting any code) at least one example of your own computational thinking that helped you complete your project. This could involve illustrating how a key lecture concept was applied to creating an image, how you solved a challenging problem, or explaining an algorithmic feature that is essential to your program as well as why it is so essential. The explanation should be suitable for a general audience who does not know Python. ● Results Present your results in a clear manner using human-friendly images or graphs labeled with captions and interpreted for a general audience such as your peers not in the course. Explain, for a general, non-CS audience, what your output means and whether it makes sense. ● Reflection and Follow-up questions Draw connections between lecture concepts utilized in this project and real-world problems that interest you. How else could these concepts apply to our everyday lives? What are some specific things you had to learn or discover in order to complete the project? Look for a set of short answer questions in this section of the report template. ● Extensions (Required even if you did not do any) A description of any extensions you undertook, including text output or images demonstrating those extensions. If you added any modules, functions, or other design components, note their structure and the algorithms you used. ● References/Acknowledgements (Required even if there are none) Identify your collaborators, including TAs and professors. Include in that list anyone whose code you may have seen, such as those of friends who have taken the course in a previous semester. Cite any other sources, imported libraries, or tutorials you used to complete the project. Submit your Code Turn in your code by zipping the file and uploading it to Google Classroom assignment folder. When submitting your code, double check the following. 1. Is your name at the top of each Python file? 2. Does every function have a docstring (‘’’ ‘’’) specifying what it does? 3. Have you checked to make sure you have included all required elements and outputs in your project report? 4. If you have done an extension, have you included this information in your report under the Extension heading? Even if you have not done any extensions, include a section in your report where you state this. 5. Have you acknowledged any help you may have received from classmates, your instructor, the TAs, or outside sources (internet, books, videos, etc.)? If you received no help at all, have you indicated that under the Sources heading of the report?
CSCl251 Advanced Programming Assignment 3 Aim The objectives of this assignment includes: ·Learning about generic programming templates,operator overloading,STL(containers & algorithms)and writing io manipulators ● Apply the concepts learnt by developing a data processing program Background In this assignment,you are required to develop a program that reads in and process some 'messy'records from a file that contains data meant for different kinds of classes.These data are jumbled up and unsorted,and to make it worse,for any particular row of record,there may be multiple duplicates scattered over the entire file! You program should be called 'csci251_a3.exe',and should posses the following capabilities: a)read in the records from a user-specified filename b)remove all duplicate rows of data c) filter and display the data according to user-specified sorting criteria d)store the records displayed in c),in a user-specified filename The next section provides information about the requirements for developing this program. Task Requirements A) Appendix A provides a sample input data from a file called 'messy.txt'.It contains information meant to be stored in 4 classes:'Point2D','Point3D','Line2D'and 'Line3D'.Please refer to the table in Appendix A for a description of the format in which the input data for each of the classes is stored. B) Note1: You are to research and determine which kind of STL containers (e.g.Map, Vector,Set,Lists etc)you should use,to store all the various objects from the 4 classes. For this assignment you are not allowed to use array[]to store any of your data! C) Appendix B provides a description of the 4 classes:'Point2D','Point3D','Line2D' and 'Line3D',and the relationships between them.You are to study the diagrams and implement them accordingly. D) Appendix C provides the sample output format and a description of the format requirements,for each of the 4 classes.These format are to be applied whether the data from these classes are output to a file orterminal. E) Note2: To output data,you are required to create your own output manipulator(s) to display/store data in the format described in Appendix C.You are further required to overload the insertion operator ‘
MTH 217 1st SEMESTER 2024/25 Assignment 1&2 Life Insurance Mathematics I Assignment 1&2 Q 1. Consider a fully discrete 20-year endowment insurance with sum insured $100 000, issued to a select life aged 40. Initial expenses are 3% of the sum insured and 20% of the first premium, and renewal expenses are 3% of the second and subsequent premiums. Basis : Mortality: IFoA Table AM92 Select Interest: 6% per annum (i) Write down an expression for the gross loss at issue random variable. (ii) Calculate the gross annual premium. (iii) Calculate the probability that the contract makes a profit. Round your final solutions to 3 decimal places. Q 2. An insurance company issues a whole life insurance policy to a life aged 60. The death benefit in the first five years of the contract is $1000. In subsequent years the death benefit is $50 000. The death benefit is payable at the end of the year of death and level premiums are payable annually throughout the term of the contract. Basis for premiums and policy values: Survival model: IFoA Table AM92 Select Interest: 4% per year efective Expenses: None (i) Calculate the premium for the contract. (ii) Write down the policy value formula for any integer duration t ≥ 5. (iii) Calculate the policy value at duration t = 5. (iv) Use the recurrence relation to determine the policy value at duration t = 4. (v) The insurer issued 1000 of these contracts to identical, independent lives aged 60. After four years there are 965 still in force. In the following year there were nine further deaths in the cohort, and the rate of interest earned on assets was 5.5%. Calculate the profit or loss from mortality and interest in the year. Round your final solutions to 2 decimal places.
Assignment Remit Programme Title MSc International Business Module Title International Business Module Code 37999 Assignment Title Individual case study Level 7 Weighting 50 Hand Out Date 07/11/2024 Deadline Date & Time 06/01/2025 12pm Feedback Post Date 13/02/2025 Assignment Format Report Assignment Length Equivalent to 1750 words Submission Format Online Individual Module Learning Outcomes: This assignment is designed to assess the following module learning outcomes. Your submission will be marked using the Grading Criteria given in the section below. LO 1. Assess and critically evaluate the drivers and risks behind international business in the context of the complex nature of international business environment. LO 2. Explain and review advances in international business theory. LO3. Appraise and compare different approaches to understanding international business. Assignment: Select one firm engaged in international business and develop a theoretically informed case study of some aspect of this company’s international activities. The aspect that is selected should engage with a theme or themes covered in this module. The report should include the following: 1) The selection process that led to the identification of this firm. This includes justifying the selection of this international firm and explaining the decisions that determined the selection process. This could be part of the introduction to the report or be covered in a separate section. 2) You should justify, explain, and clearly specify the thematic focus of your analysis. This must be linked to one or more themes covered in the International Business module, and you must explain why you have decided to focus on this theme or themes. 3) You should include a discussion of the approach that you have used to construct the case study analysis including a discussion of problems experienced and the quality of the evidence base. This is an account of the method, or methods used to develop this case study analysis. 4) A clear and structured account of the development and evolution of the firm’s international activities with a focus on the theme or themes that you have selected to explore. This section must include some data, for example tables or figures. 5) A theoretically informed analysis of the case. The better answers will justify the selection of the theory(s) used to analyze the case. The best answers will reflect on some of the problems experienced in applying theory in this manner. Does the analysis of this international business support the existing theory that you have selected, or does it challenge the theory? You must refer to the theory and approaches covered in this International Business module. 6) Reflect on any lessons that come from this analysis that would be relevant for business practice and any issues related to responsible business. 7) The better answers will also reflect on some of the problems of undertaking a case study analysis and identifying practice learning points for either practitioners (those involved in managing or advising international businesses) and policymakers, or for both practitioners and policymakers. Notes: i) The expectation is that all answers will include at least 12 peer reviewed publications. Pay attention to the balance between drawing upon grey literature, or that which is not peer reviewed, and that which is peer reviewed. ii) Ideally, the answer should follow the structure that is indicated in the marking grid, but with an introduction. The discussion of practice implications for managers and/or policy implications should form. part of the conclusion. Any alternative structure needs to be explained and justified. Grading Criteria / Marking Rubric Your submission will be graded according to the following criteria: Task Assessment % of Marks Case and theme or themes selection process Clear justification provided for the selection process of the firm, and the theme or themes with the better answers linking this to some theory. 10 Method and evidence base Discussion and explanation of the approaches taken to develop the case study analysis – the methods. 10 Theoretically informed analysis Higher marks awarded for answers that are clearly positioned around a dialogue with theory. The better answers will make some links to other themes, where relevant, that have been covered in the module. 40 Discussion of practice and/or policy implications Including reflections on lessons learnt and what this case study analysis means for practice and/or policy. Ideally, links back to the selection process and to the theory. 40 Total 100%
BMAN 70141: Derivative Securities Coursework Assignment: First Semester 2024/25 Short Summary: In this coursework assignment, you are meant to value derivatives using binomial trees, Monte-Carlo simulations, the finite difference method, and the Longstaff-Schwartz least-squares approach. To this end, assume the following set of baseline parameters: The initial stock price (S0) is 35, the stock vola- tility is 0.45 (45% per annum), and the risk-free rate is 0.03 (3% per annum). Consider a European put option whose strike price is equal to 35, with a time-to-maturity of one year. The dividend yield is 0.04 (4% per annum). In some later tasks, you also encounter the “ equivalent” American option. Task 1 (Black-Scholes) - 10% of marks: Use the Black-Scholes (1973) formula to calculate the value of the option. Use put-call parity to cal- culate the value of the “equivalent” call option (same underlying, strike price, and maturity date). Task 2 (Binomial Tree) - 10% of marks: Use a simple one-step binomial tree to value the above European put option. Set u equal to the expo- nential of sigma times the square root of the maturity time divided by the number of time steps (i.e., exp(σ(T/n)1/2) and d equal to the exponential of minus one times sigma times the square root of the maturity time divided by the number of time steps (i.e., exp(-σ(T/n)1/2) . After that, increase the number of time steps (n) and repeat the binomial tree value calculation. So, for example, use a binomial tree with two, then three, then four, then five, then six, etc. time steps to value the option. I’ll leave it up to you how many binomial trees you use in your calculations. I would expect that the average group does binomial trees with one-, two-, three-, four-, and five-time steps. But the sky is the limit, and the more binomial trees you calculate the better for your mark. Don’t show each and every binomial tree you do in the coursework assignment. Showing one tree is certainly enough for illustrative purposes. Keep the page limit in mind! Plot the value of the European put option (y-axis) against the number of time steps used in the binomial tree (x-axis). Also plot the Black-Scholes value (e.g., as horizontal line) in the graph. Do more time steps render the binomial tree value closer to the Black-Scholes (1973) value? Explain in intuitive language why this is the case (you would want to look at your textbook). Task 3 (More Complicated Binomial Tree) - 10% of marks (NEW): Now assume that you want to value an American floating look-back put option, whose maturity payoff is the difference between the maximum stock price to that date and the current stock price (see the slides 17 and 18 in the lecture on “More on Models and Numerical Procedures”). To do so, again use a binomial tree approach. As using a binomial tree approach to value American floating look-back calls quickly becomes rather complicated, I am okay with you relying on a smaller binomial tree than in the prior task. That said, I want you to use at least a three-step tree, and, as always, the larger your binomial tree, the better for your mark (assuming you do the calculations correctly). Task 4 (Monte Carlo) - 20% of marks: 4a. Use Monte Carlo simulation to value the European put option assuming that the underlying asset value obeys a Geometric Brownian motion. To do so, you can directly simulate the value of the stock at maturity (as we did in the lecture) – you don’t need to simulate the whole path. I leave it up to you how many maturity stock prices you generate. The more, the better (as always). 4b. Use Monte Carlo simulation to value the European put option assuming that the underlying asset value and the risk-free rate of return obey correlated Geometric Brownian motions. To do so, you can directly simulate the values of two independent Brownian motions on the maturity date. You can then combine these to obtain the values of two correlated Brownian motions on the same date. Using the values of the correlated Brownian motions, you can then calculate the values of two correlated Geo- metric Brownian motions. I leave it up to you to determine what the current value and the mean drift and volatility of the risk-free rate of return are (you could estimate those moments using data) . I also leave it up to you to decide what the correlation between the underlying asset value and the risk-free rate of return is. But be reasonable. The current value should probably be close to 0.01, the mean drift close to zero, and the volatility should be really small. Motivated students could try to induce some mean reversion into the risk-free rate drift (google “mean-reverting process,” e.g.) . Remark: When the interest rate is stochastic, the discount factor is no longer e-rT, where r is the interest rate and T the time-to-maturity. Rather, the input argument of the exponential function must now be minus one times the integral of the interest rate at time t times the differential of time, − ∫T0 r(t)dt. If you simulate interest rate paths at the daily frequency, you can easily approximate that integral by the finite sum: − ∑t0 r(t) ( 252 1 ) (i.e., minus one times the sum of the scaled daily interest rates). 4c. Use Monte-Carlo simulation to value the exotic-option counterpart of the plain-vanilla European put option. The exotic option has a payoff of max(K-S(T),0) at maturity if and only if the stock price before maturity never dropped below 30. If it dropped below 30 before maturity, the option payoff at maturity is equal to zero. This type of option is called a down-and-output option. To value the exotic option, you have to simulate the whole path of the stock price before maturity. I leave the time step and other details up to you to decide. Keep the number of simulated stock price paths reasonable (e.g., 10-20,000 seems a good number). You could simulate the different stock price paths in the columns of an Excel tab, with the rows indicating the different points in time. Motivated students could consider using one or two of the variance-reduction techniques discussed in the Monte Carlo lecture, in tasks 3a, 3b, and 3c. But this is not a requirement. Motivated students could further search the academic literature for the closed-form. valuation solution for the exotic option, to study how accurate their Monte-Carlo simulation exercise is. Task 5 (Alternative Stochastic Processes) - 20% of marks: Choose one of the stochastic processes assumed by the alternative (non-Black-Scholes) option valua- tion models. For example, you could pick the mixed jump-diffusion or the constant elasticity of vari- ance (CEV) model process. Alternatively, why not let volatility vary stochastically over time, as in, for example, the Heston (1993) model? Select some reasonable parameter values for the process that you choose. Then repeat the Monte Carlo simulations in Task 3 using the new process, valuing first the plain-vanilla option and next the more complicated exotic option. Carefully compare the values of the options under the new stochastic process with those derived under the standard Geometric Brownian motion process in Task 3. Explain why the values of the options are either higher or lower compared to those derived earlier. Task 6 (Finite Difference Method) - 10% of marks: Use the finite difference method to value the (plain-vanilla) American put option. I leave it up to you to decide whether you want to use the implicit or explicit method. Motivated groups may consider using both and comparing outcomes. I also leave it up to you how many stock price- and time-steps you use in your grid (but go for more than used in the lecture). I would, however, advise you to simulate the stock price, not the log of the stock price – that’s more intuitive and thus a lot easier. Task 7 (Longstaff-Schwartz Least-Squares) - 20% marks: Use the Longstaff-Schwartz least-squares method to value the (plain-vanilla) American put option. I again leave it up to you to decide how many simulations of the stock price paths you do and how many time steps you have. If you were able to programme, you could think about using a regression on not only the stock price, but also higher order terms (the stock price squared, cubed, etc.) – I didn’t manage to find out how to do so in Excel. In any case, if your Longstaff-Schwartz estimate deviates signifi- cantly from that obtained using the finite-difference method, don’t panic. It’s bound to do so unless you use a gigantic number of iterations and time steps and a flexible regression function. Design & Presentation: The coursework assignment should clearly discuss how you solved each task. Be specific, notrepeti- tive. The reader should be able to replicate your results following your discussions. The length of the essay should probably be 8,000-10,000 words, approximately 15 to 18 pages of text in Times New Roman, font size 12, single-spaced. But I don’t really care about the length of the as- signment as long as it is concise and up-to-the-point. If you have interesting material to report – and you don’t keep repeating yourself, you can go above 10,000 words. But really only if the material is sufficiently interesting. If you “waffle” or repeat yourself,I will subtract marks. The essay should be clearly structured and should have a professional design. Mind: 1. Each coursework assignment should have a front page, stating students’ IDs, the title of the assignment, the date the assignment was completed, and other relevant information. The main text must be consistently formatted, that is, avoid modifying the font, size, and colour. Use page numbers. You could have a short table of contents or an abstract at the beginning. At the end, you should have a reference list, which must be consistently formatted. 2. The coursework assignment must be clearly and logically structured. Having only six sections called Task 1, Task 2, Task 3, Task 4 , etc. is not appropriate. At the very least, you must have an introduction and a conclusion. The introduction should state what the reader can expect from the CWA (e.g., you could write: “In this CWA, we offer the solutions to six derivative valuation tasks”). Shortly describe the six tasks. State the base-case parameters (here!). The conclusion can be super-short. The main text can largely follow the six tasks. 3. In case of each task, first explain to the reader what you do (“In this section, we use the Black - Scholes (1973) formula to value…”). Then give the reader some brief background material (“The Black-Scholes model is derived from the assumptions…”). You could also say something about how the closed-form solution (if any) is derived (“Using those assumptions, Black and Scholes (1973) then use contingent claims analysis to…”). But be non-technical – I don’t want to see mathematics here – and be short. We really only talk about a couple of sentences. These sentences are meant to “set the stage.” Far too many groups immediately jump into action, without indicting to the reader what they do, why they do it, and why it makes sense, 4. Numbers should be rounded to two or three digits , e.g. round 1.23456789 to 1.23 or 1.234. 5. While no requirement, students can produce up to ten tables or figures for this coursework as- signment if they deem this helpful. However, they should produce appealing tables with hori- zontal (no vertical) lines and indicate which cell contains what sort of information. You could, for example, prepare the tables in Excel and then use ‘copy/paste special’ to insert them as a picture into Word. Number both tables and figures, e.g. ‘Table 1: Total Exports’ or ‘Figure 3: Government Deficit’ . Write a short explanation, explaining what the table shows. Take a look at the table at the end of this document. That’s how a neat and appealing table should look like. If your table looks different from that table, you’re doing something wrong. 6. The coursework assignment should be kept as short and concise as possible. Note that the items in boldface are the minimum style. requirements.
Assignment Remit Programme Title MSc International Business (Edgbaston) Module Title Practising and Managing International Business Module Code 38005 Assignment Title Individual Level MSc Weighting 70% Hand Out Date 3/10/2025 Deadline Date & Time 05/01/2025 12pm Feedback Post Date 11/02/2025 Assignment Format Report Assignment Length 2500 words Submission Format Online Individual Module Learning Outcomes: This assignment is designed to assess the following module learning outcomes. Your submission will be marked using the Grading Criteria given in the section below. 1.Identify and critically evaluate the challenges and opportunities facing global practitioners and managers. 2.Appraise and critically assess cultural differences and similarities across borders as well as differences within countries. 3.Critically analyse how cultural differences can affect the management of foreign operations and managerial responses. 4.Demonstrate an understanding of key management practices in the context of international business. 5.Apply the theoretical concepts learnt on the Module to the practice of International Business. 6.Develop negotiation, facilitation, communication, leadership and project management skills for enabling organisational cooperation and collaboration. Assignment: Reflecting on the topics covered in this module and your engagement with the teaching sessions and associated readings and materials: · Critically discuss the key managerial skills that you, as future global manager, should acquire in comparison to traditional managers. · In your discussion, highlight any gaps in your skills that you have identified from taking this module and explain how you addressed or will address these gap/s for developing your current or future career. The word count is limited to 2,500 words excluding diagrams, references, and appendices. Instructions: · You are required to write a reflective learning report with a focus on the knowledge and skills you have developed on this module. · A reflective learning report is not a diary for private consumption, a log of daily activities, a summary of your readings in the course, or a track of your psychological state and your inner feelings about life. · A reflective learning report is an intellectual exercise in reflectively describing and explaining, in applying the theory on learning and competencies to your personal and professional development. · A reflective learning report is how you apply the material from the module to your development, reflect on it and assess where you currently are and how you could improve in each of these areas. · The report needs to link theory and development activities to yourself - but should not take time to describe theories - we will know if you understand them by how you apply them in a reflective manner. The higher marks are for those who display critical analysis, synthesis and evaluation. Grading Criteria / Marking Rubric Your submission will be graded according to the following criteria: 1.Clarity 2. Knowledge and Relevance 3. Analysis See the marking rubric at the end of the remit for more information on how your work will be marked and graded.
MKTG5002 (V.3) International Marketing for Managers Trimester 3A, 2024 Syllabus This unit is designed to develop students’ understandings of the marketing challenges and opportunities encountered in global markets. Through industry-focused case analysis and conceptual underpinnings students will develop cross-cultural business skills relevant to the global marketing environment, including entry strategies, social and cultural understandings, strategic international competitiveness, and consumer behaviour in global markets. Students will work actively and collaboratively to execute strategic thinking and decision making in achieving a sustainable presence in global markets. Introduction In generic term, international marketing is the application of marketing principles, techniques, and strategies in more than one country. It involves marketing activities relating to plan, price, promote, and direct the flow of a company’s goods and services to the consumers of various international markets, and thus achieve company objectives. International marketers constantly face the challenge of deciding whether to pursue standardization or adaptation or have a balance between the two when extending their operations or market their products in foreign countries. Hence, factors that are relevant to this crucial decision are extensively discussed in this unit. Besides, students are exposed to various socio-cultural, economic, political and competitive environments of a range of international markets, which are important in developing business students’ understanding of relevant cross-cultural and global issues. Learning Activities Learning Activities: The unit will be conducted in flipped mode which includes one hour of online lecture and two hours of workshop each week. The online lecture is voice recorded embedded in the PPT slides. In addition to the online lecture, ample support materials, mini case studies, video resources, etc. will be made available in the weekly folder. Students are expected to go through these materials before coming to the weekly workshop. Workshops: The weekly workshop will focus on various tutorial activities in order to provide students with an opportunity to apply theories and frameworks learned into practice. During the worskhops, students will have the opportunity to work in small groups to work on their major assignment, solve relevant cases and present the findings in order to develop their managerial skill. Students will be able to enhance their learning experience through in-group discussion on various contemporary issues of International Marketing. Further, they will be exposed to research in International Marketing as they are required to review scholarly articles and discuss them in class. In-class activities: Several in-class exercises linked to important concepts have been designed to further improve students' understanding of International Marketing. Different exercises will be given in class and students will be required to solve and present them. In-class interaction: The unit has been designed to encourage and stimulate in-class participation. Students are expected to go through the required readings (e.g., chapters, cases, articles, etc.) prior to their class. Students’ participation will further enrich understanding of theories and concepts in this unit. Market Entry Assessment Market Entry Assessment (35% of the total mark) [Due on Friday (11.59 pm) of teaching week 7] This is an individual assignment. Each student is required to select a country and a company. The students may choose any company of their preference; however (i) the company should not have any ongoing operation in the selected country; and (ii) the company should not be related to nudity. Assuming that the company is exploring possible market entry opportunities in the selected country, each student needs to analyse different elements of macro marketing environment and competitive environment of the country; and thus provide recommendations for the company regarding the best possible foreign market entry strategy with adequate justifications. The assessment consists of the following major components (students need to discuss their progress on the assignment during the respective weekly classes): Analysis of the economic environment of the selected country including existing free trade agreements with Australia and other countries – in class discussion - week 2. Analysis of socio-cultural factors which influence consumer attitudes and behaviours in the selected country - in class discussion - week 3 Analysis of political and legal environment of the selected country - in class discussion - week 4 Analysis of country competitive advantage and industry competitiveness - in class discussion - week 5 Evaluating the alternative entry modes in the selected country - in class discussion - week 6. Further details of the assessment and a guiding tip sheet are available in the Blackboard. Students need to submit the individual assignment online through Blackboard on or before the due date. The submitted assignments will be transferred to Turnitin automatically for plagiarism monitoring. Students will NOT have more than one chance to submit the assignment in Turnitin. Penalties will be applied if any student is late in submitting the assignment. The length of the assignment should not be more than 12 A4 pages (12 font; 1.5 line spacing; and 1 inch margin across all sides) excluding the cover page, table of contents, references and appendices. Your write up beyond the first 12 pages will NOT be marked. Case Analysis and Discussion Leadership Case Analysis and Discussion Leadership (25% of the total mark - due during the weekly class, from teaching week 2 to week 11) This is a group activity. Each group should not include more than 4 members. The assessment has two key components: first one is Case Analysis (20% of the total grade) and the second part is Discussion Leadership (5% of the total grade). Under the case analysis, each student group will select any of the two weeks from week 2 to week 12 to present and submit cases that are due to cover on those particular weeks. If there are two cases assigned in one particular week, the group can choose either one. Each case study solution will carry 10% of the total grade. Students will present the cases during the class. If you opted in for online class, you may need to present during the Blackboard collaborate session by sharing your slides or you may need to voice record your presentation in the power point slides and then send it to the lecturer for marking. The unit coordinator will decide about the appropriate option based on the number of students opted in for online class. For the Discussion Leadership, each group needs to choose another week to challenge the presenting group of that week by asking questions and leading a discussion. Each group member is supposed to prepare him/herself for asking questions and actively participate in the discussion. Thus every group is supposed to work on three cases in three different weeks throughout the semester. The list of the weekly case studies will be available on the Blackboard. In addition to challenging the presenting group, each group are expected to participate in the class discussion on weekly topics. The details about this will be explained during the first workshop. All the group members must contribute equally to the group activities. The members of the same group may receive different marks for the Case Analysis and Discussion Leadership based on their contribution to group work, the quality of the respective section that they are responsible for, peer-evaluation report, and other related evidence that will be received from each member.
MTH205 Introduction to Statistical Methods Assignment 2 1. Please use Matlab to solve all questions. You need to provide your Matlab code and the output. You need also to draw a conclusion or make a comment for each question. 2. You need to convert your answer into a PDF file, and then submit it to 3. You need to complete your submission before 9:00 am, Dec 14. Q1 For the data in Q1. txt, (a) Draw a box-plot for the given data. (4 marks) (b) Conduct a test to determine if the data follows a Poisson distribution, using a significance level of 0.05. Note that the sample size is 100. (8 marks) (12 marks) Q2 The data, in Q2.txt, describes the sale prices of properties in four different neighborhoods from the previous month. It is assumed that all the data points are independent. (a) Assume that all data collected are normally distributed. Use a proper method to test whether the means of sale prices are the same in neighbourhoods A and B. Test with α = 5%. (16 marks) (b) Choose an appropriate nonparametric test to whether the medians of sale prices are the same in neigh- bourhoods A and B. Test with α = 5%. (8 marks) (c) Assuming all the collected data follows a normal distribution with the same variance, Use a proper method to test whether the means of sale prices are equal across neighbourhoods A, B, C and D. If the means are different, use a proper way to compare which pairs are different. Test with α = 5%. (16 marks) (40 marks) Q3 A hospital is launching a program to improve its services. They are assessing patient satisfaction by collecting feedback from a random sample of 30 recently discharged patients. The data is given below. Satisfaction Severity 69 49 78 23 97 45 81 49 42 59 45 61 27 63 89 39 74 45 59 53 54 37 90 31 87 33 99 32 86 34 72 50 84 62 40 72 50 60 52 39 61 42 30 65 55 32 80 43 78 39 30 64 76 38 75 46 60 52 53 38 (a) Draw a scatter plot and comment on it. (8 marks) (b) Find a regression line, and comment on it. (10 marks) (c) Perform a detailed residual analysis for the model in (b) and comment on it. (30 marks) (48 marks)
EDS424 Introduction to Research Methods Semester 1, ACY 2024-25 Assessment Task Sheet Individual Poster (60% of the final grade) This assessment aims to develop your ability to apply the knowledge of research methods. You will be required choose a research topic in the field of education or psychology, develop two research questions, choose an appropriate design to answer your research questions, generate a fake dataset (or use an existing dataset, or collect your own data), analyze data using what you have learned through the module to answer your research questions, and then create a poster with audio presentations. The assessment accounts for 60% of the module mark. You will have to complete the tasks according to the instructions provided in this task sheet. Learning Outcomes Assessed: A. Develop research questions and differentiate between various research designs to address specific research objectives. B. Identify and explain the key components of the scientific method and its application for data collection, such as surveys, interviews, and experiments. C. Interpret and present basic data analysis methods for quantitative and qualitative research, such as measures of central tendency and variability, basic inferential statistical tests, thematic analysis and grounded theory. D. Conduct ethical research by adhering to institutional and professional ethical guidelines in all stages of the research process. Deadline: 5:00 pm, 18th December 2024 Submission: Learning Mall Dropbox Task Description In this task you will choose a research topic and design a study to answer your research questions. You will also need to use an existing dataset (or collect your own data), analyze the dataset to answer your research questions or hypotheses, and create a meaningful poster. The task is divided into several stages: Stage 1: Research Topic Selection (Week 1-2) 1. Select a research topic in the field of education or psychology that interests you. 2. Create two research questions or hypotheses. Stage 2: Research Design (Week 3-7) 1. Choose an appropriate research design for your research questions or hypotheses. 2. Determine the details of research methodology (e.g., decide the samples and sample size, tasks, materials) 3. Choose an existing dataset or collect your own dataset that can answer your research questions or hypotheses. You are also encouraged to collect your own data based on your design (but you should get ethics approval first). Please make the way you get your data clear in the poster. Stage 3: Data Analysis (Week 8-11) 1. Choose appropriate data analysis methods to analyze the data. 2. If you include quantitative data analysis methods, you should: 1) calculate appropriate summary statistics for the dataset, including measures of central tendency, variability, and shape of distributions, 2) create visual representations of the dataset's summary statistics (e.g. histograms, box plots, etc.), 3) create various data visualizations to answer your research questions. Visualizations can include scatter plots, bar charts, line graphs, etc. Stage 4: Presentation (Week 12-13) 1. A poster with 10-min audio presentations should be created. The presentation should include both your research title, research questions, methods, results, and a summary of findings. 2. If you include quantitative designs, in the results part, you should include descriptive, inferential statistics and data visualizations. Stage 5: Peer Review and Feedback (Week 13) 1. Each student should provide constructive feedback on a randomly assigned poster and presentation. 2. Use the feedback to make improvements to your poster and presentation. Stage 6: Submit Your Final Assessment (Before the deadline) 1. Submit your final poster with 10-min audio presentations. Marking Descriptors for Individual Poster Section (Weight) 0-49% Fail 50-59% Pass 60-69% Comprehensive 70-79% Very Good 80-89% Excellent 90-100% Outstanding Research Topic Selection and Justification (10%) The research topic is poorly defined or irrelevant to the field of education or psychology. No justification is provided. The research topic is relevant but lacks depth. Justification is minimal or unclear. The research topic is well-defined and relevant, with a clear justification linking it to the field of education or psychology. The research topic is well-chosen, clearly defined, and highly relevant, with a strong and well-articulated justification. The research topic is innovative, clearly defined, and highly relevant. The justification is insightful, demonstrating deep understanding and original thinking. Outstanding (90-100) is an exceptional answer that could reasonably be expected from a student at that level of study under the prevailing conditions. Quality and Clarity of Research Questions and Hypothesis (20%) Research questions and hypothesis are missing, unclear, or irrelevant Research questions and hypothesis are present but lack clarity or alignment with the research topic. Research questions and hypothesis are clear and align well with the research topic, though they may lack depth. Research questions and hypothesis are well-formulated, clear, and directly aligned with the research topic, demonstrating good understanding. Research questions and hypothesis are exceptionally clear, well-formulated, and directly aligned with the research topic. They demonstrate a high level of critical thinking and insight. Application of Appropriate Research Designs (30%) Research design is inappropriate or not described. No clear methodology is evident. Research design is appropriate but lacks detail or coherence. Methodology is basic. Research design is appropriate and well-detailed. The methodology is clearly described and fits the research questions. Research design is well-chosen, detailed, and coherent. The methodology is robust and well-aligned with the research questions. Research design is exemplary, with detailed and coherent methodology that is innovative and well-aligned with the research questions. Ethical considerations are thoroughly addressed. Quality and Clarity of Research Findings (30%) Research findings are missing, unclear, or irrelevant. Data analysis is absent or inappropriate Research findings are present but lack clarity or depth. Data analysis is basic or minimally appropriate. Research findings are clear and appropriately derived from the data analysis. Data analysis is competently performed. Research findings are well-articulated and clearly derived from a sound data analysis. Data analysis is thorough and well-executed. Research findings are exceptional, with clear and insightful interpretation based on rigorous data analysis. Data analysis is comprehensive and innovative. Quality of the Final Presentation (10%) The poster is poorly organized, unclear, or incomplete. Presentation lacks structure and clarity The poster is organized but lacks polish or coherence. The presentation is basic, with some clarity issues. The poster is well-organized and clear, with a coherent presentation that effectively communicates the research process and findings The poster is well-organized, polished, and visually appealing. The presentation is clear, engaging, and effectively communicates the research process and findings. The poster is exceptionally well-organized, visually compelling, and polished. The presentation is clear, highly engaging, and communicates the research process and findings with exceptional clarity and insight.
ECON10151 Lecture 6 Introduction to Visual Basic for Applications (VBA) Nov 2024 Learning Outcomes • Be able to implement custom VBA functions within Excel to perform complex calculations • Be able to understand and apply VBA loop structures, allowing them to automate repetitive calculations across datasets Introduction This lecture introduces students to the power of Excel VBA as a tool for automating calculations and efficiently handling repetitive tasks in data processing. We will start with creating a custom VBA function, which allows us to perform complex calculations that Excel’s built-in functions might not support directly. Building on this, we’ll explore how to use VBA loops to extend these functions across multiple rows, automating the calculation for an entire dataset in just a few steps. Writing the code yourself is not a requirement for this course; however, it is more important to understand the code and its meaning. 1 Set Up The Visual Basic editor is located under the Developer tab. However, the Developer tab is not displayed in the Excel ribbon by default, but you can easily add it to access VBA editor. • For Windows Users 1. Click on the File tab. 2. Select Options. 3. In the Excel Options window, choose Customise Ribbon. 4. In the Customise the Ribbon section, locate the Main Tabs list and check the box next to Developer. 5. Click OK to apply the changes. • For Mac Users 1. Click on Excel in the top menu. 2. Preferences. 3. Choose Ribbon & Toolbar. 4. the Customise the Ribbon section, find the Main Tabs list and check the box next to Developer. 5. Click Save to confirm the changes. 2 Introduction to Visual Basic for Applications (VBA) Visual Basic for Applications (VBA) is a programming language developed by Microsoft that is embedded within Excel and other Office applications. VBA enables users to automate repetitive tasks, enhance data analysis, and create custom functions and solutions tailored to specificneeds. Overview of VBA Editor The VBA Editor is the environment within Excel where you write and edit VBA code. • Code Window: Where you type and edit your VBA code. • Project Explorer: A navigation pane that shows all the open VBA projects and the components, like modules and worksheets, within them. • Properties Window: Allows you to view and modify properties for selected objects. • Immediate Window: Useful for testing and debugging code on the spot by allowing you to run individual lines or commands. You can access the VBA Editor by going to the Developer tab in Excel and selecting Visual Basic. In the VBA code window, different colours are used to represent various elements of the code. • Black: Standard Code: This is the default colour for regular text, including variable names, function names, and most code statements. • Blue: Keywords: This colour is used for VBA keywords and reserved words (e.g., Sub, Function, End, If, Then, Else, For, Next). Keywords are commands that VBA recognises and interprets. • Green: Comments: Any text following an apostrophe (’) appears in green. Comments are not executed and are used to explain the code or provide notes for the programmer. Please find below a screenshot of the VBA Editor window along with an illustration. 3 Practice with VBA Task In country A, the amount of income tax owed depends on the individual’s annual income, as follows: Table 1: Tax Rates and Bands Tax Rate Income to £50,000
7MRI0020 Scientific programming - Year 2024/2025 Coursework 2 This coursework mark contributes 60% of your final mark for this module This coursework will cover topics covered in the second half of the module, in particular: - Testing (Task 1) - Algorithm and complexity (task 2) - Concurrency and native language (task 3) The topic of this coursework will be theDevelopment of a software tooltosplit an image from top to bottombased onlowestchangeofintensities Your implementation will be assessed using the following considerations: - functionality of the code (does it work?), - your use of language features (idiomatic python), - the quality of your comments and your adherence to formatting standard, - the efficiency of the implementation, both in term of computation and memory usage. Finally, it should be noted that this is an individual project, and your code will be automatically checked for plagiarism and collusion. In the event, plagiarism is detected, you will be reported for miss-conduct. You can find more information about the relevant processes on this page. You are expected to submit a single zipped folder containing only three python files named main.py, squareimage.py and test_squareimage.py. This should be submitted via the dedicated Keats submission section on the 7MRI0020 module page, where the deadline is specified. Your submission should be anonymised, so do not include any identifiable information in the filename of the notebook nor in your code. The aim of this coursework is to create a software tool to detect the path which links the top of an image (any pixel from the top row) to the bottom (any pixel from the bottom row) while minimising the overall absolute intensity differential on the path. Starting from a 2D grid, we aim to establish a path that links any pixel from the top row to any pixel from the bottom row while satisfying these conditions: - (Condition 1) A given pixel on a row (red) can only be connected to the pixel under it on the following row or the two voxels on either side of the central one (blue), as illustrated beside. - (Condition 2) The sum of absolute differential value between all pixels on the path should be minimal. For example, the total value associated with the path highlighted in blue (2-4-2-1-5) on the right-hand side figure would be computed as: |2-4| + |4-2| + |2-1| + |1-5| Note that the path shown is not the optimal solution to the problem. Task 1 [40 marks]: The provided code implements a naive approach that evaluates all possible solutions (brute force) for a square image and returns a best solution for the aforementioned task. The provided `find_minimal_path_brute_force` method lacks modularity and is hard to validate as it implements all required functionalities to extract the best path. Rewrite the components of this method into multiple methods instead. You should call the `find_minimal_path_alternative` method instead of `find_minimal_path_brute_force`. Ensure all methods you add, including `find_minimal_path_alternative`, are thoroughly tested. Create a file `test_squareimage.py` to implement your unit tests using the `unittest` module. For example, the following function: deflarge_function(): a =np.random.randint(10) b=a*10c=b**2returnc should be changed into the following: defroutineA(): returnnp.random.randint(10) defroutineB(v): return v*10 defroutineC(v):return v**2 def split_function():a=routineA()b =routineB(a)c =routineC(b)returnc where the `routineA`, `routineB`, `routineC` and `split_function` functions should be tested. Note: - The `find_minimal_path_brute_force` method is not to be altered, - You are not expected to write unit tests for the other provided methods, - You should write as many tests as you think are required, - You can write both positive and negative tests. Marking scheme: - Overall code presentation (organisation, comments, …) [5] - Working solution [5] - Appropriate re-organisation of the original method [5] - Appropriate sets of unit tests [25] Task 2 [30 marks]: Implement a non-brute force approach (recursive, dynamic, divide and conquer, greedy, randomised, other) to efficiently solve the problem. Your approach should be called by the `find_minimal_path_optimised` method. Marking scheme: - Overall code presentation (organisation, comments, …) [5] - Significant speedup [15] - Working alternative approach [10] Task 3 [20 marks]: In the method find_minimal_path_accelerated`, accelerate further your non-brute force approach using multi-threading and/or native language (as per Week 9 content). Note that should you have encounter issues with Task 2, you can accelerate the provided brute force approach. Note as well that depending on your Task 2 implementation, the obtained additional speed-up could be limited. In less than 200 words, comment and explain the obtained acceleration. You answer should be added as comment in the squareimage.py file. Marking scheme: - Overall code presentation (organisation, comments, …) [5] - Significant speedup and/or appropriate justification [10] - Working approach [5] Task 4 [10 marks]: Decorate all methods listed below to display information about the approach and time it takes to extract the path. The following methods should be decorated: - `find_minimal_path_brute_force` - `find_minimal_path_alternative` - `find_minimal_path_optimised` - `find_minimal_path_accelerated` For example, the text displayed after running the `find_minimal_path_alternative` method should read: `The alternative approach ran in n second(s)`, where `n` is replaced by the time it took in second with two decimals to represent floating values. Marking scheme: - Working decorators and appropriate display [5] - Single function to decorate all methods [5]