FIT5147 Data Exploration and Visualisation Semester 1, 2025 Programming Exercise 2: R (5%) 1. Due Date Wednesday 9 April, 4:30 PM 2. Brief In this assignment you will demonstrate your capability in creating an interactive visualisation page with simple narrative elements using R Shiny. It is an individual assignment and worth 5% of your total mark for FIT5147. Relevant learning outcomes for FIT5147 1. Perform. exploratory data analysis using a range of visualisation tools; 2. Critically evaluate and interpret a data visualisation; 3. Choose an appropriate data visualisation; 4. Implement interactive data visualisations using R and other tools. 3. Details of Task 3.1 Dataset The data set used in this assignment is based on the AusStage online resource. We introduced this dataset in the Week 1 Workshop and Programming Exercise 1 but have prepared a specific data file for this assignment. This data was initially gathered on 28 February 2025. To enhance your understanding of the context and metadata, you can check the data source link: https://www.ausstage.edu.au/pages/learn/search-ausstage . Using the various interactive tools for the data source of the full dataset may help enrich your visual analysis. If you discuss or replicate the visualisations or metadata provided by AusStage, be sure to reference these correctly in your report. We have wrangled the data for this assignment, so you must use the data that we provide on Moodle. This is different from the PE1 data. The name of the data set is AusStage_S12025PE2.csv. It contains fewer rows, different columns and it is restructured for the ease of the assignment. You may further wrangle the data if you wish. For this PE2 assignment, the data set provides information about events performed in the State of Victoria. In this activity we will explore the use of a few attributes: Column Description Event Identifier A unique number identifying an event in AusStage. Event Name The title or name of an event. First Year The year of the event's first public presentation, including previews Last Year The year of the event's final public presentation. Primary Genre The kind of event, as defined by its main mode of performance. Venue Identifier A unique number identifying the venue where an event happens. Venue Name The name of the venue where an event happens. Suburb The suburb or local district where the event happens. Longitude Geographical Location (longitude) of the venue Latitude Geographical Location (latitude) of the venue Table 1: Fields of the “AusStage_S12025PE2” data set. References: AusStage. (n.d.). AusStage: About. AusStage. Retrieved February 27, 2025, from http://www.ausstage.edu.au/pages/learn/about 3.2 Design Brief The task is to use R Shiny, ggplot2, and Leaflet to create a data visualisation page using the provided dataset and following a specified layout mockup and design requirements. For this assignment, you will need to create two visualisations: VIS1 and MAP, combined into one layout. The mock-up shown in Figure 1 shows the expected layout of the visualisation page; and the expected content in each section. In order to create this layout you are expected to use a fixedPage (not a fluidPage) layout and are expected to position the visualisation elements in an appropriate number of rows and columns. Figure 1. Mock–up showing the approximate position for your two visualisations (Vis 1 and Map) and two descriptions. Word counts are approximate. 3.3 VIS 1 For this assignment, this visualisation should be static (not interactive) with the following requirements: 1. VIS 1 should show the top 10 most commonly used venues of events according to the number of Event_Identifier values for each Venue_Name value. The visualisation must show the magnitude of the usage for each venue. Order your VIS 1 from most events to least events. 2. The visualisation must show the breakdown of the Primary_Genre values for each venue, using a suitable visual variable of your choice. 3. VIS 1 must be created using ggplot2. 3.4 MAP For the map component, you create an interactive proportional symbol map using Leaflet. You must follow the following requirements: 1. Plot the venues on your map using circle markers or equivalent, with the following data mappings and design aspects: a. Each symbol on the map is for a separate Primary_Genre. b. Colour should be mapped to Primary_Genre. You can choose an appropriate colour palette for the type of data. c. Radius should be mapped to the number of events for that genre at that venue (you may need to scale the size so as to reduce the data overlap on the map, or use opacity, but some overlap is expected) d. Provide a colour legend for your map. 2. Implement the following interactive features: a. Provide a tooltip for each circle marker on mouse hover-over that shows the name of the venue, the suburb, the genre, and the number of events for that genre. b. Add a numerical slider (a slider to set a maximum and minimum value) for filtering how many years back the events occurred. By default, all venues should be shown on the map, i.e., the sliders’ settings should be equal to the maximum and minimum available values. The slider should state which years will be plotted on the map. 3.5 Data Visualisation Narrative 1) Provide a descriptive title for your visualisation. 2) The descriptive text in the description boxes should both describe and interpret the related visualisations. They should help the viewer see some data insights you have identified, especially when using the interactive features. 3) Information on the original (not the file we are using, but the one it is adapted from) data source should be provided for all data visualisations. In the relevant layout location (see Figure 1) briefly provide information about the original data source, including the: a) name of the data; b) URL to the data; c) name of the licensor; d) date of the version of the original data used for the visualisation. 3.6 Reflection Using the provided template, write a brief justification and reflection of your completed visualisation based on the visualisation and visual analytics theory you have learnt in the unit so far. This should include justification of your choice of visualisation, choice of visual variable/s, and a reflection on your visualisation layout and typography. As shown in the template, this needs to be completed for each of the two components: VIS 1 and MAP. Notes 1. You should avoid explicitly hard coding any of the data such as lists of genre categories or years. 2. Minimise the amount of data processing done by the server code when it reacts to new user interactions. 3. The word counts are a guide. For this textual content we are looking for concise descriptions. 4. The text descriptions are to help your visualisation reader see what you see in the data visualisations, i.e., tell the data story. The reflection is to help your markers understand your design choices using the data visualisation theory and practice taught so far (Weeks 1 to 5). 5. The design choices for VIS 1 and MAP will be included in the evaluation of your work. Make sure you meet the requirements of the assignment, choose any visual elements wisely and try to ensure each component of the layout, including typography, can be justified. 6. Whilst a map legend is usually expected for all map elements, a legend for the size of the proportional symbols on the map is not a requirement for this assignment. (You may provide one if you wish for completeness.) 7. No data checking or cleaning is required, but you may need to perform data transformations. You could use an R package such as dplyr (https://dplyr.tidyverse.org/) for this purpose, but it is not a requirement. 8. You may find these settings useful for creating your map (feel free to adapt them for your map needs and design choices): Centre point of latitude -37.8162, longitude 144.962, zoom level 12 and map provider CartoDB.Positron. 9. Whilst there are no requirements on the use of specific colour palettes for this assignment, appropriate use of colour is essential and choice of visual variable should be justified. We recommend the use of ColorBrewer palettes: (https://ggplot2.tidyverse.org/reference/scale_brewer.html). 10. The text for your description text boxes, titles and any visualisation element content should be easy to read. Choose a clear font and appropriate font size for your submission and be sure to check your grammar and spelling. 11. Your reflection and code is run through academic integrity checks. No collusion between students is permitted and any text or R code that is largely based on any third party code must cite the original source in comments within the R scripts(s) (or as a reference, or footnote in your reflection), including webpages or social media messages. Otherwise your work may be considered to be plagiarising the code of others. No code provided by generative AI can be used in this work. No part or description of this assessment task may be input into a generative AI system. 4. Assessment Resources See the Assessments section on Moodle for the: - Data: AusStage_S12025PE2.csv - Reflection Template: PE2_reflection_template_S12025.docx 5. Assessment Criteria The following outlines the criteria which you will be assessed against. ● Demonstrate the ability to read in and manage data effectively using R [0.5%] ● Demonstrate the ability to create static visualisations in R using ggplot2 [1%] ● Demonstrate the ability to create a data map in R with Leaflet [1%] ● Demonstrate the ability to create an interactive visualisation in R with Shiny [1.5%] ● Demonstrate the ability to justify and critically reflect on interactive and static data visualisations [1%] 6. How to Submit Submit two files: ● A PDF file containing the justification and reflection. This reflection must use the template provided. Name the PDF file in this format: PE2_[LAST NAME]_[STUDENT ID].pdf. ● A ZIP file containing all files required to run your Shiny application. Name the ZIP file in this format: PE2_[LAST NAME]_[STUDENT ID].zip. Before submitting your assignment, double check that your Shiny application runs correctly. To do so, clear objects from the workspace by clicking on the “Broomstick” icon on the top-right section of RStudio. Afterwards, make sure your application is still working by clicking the “Run App” button on RStudio. The files that you need to include in your ZIP submission are: ● The one dataset supplied for this assignment ● R script(s) for the final Shiny application (you can use a single R script, or two scripts for UI and Server) o Have all required "library(xxx)" or "require(xxx)" statements at the beginning of your R files (you do not need the code to install the packages) o Use relative paths when reading your dataset (do not use absolute paths that refer to specific drives) Do not include your PDF file in your ZIP file. 7. Report Word Limitations and Late Penalty The reflective report is expected to have approximately 100 to 200 words per section, totaling approximately 500 words. The supplied template must be used. As per Monash policy: All late submissions will receive a penalty of 5% per day (0.25 marks per day out of a total of 5 marks) late inclusive, including weekends. Work submitted more than seven days after the due date will not be marked.
Digital Banking and Fintech N1623 2024/2025 Post Project: Digital Banking Business Report: A comprehensive analysis of a selected bank’s operations, focusing on strategic aspects, industry trends, and competitive landscape. Utilizing the CAMELS framework, we will conduct a thorough evaluation of the bank's capital adequacy, asset quality, management efficiency, earnings, liquidity, and sensitivity to market risk. Project-Tasks Percentages of Project mark Digital Banking Business Report 80% (2000 words) Video 10% (5-10 minutes) Student participation 10% Bank Selection and Consistency: Students are required to select a single bank and competitor for in-depth analysis. This bank and competitor will be the subject of both the business report. This ensures thematic coherence and allows for deeper, more nuanced analysis across both components. The total word count is 2000 word ( +/-10%) excluding Appendix, Figures and Tables. The business report and video should exhibit a clear and logical connection. Ensure that insights from the business report inform and enrich the analysis presented in the video. For example, findings about the selected bank's overall digital strategy in the report could be used to contextualize the specific mobile banking features and embedded technology solutions discussed. The availability of financial data for last five years (balance sheet, income statements, annual reports) from Bloomberg Database. The document must be written inHarvard Style. Competitor Selection: Once you've chosen your primary bank, select a suitable competitor for comparison. Ensure the competitor offers comparable mobile banking services and integrates AI in similar ways. Consider: - Banks of similar size and market segment (RV function, or Fame/Orbis peer analysis or Statista) - Banks recognized for AI solutions for banking operations/ products (Bloomberg Terminal -Function CN, DES, DS) - Banks operating in the same geographical region (Bloomberg Terminal -Function RV, DES) Data Sources To be able to process this report, student need to use Bloomberg Databases or Annual Report Other valuable sources of information: - Read through Directors' report (Bloomberg Terminal -Function CN, DES, FA, DS) - Read through other reports in front of Statutory accounts - Read any articles on the company in the financial press - Web (Google, Bing, FT etc...) search of a company for comments by market analysts - Sussex Online Databases (Orbis, Statista, Fame) - Teaching references and resources. Time management The earlier you start the project, the better. The lectures and seminars are designed to help you work on your project. The best approach would be to meet up weekly and apply the knowledge gained from the classes to advance your assignment. For each seminar, you will have the opportunity to ask questions regarding your project during the last 10 minutes at the end of the workshop. This skill is related to how to create a project schedule. The only way to achieve the project’s goals within the given timeframe that has been decided on is to break down the goals into tasks on a timeline. You are required to set up a realistic schedule and then manage the resources needed to keep on track so that the project can be successfully concluded on time. You might use an online Gantt Chart. Risk management Any project is inherent with risk. It is essential to become familiar with these issues before they become problems. Different problems can arise, such as other assignments, lack of access to the database, the crash of computer systems etc... It is essential to keep track of different documents and other vital issues Attend Lectures and Seminars: These sessions will provide crucial details about each task and the expected outcomes. Active participation is essential to ensure a comprehensive understanding of the material. Please do not hesitate to ask clarifying questions during these sessions. Digital Banking Business Report This comprehensive report undertakes a deep dive into the banking operations of chosen bank, assessing its digital strategic direction, performance within industry trends, and competitive landscape. Utilizing the CAMELS framework, we will conduct a thorough evaluation of the bank's capital adequacy, asset quality, management efficiency, earnings, liquidity, and sensitivity to market risk. In this report, students should evaluate the financial and risk position and then look at how the economic situation affected the bank strategy. General points for this report The general points are as follows: - Do not ramble or waffle - One point per sentence - Keep to simple sentences - Check spelling and grammar. Required Format - Header: Bank name - Footer: date, page numbers - Wide margin on the left so report can be easily read when bound/filed - Every student must submit one for selected approved bank Size of this section - Unlikely to be as big as the section on analytical review - Quality needed, not quantity - Marks for showing you understand the implications of financial ratios. Key Areas of Exploration: Strategic Analysis: Examining the bank's banking strategy, including its vision, mission, goals, and key initiatives, especially in the context of digital banking strategy. Competitive Landscape: Identifying and evaluating the main competitor in the banking space. CAMELS Analysis: Employing the CAMELS framework to comprehensively assess the bank's capital adequacy, asset quality, management efficiency, earnings, liquidity, and sensitivity to market risk. Analysing the bank's financial performance in the context of its digital banking operations, focusing on key metrics like user adoption, transaction volume, and revenue generated. Risk Analysis: Analysing the bank's risk e in the context of its banking operation, especially in the context of the usage of technology Digital Banking Strategy: Embracing Embedded Technology and Product Innovation This strategy outlines our commitment to leveraging embedded technology and fostering a culture of innovation to deliver exceptional digital banking experiences. Analyze a specific bank's digital innovations and embodied technologies over the past five years, comparing them to competitors. Base your analysis on the IMF's "Evolution of Finanscape" and their work on major technology transformation services (Lecture and course references). Evaluate how these investments impact the bank's financial ratios, performance, and strategy. Consider the bank's stated digital banking strategy (e.g., "Embracing Embedded Technology and Product Innovation") and analyse its actual implementations and performance against this strategy. Report Aim: This report aims to provide a comprehensive and insightful analysis of banks' operations, offering valuable information for investors, industry professionals, and consumers alike. By understanding the bank's strategic direction, its position within the evolving landscape, and its performance relative to competitors, the report seeks to shed light on its future prospects and potential challenges in the digital banking arena. The report structure. This report is required to have the following sections: 1. Introduction: A description of the selected bank (100 words) 2. Bank performance analysis (600 words) 3. Bank Risk analysis (600 words) 4. Bank strategy and Innovations (600 words) 5. Conclusion (100 words) - The bank to be analysed must be approved by the lecturer before submission. Include the approval email as part of your submission. -Include Bibliography at the end of your report -Include a list of all appendices at the end of your report -The report, including all data, figures, and calculations, should be submitted as Excel files. The report content. Title Page The title page must include: - University of Sussex - Module Name and Module Code - Bank Name - Student candidate number 1. Introduction A summary of any relevant information as follows: Geographical location/s Products/Services (in tables or graphs) Direct competitor (Peer Analysis) Bank structures (for example, Personal banking, Business Banking etc. as in tables or graphs) 2. Bank Performance Analysis Analytical review - Historical review as a comparison to the competitor - Trend analysis of required ratios over the last five years - Define strengths and weaknesses to detect in the bank’s performance -Interpretation of bank position with respect to competitor - Generation using Bloomberg's built-in functions - Summary Table of ratios in Appendix Interpretation of ratios Group into categories - CAMELS rating analysis - Efficiency Ratio Those are the two basic types of analyses - most used, as each can be used for some financial companies. It is the main ratio that students must discuss in their report. 3. Bank Risk Analysis Analytical review - Historical review as a comparison to competitor -Trend analysis of the required ratios over the last five years - Interpretation of bank position with respect to competitor -Define strengths and weaknesses to detect in bank’s risk - Generated using Bloomberg's built-in functions -Summary Table of ratios in Appendix Interpretation of ratios Group into categories: - Overall Risk - Liquidity Risk - Credit Risk - Off-Balance Sheet risk - Capital Risk 3. Bank strategy and Innovations Analyze the digital innovations and embodied technologies implemented by a specific bank over the past five years, comparing them to its competitors. This analysis must be grounded in the frameworks presented in the lecture, specifically referencing the IMF's "Evolution of Finanscape" and the IMF's work on major technology transformation services (as detailed in Lecture 5,6,8,9 and the course reference list). Furthermore, analyze how these investments in new technologies and innovations have impacted the bank's key financial ratios, overall performance, and strategic direction. 4. Conclusion - The conclusion must be drawn from the evidence in your report - Must refer to your workings and your conclusions - All conclusions must be based on facts Bibliography - Must reference all sources - Web pages must include the date of a hit as well as the web address - Press must include the date of publication as well as the writer - References can be presented in Harvard style
Operations Management Homework 6 1. Kellogg’s is monitoring its process of making Frosted Mini Wheats. Every hour, they take a sample of 4 boxes of cereal coming off of the production line and weigh each box. The measurements taken from the first 10 samples are given below. All measurements are in ounces. Sample x1 x2 x3 x4 R 1 16.21 16.27 16.72 17.47 16.67 1.25 2 16.98 17.54 16.94 15.53 16.75 2.00 3 14.80 15.64 17.63 16.58 16.17 2.83 4 15.69 15.83 16.74 16.85 16.28 1.16 5 16.35 17.47 16.96 15.95 16.68 1.53 6 16.82 17.03 16.63 17.27 16.94 0.65 7 16.95 17.38 17.18 16.76 17.06 0.62 8 15.98 16.74 17.67 18.48 17.22 2.50 9 18.73 17.31 17.80 18.70 18.14 1.42 10 16.68 16.51 16.78 16.97 16.73 0.47 a. Calculate the upper and lower control limits for the x bar-chart and the R-chart associated with this data. See below for the table of the D2, D3, and D4 values. (3 points) b. Plot the x bar-chart and R-chart for Kellogg’s cereal production process. You may use the blank charts below to help you. Also determine whether or not Kellogg’s process of making cereal is in control. If it is not in control, state everything that looks wrong on either the x bar chart or R-chart. You may use software like Excel for the plots. (4 points) 2D 421.12803.26731.69302.57542.05902.28252.32602.11662.53402.004103.0780.2331.777153.4730.3481.652203.7270.4141.586253.9220.4591.541
FIT5216: Modelling Discrete Optimization Problems Assignment 1: Mine Planning 1 Overview For this assignment, your task is to write a MiniZinc model for a given problem specification. • Submit your work to the MiniZinc auto grading system (using the submit button in the MiniZinc IDE). • Submit your model (copy and paste the contents of the .mzn file) using the Moodle assignment. You have to submit by the due date (Friday 28th March 2025, 11:55pm), using MiniZinc, to receive full marks. You can submit as often as you want before the due date. Late submissions without special consideration receive a penalty of 10% of the available marks per day. Submissions are not accepted more than 7 days after the original deadline. This is an individual assignment. Your submission has to be entirely your own work. We will use similarity detection software to detect any attempt at collusion, and the penalties are quite harsh. Similarly you may not use generative AI during this assignment. If in doubt, contact your teaching team with any questions! 2 Problem Statement Your task is to plan an underground mine, in order to mine valuable minerals. The area for mining is a rectangle of cells, the east west dimension has eastwest cells, and the north south dimension has northsouth cells. The mine must start at one of the given start positions, and build a tunnel from there. The tunnel has no branches as that is not supported by the mining machinery. Each cell has a cost to bore a tunnel there, and an associated amount of ore. A negative cost means that your tunnel cannot go through that cell. For task (a) you are planning a mine tunnel with a given fixed length. For task (b) you are planning a mine tunnel with a given maximum length. Each cell of the tunnel must be orthogonally adjacent (above, below, left or right) to the previous cell, so the tunnel cannot have “branches”. You have a given budget, which is the maximum cost you can spend. The total cost to build is the cost of all the cells that are tunneled, plus the cost of reinforcement for any negative cost cells that are adjacent to the tunnel (equal to the negative of their cost value). A negative cost in an orthogonally adjacent cell means that the ground is unstable, and instead of mining minerals, you have to reinforce the adjacent tunnel. The company will mine the minerals inside the tunnel itself, and those in the orthogonally adjacent cells. So the total ore mined is equal to all the ore values in the tunnel and orthogonally adjacent cells. The goal is to find the most profitable mine plan. The profit is the sum of the ore mined minus the sum of the mining cost. Input data is given in MiniZinc data format: eastwest = ⟨ east west dimension ⟩; northsouht = ⟨ north south dimension ⟩; cost = ⟨ 2D northsouth × eastwest array of costs ⟩; re = ⟨ 2D northsouth × eastwest array of ore ⟩; length = ⟨ length (limit) ⟩; budget = ⟨ build budget ⟩; Here is a sample data set: eastwest = 9; northsouth = 5; cost = [| 1, 1, 1, 1, 1, 1, 1, 1,-3 | 1, 1, 1, 1, 1, 1, 1, 1, 1 | 1, 1, 1, 1, 1, 1,-4, 1, 1 | 1, 1, 1,-2, 1, 1, 1, 1, 1 | 1, 1, 1, 1, 1, 1, 1, 1, 1 |]; reward = [| 4, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 6, 0, 0, 2, 0, 0, 4, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 4, 0, 0, 0, 0, 0, 2 | 0, 0, 0, 0, 4, 0, 0, 2, 6 |]; length = 12; budget = 18; start = [(1,1),(9,5)]; On this 9x5 grid, the cost for each position is 1 except at positions (9,1), (7,3) and (4,4) which have negative costs and cannot be mined. The reward data is given by and the length (limit) is 12 and the budget 18. Note that in general the costs may be different for each cell. We can start the mine at either the top left (1,1) or bottom right (9,5) corner. Part A - Fixed Length Tunnel Create a model mineplan.mzn that takes data in the format specified above and decides on a tunnel of length equal to the value length given in the data. Here is a sample solution (which is not optimal but satisfies the constraints). The tunnel is represented in light blue, the additionally mined areas in light gray. Non-zero ore values and negative costs are shown. Note that the tunnel has length 12, as required. It does not pass through any of the cells with a negative cost (the red cells). The total ore mined is the sum of the light blue cells (4), plus the light gray adjacent cells (sum=16) which adds up to 20. The total cost is 12 for tunneling plus the reinforcement cost for the two negative cost adjacent cells of 6 for a total of 18, under the budget. The overall profit is 2. Your model must define the positions of the tunnel cells as x and y coordinates, together with the total profit. One correct output for the solution above is x = [1, 2, 3, 3, 3, 4, 5, 5, 6, 6, 6, 6]; y = [1, 1, 1, 2, 3, 3, 3, 4, 4, 3, 2, 1]; profit = 2; Note how each position e.g. (3,1) is adjacent to the next one (3,2). There are many other correct solutions. In order to compute the cost and ore mined, you may want to decide for each cell whether it is on the tunnel path or adjacent to it. Once you have that information, it is easy to add up all the costs and rewards. Note that you will not be able to obtain full marks by just answering part A. Some problems will have no solution, whereas using part B they have a solution. Part B - Bounded Length Tunnel Modify your model mineplan.mzn to treat length as a bound on the maximal possible length of the tunnel. For example a sample solution for the example data is illustrated as The tunnel has length 8, with cost 8 + 2 = 10 within the budget of 18. It only directly covers (light blue) the start point with a reward of 4, and has adjacent rewards (light gray) of 16. The total ore is therefore 18, for a total profit of 10. To model this extension, unused tunnel cells must be defined as having x and y coordinate 0. All the unused positions must occur at the end of the x and y lists. So a correct output for this solution is: x = [1, 1, 1, 2, 3, 4, 5, 5, 0, 0, 0, 0]; y = [1, 2, 3, 3, 3, 3, 3, 4, 0, 0, 0, 0]; profit = 10; 3 Instructions Edit the provided mzn model files to solve the problems described above. You are provided with some sample data files to try your model on. Your implementations can be tested locally by using the Run+check icon in the MiniZinc IDE. Note that the checker for this assignment will only test whether your model produces output in the required format, it does not check whether your solutions are correct. The checker on the server will give you feedback on the correctness of your submitted solutions and models. 4 Marking The marks are automatically calculated. • For most instances you can get a maximum of 0.75 for part A and 1 (full marks) for part B. • For some instances you can get full marks with part A. • For some instances you will always get 0 with part A. The submission has 10 marks for locally tested data and 12 for model testing, for a total of 22 marks.
Modelling and Analysis As a new graduate, you have recently started your first employment with the industrial giant, Mitsubishi Chemical. Mitsubishi is committed to sustainability through their KEITEKI principles, and have a far-reaching vision is to produce platform chemicals from renewable feedstocks. As such, Mitsubishi has sourced a renewable supply of isobutyraldehyde from the emerging sustainable aviation fuel industry, where the isobutyraldehyde is produced via the gasification of biomass. This renewable supply of isobutyraldehyde needs to be oxidised to isobutyric acid using a novel isothermal enzyme reactor pioneered by Mitsubishi. Figure 1 - Isothermal enzyme reactor for the sustainable production of isobutyric acid from renewable isobutyraldehyde. The slurry reactor is aerated with air to ensure the availability of excess O2 (A) (Figure 1), uniformly suspending a whole-cell solid catalyst within the variable reactor volume. The whole-cell catalyst contains an engineered P450 enzyme with a high kinetic rate for oxidising isobutyraldehyde to isobutyric acid at ambient operating temperature. Reaction 1 represents the enzyme-catalysed oxidation of isobutyraldehyde (B) to isobutyric acid (P), simplified to equation 2 for ease of notation. At this early stage of sustainable process development, the Department has minimal insight into the model structure of the kinetic rate equation. Table 1 details the representative process parameters the Department have used in their scale-down experiments in their laboratory. Table 1 - Process parameters for the isothermal enzyme reactor (Figure 1). Description Value Engineering Unit Concentrated isobutyraldehyde feed (Cb1) 24.9 [mol·dm-3] Dilute isobutyraldehyde feed (Cb2) 0.1 [mol·dm-3] Further facilitating the scale-down experiments in the lab, the Department has normalised the feeds to the enzyme reactor’s cross-sectional area. The constant manipulated variables and the initial condition are detailed in Table 2. Table 2 - Initial condition for laboratory experiments and constant manipulated variable flow rates. Initial condition Unit Value State variables h [dm] 40 CB [mol·dm3] 0.1 Manipulated variables w1 [dm·min-1] 1 w2 [dm·min-1] 1 An experienced engineer scientist in your team has derived the below ordinary differential equations to model the enzyme reactor (Figure 1), where equation 3 is the liquid volume balance and equation 4 is the species balance for isobutyraldehyde. She has kindly provided a template Simulink model (EnzymeReactor_Assignment3.slx) as a starting point for your model parameter estimation. Given the model structure for the reaction rate (equation 4), rb, is unknown at this early stage of process development, the Department harvested experimental time series data using the process conditions outlined in Table 2. This time series represents 54 samples taken over 100 [min] from the enzyme reactor for gas chromatography (GC) analyses of isobutyraldehyde concentration, Cb. The GC analyses and their 95% confidence limits are contained in the file ‘Slurry Enzyme Reactor Experimental Results.xlsx’ . Unfortunately, the isobutyric acid concentration, Cp, could not be measured given the lab’s HPLC instrument is not operational. However, the experienced engineering scientist knows from previous experimental work that rb is only a function of Cp and Cb. Therefore, she’s asked you to derive the ODE for Cp using the stoichiometry of the reaction. The experienced engineering scientist has tasked you to devise a neural network surrogate model for the reaction kinetics associated with the P450 enzyme catalyst. In the absence of fundamental first principles insight into the reaction mechanism, rb in equation 4 needs to be estimated using a feedforward radial basis function neural network. Avoiding overfitting, she’s advised you to minimise the number of hidden neurons to less than four. The experienced engineering scientist believes that the Cb time series contains sufficient state variable information for extracting a black box kinetic reaction rate term for equation 4. She’d like to use the resulting dynamic equations for future optimisation of the process towards maximising the techno-economics. You agree with her, and you’re confident that the integration of ODEs with artificial intelligence will make the most of the available experimental data. Deliverables Submit a single report as your individual assessment of a radial basis function neural network as a model structure for the kinetic rate equation for the slurry enzyme reactor. Underpinning your conclusion, submit: 1. A technical report of no more than 750 words, addressing the mark scheme requirements. 2. All Matlab Simulink files supporting your report and recommendations. INDIVIDUAL ASSESSMENT MARK SHEET Assignment 3 mark scheme Simulink modelling Systematic use of subsystems for modelling, compartmentalising the model to make the structure accessible to other engineers at Mitsubishi. 3.0 Correct modelling for the ODE for isobutyric acid and the feedforward radial basis function neural network architecture as surrogate model for the reaction kinetics. 18.0 Consideration for a suitable numerical integration algorithm. 3.0 Neural network surrogate model architecture Demonstrated sound engineering science judgement for the selection of inputs to the neural network surrogate model. 8.0 Presented an evidenced rational for the number of radial basis function hidden neurons. 12.0 Neural network model parameter estimation Effective normalisation of the inputs variables to the neural network. 5.0 Conducive initialisation of the weights ofthe neural network. 5.0 Selected neural network model parameters suited to exploring the solution space during optimisation. 5.0 Appreciably minimised the sum square error (SSE) between the model and experimental data using an optimisation algorithm. 5.0 Model parameter estimation outcome Model parameter optimisation led to a representative neural network surrogate model. 8.0 Assessed the statistical significance of the model digitisation, given confidence limits of the experimental results. 5.0 Evaluated the robustness of interpolation and extrapolation with respect to alternate w1 and w2. 8.0 Technical Writing Discussion on selected neural network architecture. 5.0 Discussion on optimisation of neural network model parameters, reflecting on how representative and robust the surrogate model is. 5.0 Technical report structure aligned with formal scientific report format. 5.0
APSC 142 – Introduction to Programming for Engineers II Objective: Students will display their knowledge of all course material to build a complete computer program with a real-world application. Problem: The rules of the game are quite simple. The goal is for Pacman (the player) to collect all the dots on a map, while avoiding the enemy ghosts (AI) that are chasing you. The game is won when all the dots on the map have been collected. The game is lost when a ghost catches the player. All characters in the game are bounded by that level’s map. The map contains walls (W) that restricts the characters from passing through them, creating a maze of sorts. The dots (.) are what need to be collected for the player to win the game. The characters can only travel through the paths between the walls. Below is the map that will be used in this project. The input text file will look slightly different, as it will show you the starting position for both Pacman and the Ghosts, and will not contain the outer walls. The primary map file is called “map.txt” and it is included in the starter code which is available on OnQ. Instructions: Write a Pacman program in C that uses the following specifications: • Read the map from a file called “map.txt” into an array created using malloc(). Make sure to implement correct memory management techniques for full credit. Your program must be able to read any map.txt file that is formatted correctly. There is an alternative “map2.txt” file included in the starter code, for example. Any file named map*.txt (where * can be any string) will be copied to the build directory to use upon a CMake reload. • The map must contain exactly one Pacman (or player) ‘P’ and two Ghosts ‘G’ . Their positions must be read from the map. If they aren’t present, or “map.txt” is not readable, the program must return appropriate error codes. The only other characters to be read from the map are ‘W’ for a wall, ‘ .’ for a dot, or ‘ ‘ for an empty space. You should use #defines from defines.h to refer to these characters. All such characters in a map must have two spaces between them. • Have the user enter an input of ‘w’, ‘a’, ‘s’, or ‘d’ that instantaneously moves the player in that direction (up, left, down, right) if there is not a wall. You must get this input using the getch() function included in the starter code. If there is a dot in the new location, the player “eats” it and it is removed from the map. • Implement 2 Ghosts (Enemies) to move around the map. If they can see the player (there are no wall tiles between them), have the ghost move toward the player. o The ghosts are allowed to pass through each other. o The ghosts should always move when the player does. • You must implement some specific functions using the given prototypes and descriptions (these are listed below). • The updated map must be printed to the console after every move. Unlike the map.txt file, which has two spaces between each symbol, you must print the map with one space between each symbol. • You must write unit tests for your code. The tests must execute at least 85% of the lines of code included in the required functions. • You must follow any other requirements written in the starter code, for example, using the provided global variables for storing map data (and no other globals). • Use only the techniques and features taught in the course. If you use advanced or unexpected features, we may assume your code has been copied. • When the win condition has been met, the following message must be printed: o Congratulations! You win! • When the loss condition has been met, the following message must be printed: o Sorry, you lose. Comments are mandatory for this project. Add comments as necessary for important parts of your code, such as function calls & definitions, conditions, and calculations to explain what the program is doing. Global Variables Only the already specified global variables in the starter files are allowed. The included globals will allow functions to access some commonly used variables without being passed as arguments. In practice, global variables should be used sparingly, so you are required to use only local variables for any other data. Getting Started with the Starter Files To get started, download the starter files in the zip file and unzip them into the directory you want to work out of. Then, in CLion, choose New Project in the project menu and make the following choices: • In the left pane, choose C Executable. • In the right pane, use the file picker to set the location to the directory where you unzipped the starter files and leave the Language standard set to C11. CLion will then pop up a modal dialogue that says Directory Is Not Empty and ask what you want to do. Choose Create from Existing Sources. Then delete the main.c file from the project, as this will not be used and can create some confusion. Mandatory Functions: You must implement the following functions using the provided prototypes: • int check_win(void); • int check_loss(int player_y, int player_x, int ghosts_y[NUM_GHOSTS], int ghosts_x[NUM_GHOSTS]); • char sees_player(int player_y, int player_x, int ghost_y, int ghost_x); • char * load_map(char * filename, int * map_height, int *map_width); • int is_wall(int y, int x); • int move_player(int * player_y, int * player_x, char direction); • int move_ghost(int * ghost_y, int * ghost_x, char direction); • void print_map(void); For each function, a detailed description of its expected behavior is provided in the comments in its respective header file: actor.h, game.h, and map.h. See those files and the main source file, apsc142project.c for details. Other Important Details: • Map details will be held in two different global maps: dot_map to hold where all the dots are and map that contains everything printed to the screen. Whenever you need to replace a dot in map (after a ghost moves over it), you will copy the contents from dot_map to map. Using the maps in this way is mandatory. The auto grader will not work if this convention is not followed. o Note: It is a good idea to only rely on the map for tracking dots and walls. You will track of the position of the player and the two ghosts independently. • The maps must be stored as 1D arrays. If you use a 2D array, you will not receive full marks. To use a 1D array (that is easy to allocate using malloc) like a 2D array, access elements using the index [(y * width) + x] . • To check if the win condition has been met, count the number of dots still in dot_map. This avoids the need to worry about if a ghost is covering a dot, since ghosts should not appear in dot_map. • You can get a random integer between 0-3 with rand() % 4. • The getch() function is available by including “colours.h” . Do not include yourself, as this will prevent your code from running on Gradescope. • A good suggestion is to write tests before you implement your functions. This is called Test-Driven Development and it is a way to make sure your code does what you think it should, while ensuring good test coverage. Tests are required to get full marks in the final labs of this course. Getting Terminal Emulation Working in CLion When you first load the project starter code, you will want to modify the run/debug configuration for the project executable so that it emulates a terminal. This will cause the getch() function to behave as expected. To do this follow these steps (might vary slightly depending on your platform. and CLion version): Find the run/debug configuration dropdown to the left of the build/run/debug buttons in the top right corner of CLion. Click on “Edit Configurations …” at the bottom of that menu to bring up a modal dialogue. Select project under CMake Application on the left panel, then check the box next to Emulate terminal in the output console. In-Lab Work The final 4 lab sessions (weeks 9, 10, 11, 12) of the term will have deliverables for this project. The labs are designed so that you need to accomplish the first one or two tasks before you can move on to the next lab but it is “possible” to get by without question 3. If you do not complete a lab: it is highly recommended you finish all tasks before the next lab session. The lab tasks alone will not represent a fully completed project but do represent a passing grade. Any tasks that require you to modify functions have that function prototype written in bold text. The tasks will be released on a weekly basis but will follow what is given in the stater code. The general outline is: 1. Week 09: Print the map. 2. Week 10: Make the player move. 3. Week 11: Make the ghosts move. 4. Week 12: read a map from a file. Submission Instructions: Create your program using CLion, basing it on the provided starter code. Do not include any personal information (student number, name, etc.) in your submission. You will need to submit your code in a zip file containing all the .c .h .cpp and .txt files in your project. You must include all such files that appeared in the starter code to get full credit, even if you did not modify them from the starter code. While developing your solution, you should submit your code to Gradescope, which will provide some automated test feedback, although your project will also be marked by a human. You can (and should) set up your group when you submit to Gradescope so that both members can see the feedback. Refer to the project rubric in OnQ for a detailed breakdown of the grading criteria. Your submission must adhere to the project rules as outlined in the submission policy document for this course, which can also be found on OnQ. There is zero tolerance for plagiarism in this course. This auto grading software will automatically flag potential cases of plagiarism, which will be reviewed by the instructors. Marking Rubric Summary The official marking rubric can be found on OnQ, but it is summarized below. The project is marked out of 36 with each lab being worth 4 marks and the other 20 marks distributed as follows: • [4] Required function implementation 。 This tests that the required functions conform. to their description in the starter files. This mark is based almost entirely on automated tests in Gradescope. • [4] Test coverage of required functions 。 This checks the percentage of lines of code in the required functions that are executed by your unit tests and is calculated almost entirely in Gradescope. • [4] Code style. and comments 。 This checks that your code is well organized and documented properly, with good variable names. This is marked by a human. • [4] Game functionality (calculated mostly in GradeScope) ▪ Winning and losing occur immediately when conditions are met. ▪ Valid maps are loaded correctly and displayed to the user. ▪ Ghosts chase player when they should. ▪ Dots disappear when they should and not when they shouldn't. ▪ Player and ghosts move and respect walls. ▪ Proper error codes are returned when maps are invalid. • [4] Secure coding practices 。 This checks that your program follows secure best practices and does not contain undefined behavior. This is calculated from a combination of GradeScope and manual checks.
Practical 5 Part 2: Spatial Mapping In recent years, ecology, sustainability, and policy have become more important for the management of land and water development. In response, spatial tools have rapidly developed, where these tools are used for investigating landscapes and how those landscapes are changing. Landscape changes can be naturally occurring (such as those changes which affect river flows, vegetation patterns and vegetation health), or these changes can be human induced (otherwise known as anthropogenic changes such as those relating to urbanization, aquaculture, water resource development, and forestry). Aim The aim of this lab is to explore the differences in vegetation, geology, hydrology and urbanization between Centennial Park and Randwick Environment Park (locations where you have completed fieldwork practicals). • Software - We will be using a GIS spatial software called Google Earth Pro. You will need to download and install this. • Data You will find all the data you need on Moodle under the toggle “Week 5 > Google Earth Pro Files > Download folder. Download all the files into one folder on your computer. • NB/ Some windows may look slightly different on PC vs Mac, but the software is very similar across both operating systems. Definitions • Remote Sensing — Scanning the earth by satellite or high-flying aircraft to collect data. • Geographic Information System (GIS) Software system using remote sensing information to manipulate, interpret and present data across all types of ecosystems. GIS can be described as a “smart map” allowing users to create interactive queries (user created searches), analyse the spatial information and edit data (http://en.wikipedia.org/wiki/Gis). Application To analyze ecosystems, land, and water changes over a range of spatial (space) and temporal (time) scales, many environmental scientists use remote sensing and Geographical Information Systems (GIS). The exercises conducted in this class will form part of your assignment (part 2 of Assignment 1). Here are some examples of how environmental scientists at UNSW have used remote sensing and GIS: 1. Mangrove death in Northern Australia Mangroves play a crucial role in coastal protection, carbon storage, water purification, and supporting diverse ecosystems. In 2015, a fisherman in Burketown, northern Australia, reported widespread mangrove die-off. UNSW scientists used remote sensing, drones, and GIS mapping to assess the damage, identifying 2,470 ha of complete loss in Kakadu National Park. The analysis linked this to a strong El Niño, which caused lower sea levels, drought, and extreme heat, pushing mangroves past their survival threshold. These insights help guide conservation efforts to protect wetlands, biodiversity, and local communities dependent on fisheries. 2. Threats and conservation priorities for migratory shorebirds Over 26 species of shorebirds migrate 20,000 km annually between Arctic breeding grounds and southern feeding areas, but their populations are declining. UNSW environmental scientists used remote sensing to reveal significant habitat loss in East Asia s Yellow Sea, a key stopover site. GIS mapping showed that nearly two-thirds of tidal flats have disappeared since the 1950s. Further habitat mapping in Australia and New Zealand helped strengthen connections between these vital areas and shorebird populations, informing conservation efforts. Let’s get Started! Follow the steps below to begin your analysis: • Install and open the Google Earth Pro program • To open Google Earth go to Start > All Programs > Google Earth Pro. Or for Mac go to Applications > Google Earth Pro Exercise 1 1.1 Types of Data There are two main types of data that can be added to GIS: Vector and Raster. • Vector data is like a digital map with points, lines, and shapes. It s used to show things like roads, rivers, or city locations. • Raster data is like a photo made of tiny squares (pixels), where each square has information, such as temperature or elevation. Both types help scientists and mapmakers analyse and understand different features of a place. 1.2 Types of Vectors There are three shapes that we can import into our environment. You can find the shapes at the top right corner of your map: Go to Question 1 in the Workbook 1.2 Raster Data The satellite images and aerial photographs you see in Google Earth are raster data because they are made up of pixels, just like a digital photo. Each pixel represents a specific area on the Earth's surface and contains visual information like colour and brightness. Exercise 2 2.1 Locating our study sites • In the search bar type in Centennial Park, NSW: Zoom in until you can see Lachlan Swamp and placemarker in the area: • You can find the placemarker here: • Drag the placemarker and place the marker in Lachlan Swamp and be sure to name it! • You can also change the colour of the pin and font by going to “Style, Color” Let’s do the same for Randwick Environment Park: • In the search bar type in Randwick Environment Park: • And add a placemarker: • Now zoom out so you can see both of you pins right click on Lachlan swamp in the “Places” panel and pick “Snapshot View” – now if you navigate away from the area of interested you can double click your pin and automatically get navigated back 2.2 Landscape changes The landscape has changed in both Centennial Park and Randwick Environment Park (recall the history videos week 1 & 2). We can visualize some of these landscape changes on our map. • Zoom into a park • Use the Historical Imagery tool (looks like a clock) to see how the park has changed in the last 20 years by moving the pointer along the timeline: Go to Question 2 in the Workbook • Make sure that you’ve clicked the Historical Imagery tool to reset the map to present day Exercise 3 3.1 Importing Vector Data • First let’s clean up your map a bit. In the Layers panel make sure the following options are ticked (and the rest are unticked): o Places o Trees o Parks/Recreation Area o Water Body Outlines • Download the vector data from moodle onto your computer. Navigate to moodle Week 5 > Google Earth Pro Data > download • Load the “UrbanAreas.kml” file into your map by navigating to File > Open > UrbanAreas.kml o It should now appear in the “Places” panel o Right click UrbanAreas.kml, select properties, and Style,Color tab, then click “Share Style” to change the colour, outline, and opacity of this vector (avoid colours like green and blue): • Feel free to copy my settings: • Now let’s do the same for the entitled “RecreationAreas.kml” • Here are my colour and style settings: • Now toggle through the two files via the checkboxes in the Places panel Go to Question 3 in the Workbook Exercise 4 4.1 Save your map Let’s save our map so that we can include it in our methods section of the report • Zoom out so that both parks are visible in your map • File > Save > Save Image • Name your map: • Toggle the legend setting to only include things you are interested in • Save your image:
SPSS Assessment 1 What will I be expected to do? This assessment will test your abilities to use SPSS to run analyses, to accurately report statistical output following APA 7 conventions, and to interpret the information. All of these skills are taught in the mini-lectures and will be practiced in the computer labs. What specifically should I be able to do? You will be asked to demonstrate that you can: Extract group-level descriptive statistics from a dataset Test assumptions for One-Way Between-Groups ANOVA, report these in APA 7 conventions, and interpret the meaning of the results Run a One-Way Between-Groups ANOVA, report it using APA 7 conventions, and interpret the output Run post-hoc tests to compare groups. Report these and interpret the effects. Run planned-contrast tests, report the results and interpret the effects. Understand the effect sizes that are generated from the data, know where to find these and how to report them. You will also be asked to upload your SPSS output file. It is very important that you are accurate with your reporting. This includes reporting numerical values with the correct number of decimals, removing leading zeros when appropriate, and reporting statistical output with correct formatting.
COMP61352: Cognitive Robotics and Computer Vision Assignment Submission deadline: Friday 9th May 2025, 18:00 (Blackboard) Aim and Deliverable The aim of this coursework is to develop skills on the design, execution and evaluation of computer vision algorithms. It also aims at discussing the role of the computer vision and deep learning approaches within the context of the state of the art in robotics. You will choose a benchmark vision dataset and apply traditional computer vision methods for object recognition (such as Local Features), and a deep learning CNN model to this dataset. Each method will require the systematic exploration and evaluation of the role of specific algorithm settings and hyperparameters. This will also allow you to compare the overall performance of the two approaches to object recognition and analyse the pros and cons of each with respect to the problem and dataset. You will also contextualise your work within the state of the art, with a discussion of the role of deep learning and its pros and cons for robotics research and applications. You can use the standard object recognition datasets (e.g. CIFAR, COCO) or choose a robotics vision dataset (e.g. iCub World, RGB-D Object Dataset). The deliverable to submit is a report (max 7 pages including figures/tables and references but excluding appendix for the code) to describe and discuss the computer simulations done and the computer vision and robotics research. Marking Criteria (out of 50) 1. CNN for vision: Clarity of the methods, complexity of the network(s), hyperparameters and dataset (marks given for complexity and appropriateness of the network topology; hyperparameter exploration approach; data processing and coding requirements) [8] 2. CNN for vision: Description, interpretation, and assessment of the results on the hyperparameter testing simulations, including appropriate figures and tables to support the results (marks given for the clarity of the reporting of the simulations done and the results presented via text/tables/charts; Depth of the interpretation and assessment of the quality of the results; Discussion of alternative/future simulations to complement the results obtained); [8] 3. Object recognition (classification) using Local Features and CV algorithms: describe methods and parameters and justify your choices [8] 4. Object Recognition using Local Features and CV algorithms: Results [8] 5. Explanation and comparison of the object recognition results between the two approaches (deep learning vs. traditional CV algorithms) [3] 6. State of the art: Contextualisation and state of the art in computer vision for robotics (marks given for clarity/completeness of the overview of the state of the art, with spectrum of deep learning methods considered in robotics; critical analysis of the deep learning role in robotics; quality of the references cited) [10] 7. Marks for exceptional performance in the complexity of the work and report [5] Due Date: 18.00 on Friday 9th May 2025, uploaded to Blackboard as _one_ PDF file (your code for parts 3 and 4 should appear at the end of your report, as an appendix).
MKTG1199 Financial Markets and Institutions Assessment 3: Research Report – Case Study Overview The assessment will involve a case study pertaining to different financial markets and instruments. Students will be required to prepare a comprehensive Investment Strategy Research Report for the client. Learning Outcomes The targeted Course Learning Outcomes for this assessment are: • CLO1: Identify the nature and key components of financial systems domestically and globally to apply in diverse contexts. • CLO2: Identify the nature, role and determinants of the structure and level of interest rates in economics and financial contexts. • CLO3: Analyse the characteristics and functions of the main financial intermediaries and the role of regulatory bodies in in financial systems in a global context. • CLO4: Assess the operations of the foreign exchange market including the nature and determinants of exchange rates and relevant investment strategies. • CLO5: Explore the main features and theorems of capital markets, institutions and securities including debt securities, equity and derivative products. Assessment details • The assessment is a scenario-based research analysis report. You are required to conduct independent research and write a 3000 words (-/+10%) report. • This assessment includes all the content covered in Topics 1 to 10. • The assessment is worth a total of 50 marks and accounts for 50% of the total grade for this course. Formatting • The report must be presented in standard report structure. • The report must be presented and submitted in Microsoft Word document. • You may use hand-drawn diagrams where applicable. Include the image of the diagram - use balanced resolution so the information in the image is • Guidelines for text formatting: o Font style.: Arial o Font size: 12 (14 for headings) o Spacing: 1.5 line spacing o Page No: Page x Final Assessment – Research Report Case Study Background: As a financial advisor, you have the responsibility to educate and empower clients with a deep understanding of market and economic systems to remove the mystery and fear associated with investing. This approach fosters confidence and informed decision-making, enabling clients to invest wisely regardless of external economic conditions. Your task is to prepare a comprehensive Investment Strategy Report for your new client, Mr. Cheong. This report should align with Mr. Cheong's client profile, including his wealth, risk preferences, and investment objectives. The client information are available in the Appendix of this document. Report requirements: Your report should be well-supported with examples and credible sources, including peer-reviewed journal articles, papers, books, industry reports, institutional reports, regulatory standards, and official materials. Do not rely solely on general websites for information. A minimum of 8 references is expected. Detailed instructions for each section: Executive summary: Provide a brief summary of the key findings, recommendations, and the client's profile and objectives. Introduction: Offer context for the report and its purpose. Section 1: Market conditions and Monetary Policy • Discuss the current market conditions both domestically and internationally, highlighting factors that may influence investment opportunities. • Discussion differences in the Monetary Policy Implementation Process in Singapore compared to Australia. • Explain the intermediate target for monetary policy set by the MAS and highlight the objectives and tools that the MAS employs to achieve this target. • Offer examples of economic indicators that provide insights into future stages ofthe business cycle. • Explain how changes in key economic indicators influence the Singapore Economy, referencing the brief of recent Economic Development in Singapore (See additional material in Appendix 3). Section 2: Asset class discussion • Select four distinct asset classes that you are knowledgeable about and conduct a comprehensive analysis of their defining characteristics, associated risks, potential returns, and provide illustrative examples for each asset class. You are encouraged to utilise diagrams, charts, tables and figures in the discussion. • Explain to Mr. Cheong regarding pros and cons ofthe right issue, assuming he owns 1000 Tesha shares and below scenario: In 2024, Tesha, Inc. conducted a rights issue to raise additional capital for its growth and expansion plans. Shareholders were given the opportunity to purchase additional Tesha shares at a discounted price on a ratio of 1:5. Tesha's stock price before the rights issue announcement was approximately $1000 per share. The discount price is $800 per share. Assuming Tesha has 1,000,000 shares and all shareholders exercise their rights. Section 3: Funds under management • Considering Mr. Cheong's preference for cost-effective index funds and his pursuit of promising returns, provide an overview of funds in his portfolio. • Investigate and evaluate the historical performance, risk, and return of these funds compared to benchmark indexes. • Introduce two new funds aligned with Mr. Cheong's needs. • Using the provided data for Marina Horizon Fund (Appendix 4), explain fund performance by calculating the Coefficient of Variation, Sharpe ratio and Jensen’s Index and provide an interpretation of the results. Section 4: Hedging using Derivatives • Discuss the potential use of derivatives (e.g., options or futures) to hedge Mr. Cheong's portfolio against adverse market movements. • Explain the benefits and risks associated with derivatives-based hedging strategies. • Assess the alignment of these strategies with Mr. Cheong's risk tolerance and overall investment plan. Conclusion: Summarize key takeaways from the report. Emphasise the importance of informed decision-making in achieving Mr. Cheong's investment objectives.
Problem Set 2, FIN 206 Spring 2025 Problem 1 Download from Yahoo finance, or from your favorite data provider, the monthly time series of the adjusted close prices for Bitcoin-USD (tracker ID: BTC-USD), General Motors (tracker ID: GM) and Coca Cola (tracker ID: KO) for the period 09/2014 to 12/2024. Moreover, from Ken French’s data library, download the monthly time series of the Fama-French 3 factors returns for the same time period, and combine the two datasets in Excel. 1. Calculate the time-series of monthly returns for the 3 assets, and construct the monthly returns of the Market (MKT) from Fama-French factors 2. Estimate the expected returns and standard deviation of returns for both the 3 assets and the 3 Fama-French factors 3. Construct the variance covariance matrix Σ, and the vector of expected excess returns µe. Note: conceptually, it makes sense to use only the last RF in the data, not the historical. Do you see why? 4. Use these vectors and matrices to solve for the Minimum Variance Portfolio of the 3 assets, and comment on your findings 5. Now, use the same information to solve for the Mean-Variance Efficient portfolio (MVE), and comment on its differences/similarities with the MVP 6. Estimate the CAPM beta of each of the 3 assets. What do you observe? 7. Plot on a standard diagram the Security Market Line (SML) and include all of the information you have about these assets. What can we learn about the validity of the CAPM from this exercise? How do these findings relate to the stylized facts about the empirical SML? 8. Estimate the One-Factor (or market) model for each asset. Comment on your findings. 9. Construct the residuals of the regressions and test whether the 1 factor model is a ‘good’ model, or if it is likely to miss additional important factors. Explain in details your reasoning 10. Estimate the 2-Factor model (with MKT and SMB) for each asset. Comment on your findings. 11. Construct the residuals of the regressions and test whether the 2 factor model is a ‘good’ model, or if it is likely to miss additional important factors 12. Estimate the 3-Factor model (with MKT, SMB and HML) for each asset. Comment on your findings. 13. Now, assume that the right model of the world is a two-factor model with MKT and SMB as factors. Use the available assets to construct the two pure factor portfolios, as well as the risk-free portfolio. 14. Suppose we want to track an asset with beta of 3 on MKT and 2 on SMB. What are the portfolio weights on the assets? Explain how you can derive these weights in at least two ways.
COMP 251: Assignment 3 Answers must be returned online by April 8th (11:59:59pm), 2025. General instructions (Read carefully!) • Important: All of the work you submit must be done by only you, and your work must not be submitted by someone else. Plagiarism is academic fraud and is taken very seriously. For COMP251, we will use software that compares programs for evidence of similar code. This software is very effective and it is able to identify similarities in the code even if you change the name of your variables and the position of your functions. The time that you will spend modifying your code, would be better invested in creating an original solution. Please don’t copy. We want you to succeed and are here to help. Here are a couple of general guidelines to help you avoid plagiarism: Never look at another assignment solution, whether it is on paper or on the computer screen. Never share your assignment solution with another student. This applies to all drafts of a solution and to incomplete solutions. If you find code on the web, or get code from a private tutor, that solves part or all of an assignment, do not use or submit any part of it! A large percentage of the academic offenses in CS involve students who have never met, and who just happened to find the same solution online, or work with the same tutor. If you find a solution, someone else will too. The easiest way to avoid plagiarism is to only discuss a piece of work with the COMP251 TAs, the CS Help Centre TAs, or the COMP 251 instructors. • Your solution must be submitted electronically on ed-Lessons. • To some extent, collaborations are allowed. These collaborations should not go as far as sharing code or giving away the answer. You must indicate on your assignments (i.e. as a comment at the beginning of your java source file) the names of the people with whom you collaborated or discussed your assignments (including members of the course staff). If you did not collaborate with anyone, you write “No collaborators”. If asked, you should be able to orally explain your solution to a member of the course staff. • This assignment is due on April 8th at 11h59:59 pm. It is your responsibility to guarantee that your assignment is submitted on time. We do not cover technical issues or unexpected difficulties you may encounter. Last minute submissions are at your own risk. • This assignment includes a programming component, which counts for 100% of the grade. • Multiple submissions are allowed before the deadline. We will only grade the last submitted file. Therefore, we encourage you to submit as early as possible a preliminary version of your solution to avoid any last minute issue. • Late submissions can be submitted for 24 hours after the deadline, and will receive a flat penalty of 20%. We will not accept any submission more than 24 hours after the deadline. The submission site will be closed, and there will be no exceptions, except medical. • In exceptional circumstances, we can grant a small extension of the deadline (e.g. 24h) for medical reasons only. • Violation of any of the rules above may result in penalties or even absence of grading. If anything is unclear, it is up to you to clarify it by asking either directly the course staff during office hours, by email at ([email protected])) or on the discussion board on our discussion board (recommended). Please, note that we reserve the right to make specific/targeted announcements affecting/extending these rules in class and/or on one of the communication channels used in the course. It is your responsibility to monitor MyCourses and the discussion board for announcements. • The course staff will answer questions about the assignment during office hours or in the online forum. We urge you to ask your questions as early as possible. We cannot guarantee that questions asked less than 24h before the submission deadline will be answered in time. In particular, we will not answer individual emails about the assignment that are sent the day of the deadline. Programming component • You are provided some starter code that you should fill in as requested. Add your code only where you are instructed to do so. You can add some helper methods. Do not modify the code in any other way, and in particular, do not change the methods or constructors that are already given to you, do not import extra code, and do not touch the method headers. The format that you see on the provided code is the only format accepted for programming questions. Any failure to comply with these rules will result in an automatic 0. • Public tests cases are available on ed-Lessons. You can run them on your code at any time. If your code fails those tests, it means that there is a mistake somewhere. Even if your code passes those tests, it may still contain some errors. We will grade your code with a more challenging, private set of test cases. We therefore highly encourage you to modify that tester class, expand it, and share it with other students on the discussion board. Do not include it in your submission. • Your code should be properly commented and indented. • Do not change or alter the name of the files that you must submit or the method headers in these files. Files with the wrong name will not be graded. Make sure that you are not changing file names by duplicating them. For example, main (2).java will not be graded. • Do not add any package or import statement that is not already provided • Please submit only the individual files requested. • You will automatically get 0 if the files you submitted on ed-Lessons do not compile, since you can ensure yourself that they do. Note that public test cases do not cover every situation and your code may crash when tested on a method that is not checked by the public tests. This is why you need to add your own test cases and compile and run your code from the command line on linux. Homework Exercise 1 (50 points). Graph Algorithms - Sensitive species protection Certain species are particularly sensitive to the effects of humans “progress”. In particular, con- struction projects affect food patterns for animals in many ways, including changes to food avail- ability, habitat loss, and changes in diet. When the government’s environmental agencies notice that a certain species are endangered, they run simulations to identify the change in food patterns. In Quebec, the chorus frog is one such example. Suppose that conservation biologists have can- vassed different areas of the greater-Montreal on a grid made of 1km x 1km squares. See Figure 1 for an example of the grid. At every location of the grid, they indicated the following information: • A “dot” (i.e., “.”) represents the presence of food that the chorus frog consumes. • A “space" (i.e., “ ”) represents the absence of food that the chorus frog consumes. • A capital “ex" (i.e., “X”) represent a human or natural barrier that can not be crossed by the chorus frog. • Capital letters A-W are entrances to the areas. In this example (A,B,C,D) are entrances. Figure 1: Example of a grid representing a Montreal area The simulation has the following constrains (or simplifications). • Each chorus frog enter the area at a different entrance. • The chorus frogs always try to consume all the food (i.e., dots in the grid) as quickly as possible. • Chorus frogs can only move down, up, right and left. • Chorus frogs can only move through spaces and dots (not barriers). • If two entrances are adjacent, the chorus frogs are not allowed to move from one to the other (as you may know, frogs are very territorial). • The border of the analyzed area (rows 1, n, and columns 1, m) are guaranteed to consists only of capital letters A . . . X . • All the entrances are guaranteed to be in the border of the grid. You (as a COMP251 student) have been commissioned (by David :P ) to design an efficient and correct graph algorithm that computes the minimum number of chorus frogs necessary to eat all the reachable food (i.e., the dots in the grid). Please notice that the simulations analyze different areas of the greater-Montreal (in other words, your algorithm will be tested with different grids). Then, the minimum number of frogs needed to consume all of the food can vary, and even some food might not be reachable at all. So, your algorithm will need also to return the number of food spaces (i.e., dots in the grid) that are not reachable (because they are blocked by the human constructions). Your job for this part of the assignment is to complete the function saving_frogs, which takes an int[][] 2d-array that represents the grid and returns a 1d-array of length 2 that reports (in the index 0 and as an integer) the minimum number of frogs necessary to eat all the food (or zero if no food is reachable), and (in the index 1 and as an integer) the number of food spots that could not be reached. This function is located in the java file A3Q1. Note: For your reference, your algorithm must return [2,3] as the answer to the problem shown in the Figure 1. In this grid, all the reachable food can be reached from 2 entrances (A and C, or B and C) and there are three food spots that can not be reached. Exercise 2 (50 points). Graph Algorithms Do you know that there was one time when United Airlines sold lifetime passes?. After reading that news article (be sure to check the link in the footnote - it will not help with the assignment, but it is a great read! :P), I haven’t been able to stop thinking about how, with that pass, you wouldn’t need to rent or own a place to live. On top of that, you wouldn’t even have to cook your own meals! You just need to keep booking consecutive flights where you can sleep and eat free - what a deal! :O. The only caveat to this plan is that we must ensure continuous access to flights as long as necessary to not get stuck in an airport. Given a list of daily United Airlines flights between pairs of cities and a list of city names used in the United itinerary, you have been tasked (once again by David) with implementing an efficient and correct algorithm. This algorithm must determine, for each city on the list, whether my plan will succeed or if I will end up stranded at an airport. Your job for this part of the assignment is to complete the function time_pass, which takes (i) an String[][] itinerary 2D-array representing the United daily itinerary and (ii) an String[] cities 1D-array representing the list of (some) cities used in the itinerary. time_pass must return a String[] 1D-array reporting for each city, in the same order than String[] cities, whether my plan “succeed” or “failed” in that city. Let’s see now an example to make sure that the task is clear. Consider the following arrays. String[][] itinerary = { {Arlington, San_Antonio}, {San_Antonio, Baltimore}, {Baltimore, New_York}, {New_York, Dallas}, {Baltimore, Arlington} } String[] cities = {San_Antonio, Baltimore, New_York } A call to the function time_pass(itinerary, cities) must return the array: [succeed, succeed, failed]. Please check the following notes about our previous example: • The first row of the array itinerary implies that there is a one-way flight from Arlington to San_Antonio every day. • The array returned as the answer by your algorithm (i.e., [succeed, succeed, failed]), can be read as follows: There are infinitely long sequences of cities David can flight to making one flight each day from San_Antonio and Baltimore. On the contrary, David will find himself stranded at an airport (at some point) if he flights from New_York. Exercise 3 (60 points). Graph Algorithms This year, I attended a hands-on Arduino workshop at McGill, where we learned the basics of Arduino, electrical circuits, and Arduino coding. The workshop focused on assembling var- ious electronic components - including pushbuttons, light-emitting diodes (LEDs), potentiome- ters, and resistors - onto a breadboard. Our goal was to logically connect these components to create a functional circuit. At one point, the instructor handed out wires for the connec- tions and asked me, “David, what is the minimum length of wire I need to provide you to ensure that you create a closed circuit?" In the context of this workshop, a closed circuit meant that every electronic component on the breadboard was interconnected through a continuous sequence of wires. I didn’t have an exact answer at that moment, but I told the instructor that my COMP251 students would be more than happy (wouldn’t you?) to design an efficient and correct algorithm to solve it. In particular, I would give you all the (x,y) breadboard locations that need to be connected and the job of your algorithm will be to connect the locations (using straight lines of wire) so as to minimize the length of wire used. For this question, you will need to complete the function arduino which receives as parameter an 2-D array of double numbers called locations. The output of the function arduino must be a single double number to two decimal places representing the minimum total length of wire that can connect all the locations. Let’s see now an example to make sure that the task is clear. Consider the following arrays. double[][] locations = { {1.0, 1.0}, {2.0, 2.0},{2.0, 4.0} } A call to the function arduino(locations) must return the double value: 3.41. Please check the following notes about our previous example: • The answer (i.e., 3.41) is truncated to have two decimal values. • The answer correspond to wire (in straight lines) the following locations: — {1.0, 1.0} with {2.0, 2.0} for a length of 1.4142. — {2.0, 2.0} with {2.0, 4.0} for a length of 2.00 HINT: Make sure that you’re considering the graph sparsity when working on your solution. Exercise 4 (60 points). Flow Network In this exercise, we will implement the Ford-Fulkerson algorithm to calculate the Maximum Flow of a directed weighted graph. Here, you will use the files WGraph.java and FordFulkerson.java, which are available on MyCourses. Your role will be to complete two methods in the template FordFulkerson.java. The file WGraph. java implements two classes WGraph and Edge. An Edge object stores all infor- mations about edges (i.e. the two vertices and the weight of the edge), which are used to build graphs. The class WGraph has two constructors WGraph() and WGraph(String file). The first one creates an empty graph and the second uses a file to initialize a graph. Graphs are encoded using the following format: the first line corresponds to two integers, separated by one space, that repre- sent the “source" and the “destination" nodes.The second line of this file is a single integer n that indicates the number of nodes in the graph. Each vertex is labelled with a number in [0, . . . , n-1], and each integer in [0, . . . , n - 1] represents one and only one vertex. The following lines respect the syntax “n1 n2 w”, where n1 and n2 are integers representing the nodes connected by an edge, and w the weight of this edge. n1 , n2 , and w must be separated by space(s). It includes setter and getter methods for the Edges and the parameters “source” and “destination”. There is also a constructor that will allow the creation of a graph cloning a WGraph object. An example of such file can be found on MyCourses in the file ff2 . txt. These files will be used as an input in the program FordFulkerson. java to initialize the graphs. This graph corresponds to the same graph depicted in [CLRS2009] page 727. Your task will be to complete the two static methods fordfulkerson(Integer source, Integer destination, WGraph graph, String filePath) and pathDFS(Integer source, Integer destination, WGraph graph). The second method pathDFS finds a path via Depth First Search (DFS) between the nodes “source” and “destination” in the “graph”. You must return an Ar- rayList of Integers with the list of unique nodes belonging to the path found by the DFS. The first element in the list must correspond to the “source” node, the second element in the list must be the second node in the path, and so on until the last element (i.e., the “destination” node) is stored. The method fordfulkerson must compute an integer corresponding to the max flow of the “graph”, as well as the graph encoding the assignment associated with this max flow. Once completed, compile all the java files and run the command line java FordFulkerson ff2 . txt. Your program will output a String containing the relevant information. An exam- ple of the expected output is available in the file ff2testout . txt. This output keeps the same format than the file used to build the graph; the only difference is that the first line now represents the maximum flow (instead of the “source” and “destination” nodes). The other lines represent the same graph with the weights updated to the values that allow the maximum flow. There are a few other open test cases you can access on Ed-Lessons. You are invited to run other examples of your own to verify that your program is correct. There are namely some examples in the textbook. What To Submit? Attached to this assignment are java template files. You have to submit only this java files. Please DO NOT zip (or rar) your files, and do not submit any other files. Where To Submit? You need to submit your assignment in ed - Lessons. Please review the tutorial 2 if you still have questions about how to do that (or attend office hours). Please note that you do not need to submit anything to myCourses. When To Submit? Please do not wait until the last minute to submit your assignment. You never know what could go wrong during the last moment. Please also remember that you are allowed to have multiple submission. Then, submit your partial work early and you will be able to upload updated versions later (as far as they are submitted before the deadline). How will this assignment be graded? Each student will receive an overall score for this assignment. This score is the combination of the passed open and private test cases for the questions of this assignment. The open cases correspond to the examples given in this document plus other examples. These cases will be run with-in your submissions and you will receive automated test results (i.e., the autograder output) for them. You MUST guarantee that your code passes these cases. In general, the private test cases are inputs that you have not seen and they will test the correctness of your algorithm on those inputs once the deadline of the assignment is over; however, for this assignment you will have information about the status (i.e., if it passed or not) of your test. Please notice that not all the test cases have the same weight.
MA5271-Assignment Instructions • You must name your file in the format: Your Family Name-Your Name.pdf and submit your file to MA5271’s Canvas fold: MA5271-Assignment 1, before April 10, 11:59 pm. Late submission will not be accepted. CUBIC SPLINE INTERPOLATION Your report shall include 1. Motivations of cubic spline interpolation; 2. Definition of cubic spline interpolant; 3. Two methods for constructing cubic spline interpolant; 4. MATLAB codes and numerical examples.
GEOG1002 Hong Kong: Land, People and Resources 2024-25 Department of Geography Timetable arrangement: Annual; Second Semester Course: GEOG1002 Semester 2 Time: 4:30 to 6:30 pm Course Objectives After an introduction to the major physical features, a range of contemporary issues such as demographic structure and changes, economic development, industrialization, urbanization, housing and planning will be examined. It will conclude with a discussion on Hong Kong’s future development problems and their possible solutions. This is an independent course which can be taken by students from various disciplines. use zoning(Zoom Recording)4 February 2025 (The Lunar New Year rks525-Feb-25Environment and resourcesmanagement64-Mar-25Population and emplo Week - Optional FieldTrip)718-Mar-25Mobility and transpor enteddevelopment91-Apr-25Trade andlogistics108-Apr-25Energy and environment1115-Apr-25Cultural heritage1222-Apr-25QualityoflifewellbeingandlivabilityCourse Learning Outco mmePLOs)*1234561) analyze the key processes ofcit √ √ nmentaline human-environment interactions3) identify the key developme Kong, including population, lan uralheritage4) evaluate potential strategies to address development issues and promote su √ √ √ land, people,on ways topromote Hong Kong as alivablecity6) develop skills in problem organization, and effecti √ √ *Geography Major Programme Learning Outcomes (PLOs) PLO1 critically analyse the geographical aspects of the relationship between people and the natural environment; PLO2 demonstrate and develop an understanding of how these relationships have changed with space and over time; PLO3 identify, collect and utilize primary and secondary data to investigate and analyse the issues and problems facing people, places and society; PLO4 integrate, evaluate and communicate information from a variety of geographical and other sources; PLO5 participate in promoting social, economic and environmental sustainability at the local,regional and global scales; and PLO6 effectively apply a range of transferable skills in academic, professional and social settings. Course Assessment 50% Coursework (one term essay) 50% Examination (2.0 hours) Coursework Write a term essay with a maximum of 2,000 words (excluding tables, figures and references) a given topic. The topics will be announced in Lecture 3. • Format: • Reference style. APA or Harvard • Front size of 12 pt, and a 1.5 line spacing • Page number should be included (bottom right) • Word count should be included in the title page Plagiarism Plagiarism is a very serious academic offence. The Department views plagiarism and breaches of copyright very seriously. Any confirmed cases of plagiarism will result in a “F” grade for the assignment. Therefore, you are strongly advised to read the booklets “What is Plagiarism” (http://www.hku.hk/plagiarism/) and “Plagiarism and How to Avoid It” (http://www4.caes.hku.hk/plagiarism/). All assignments will need to be submitted to Turnitin for plagiarism checking. It is your responsibility to make sure that all references are properly cited in the coursework. Please make good use HKU Library resources (https://lib.hku.hk/) to search for academic literature. The use of Generative Artificial Intelligence (GenAI) We allow the use of Generative Artificial Intelligence (GenAI) to facilitate learning and research. Based on the recent university policies, HKU will provide students 500,000 tokens per month to access any topic they like on ChatGPT 3.5 (https://chatgpt.hku.hk/) and DALL•E 2 (https://dalle.hku.hk). However, it is important for students to uphold academic integrity when using any GenAI tools. Whenever you use the materials provided by GenAI in your coursework, you need to have proper declaration and citations ofthe respective tools. To emphasize, applying the materials directly (or indirectly with paraphrasing) generated from the GenAI tools without proper citations can potentially contribute to plagiarism. Students may face disciplinary actions as a consequence. Please note that alternative assessment may be used to assess student ability. Submission procedures Students are required to hand in their course assignments (both a hardcopy and a softcopy) on or before the submission deadline. According to the departmental guidelines, failure to observe this requirement will result in a reduction in coursework marks. For late submissions, there is a 5% reduction per calendar day from the total mark of each item of coursework. For instance, an assignment, which is handed in two days late, will get a 10% reduction. Moreover, any assignment submitted ten calendar days after the deadline will not be accepted for assessment and will therefore be awarded a zero mark. a) Hardcopy submission Please print your assignment double-sided for hardcopy submission. Students must follow the specific submission procedures and put their course assignments in the ‘Assignment Collection Box’, which is placed in Room 1048, 10/F, The Jockey Club Tower, Centennial Campus. Submission of assignments to the Department should be made at the following office hours – during weekdays: 9 am – 1 pm and 2 pm – 5 pm. When submitting the hardcopy, there is no need to attach the Turnitin Report. b) Softcopy submission (through Turnitin) Following the university regulations, all coursework needs to be submitted to the Turnitin for checking plagiarism. A Turnitin drop box will be created in the course Moodle. You may upload your essay to Turnitin multiple times until the deadline. Please make sure that the uploaded document is the final version of the term paper. Also, it is the same as the hardcopy version. Coursework marking We aim to return all the marked assignment (i.e., essay) before the final exam. Specific comments with each term paper will be provided. Examination There will be a 2-hour examination. The date and venue of examination will be announced by the Examinations Office during the semester. The final format of the examination will be announced in the last two lectures. Grade Descriptors In order to facilitate students to understand their performance in this course and to improve, some descriptions ofthe different grades are listed below. nsive knowledge• Demonstrate strong analyticalabilities• Well-focused and coherent arg Ageneralunderstandinginthefieldofknowledge• Demonstrate good analy aterials• Well-written and an appropriate use ofacademic terminologyC• A general understanding but with signs ofconfusion and errors• Mainly descriptive with only little evidence ofanalytical thinking• Reasonable arguments but without a Presenceofmultipleerrorsinthefieldofknowledge• Limited background knowledge an Presenceofalotoferrorsinthefieldofknowledge• ed in the essay
Practical 5: Workbook These are questions to help guide you for your methods & results section Part 1: Data Analysis in R 1. Abundance refers to the amount of a given species in an area. Which three invertebrates have the highest abundance in Centennial Park and Randwick Environment Park? 2. Based on your graph "Invertebrate Abundance" which park had the greater abundance? 3. Do the summary statistics for “Invertebrate Abundance” match what you see in the graph? Why might they not match? 4. Based on your graph "Invertebrate Richness" which park had the greater abundance? 5. Do the summary statistics for “Invertebrate Richness” match what you see in the graph? 6. Now that you know the Abundance and Richness, which park do you predict will have the higher Shannon H index? 7. After graphing and calculating the mean and standard error of the Shannon H index, which park has the higher biodiversity? Was your prediction from Q6 correct? Part 2: Spatial Mapping in Google Earth Pro 1. Label the images below based on the geometry types we can create: 2. What were some of the dryer years for REP? Do we see the same in CP? Why? 3. Is Centennial Park classed as urban or recreational? Is Randwick Environment Park classed as urban or recreational?
Assessment 3: Dissertation Requirements Each student will complete a research dissertation, following the suggested structure outlined below. • Preliminaries - Coursework cover sheet (available on LMO) - Title Page (including the title of the project, student name and ID number, supervisor name, name of degree programme, date of submission) - Abstract, in both English (no more than 300 words) and Chinese - Acknowledgement (if applicable) - Table of contents - List of Tables (if any) - List of Figures (if any) - List of Abbreviations (if any) • Main Body of Text 1. Introduction/Background 2. Literature Review 3. Methodology 4. Models/Results/Findings 5. Discussion 6. Conclusions and recommendations • References • Appendices The dissertation structure provided above is intended as a general guideline. Given the diverse nature of projects, no formal structure is mandated. However, all dissertations must include a cover sheet and title page (templates are available on LMO), along with an abstract in both English and Chinese, as well as an introduction and a conclusion. Supervisors may have different expectations regarding the appropriate structure. Therefore, students are advised to follow their supervisor’s guidance when organizing their FYP dissertation. For further details, refer to Appendix I for the FYP Dissertation Format Guidelines and Appendix II for the suggested FYP Dissertation Content by Section. The dissertation will evaluate students’ academic skills (research, evaluation of primary and secondary data, drawing of conclusions from research) and transferable skills (time management, project management, organisation, written communication, presentation, and problem solving). For details on the assessment criteria, refer to Appendix III for the Dissertation Marking Scheme. Note: • The use of Generative AI tools for content creation is prohibited for the dissertation. • All submitted work is subject to the university’s rules and procedures regarding the infringement of assessment regulations. 1. Length: The maximum length of the dissertation is 10,000 words. The word count only includes the main body of text described above, i.e., it does not include: • Coursework Coversheet • Title Page and Table of Contents Page • Acknowledgement (if applicable) • List of tables, list of figures and list of abbreviations • Tables and Figures • Reference lists/Bibliography • Footnotes and Appendices - provided these have been used only when necessary. If footnotes or appendices are used excessively, or contain material that should clearly be included in the main body of the dissertation, it is at the markers’ discretion to include these in the word count. 2. Coursework Cover Sheet: A cover sheet must be included at the beginning of your dissertation. The cover sheet should have the following format. The template is available on LMO under the "Other Important Resources" section of the module page. 3. Title Page: The dissertation report must have a title page with lettering of font Times New Roman size 16 in black. The title page should have the following format. The template is available on LMO under the "Other Important Resources" section of the module page. Title of the Thesis By Student’s Name Student ID number Supervisor: Name of supervisor A Dissertation Submitted in Partial Fulfillment of the Requirements for the Name of the Degree to Date of Submission 4. In order of Appearance: • Coursework Coversheet • Title Page • Abstract • Acknowledgment (optional) • Table of Contents • List of Tables (if any) • List of Figures (if any) • List of Abbreviations (if any) • Main Body of Text • References/Bibliography • Appendices (if any) 5. Abstract: Each dissertation must be accompanied by an abstract and a list of keywords. The abstract should be written in both English (no longer than 300 words) and Chinese. 6. Table of Contents: The table of contents must show chapter headings and page numbers. All separate sections of the thesis, such as abstract, bibliography, lists of abbreviations, appendices, etc., must also be identified on the contents page. 7. Headings: Chapters or major sections should be clearly numbered. Subsections should be numbered 1.1 (then 1.1.1, 1.1.2, ...), 1.2, etc. No more than three (3) levels of headings can be used. Each heading should be left-aligned and appear on its own separate line. Headings of chapters or major sections are in boldface, font size 14 and title case. Sub-headings appear like major headings, except they are in font size 12. Sub-sub-headings appear like sub-headings, except they are in italics and not boldface. See the example below: 1. Chapter/Section Heading 1.1. Subsection Heading 1.1.1. Sub-subsection Heading 8. Paragraph: Except for the first paragraph under a heading, indent each new paragraph by 1 cm. After a quotation or equation, when the text is the continuation of the text preceding the quotation or equation, the first line must be flush left; otherwise indent. 9. Font: The main body of the dissertation should be typed in letter quality using Times New Roman font size 12 and 1.5 line spacing. Long quotations (quotes of more than two full lines) should be indented by 1cm from each margin, single-spaced and in block quotations. No quotation marks should be used. 10. Paper Size and Margin: A4 size paper should be used as the word processing template, with 1 inch (2.54 cm) in top, bottom, left and right margins. 11. Page Number: Page number should be in Arabic numerals and runs consecutively throughout the body of the dissertation. This also includes pages containing Bibliography, and Appendices. For the preliminaries (preface, acknowledgements, table of contents, list of tables, list of figures, etc.), page number should be in Roman lower-case numerals. 12. Footnote: Footnotes should be inserted at the foot of the relevant page in single line spacing. Smaller type may be used, if available. A line should be ruled between footnotes and the text. Footnotes should be numbered consecutively throughout the thesis. The reference number for the footnote in the body of the text is a superscript. numeral, not enclosed in parentheses. 13. Figures and Tables: • Figures and tables should be numbered consecutively and appear immediately following the text as the first point of reference. • Each table or figure is to be identified with the word “Table” or “Figure” and its number. All figures and tables should be referred with their numbers in the main text where appropriate. • Tables and maps should have titles or captions at the top and figures should have titles or captions at the bottom. • A list ofall tables and a separate list of all figures, identifying each by name, number, and page must be included in the preliminaries (prefatory pages). • Avoid using any screenshots to present original results in the assessment. Inappropriate snapshots may lead to certain marks deduction.
Course Project Course CSI2132 Databases I Academic year 2024-25 Semester Winter Groups of 1-3 students may submit common project deliverables e-Hotels Five of the most well-known hotel chains, with hotels in more than 14 different locations in North America, have decided to collaborate and develop an application that will allow their customers to easily book rooms in their hotels, seeing room availability in real time. You are requested to develop the database and the application that allows the above. For every hotel chain we need to know the address of its central offices, the number of its hotels, contact email addresses and phone numbers. The hotels of hotel chains are categorized (e.g. 1-star up to 5-star). For each hotel we need to know the number of rooms, the address of the hotel and contact email and phone numbers for this hotel. For the rooms in a hotel, we need to know their price, all amenities (e.g. TV, air condition, fridge etc), the capacity of the room (e.g. single, double etc), if they have sea view or mountain view, if they can be extended (e.g. adding one more bed) and if there are any problems/damages in the room. For customers we need to store their full name, address and a type of ID, e.g. SSN/SIN/driving licence, the date of their registration into our system. For employees of the hotels, we need to store their full name, address and SSN/SIN. The employees may have various roles/positions in a hotel. Every hotel needs to have a manager. The customers can search for and book rooms through the online application for specific dates. When they check-in the hotel, their room booking is transformed to renting and they can also pay for this renting. The employee that does the check-in for a customer is responsible for transforming the room booking to renting. A customer may present physically at a hotel without a booking and directly ask for a room. In this case the employee at the hotel can do the renting of the room right away without prior booking. We need to store in the database the history of both bookings and rentings (archives), but we do not need to store the history of payments. Information about an old (archived) room booking/renting must exist in the database, even if information about the room itself or the customer does not exist in the database anymore. We should be able to delete from our database hotel chains, hotels and rooms. We cannot have in the database information about a room without having in the database the information about the corresponding hotel (i.e. the hotel in which the room belongs too). In the same way, we cannot have in the database information about a hotel without having in the database the information about the corresponding hotel chain (i.e. the hotel chain in which the hotel belongs too). You are requested to do the following: 1a. (10%) ER diagram: Create the ER diagram that corresponds to the above description. 1b. (8%) Relational database schema: Create the relational database schema that corresponds to your ER diagram. 1c. (7%) Integrity constraints: Define the necessary constraints that will ensure the correctness of the database to be created according to your relational database schema. These are primary keys, referential integrity constraints, domain and attribute constraints and user-defined constraints. Be inventive with the definition of user-defined constraints. 2a. (10%) Database implementation: Implement the database according to your relational database schema and the constraints that you have defined. 2b. (5%) Database population: Insert in your database data for each one of the 5 hotel chains. Each one of them has at least 8 hotels, which belong to at least 3 categories. Two of the hotels at least should be in the same area. Each hotel should have at least 5 rooms of different capacity. Populate your database with enough data to be able to showcase the execution of queries/triggers/views. 2c. (10%) Database queries: Implement at least 4 queries of your choice on your database. Implement at least 1 query with aggregation and at least 1 with a nested query. 2d. (10%) Database modifications: Create the necessary SQL modifications (use queries and especially triggers): Your database should allow insert, delete and update operations of data in your database according to the referential integrity constraints, and moreover, to the user-defined constraints, which you have defined. Implement at least 2 triggers of your choice for this purpose. 2e. (5%) Database indexes: Implement at least 3 indexes on the relations of your database and justify why you have chosen these indexes: explain what type of queries and data updates you are expecting on your database and how these indexes are useful to accelerate querying of the database. 2f. (5%) Database views: Implement 2 views. View 1: the first view is the number of available rooms per area. View 2: the second view is the aggregated capacity of all the rooms of a specific hotel. You are welcome to implement more views of your choice. 2g. (30%) Web application: Design and implement an appropriate User Interface, through which a user will be able to see the available rooms by giving different, multiple and combinations of criteria in order to choose the room that he/she is interested in and book it or rent it. These criteria should be: the dates (start, end) of booking or renting, the room capacity, the area, the hotel chain, the category of the hotel, the total number of rooms in the hotel, the price of the rooms. The user should be able to see the available choices when he/she changes the value of any of these criteria. The User Interface should allow the insert/delete/update of all information related to customers, employees, hotels and rooms. The user can be either a customer (who will use the interface in order to search for rooms and do bookings) or a hotel employee (who will use the interface to either turn a booking to renting when a customer checks in the hotel, or do directly a renting when a customer presents physically to the hotel). An employee should be able to insert a customer payment for a renting through the interface. The user should be able to see in the User Interface the two specific SQL Views implemented in (2f). The User Interface should be user friendly, meaning that the user is not required to know SQL. All information should be presented to the user through appropriately designed forms. You should use appropriate elements, like drop-down lists, radio buttons etc. Note: If you decide not to implement the User Interface as described above, but you implement directly on the DBMS the described modifications and queries, you will still receive 40% of the grade of this requirement, i.e. 12% of the total grade of the project instead of 30%. For the development of your application we suggest that you use the following: PostgreSQL/MySQL for the implementation of the database, Apache Tomcat for client-server communication, PHP or Java for the server side of the application and HTML for the client side of the application. Nevertheless, you are allowed to choose other technologies, too. DELIVERABLES 1st Deliverable Please submit a report that includes your answers to requirements 1-3 of the above list. Thus, your report should include the following: 1. The ER diagram. Please include a brief justification. 2. The relational database schema. Please include a brief justification. 3. The constraints that you have defined. Please include a brief justification for each constraint. 2nd Deliverable Please submit a .zip file that includes the following: 1. A report that includes the following: a. The DBMS and the programming languages that you have used in your implementation of the application. b. Specific steps to guide someone to install your applications c. A list with the DDLs that create your database 2. Your SQL code that supports all the functionalities in your application 3. All the code that is necessary for running your application 4. A video presenting your project. Details for the creation and the content of the video are given in the following. 5. A pdf file with Table 1 filled in (shown at the end of this document). Video presentation Create a video file .mp4 that is not more than 30MB and the time length ofit is around 10 minutes and at most 15 minutes. You can use any software you want in order to create the video. The video should record your screen and your voice while you are presenting and describing your project. In the video you are asked to give the following information in the following order: 1. Mention the software technologies that you have used for the creation of your project. 2. Show briefly the relational database schema you have implemented and comment on any differences of this schema and the one you have submitted as part of Deliverable 1. 3. Comment briefly on the major integrity constraints that you have implemented. Justify their choices and show the respective SQL code. 4. Show and describe briefly the data with which you have populated your database. For example, mention how you created the data and what is the size in number of rows per major relation. 5. Show the execution of some SQL queries on your database. 6. Show the execution of some modifications on your database which fire a trigger. Show the SQL code of the trigger and explain how it implements a specific user-defined constraint. 7. Show the SQL code and comment on the indexes you have implemented on your database. 8. Show the SQL code and comment on the views you have implemented on your database. 9. Show the User Interface you have implemented. Show briefly some of the functionalities of the interface: e.g. you can show the insertion/deletion/update of data, you can show the customer and the employee view and explain how they differ. Furthermore, show how a new booking or renting is made, and show how a booking is transformed to a renting when the customer checks in. Please fill in the following table with a start timestamp in your video for every one of the above requirements. If you have not implemented one of the requirements, note this in the start timestamp column with the text ‘not implemented’. Table 1 Contents of the video Requirement Start timestamp 1 2 3 4 5 6 7 8 9
CSEC5616 — S1 2025 Assignment - 1 This is an individual assignment. This assignment worths 10% of the final marks of the course. It covers Weeks 1-3 (inclusive). Submit your final report as a PDF and codes as a zip file in Canvas. In Canvas, under Assignment 1, you will find two links to submit your report and code separately. You should explain any details of how to run your code in the report. Please read the below instructions carefully. *** IMPORTANT *** 1) Note the answer release date: Please note the answer release date mentioned below. Any submission after that will get zero marks, instead of a late penalty. 2) Typeset reports only: We accept only typeset answers. Any hand written answers will get zero marks. This is because we can’t do plagiarism checks for hand written answers. 3) DO NOT repeat questions in the report: Simply include the question number and your answer only. If you include question text in your answer sheet, your TurnItIn score will be high and there will be additional checks. This will cause a delay in releasing your marks. We will also impose a penalty of 10% of the total marks. 3) Cite your sources: If you are referring to any internet sources include them as citations. We do not expect any specific citation style. You are free to select a style. you think as appropriate. As mentioned in class announcements you are free to use GenAI. If you do do, make declaration in the report. *** SUBMISSION *** Final Report & Code: Due by Week 5, Sunday the 30th of March, 2025 11:59 PM Simple Extensions: For this assignment, you can apply for simple extensions following the university process. If your request is approved, the revised deadline will be 4th of April, 2025 11:59 PM. Please note that you have do it yourself and no need to contact the unit of study co-ordinator for this. We will get an automatic email from the system if your request was approved. Also note that, this system is not connected with Canvas, therefore it is normal for you the see the old deadline in Canvas, even if your simple extension was approved. Answer release: The answers to this assignment will be automatically released on the 7th of April 00:00 AM. Any submissions after that will get zero marks. If you have a legitimate reason that requires an extension beyond that you will need to go through the university special considerations process. If approved, what you will be grant is a mark adjustment not an extension. 1 Fundamental of Security Engineering (20 marks) a) Security Goals (10 marks) Analyse the following real-world IT-related incidents and data breaches where specific security goals were compromised. For each scenario, identify the compromised security goal (e.g., Confidentiality, Data/Message Integrity, Authenticity, Authorisation, Accountability, Non-repudiation, Deniability, Availability, Privacy) and explain how the incident compromised that goal. You will have to do your research by referring to various news articles and incident reports to understand what happened in each incident. We have given some sample links to get you started but feel free to investigate more and understand what happened in each incident. Most of the questions will have more than one correct answer, depending on how you look at them. We will accept them if your explanation is correct and related to the incident. However, you should only pick one, i.e. one you think as most appropriate, and explain it. Attempts to list multiple answers will result in zero marks. Provide clear and concise explanations for each scenario, as shown in the example. Example 1 - CrowdStrike Falcon update failure 2024 - Link Compromised Security goal: Availability Explanation: Windows machines with the CrowdStrike Falcon Sensor installed went into the boot loop with BSOD (Blue Screen of Death), making them unusable and compromising availability. Example 2 - Optus data breach 2022 - Link Compromised Security goal: Confidentially Explanation: Personal information of the Optus customers, such as driver’s licence number, passport number, and address, was harvested by an attacker using an unauthenticated API endpoint. Optus was in breach of keeping their customer’s data confidential. Here, arguments can be made for security goals such as authorisation and privacy - but they are secondary to confidentiality. 2 marks for each. 1 mark for correctly naming the security goal and one mark for the explanation. i MOVEit Breach, 2023 Link ii Okta Support System Breach, 2023 Link 1, Link 2 iii MGM Resorts Cyberattack, 2023 Link 1 Link 2 iv Medibank Breach, 2022 Link 1 Link 2 v SolarWinds Supply Chain Attack, 2020, Link. b) Security Design Principles (10 marks) Each of the following descriptions relates to one of the fundamental security design principles we discussed in class. In some cases, the situation illustrates the application of a fundamental security design principle; in others, it shows where a principle has been violated. For each scenario, name and briefly explain the corresponding fundamental security design principle. In some cases there will be more than one acceptable answer. We will accept them depending on your explanation. However, you should only pick one, i.e., the one you think as most appropriate and explain it. Attempts to list multiple answers will result in zero marks. (2 marks for each) i Kerckhoffs’s principle states that all details of a crypto system should be made public except for the key. By doing this, many can understand and even attempt to compromise the crypto system, identifying any associated vulnerabilities. Making system information public doesn’t weaken the crypto system. Every instance of the crypto system’s use will employ different secure keys, which an attacker can not guess or brute-force efficiently. .......................................................................... ii Sam is building a secure network protocol for his company. The company has many different servers and computers with different operating systems and hardware capabilities. Sam’s protocol works like this. During the connection establishment phase the sender and the receiver exchange the encryption schemes and key sizes they support. If there are common schemes, the sender choses the highest commonly supported version the highest possible key size. If there are no common encryption schemes the protocol goes in the to the default mode of communication, which is the non-encrypted communication. .......................................................................... iii Many modern enterprise networks use network segmentation for better security. Publicly accessible servers such as webservers and mail servers are placed in a Demilitarised Zone (DMZ) while the highly valued servers such as finance, payroll, and HR are in subnetworks that are not publicly accessible. .......................................................................... iv As an IT manager in the University, Adam has realised that many employees are reluctant to update their operating systems to the latest version. The main reason they highlight is that after operating system updates, some of the software employees use stop working and they have to uninstall and reinstall them. And some of the software configurations are lost and the employees have to reconfigure them. As a result many of the employees spends hours and hours trying to make their computer work properly after updates, and therefore, generally don’t want to update their operating systems at all. .......................................................................... v Mobile apps in operating systems such as Android and iOS run in sandboxes. They have privileges granted by the users, but nothing more than that. For example, they are not allowed to access any of the operating system files. .......................................................................... 2 Social Engineering (20 marks) Mark is a senior IT administrator at a multinational tech company with strict security protocols. One afternoon, he receives a call from someone identifying themselves as Linda from “Global Cyber Audits,” a third-party vendor the company has worked with periodically for compliance checks. The call seems casual, and Linda references an upcoming audit that aligns with a recurring schedule Mark is familiar with. Though he hasn’t interacted he also does remember a name Linda from “Global Cyber Audits” last time. Linda: Hi Mark, this is Linda from Global Cyber Audits. How are you doing today? We’re getting ready for the compliance audit next week – it’s the usual routine. I wanted to confirm a few firewall settings we’ll need for the network tests. Mark: Oh, sure. I remember the audit usually happens around this time. What do you need to know? Linda: Appreciate it. Nothing major, just need to make sure I can access the firewall logs during the tests. Could you remind me of the VPN gateway address? I misplaced the note from last time. Mark: Hmm, let me check. But I thought access was handled by Greg or IT security? Linda: You’re right – Greg mentioned that in the last audit. I think he’s swamped right now, and this is more of a pre-check. I just need to make sure my login isn’t blocked by the firewall filters. If it’s easier, you can email it to me after this call. No rush. Mark: I see. I’ll check and get back to you. Linda: Thanks, Mark. One small thing – during the audit window, could you keep MFA off for the firewall admin account? Last time it blocked me halfway through testing, and Greg said it was fine to bypass temporarily. Mark: I’ll have to double-check, but that sounds reasonable if it’s limited to the test window. Linda: Perfect. I appreciate it, Mark. Let me know if you need anything in writing. I’ll loop back with Greg if needed. A week later Mark’s company found that a massive amount of sensitive data has been exfiltrated from them. Though, Mark didn’t give any information to Linda, someone else seem to have done it. i Identify two psychological biases Linda exploited during this interaction. Explain your answers. (4 marks) ii Describe two red flags, that are different from your answers to i), that indicate this could be a social engineering attempt, despite the casual tone? (4 marks) iii Linda seems to know quite a lot about Mark’s company. Explain how is that possible. (4 marks) iv How could Mark have handled Linda’s requests in a way that adheres to security best practices without compromising workflow? (4 marks) v Describe two procedural safeguards should be in place to ensure that temporary security changes, like disabling MFA, are properly vetted? (4 marks) 3 Social Engineering in Practice (20 marks) You are a given a X (formerly Twitter) profile of a fictitious person. https://x.com/EmilyB62363 Your task is to conduct some reconnaissance on the profile and guess the password used by this subject to zip a file. Write a Python program that takes keyword list as the input create a list of possible word combinations that may be used by this subject as a password. For example, if you find possible keywords to be “blue”, “car”, the Python program should be able to generate a list like and programmatically try to unzip the given file by entering generated passwords. blue car blueblue bluecar carblue carcar Hint: The correct password contains lower case letters, digits, and a special character. The length of the password is less than 20 characters. Include any details of how to run your code and the contents of the unzipped file in the PDF report and submit your code in the code submission link given in Canvas. 4 Access Control (20 marks) a) Basics i Access control is often categorised into two general forms (which we called two ends of a spectrum). What are they, and how are they different from each other? (2 marks) ii Which form. of access control, from the options above, do cloud-based storage solutions like Google Drive or Microsoft OneDrive use? Explain your answer. (2 marks) iii Modern CPUs have support for access control. Explain two key ideas of the common x86 architecture. (2 marks) iv In class, we learned about role-based access control (RBAC) and discussed its primary use in databases. However, there are other forms of access control. Conduct your own research on the following access control methods and explain them briefly (3-5 sentences each). For each method, provide an application case where it might be useful. (6 marks) a Rule-based access control b Attribute-based access control c Break-glass access control b) Security Policy Models Table 1 and Table 2 show mappings between users and clearances, and between required clearances and objects, respectively. The clearance level increases as Basic, Internal, Confidential, Secret and Top Secret, in increasing level of security. Only these mappings are defined; no other rule sets exist. Explain if the following statements are right or wrong, and explain why. i “In a Bell LaPadula model, Sarah can read the file financial_report.txt.” (2 marks) ii “In a Biba model, Michael can edit company_memo.txt.” (2 marks) iii “In a Bell LaPadula model, Thomas can help John access strategic_plan.txt by writing its content to company_memo.txt.” (2 marks) iv “In a Biba model, Emma can modify strategic_plan.txt.” (2 marks) User Clearance John Basic Sarah Internal Michael Confidential Emma Secret Thomas Top Secret Table 1: User Clearance Levels Object Required Clearance company_memo.txt Internal financial_report.txt Confidential research_proposal.txt Secret strategic_plan.txt Top Secret Table 2: Object Clearance Requirements 5 Linux Access Control (20 marks) Below questions are associated with the provided Azure VM. a) Basic Access Control Below questions can be answers by Linux One liners. Provide the answer to each question and include the command you used. Make sure that you include the command as letters/characters in the report (than screenshots/images), so that the markers can copy/paste command and check whether it is working. i What is the User ID (UID) of the user sheppard. (1 mark) ii What is the Group ID (GID) of the group athosians. (1 mark) iii Find which group(s) the user carter belongs to. (1 mark) iv Find all the users in the group humans. (1 mark) v Does the user ronan have sudo access? There are multiple ways to do this. Answers requiring more than one command is also accepted. (1 mark) vi Does the user carter have sudo access? There are multiple ways to do this. Answers requiring more than one command is also accepted. (1 mark) b) File Permissions For i-iii, use the linux find command with correct options and make sure that you command do not generate any permission denied messages or other error messages. Include the commands you used in your answer. You must include the full paths of the files. i Find all the non hidden files owned by user tela. (1 mark) ii Find all the files owned by tela and associated with the group ancients. (1 mark) iii Locate a file owned by mckay. Can carter write to this file? Can ladon write to this file? Explain your answer. (3 marks) iv In user kolya’s home directory, you will find a file named secret_script.sh. Can the user ladon execute this file? Can the user todd execute this file? Explain your answer. (2 marks) v In above iv) note that the permission string for others is ‘r-x’. Will your answers to iv) change if you change the others permission to ‘–x’. Explain. (2 marks) c) SUID Bit i Find all the files own by root and having the group as humans. Similar to above, your command must not generate any permission denied messages or other error messages. (1 marks) ii The search in i) will return two files. Explain the difference in permission strings of these two files. (2 marks) iii Explain and demonstrate how the permission setting in one of the files can create a security vulnerability. (Hint: You will have to run the files and use the whoami command.) (2 marks)