COMP9120 Database Management Systems Assignment 1: Conceptual Modelling & Logical DB Design Group assignment (16%) Introduction The purpose of this assignment is to provide you with experience in conceptual and relational database modelling. You are given a domain description for the Central Sydney Hospital. There are 2 high level tasks in this assignment: • Create an Entity Relationship Diagram (ERD) that captures the business concepts and requirements conveyed in this description, • Translate your ER diagram into a logical database design including relational database schema creation, key constraints and integrity constraints. This is a group assignment for teams of 3 people per group. You must be enrolled in an assignment group on Canvas. You must inform. the unit coordinator if you have not formed a group by the end of Week 3. Please also keep an eye on your email and Ed for any announcements or posts that maybe made. Submission Details The submission of your solution is due at 11:59pm on Sunday 08/09/2024 (Week 6). You must submit the items for submission (detailed below) via Canvas. Items for submission Please submit your solution to Assignment 1, in the ’Assignment’ section of the unit’s Canvas site by the deadline, including the following four files: 1. Firstly, you should submit an assignment coversheet as a PDF document (.pdf file suffix) which is available for download fromthis linkon Canvas. 2. Secondly, you are required to submit your conceptual model in the form of an E-R diagram using the lecture notation, formatted as a PDF document (.pdf file suffix). Please justify your choices for entity types, relationship types, attributes, primary keys, constraints and design specialities. 3. Thirdly, you should submit an SQL file (.sql file suffix) containing all DDL statements necessary to fully instantiate a working database based upon your ER diagram, and DML statements to populate each relation. Your file should run without errors in PostgreSQL 16.2. You can annotate your statements using ‘ --‘ at the start of lines for comment. You should group your statements for ease of reading (e.g. by keeping all table constraints within the relevant CREATE TABLE statement rather than declaring them externally, if possible). 4. Lastly, you should submit another pdf document (.pdf file suffix) including the Relational Model (RM) diagram that provides a visual model of your database schema. The following figure summarises the syntax you must use for the RM diagram: Domain Description The Central Sydney Hospital (CSH), one of Australia’s leading hospitals, embarked on a major development of an information systems to deliver improved healthcare facilities and services to their patients. The CSH encompasses four main departments: general, emergency department (ED), pediatrics, and surgery. Each department is identified by a unique name and may have different daily operating hours. The general department operating hours are 10am to 8pm daily, whilst the emergency department is open 24 hours a day. A department may include wards which are either general or specialised Intensive Care Units (ICUs), where each wardiscomposed of one or more beds. Different beds have distinctive comfort levels, dimensions (length and width), and mattress thickness, and hence have a different “bed cost” associated with it. The CSH has a pediatrics department that includes state-of-the-art wards and ICU, and five operating theatres in addition to the seven within the surgery department. The staff allocation and headcount within a department must be tracked to assist with future staffing requirements. Staff working for the CSH must have their full name, mobile, address, and salary recorded. A staff can be either a doctor, nurse, or other allied health staff such as dietitian, interpreter, etc. A doctor must be qualified in at least one medical specialty but not more than five. The related training date and level of proficiency must be kept to maintain compliance. Some nurses working with children must have a Working with Children Check (WWCC) as a clearance. The clearance check is valid for three years and the CSH monitors the validity to ensure compliance. All patients treated at the CSH must register their personal information including full name, email, address, dateofbirth, mobile, emergency contact name and phone, and an insurance number. In the case of the emergency, upon arrival, a triage nurse assesses the patient’s conditions to prioritise treatment based on severity. Patients may also enter through other departments for a planned admission. They enter through the ED due to urgent care or critical conditions. Other details such as the admission date and time, nurse, and CSH doctor involved should also be recorded. For a planned admission, patients must specify the referring health practitioner, and a unique reference number provided by the referring practitioner. For an emergency admission, no information about a referring partitioner is required. Once a patient is discharged on a date, a billing statement is generated describing the services provided, total cost, amount covered by insurance, and remaining balance owed by the patient. The patient receives an invoice for the amount owing, which can only be paid through credit cards. The credit card details used for paying the owing balance must be recorded for accounting and reporting. These include the credit card number, expiry date, cardholder name, and card verification value (CVV). Additional details In addition to the model captured through your ER diagram, the following details apply: 1. Fields in a tuple related to dates and/or times should always have values. 2. The length and width of a bed should always have values greater than zero, but not exceed 2.13 m and 1.27 m respectively. The mattress thickness should always have a value between 15.24 cm and 17.78 cm. 3. All attributes in a tuple relating to details about a name should always have values. 4. The staff’s salary should always be greater than nil. 5. Patients must have a specified email address. 6. A bill should always have a total cost of greater than nil, but not exceed $50000. 7. The owing balance and amount covered by insurance should not be a negative value. Task 1: Entity Relationship Diagram (ERD) In your first task, assume that the CSH has recruited you as a database designer to develop a conceptual model, described inan ER diagram, to represent the database design of their healthcare information system. Task 2: Relational Database Design & Modelling Your second task is to design and create a relational database schema based on the Entity Relationship Diagram (ERD) modelled from the first task. In particular, your solution should include: • A Relational Model mapping of the ERD which describes the tables and attributes with appropriate data types to capture all information in the model (please use the same names as in your ER diagram for naming tables and attributes); • Creation of the database schema using PostgreSQL which include the appropriate PRIMARY KEY, UNIQUE, FOREIGN KEY constraints for all tables; • Correct foreign key specifications including ON DELETE clauses where suitable; • Appropriate additional integrity constraints expressed by means of NOT NULL or CHECK clauses; • INSERT statements to populate each relation with at least one record, to demonstrate a database instance consistent with the ER model. Escaping PostgreSQL keywords in DDL If you need to escape PostgreSQL keywords like “Table”, you will need to use double quotes. e.g. CREATE TABLE “Table” (…); Q&A Q: How to draw the link from foreign key in a table to its referenced candidate key in another table if the foreign key contains more than one attributes? A: You should draw it in the same way to the following RM diagram (specifically, see the Sell table). You can use any of the available tools such asdraw.io, Visio,Lucidchart, Excalidraw, etc. to draw your diagram. Marking This assignment is worth 16% of your final grade for the unit of study. Your group’s submission will be marked according to the attached rubric (see last section of this assignment description). Group member participation If members of your group do not contribute sufficiently, you should alert the unit coordinator as soon as possible. The course instructor has the discretion to scale the group’s mark for each member as follows: Percentage of contribution Proportion of final grade received < 5% contribution 0% 5 - 10% contribution 20% 11 - 15% contribution 40% 16 - 20% contribution 50% 21 - 24% contribution 60% 25 - 28% contribution 80% 29 - 30% contribution 90% > 30% contribution 100% Note: The above table assumes that each group will have 3 members, so, on average, around 33% contribution is expected from each member of the group. In special case, if a group has less than 3 members then the contribution percentage will be adjusted accordingly. You must justify your contribution percentage by providing a detailed explanation of your individual contribution on the assignment coversheet mentioned before. You must also regularly record and maintain a diary of your group meetings and discussions on Canvas. Furthermore, we may run random face- to-face interviews to understand and justify your contribution, if needed.
CE 574: Construction Means & Methods Final Exam Project Execution Plan Team Presentation: 12/17, 4:30 PM via Zoom SECTION 1.0 - PROJECT INFORMATION This section of the Project Execution Plan is intended to provide the basic pertinent project information. Project Information Name: Address: Team Members: Project Details: Provide a brief description of the project scope and size including but not limited to Product type, Gross SF, Lot size, Building footprint, number of stories, number of units (if applicable), number of parking stalls, etc. SECTION 2.0 - SITE ANALYSIS This section of the Project Execution Plan addresses specific site restrictions and challenges for the project site and its surrounding areas. A Site Logistics Plan along with a narrative should be included as part of this section. The Logistics Plan and/or narrative should address the following items at a minimum Site Constraints & Neighboring Properties: Illustrate and discuss the proposed site access plan and identify any site constraints on-site and/or at surrounding properties. Examples of site conditions/constraints may include power lines, easements, and adjacent structures. Traffic Plan/Street Closures: The Site Logistics Plan to be submitted as part of this plan should identify site access, traffic restrictions, and proposed street and sidewalk closures. Discuss the traffic closure strategy and potential costs associated with the closures. Identify sidewalk protection, fencing, K-rail, and overhead canopy requirements. Haul Route: Prior to the award of the grading scope of work, identify if a haul route is required for the project. Verify if the project falls under the hillside requirements for haul routes, and haul route approvals. Hoisting Strategy: Prepare a hoisting plan that identifies a hoisting strategy for the entire project. Include a logistics plan of the tower crane layout and elevations. Include one crane assist plan for erection and dismantle of one tower crane – assume a 500-ton mobile crane will do the job. SECTION 3.1 - CONCRETE LOGISTICS This section of the Project Execution Plan addresses the specific project site related challenges and the Team’s overall management approach to the project. The plan should breakdown the scope of work by concrete work areas and address the following: Concrete Pours Breakdown & Sequence: For Building 2 only, provide floor plans with pour breaks, construction joints, SF and CY per pour, deck cycles if applicable, etc. Should present a clear sequence of how the concrete work will be executed including an explanation of the constraints and reasons for the sequencing. The pour sequencing plans should include decks only. Concrete Deck Formwork Sequence: For Buildings 1, 2, 5, 6, and 7, identify how the deck formwork system will be cycled throughout this half of the project. Assuming $0.70/sf for deck formwork rental and $0.20/sf for deck reshoring rental (three floors of reshoring required at all “wet deck” shoring), estimate the total rental cost for deck formwork and reshoring. SECTION 3.2 – STRUCTURAL STEEL LOGISTICS The plan should breakdown the scope of work by steel work areas and address the following: Structural Steel Building Areas & Sequence: Identify in plan the structural steel to be erected. Discuss hoisting concerns, access, and how these areas will be sequenced with the concrete structure. Your explanation should include highlighted areas of steel vs. concrete with schedule dates clearly identified and tying back to overall project schedule, ensuring the workforce is kept safe at all times. SECTION 4.0 - PROJECT SCHEDULE & SEQUENCING PLAN This section of the Project Execution Plan addresses the project schedule and sequencing plan for the project. The intent of the schedule plan is to identify critical project milestones and identify the potential time driven risks that can potentially impact the efficient completion of the work. The subject plan should convey the Team’s plan for sequence and flow of the work to allow for coordination of all the trades and manpower management of self- performed labor. Building Turnover Plan. Complete a sequencing map to illustrate the start and finish dates of each building. Be sure to take into consideration the use of the building and your expectation of when the client will need to occupy the building. Use any of the following sheets to complete this exercise: A1.01, A1.02, A1.09. Schedule. The Project Team shall prepare and submit Schedule identifying sequence, workflow and duration of critical work activities. The Schedule must illustrate the conceptualized critical path for the work and identify key milestone activities and dates for the project. The Schedule must provide sufficient detail appropriate to the size and complexity of the project. SECTION 5.0 - INNOVATION STRATEGY This section of the Project Execution Plan outlines the Team’s innovation strategy for the project. Innovation Narrative. As part of this section include a brief narrative outlining the Team’s goal of implementing a new technology to assist in construction means and methods. Describe the problem you are solving and quantify the expected cost savings or risk management advantage associated to the innovation. List one KPI that you will use to quantifiably measure success.
CIVE70086 Coursework Inverse modelling for building retrofit You have started work for engineers that specialise in retrofitting existing buildings to improve their environmental and energy performance. As part of your first project you have been given remote access to a building and can con-trol the total heat input to several spaces. You also have access to measurements from several temperature sensors. Unfortunately, you do not know anything about the properties of the building itself and have therefore been asked to solve the inverse problem of reconstructing a model of the building based on the available observations. Submission You should submit a digital copy of your report to Blackboard by 10:00 am Thursday December 12. The main report must not exceed four A4 sides in length, including diagrams, but can refer to supplementary material in appendices. The report should comprise summaries of: 1. The various load combinations used to test the building. 2. A single inferred model of the building. 3. A recommendation for how to retrofit the building to improve its environmental and energy performance. The inferred model should consist of some or all of the following: • The building topology and its connections with the exterior. • The volume of individual spaces within the building. • The sizes of the openings in the building. • The thermal conductivity of internal/external walls and roofs of the building. Further details Material for the coursework can be downloaded from Blackboard. In place of measurements from a real building, you will use the ex-ecutable simulate_*.exe, which is a binary that has been compiled from Matlab code to simulate a building. Input to the program consists of a text file named input.txt, which must exist in the di-rectory from which simulate_*.exe is executed. Output from the program consists of a text file named output.txt. The input data consist of the ambient temperature T0(n) and three heat loads f1(n), f2(n), f3(n) at each time step n. The heat loads include the heat generated by occupants, such that f1 + f2 + f3 represents the total heat input to the building from con-trolled heating/cooling, appliances and occupancy, but does not include heat transfer across the building’s envelope. You can change all of the inputs, including the duration of the simulation, by editing and running createinput.m in the same directory as simulate_*.exe. The input and output data can be read using the functions readinput.m and readoutput.m as demonstrated in main.m. The hidden properties of the building are randomly assigned us-ing a seed generated from your email address. It is therefore impor-tant that you assign your full email address to id in createinput.m to enable your work to be fairly assessed. >> type createinput.m % CREATEINPUT for creating temperature % and heat inputs % Enter your full email address for seeding id = '[email protected]'; % Time step dt = 1 * 60; % Select total number of hours hours = 3; n = floor( (hours * 3600) / dt ); t = linspace(0, hours, n+1); % Environment temperature T0 = zeros(1, n+1); f1 = 2000 * ones(1, n+1); f2 = 0 * ones(1, n+1); f3 = 0 * ones(1, n+1); writeinput(dt, T0, f1, f2, f3, id, 'input') Figure 1: createinput.m Although chosen randomly, the U-values and opening areas that are assigned to each surface and opening of the building belong to finite sets of possible values. Three bulk U-values are assigned to the building: • one for the external walls (including windows) (Ue), • one for the internal partitions/walls/floors (Up), • one for the roof surfaces (Ur), such that Ue , Up, Ur ∈ {1.0, 2.0, 3.0, 4.0}, in Wm−2 K −1 and areas ai (which include a discharge coefficient) are assigned to each of the openings: ai ∈ {0.1, 0.2}, i = 1, 2, . . . in m2 . Background Inverse problems play a prominent role in engineering, where one is often faced with a system whose latent properties or inputs are unknown and must be inferred from observation. Examples can be found in the fields of geophysics, acoustics, oceanography, medical imaging and are closely related to questions concerning design, control and optimisation. Figure 2: Forward problem y = G(x) in which the function f and input x are known and the output y is unknown (the network representing G is shown for illustrative purposes only). Figure 3: Reverse or inverse problem y = G(x) in which the output y and the input x are known but the function G, representing the building, is unknown. Suggestions Inverse problems are difficult, if not impossible, to solve exactly and uniquely. It is therefore important that you look for the sim-plest approximate solution to the problem using logical reasoning based on physics and the available data. To do so consider: • Simple input functions (uniform. heating, fixed environment). • Using simple hand calculations. • Starting with bulk models for the entire building. • Steady states. • The time scales associated with transients. Marking criteria Your report will be marked with respect to the following criteria: Presentation and clarity of exposition [20%] A challenging aspect of this coursework is that you need to decide the approach(es) that you will take to tackle the brief (just like prob-lems you’ll encounter in industry and/or research). After exploring several ideas and obtaining results, you will therefore need to think carefully about how to summarise your work effectively. A sim-ple and direct explanation that utilises the benefit of hindsight is likely to be more effective than a day-by-day historical account of everything that you did. Accuracy, precision and uncertainty of calculations [20%] Are your calculations correct? Were the correct formulae used to describe the processes? Is the level of precision you are using in calculations commensurable with the degree of uncertainty? Accuracy of inferred model [20%] How close is you inferred building model to the ‘actual’ building? In this regard, remember that we are looking for the simplest model that you can find (i.e. the one that invokes the fewest assumptions) Ingenuity and lateral thinking [20%] There are many different approaches that you could take to solv-ing this problem. Although we will give you lots of suggestions, we want you to try to develop your own approaches. How can you make best use of known physical laws to constrain your data-driven search for the optimal parameters? Retrofit recommendation [20%] Your recommendation for how to retrofit the building should be specific, rather than vague and general. Which particular aspect of the building’s environmental and energy performance would benefit most from improvement?
Final Project Proposal for ARTS 2610: Musical-Based Pixel Art Game Scene Project Title "Harmony Quest: A Pixel-Art Sound Adventure" Objective To create a musical-based pixel-art scene in Unity that demonstrates sound design principles and interactive audio elements covered in ARTS 2610. The focus is on crafting a visually and aurally engaging environment, with sound effects for character actions and environmental triggers. Project Description The project will consist of a single interactive pixel-art scene where a player character explores a small environment (e.g., aforest clearing). The emphasis will be on using sound as a core element of gameplay, covering: 1. **Character Movement Sounds**: - Footsteps: Different sound variations for walking on grass, wood, and stone. - Jump and landing sounds. 2. **Environment-Triggered Sounds**: - Birds chirping when the player approaches trees. - Rustling sounds when walking through tall grass. - Water sound effects near a stream or pond. 3. **Musical Interactions**: - A basic looping ambient track that shifts subtly based on player movement or interactions. - Simple musical cues triggered when interacting with objects (e.g., a treasure chest emits a harp sound upon opening). 4. **Dynamic Sound Design**: - Sounds adjusted for proximity using Unity’s audio spatialization features. - Volume and pitch changes for variety and depth. Tools and Techniques 1. **Unity**: - Game engine for creating the scene, integrating audio sources, and implementing interactivity. 2. **Audacity**: - Sound editing and processing tool to create and refine audio clips for footsteps, ambient noise, and musical effects. 3. **Pixel-Art Assets**: - Custom or free pixel-art assets to create a visually cohesive game scene. 4. **Unity Audio Features**: - Spatial audio to simulate 3D sound effects. - Looping background tracks using Unity’s Audio Mixer. 5. **Basic Interaction Scripting**: - C# scripts for triggering audio based on player proximity or actions. Key Course Concepts Covered 1. **Unity Audio Tools**: - Use of Unity’s Audio Source and Audio Mixer components. 2. **Audacity for Sound Editing**: - Creating and refining sound effects and music. 3. **Interactive Sound Design**: - Incorporating player-triggered and environmental audio. 4. **Pixel-Art Integration**: - Simple yet engaging visual style. aligned with game design principles.
HPS204 Social Psychology Assessment Task 1 (AT1): Research Proposal These assessment guidelines will help you complete AT1 and are split into three sections. 1. General Information. Overviews the general admin for this assessment (e.g., due date, word count, submission details, etc.). It also provides the learning objectives of this assessment. 2. Topic Information. Overviews the topic of this assessment and your required materials. 3. Completing Your Assessment. Brief instructions for what sections are required. 1: General Information Learning Objectives of the Assessment AT1 targets the following Unit Learning Objectives: Unit Learning Outcomes ULO1 Identify, describe, compare, and apply the major types of social psychological theories and concepts. ULO2 Recognise and characterise the evolutionary and cultural perspectives that inform. social psychology theory and research. ULO3 Evaluate and integrate the major social psychology theories, studies, and research methods. ULO4 Apply social psychology knowledge to generate hypotheses and solutions to everyday situations or problems. ULO5 Demonstrate effective communication in written form, including writing for coherence and reflecting on group processes in a team setting. Handy hint #1. We acknowledge there is a lot of written information to read and digest in these guidelines. For some, it will take a few goes reading this document to absorb all its information. But think of these guidelines as your one-stop-shop for AT1, as it has all the information you need to complete this assessment successfully. Although this table gives you a brief idea of what skills and content AT1 is trying to teach you, you are probably still wondering what this assessment is all about. Let us elaborate further. Overview One thing we hope you learn in this unit is that (social) psychology generates and maintains its knowledge via scientific methods. We generate research questions and conduct studies to help explain the social world. So, understanding how to read and interpret research findings, and learning how to generate studies, is an important part of the scientific processes we use in psychology. So, what is a research proposal then? A research proposal is a piece of scientific writing that provides an evidence-based justification/argument for a study before it is conducted. Why doI need write a research proposal? Research proposals are commonplace in psychology (and science), and those who write them include students, researchers, and psychologists. The skills that research proposals develop are essential to understanding and interpreting psychological content accurately and are essential to most jobs. These skills include idea generation, reviewing research, critical thinking, and succinct and clear writing. We know many students have never written a research proposal before, and so we do not expect you to knowhow to write one or even think of a study idea completely from scratch. Instead, we will give you a topic, relevant readings, and structured suggestions to help you generate a study idea (see 2: Topic Information). We will also guide you through how to develop and write a research proposal in our seminars (week 1, 3 and 5 seminars). 2: Topic Information Background Information One issue that has received growing attention in social psychology is climate change. Human behaviour contributes to climate change and modifying behaviour to be more sustainable (and therefore more prosocial) can mitigate the negative impacts of climate change. Yet unsustainable behaviour has continued to rise in several countries, including Australia (despite most Australians holding pro-climate attitudes). Therefore, social psychologists have tried to determine how best to increase different types of climate action (e.g. energy conservation, plant-based diets). This includes conducting correlational studies examining what variables or factors are associated with specific climate actions. Others have conducted experimental studies investigating what type of message is the most effective at increasing individual’s climate action intentions or behaviour. This is somewhat unsurprising as social psychology has long studied persuasive messages and their impact on attitudes and behaviours (see Topic 6 of the unit). Researchers initially assumed that providing individuals with facts about why they should modify their behaviour was enough to create desired change (referred to as an informational message). However, messages are often more effective if they go beyond facts and appeal to individuals’ emotions (referred to as an emotional appeal but also an ‘emotional message’ or ‘frame’). Emotional appeals area type of persuasive message where a certain emotion is induced by the content within the message in the hopes it will alter one’sattitudes and/or behaviour. These emotional appeals can either induce specific positive emotions (happiness, pride, empathy, hope) or negative emotions (fear, guilt, disgust, anger). Drawing upon this literature, social psychological research has now begun to investigate whether inducing specific emotions via persuasive messages, notably hope and/or anger, is an effective way to increase specific types of climate action (especially in the Australian context). The Study Idea As alluded to above, research is unclear whether an emotional appeal designed to induce hope and/or anger increases specific types of climate action. This is your research proposal topic. Please note: You are not allowed to choose your own topic. You must use this topic for AT1. Given this, you are required to present an argument that a study should be conducted to compare between two conditions (i.e., two persuasive messages) (A vs B) AND hypothesise which persuasive message will be more effective than the other in increasing a specific type of climate action. The climate action you choose to focus on as your dependent variable is up to you, but it must be a type of climate action (e.g., plant-based diet, use of renewable energy, etc.). So, what comparisons can you argue for? Depending on your reading of the literature, you must choose only one of the following comparisons (and their affiliated research question) to argue for: 1. (A) Hope VS (B) anger (is a hope appeal or an anger appeal more effective for increasing climate action?) 2. (A) Hope VS (B) acontrol message (is a hope appeal more effective for increasing climate action than a control message?) 3. (A) Anger appeal VS (B) acontrol message (is an anger appeal more effective for increasing climate action than a control message?) 4. (A) Hope and anger VS (B) acontrol message (are emotional appeals of hope and anger more effective for increasing climate action than a control message?) Handy hint #2. Do not decide which comparison you will pick to argue for until after you have reviewed the literature (at minimum read the set assignment readings – more on that below). This will ensure you pick the comparison that you can argue for the best. Handy hint #3. We will teach you how to develop written evidence-based arguments in your week 1, 3 and 5 seminars, and strongly encourage attendance (rather than just listening to the recording) for the best possible performance on this assessment. Generating your Aim and Hypothesis For this topic, you must generate and present only one aim and one hypothesis. The Study Aim Depending on your chosen comparison, you must insert (A) and (B) into the sentence below and then copy and paste this edited aim directly into your ‘Overview’ AND ‘The Current Study’ section in your research proposal. Edit this aim to ensure it makes logical sense with the comparison you have selected. You can also change the term ‘climate action’ to the specific climate action you have decided to focus on if you think this works better (but this is not necessary). The aim to use is: The aim of the current study is to compare how effective emotional appeals inducing (A) versus/or/and (B) are at increasing climate action. Handy hint #4. If you are comparing an emotional appeal to a control, it is up to you to determine what is the control message or condition. The control could be that participants receive no message at all, it could be a different type of (non-emotional) appeal used previously in the literature or even an informational message. Look at the prior research studies in the set assignment readings we have provided you to get ideas. The Study Hypothesis For the hypothesis, you will need to develop and present ONE testable hypothesis that is based on prior relevant literature. This hypothesis should clearly predict which of the two (A orB) will have a stronger effect on the climate action you have decided to specifically focus on. You cannot say that both conditions (or persuasive appeals) will be equally effective as one another – this does not make sense in the context of hypothesis testing. Handy hint #5. Be sure to listen to/attend the week 3 seminar to learn how to generate a hypothesis. When coming up with your hypothesis, here are some questions to think about … • Do you expect there to be a difference in the effectiveness of A and B? • If yes, which emotional appeal (A or B) will be more impactful on the climate action you have decided to focus on? Assignment Readings to Use (and Source) In this assessment you must use and cite at least TWO of the references provided below, and source, use, and cite additional references. Only use the articles you need to build the argument for your selected comparison and its related aim and hypothesis. For example, if you decide to only focus on hope in your proposal, then you do not need to cite articles about anger (and viceversa). Provided References The provided references required are listed below but are not incorrect APA formatting. You can obtain and print a copy of these readings via the units reading list (in Content > Reading List). 1. van Kleef & Lelieveld (2022). This review article summarises recent literature that examines how emotion is associated with prosocial behaviour. As climate action is about achieving positive outcomes, any type of climate action can be considered a type of prosocial behaviour. This article will help you understand the two emotions we have selected for this assessment and how they are associated with different types of prosocial behaviours. 2. Brosch (2021). This review article discusses the role of emotion in driving climate attitudes and action. It reviews research on several different emotions in the context of climate change. It also examines emotions in climate communications/interventions (like persuasive messages, which is what you are looking at). 3. Stanley et al. (2021). This empirical article employs a correlational study design, with Australian participants. The study presented examines how negative eco-emotions (including, eco-anxiety, eco-depression, eco-anger) uniquely contribute to individuals’ wellbeing and engagement with climate actions in the Australian context. The climate actions examined include personal-level actions (e.g., recycling and composting) and collective-level actions (e.g., protesting). This study outlines the relationship anger appears to have with specific types of climate action. 4. Hornsey & Fielding (2016) . This empirical article employs a correlational (Study 1) and experimental (Study 2) study design, with Australian participants. Study 1 shows the relationship negative (sadness) and positive (hope) emotions have with efficacy and climate action (which the authors refer to as mitigation motivation). Study 2 can be considered a message framing study. The authors compare a hope appeal (referred to as an optimistic message), adistress appeal (referred to as a pessimistic message), and a control condition (referred to as the neutral message) to see which is better at increasing climate action. It is important to note here that they compare three messages where in your study you are arguing to compare between TWO persuasive messages only. Study 2 also provides an example of what a control condition can look like in a message framing study (*hint hint*). Handy hint #6. Remember that not all information in every article is relevant! Think about what information you need to support the comparison, aim and hypothesis you are arguing for, and only discuss this information. You should not comprehensively summarise the specifics of each article you are referencing in one paragraph, one after the other. Instead, you should use elements of the articles as needed to help build your arguments for why your study is needed and why you have made the hypothesis you have. Please note: Some of the set readings discuss moderations and mediations. We will explain these concepts in the Week 2 content (particularly in the Week 2 lecture). However, to be clear, you should not argue for a mediation or moderation in your research proposal, only a direct/main effect. Additional References In addition to using and citing the references above, another requirement of this assessment is that you also find, use, and cite additional journal articles that you consider relevant to the topic. These cannot be books or book chapters – they must be peer-reviewed journal articles. The additional journal articles should be cited somewhere in-text and provided in your reference list. You are required to source, use, and cite at least TWO additional journal articles. There is no maximum for how many articles you can source, and there is no year limit on the articles either. When it comes to scientific writing, we need to have relevant support/evidence/examples to back up our claims. So, when looking for additional articles, ask yourself “what do I want to argue and what evidence do I need to back it up?”. You can also start by looking at the reference list of the set readings too. To further help you, relevant journal articles may refer to topics such as: • What is climate change and why should we care about it? What effect does climate change have on society and/or the members of the groups themselves? • Why do we need to encourage climate action (e.g., reducing energy consumption, installing solar panels) to help reduce the effect of climate change? • What kinds of strategies or interventions – especially persuasive messages – have been used previously to encourage climate action and how successful have they been? Just be sure to bring it back to emotions and emotional appeals and why these are specifically important to examine (i.e., consider how important emotions are in predicting climate action specifically and/or prosocial behaviour more generally). • Reviews on the effectiveness of emotional appeals for influencing attitudes and behaviours more broadly (you might find that it is good to draw on the persuasion literature beyond your topic and look at other similar behaviours). • Studies that show a link between certain emotions and certain types of prosocial or climate attitudes and/or behaviours. • Theoretical papers that may suggest emotions are important motivators of similar types of behaviour and why this maybe the case. • An important note is that researchers use different formats for their persuasive messages – essays, writing tasks, images, short paragraphs, and videos (just to name a few). These are all still considered types of persuasive messages, as their underlying aim is to persuade individuals to change their attitudes and/or behaviours.
CSCl251 Advanced Programming Assignment 2 Aim The objectives of this assignment includes: Learning about encapsulation, inheritance, polymorphism and function overloading Apply the concepts learnt by developing a survey and path planning program Background In a theoretical flat-land universe,everything is in 2 dimensions.People,animals,plants to planets,moons,galaxies and even space itself,is in 2D.In our flat-land space(i.e.'flat-space'), there is a powerful organization called 2D-StarFleet(2DSF),whose goals include seeking out new life and civilization via exploration. While on a routine mission of exploration,the flagship of 2DSF,the Enterprise-2D is trapped in an expanse of space encircled by a massive ring of violent,electrical plasma storm.Data coming in from the sensor array reveals that the only opening in this storm is located at the far end of the enclosed area,from Enterprise-2D's current location. In addition,the sensor data also revealed that this area is populated by strange,2D geometrical shapes,with sizes ranging from a small moon,asteroid,to large planets,or even a star!This implies that to travel to the'exit'at the far end of the storm,you need to understand more about the properties of these shapes and attempt to chart a course to navigate to the exit! As a Science Officer aboard Enterprise-2D,you need to develop a program that has the following capabilities: a)read in sensor data on the strange 2D shapes (via manual input) b)compute the area('mass')of these shapes c)print shapes report(e.g.list of points:on its perimeter,or totally within shape's area) d)sort shapes data (sorted by special type and area) The next section provides information about the requirements for developing this program. Task Requirements A)In terms of relative positioning,you may assume a coordinate system with Enterprise-2D at the origin,trying to navigate in a general 'upper-right'direction,to get to the exit in the storm.Please refer to Appendix A,which elaborates on this coordinate system and the unit representation of 2D shapes. IMPORTANT: For this assignment,you should not assume that the 2D shapes in Appendix A are positioned exactly as shown in Appendix A,nor that there are not more shapes.There will,however,only be shapes of the types listed in Appendix B B)The sensor data coming in from Enterprise-2D's sensor array provides crucial information about the 2D shapes such as name,special type and location of all vertices (that outlines the perimeter of the shape).Please refer to Appendix B ,which provides a more detailed description of the sensor data. C)To assist you in the initial class design of your program,please refer to Appendix C, which illustrates one possible way of designing your program.It also describes a list of requirements which you need to implement,especially those marked under "compulsory". The classes highlighted in Appendix C are purely meant to store data about the 2D shapes entered into your program by user. D)You are required to implement a main driver file called 'Assn2.cpp',whose methods are called to start the program.When started,it should print a menu providing the following functionalities: read in sensor data on the strange 2D shapes (via manual input) compute the area ('mass') of these shapes print shapes report (e.g. list of points on its perimeter, or totally within shapes area) sort shapes data (sorted by special type and area) Appendix D provides more information about implementing this class. E)Once the program is completed and tested to be working successfully,you are highly encouraged to add on "new features"to the program that you feel are relevant to the problem.Additional marks may be awarded subject to the relevancy and correctness of the new functionalities.(Note:the additional features will only be considered IF the program has correctly fulfilled all the basic requirements elaborated in the earlier sections!) F)You are to use only C++language to develop your program.There is no restriction on the IDE as long as your source files can be compiled by g++compiler (that comes packaged in Ubuntu linux)and executed in the Ubuntu terminal shell environment. Deliverables 1) The deliverables include the following: a)The actual working C++program(soft copy),with comments on each file, function or block of code to help the tutor understand its purpose. b)A softcopy word document that elaborates on: (Interpreted) requirements of the program Diagram / Illustrations of program design Summary of implementation of each module in your program Reflections on program development (e.g, assumptions made, difficulties faced, what could have been done better, possible enhancements in future, what have you learnt, etc) c)A program demo/software testing during lab session.You must be prepared to perform certain tasks/answer any questions posed by the tutor. 2) IMPT:Please follow closely, to the submission instructions in Appendix E, which contains details about what to submit,file naming conventions,when to submit,where to submit,etc. 3) The software demo /testing will be held during lab session where you are supposed to submit your assignment.Some time will be allocated for you to present / demonstrate your program's capabilities during the session. Grading Student's deliverable will be graded according to the following criteria: (i) Program fulfills all the basic requirements stipulated by the assignment (ii) Successful demonstration of a working program,clarity of explanation /presentation and satisfactory answers provided during Q&A session. ii) Additional effort(e.g.enhancing the program with relevant features over and above task requirements,impressive,‘killer'presentation) (iv) After the submission of deliverables,students will be required undergo a software testing process (to determine the correctness and fulfillment of software requirements.) Further instructions will be given by the Tutor during the subsequent respective labs. Please pay attention as failure to adhere to instructions will result in deduction of marks.
Project 1 - Note Player Introduction The objective of this assignment is to play music entered by the user as a list of notes. Your user will type a song (a list of notes), and then your Note Player will play that song, ready to accept a new song. The user can repeatedly enter song after song, with your Note Player playing each one in turn. The user exits the program by entering the command “quit" instead of a song. We will guide you through the project using a series of checkpoints. Each checkpoint will add a little more functionality, until your project is complete. I don’t know anything about music! Perfect. This project doesn’t require any knowledge of music, and this document tells you all you need to know. What we do expect you to know are String methods (indexOf and substring), Scanner, and later on, if/else and while loops. Code Organization Your code will start executing in your main method, as usual. Beyond that, it’s up to you how to organize your code. We’d recommend factoring your code: breaking up tasks into small methods and avoiding duplicating code by using helper methods. This will be easier for you to manage than stuffing all your code into main. Comments · The topics we have been learning in class are designed to allow you to complete this assignment. Remember to review your notes and the textbook. o Scanner, indexOf, substring, etc. · You are not allowed to use any Java features that we have not yet covered in our class. For example, you may NOT use arrays (or anything that involves arrays), you may not define any new classes and objects (use only the NotePlayer class we give you in your starter project), you may not use exception handling, or anything else not yet covered in our class. · Use the unit tests! There is no penalty for running tests and failing a lot. We only grade the test results for the version that you choose to turn in for each checkpoint. See the Student GitHub Instructions document for details on how to do this. · You can assume we will never give you input that would exceed the range of MIDI Note numbers (e.g., we will never give you Cb-5, as that would be -1, which would be outside the range). Getting Started Import the NotePlayer Starter Project These are the same instructions as those for importing your Classwork project, except the project name is different: 1. Find the github URL for your starter project. The easiest way to do this is the following: a. Go to https://buildci318.com/ b. Click on the “Projects” tab along the top c. You should see a tile for NotePlayer, with a “Copy Project Link” button. Press it! d. The URL for your starter project is now in your clipboard, ready to paste into Eclipse 2. IF the above doesn’t work for some reason, you can grab the URL from github instead. Do this ONLY if the above doesn’t work for you. a. In Chrome, go to https://github.com/BHS-APCS b. You should see the list of your projects. c. Click on the NotePlayer result (should look like NotePlayer_), and then copy the URL to your clipboard. It will be something like: https://github.com/BHS-APCS/NotePlayer_. 3. Start Eclipse. 4. Go to “File” -> “Import”, and select “Git” -> “Projects from Git.” NOT with “smart import” 5. Click “Clone URI” and click next. 6. Fill out the form. a. In the URI box, paste the URL you copied to your clipboard (often, Eclipse will paste this for you automatically) b. In the User box, enter your GitHub username. c. In the Password box, enter your GitHub password. d. Check “Store in Secure Store,” so you don’t have to keep typing your password. Here is an example: Type this line in as you see it here, but use the link you found in step 1 or 2 Leave these, they get populated automatically Type in your github username and password, and ensure the ‘store in secure store’ is checked 7. Click next. Make sure “master” is the only branch checked. (Uncheck any other branches that may be checked.) Click next/next/next/finish. Working from Home and School You should always use this pattern, or else you will cause Eclipse errors making it impossible to work on your project: 1. Whenever you sit down to work—either at home or school—always PULL first. (See Student GitHub Instructions document in your OneNote.) a. This refreshes your computer with the latest version stored on github. b. Note: The plug-in initiates this for you automatically when you launch Eclipse. If you left Eclipse open when you last took a break (not recommended!) you’ll need to pull manually. 2. Whenever you are ready to take a break, always COMMIT AND PUSH. (See Student GitHub Instructions document) a. This uploads the changes you just made up to github. b. Note: The plug-in initiates this for you automatically when you close Eclipse. Don’t just put your computer to sleep—always close Eclipse first so it forces the Commit + Push. c. You can & should Commit + Push even more often than when you take a break. Great way to back up your changes, and the only way to force the tests to rerun when you make fixes. 3. If you forget either of the above steps, you will encounter a merge conflict, and pushing / pulling will start failing. See the Student GitHub Instructions doc for how to deal with this situation. Checkpoint 1: Parse and print first note symbol Example input: A_600 B_450 C_1 The goal of this checkpoint is to read a line of input from the user, find the first note symbol, and break it up into its letter and duration, which you will print to the screen. Here is an example of what the line of input from the user might look like: A_600 B_450 C_1 First, you’ll notice a capital letter (the note letter, such as A), an underscore (_), and then an integer (the duration, like 600): A_600 The sequence of characters “A_600” is called a note symbol. After this note symbol will be a single space, and then another note symbol and space, and then another, etc. The line might contain 2 note symbols, or 10, or 100. All you can be sure of is that, for checkpoint 1, there will be at least 2 note symbols (separated by a space). This checkpoint is a small step toward your final project and can be done in about six lines or so. Read carefully! · All Checkpoint1 Tests must pass · You will create a Scanner and read one line of input (this is the “note list”) · You will find the very first note symbol in the note list (the letter, underscore, and duration integer), break it up into the note letter and the duration, and then print them using the following format shown below · All other note symbols on the line may be ignored. · For now, you can assume there will be at least two note symbols, so you can rely on a space appearing after the first note symbol When printing the first note symbol, you must use the following format exactly: note letter: , duration: For example, an input of A_600 B_450 C_1 should cause you to print: note letter: A, duration: 600 There must be a single space after each colon (:) and comma (,). Do not print the angle brackets . Also, ensure that you print the above message on its own line. For example, if you wish to print a prompt when your program begins (such as “Enter note symbols:”), that’s ok, but be sure that the prompt is printed with a println so that Java moves to the next line when it’s done. This way when you print the note letter and duration, it will start on its own line. Hint: · Study the Java substring and indexOf String methods Checkpoint 2: Play entire note list, ignore accidentals The goal of this checkpoint is to start playing some music! You will find every note on the line and play them all. Read carefully! For this checkpoint we’re adding a concept called an “accidental” that may appear after the note letter. You may ignore the accidental for now, but don’t let it interfere with your code that parses the note symbol. You will need to interpret the note letter to come up with the correct tone to play. Note Symbol Part 1: Note Letter (Checkpoint 2) The note letter is any capital letter from A through G. Your job is to convert this letter into a “MIDI Note Number” that the sound card uses to produce a sound. The following table shows this relationship. Note Letter MIDI Note Number in octave 0 C 60 D 62 E 64 F 65 G 67 A 69 B 71 You’ll notice that table begins with C as the lowest MIDI Note Number instead of A. You’ll also notice the numbers sometimes go up by 1, and sometimes by 2. Yeah, music is weird. Just go with it. For now, you may ignore the words “in octave 0” in the table above. Note Symbol Part 2: Note Accidental (Checkpoint 2) The note accidental is sometimes present, but not always. It can either be a sharp “#” (hashtag symbol) or a flat “b” (lower-case letter b). For checkpoint 2, you may ignore the accidental. But make sure your code doesn’t get confused by the presence of an accidental when trying to find the note letter and duration number. Note: Each note is followed by either no accidental, or one accidental, but never both accidentals. Note Duration The note duration is the length of time (in milliseconds) to play the note. It always appears after the note symbol’s underscore (_). This part is easy. You’ll just take the note duration number and pass it directly to the playNote method as its second parameter (see Output section below). Output When your Note Player has determined the MIDI Note Number and the Note Duration for a note in the song, it passes those two numbers to the playNote method, which is already included in your starter project: public static void playNote(int noteNumber, int durationMs) playNote will print its parameters to the console window (to help you with your testing), and then send the note to your sound card so you can hear it through your speakers or headphones. You must not modify the playNote method in any way. It is there for you to call, not for you to change. (Note: There is another method (setInstrument) just underneath playNote. For now, leave setInstrument alone. You will be calling it later on in the project.) Your Note Player will scan the note list in order, from left to right: · Looking at each note symbol in the list, · Breaking the note symbol into the components described above to determine the MIDI Note Number and Note Duration for the note, · Calling the playNote method for that note, and then · Continuing with the next note symbol in the list. Checkpoint 2 Requirements Summary Allowable Input: Note list with one or more note symbols, SINGLE line, NO playback adjustment, SOMETIMES accidentals, NO octaves. Example: A_600 Bb_450 C#_1 · All Checkpoint1 and Checkpoint2 Tests must pass. · Note! Remove your print statements from checkpoint 1, and your checkpoint 1 tests will continue to pass, so long as you call playNote correctly. · Your code now needs to find every note symbol in the note list, and call the playNote method on each one · This means you will now need to convert each note letter into its corresponding MIDI note number (using the table above) · Some note symbols will contain accidentals (# and b) and some won’t. This will make parsing a little harder, but you may ignore the accidental when calling playNote. For example, if you see a note symbol like C#_100, you can actually play that note as if it were just C_100. · A note list might contain only one note symbol, or possibly many Hints: · You will probably need a statement with several IF / ELSE IF clauses to convert the note letter into its MIDI note number. Remember to use the equals method, not ==, when comparing Strings · You will find Integer.parseInt useful for the duration. Look it up! Checkpoint 3: Accidentals and octaves For this checkpoint we’re adding a new concept called an “octave”, and you will now need to interpret the accidentals you ignored in checkpoint 2. Each note symbol now consists of up to four parts. An example of a complete note symbol looks like this: You will convert the portion before the underscore (_) into a special number, using this plan: Details are in the following sections. Note Symbol Part 1: Note Letter (Checkpoint 3) Do as you did in checkpoint 2. But be aware that the table from Note Symbol Part 1: Note Letter (Checkpoint 2) assumes octave 0, so if the user specifies a different octave, you will need to adjust the number. (See Note Symbol Part 3: Note Octave below.) Note Symbol Part 2: Accidental (Checkpoint 3) Think of the accidental as a slight adjustment to the MIDI Note Number, where you add or subtract 1 from the note number you already calculated: Note Accidental What it does # (pronounced “sharp”) + 1 b (pronounced “flat”) - 1 (no accidental specified) Nothing (use the note number as is) Note Symbol Part 3: Note Octave The note octave is a number which appears after the note letter (or its accidental when present). This tells your Note Player how low or high the note should be played. An octave is sometimes present, but not always. If no octave number is present, use octave 0. This table describes how an octave changes the MIDI Note Number. Always start with the Note Letter table we gave you above, then apply the accidental as described above, and then use the octave to change the value as follows Octave Number What it does 0 Nothing (use the note number from above) 1 Add 12 to the note number (12 * 1) -1 Subtract 12 from the note number (12 * -1) 2 Add 24 to the note number (12 * 2) -2 Subtract 24 from the note number (12 * -2) 3 Add 36 to the note number (12 * 3) -3 Subtract 36 from the note number (12 * -3) 4 Add 48 to the note number (12 * 4) -4 Subtract 48 from the note number (12 * -4) 5 Add 60 to the note number (12 * 5) -5 Subtract 60 from the note number (12 * -5) Here’s the pattern: Multiply the octave number by 12, and then add that product to the MIDI Note Number you’ve calculated in the sections above. For example: D#-2 = 63 + (12 * -2) = 39 D#-1 = 63 + (12 * -1) = 51 D#0 = 63 D#1 = 63 + (12 * 1) = 75 D#2 = 63 + (12 * 2) = 87 Checkpoint 3 Requirements Summary Allowable Input: Note list with one or more note symbols, SINGLE line, NO playback adjustment, SOMETIMES accidentals, SOMETIMES octaves. Example: Ab_600 B3_450 C#-2_150 · All Checkpoint1, Checkpoint2, and Checkpoint3 Tests must pass. · Accidentals will be present on some note symbols, and they must be played properly · Octaves will be present on some note symbols, and they must be played properly Hints: · Each note symbol will be a little harder to parse now. It may or may not contain a sharp (#), flat (b), or octave number. All possible combinations need to be handled properly. Reread the Input section above! Possible examples for each note symbol (this is not exhaustive!): o D_10 o D#_1 o Db_150 o D2_11 o D#-3_2000 o Db3_4 · Don’t have six (or more!) IF / ELSE IF clauses to check each possible combination. Instead, check for each component separately: o What is the index of “_”? § This tells you where the note letter/accidental/octave portion ends o What is the index of “#” and “b”? § This tells you if an accidental appears after the note letter. This helps you figure out where the octave might start (while the index of “_” above tells you where the octave would end). Remember, some of those indices will be -1 (meaning that String is not present). Final Submission: Multiple lines, instruments, playback adjustment For your final submission, you will add the ability for the user to set the instrument to play, list the available instruments, and enter multiple lines (that is, multiple instrument commands and note lists). After each line is entered, you will process that line (either executing the instrument command or playing the note list entered on that line) and be ready to accept the next line. You will continue in this manner until the user types quit, at which point your program will return from main. You will also add the ability to accept and process a playback adjustment that might appear at the beginning of each note list. set instrument You will allow your user to switch the instrument to use by typing the “set instrument” command in the console window. Any line your user types that begins with set instrument will then contain a space and an integer between 0 and 127 (inclusive) that indicates which instrument to use. For example: set instrument 26 would set the jazz guitar to be the currently used instrument. And set instrument 125 would set a helicopter sound to be the currently used instrument. You will process this command by passing the instrument number specified by your user to the setInstrument method, which has been present (unused) in your starter project all this time: public static void setInstrument(int instrumentNumber) list instruments Since your user probably has not memorized your instrument list, you will allow your user to type list instruments from the console to cause you to print the following text exactly. You may copy and paste this into your project (adding any appropriate Java punctuation and / or escape sequences) to ensure you have it exactly right. (The tests will require you have this perfectly correct!) 0: Piano 1 1: Piano 2 2: Piano 3 3: Honky-tonk 4: E.Piano 1 5: E.Piano 2 6: Harpsichord 7: Clav. 8: Celesta 9: Glockenspiel 10: Music Box 11: Vibraphone 12: Marimba 13: Xylophone 14: Tubular-bell 15: Santur 16: Organ 1 17: Organ 2 18: Organ 3 19: Church Org.1 20: Reed Organ 21: Accordion Fr 22: Harmonica 23: Bandoneon 24: Nylon-str.Gt 25: Steel-str.Gt 26: Jazz Gt. 27: Clean Gt. 28: Muted Gt. 29: Overdrive Gt 30: DistortionGt 31: Gt.Harmonics 32: Acoustic Bs. 33: Fingered Bs. 34: Picked Bs. 35: Fretless Bs. 36: Slap Bass 1 37: Slap Bass 2 38: Synth Bass 1 39: Synth Bass 2 40: Violin 41: Viola 42: Cello 43: Contrabass 44: Tremolo Str 45: PizzicatoStr 46: Harp 47: Timpani 48: Strings 49: Slow Strings 50: Syn.Strings1 51: Syn.Strings2 52: Choir Aahs 53: Voice Oohs 54: SynVox 55: OrchestraHit 56: Trumpet 57: Trombone 58: Tuba 59: MutedTrumpet 60: French Horns 61: Brass 1 62: Synth Brass1 63: Synth Brass2 64: Soprano Sax 65: Alto Sax 66: Tenor Sax 67: Baritone Sax 68: Oboe 69: English Horn 70: Bassoon 71: Clarinet 72: Piccolo 73: Flute 74: Recorder 75: Pan Flute 76: Bottle Blow 77: Shakuhachi 78: Whistle 79: Ocarina 80: Square Wave 81: Saw Wave 82: Syn.Calliope 83: Chiffer Lead 84: Charang 85: Solo Vox 86: 5th Saw Wave 87: Bass & Lead 88: Fantasia 89: Warm Pad 90: Polysynth 91: Space Voice 92: Bowed Glass 93: Metal Pad 94: Halo Pad 95: Sweep Pad 96: Ice Rain 97: Soundtrack 98: Crystal 99: Atmosphere 100: Brightness 101: Goblin 102: Echo Drops 103: Star Theme 104: Sitar 105: Banjo 106: Shamisen 107: Koto 108: Kalimba 109: Bagpipe 110: Fiddle 111: Shanai 112: Tinkle Bell 113: Agogo 114: Steel Drums 115: Woodblock 116: Taiko 117: Melo. Tom 1 118: Synth Drum 119: Reverse Cym. 120: Gt.FretNoise 121: Breath Noise 122: Seashore 123: Bird 124: Telephone 1 125: Helicopter 126: Applause 127: Gun Shot Note: there are no tab characters above—only text, spaces, and newlines ( ). Playback Adjustment Each song is entered as a single line containing: · an optional “playback adjustment” followed by a comma (“,”), and then · a list of note symbols with a space (“ “) between them The following is an example, with the playback adjustment in italics and the list of note symbols shown in bold: 4_2.3,Ab3_600 B-2_450 Db5_150 G#_5 E_300 D#-1_10 The playback adjustment contains two parts: 1. A transpose adjustment integer, and 2. A tempo adjustment double For example, here is a playback adjustment with the transpose (4) in bold, and the tempo (2.3) in italics: 4_2.3 The “transpose” adjustment is a number that is added to every note present in that song’s note list. This can be used to raise or lower the pitch of the entire song. For example, if you calculated that the MIDI Note Numbers for a song are 12, 14, 16, and the transpose adjustment is 4, then you’d add 4 to each MIDI Note Number, before passing it to the playNote method. In this case, you’d pass 16 as the MIDI Note Number in your first call to playNote, 18 as the MIDI Note Number in your second call to playNote, and 20 as the MIDI Note Number in your third call to playNote. The transpose adjustment can be any integer (negative, zero, or positive). The “tempo” adjustment is a number that is multiplied with every note duration present in the song’s note list. For example, if the note durations in the note list were 100, 200, 149, and the tempo adjustment is 2.3, then you’d multiply 2.3 with each note duration, before passing it to the playNote method. In this case, then, you’d pass 230 as the Note Duration in your first call to playNote, 460 as the Note Duration in your second call to playNote, and 342 as the Note Duration in your third call to playNote. Notice how the product is cast back into an integer (truncating everything after the decimal point) before passing it to playNote, as 149 * 2.3 is actually 342.7, but your Note Player will pass 342. For example, you can speed up the song by using a tempo adjustment of 0.5 (to play in half the time), or slow down the song by using a tempo adjustment of 2 (to double the length). The tempo adjustment can be any positive double (less than 1 would speed up the song, greater than 1 would slow it down). The entire playback adjustment is sometimes present, but not always. You are guaranteed to see either both parts or neither (i.e., you will never see a transpose without a tempo, or a tempo without a transpose). A playback adjustment applies only to the line (note list) that it appears on. It affects every note played from that list, but has no effect on any future lines entered by the user. Command order Your user may issue commands in any order she likes. She may choose to play some songs, then list instruments and then set instrument 12 and then play more songs. Your user might even choose to just do list instruments over and over again and then quit. Or do set instrument 4 without first doing list instruments. The key point is that you may make no assumptions about which commands your user will type or in what order those commands will be typed. Final Submission Requirements Summary · All Checkpoint1, Checkpoint2, Checkpoint3, and Final Tests must pass. · You will now accept multiple lines from the user (until the user types “quit”) · You will accept and process set instrument and list instruments commands · The beginning of each note list MAY have a playback adjustment (transpose and tempo). If so, it must be applied to each note on that line. · Note that either both the transpose and tempo adjustments will be present on a line, or neither will be present on a line. You will never have one without the other. Hints: · You will find Double.parseDouble useful for the tempo adjustment. Look it up! · When a tempo adjustment is present, you will need to cast the resulting duration to an int before calling playNote.
Mathematical Methods 1. Diffusion-Reaction and Hypoxia of Cellular Spheroids The concentration of a reactant undergoing diffusion and a first-order irreversible reaction (or consumption by cells) in a spherical catalyst is described by the reaction- diffusion equation a. Render this equation dimensionless and show that there is only one dimensionless parameter---the (squared) Thiele modulus Φ2 = ka2 /D. b. Show that the solution for the dimensionless concentration is c. By doing a Taylor expansion of the dimensionless solution with respect to Φ in b, show that for small Thiele modulus Φ ≪ 1, the concentration is described by C(r)~ 1 − (1 − r2)Φ2 /6 Note that the concentration is finite at the center of the sphere r=0 at small Thiele modulus. For large spheres, fast reaction or small diffusivity, such that the Thiele modulus is large Φ >> 1, expand the exact solution from r=1 and large Φ to show the concentration decays exponentially to zero rapidly from the surface and the concentration approaches zero at the center. d. (Ref: Murphy et al, J. of Royal Society Interface, 14: 20160851 (2017)) Cancer cells are often aggregated into a large sphere called spheroids for drug testing. It has been found that cells in the center of larger spheroids tend to die because oxygen cannot diffuse into the middle due to uptake by cells closer to the surface of the spheroids. You will see the decay of the oxygen concentration from the surface in figures c to e below, corresponding to numerical solution of the reaction-diffusion equation and actual measured data. (Cr is the concentration at a particular r position and C0 is the oxygen concentration at the surface (our C∞ ) of about 267 μM. You can divide the K/D value in fig f by the surface oxygen concentration to get an estimated average value of k/D. (The scale bar in g is 250 microns and be careful with the difference in K and k.) Use the measured concentration at the spheroid center (r=0) in fig e to determine k/D for each spheroid, given that the radii of the spheroids with different numbers of cells can be measured from fig g ? Compare your results to theirs from fig. f. e. If cells only die by hypoxia if the oxygen concentration around them is below Cc , derive an explicit expression for the critical spheroid size ac D/k, Cc) below which all cells will survive. If Cc is 253 μM for hypoxia, what is the actual dimensional critical spheroid size ac, using the average k/D you have estimated ? 2. Cyclic Voltammetry Consider atypical cyclic voltammetry data shown below with different scan rates. For the peak current of cyclic voltammetry, the possible physical parameters for the problem are Peak current Ip in C/s Charge transferred to the electrode nF in C/mol, where n is the valency Thermal energy RT in J/mol Surface area of the electrode A in m2 Bulk concentration of the reactant C∞ in mol/m3 Voltagescan (sweep) rate S in V/s Diffusivity D in m2/s a. Use Buckingham pi theorem to determine that the peak current is Ip = AnFC∞(nFDS/RT)1/2 The square root scaling with respect to the scan rate S is shown on the left plot. You will need to add C (Coulombs) and mole to the three fundamental units L, M and time. b. Explain qualitatively why this peak current corresponds to a Damkholer number of unity for the surface Faradaic electrode reaction and why it occurs at a voltage roughly equal to RT/nF (~25.6mV) above the oxidation potential, which corresponds to the thermal energy and barrier of most Faradaic reactions. 3. Exact Solution for Cyclic Voltammetry If the redox reaction of a cyclic voltammetry experiment becomes fast enough, such that the Damkohler number is larger than 1, then the ion concentration vanishes at the electrode at x=0 and a diffusion front begins to expand away from the electrode: a. Solve the above PDE by self-similar solution and show that the flux at the electrode is Such that the current is I = AnFJ b. Determine how the current decreases with Voltage V by replacing t with the scan rate S, S = V/t. c. The peak current occurs when the voltage exceeds the thermal voltage (oxidation potential) V~RT/nF at sometime t~tp, hence at Ip, Recover the scaling result of Problem 2 to get how the peak current depends on the scan rate S and the diffusivity D, modulo an arbitrary constant.
STAT 385 Project Policy Deadline Final projects will be due on Thursday, December 19 at 11:59 PM, Champaign time. Submission Submit a single .zip file named your-app-name.zip where your-app-name is whatever you name your app. This .zip file should contain an RStudio Project in a folder named your-app-name . This folder should contain the following, which will be described in this document: your-app-name.Rproj - a required RStudio project file. app.R - a required file that defines the Shiny application. about.Rmd - a required file containing information describing the application. R/ - a required directory that contains .R files that contain additional functions. data/ - an (optional) directory that contains .csv or other files necessary to import data. Submit your project to the relevant assignment on Canvas. Data For this project, you can use (almost) any data! The following are some potential data sources: Tidy Tuesday - Datasets curated by the R community for weekly wrangling, visualization, and analysis practice. wadefagenʼs Useful Datasets - A number of “useful” datasets, especially related to UIUC. You may not use the gpa dataset as it is used in tutorials for Shiny in STAT 385. Illinois Shield Testing Data - Data on Illinoisʼ COVID testing. Data is available through a link to Box at the bottom of the page. This data may no longer be used as it has been used in many previous projects from past semesters. Open-Meteo - Freely available weather data. OPEN Powerlifting - Data on results from powerlifting meets. CSV files can be obtained on the Data page. As the data is extremely large, consider pre-processing. nflfastR - A package to efficiently scrape NFL play-by-play data. See related packages as well. ffverse - A collection of fantasy football R packages. baseballr - A package for scraping various baseball data from websites such as FanGraphs.com, Baseball-Reference.com, and baseballsavant.com. 538 Data - Data used in 538 articles. Kaggle Datasets - Data from the ML practice platform. Kaggle. Be aware of the licences of the various dataset. (And try to consider data that can most readily be legally shared.) sportsdataverse - Collect of packages for obtaining sports data in R. cfbfastR - An R package for working with CFB data CDC Data - Catalog of CDC data, which currently is heavily populated with COVID data. We recommend that you attempt to find a dataset ASAP and verify that you can load it into R and perform. basic data manipulations. Requirements In short, you must create a Shiny application with at minimum three inputs and two outputs. The files and how to submit them are described above. The grading details below indicate additional details about the application and the necessary files. Shiny App Tutorial The following documents will describe background needed to understand the video walk-through of developing an MLB Spin Rate Application. The background for this lab was given as part of a lab in the Fall 2021 semester. Fall 2021 Lab 10 Assignment Fall 2021 Lab 10 Solution YouTube: Fall 2021 Lab 10 Video Walk-Through /// ClassTranscribe Mirror Yes, this is a lot of background information, but it will be very useful for understand the video about the application development. The following video will detail the development of an application with the data described above. It will start from describing the idea for the application, and illustrate the entire development process: YouTube: Shiny App Tutorial: Spin Rate App /// ClassTranscribe Mirror Final Project Tutorial The following video will demonstrate developing an application from scratch, that meets all of the specifications of the final project. The video begins by sketching an idea for an application, and ends with grading the finished project against the rubric found below. YouTube: GPA Shiny Application /// ClassTranscribe Mirror Grading Your project will be graded based on the following criteria. As each criteria is very specific, partial credit will only be used in very rare situations. (Assume no partial credit is possible.) Note that we are not grading on quality or creativity of analysis, only functionality and correctness of the application. (However, you should still work towards these things!) The total points available for the project is the sum of the points listed. [4] After unzipping submission, all required files exist. [5] After opening app.R , the applications runs without error using the “Run App” feature inside RStudio. [1] Data used by the application should either be loaded directly from the web, or stored in the data/ directory and loaded accordingly. (We strongly recommend the latter so that your application will not break if a link becomes broken later.) [1] The UI is well organized. Hint: leverage sidebarLayout() , fluidRow() , or other UI layout features documented on the R Shiny cheat sheet. [1] The UI contains a navigation bar with at least two tabs. [3] The application contains three input elements. [1] Of the minimum three input elements, two must be unique. [1] Of the minimum three input elements, the choices of one of the inputs must be conditionally dependent on another input. [2] The application contains at least two output elements, one graphical and one tabular. [1] The graphical output element is created using ggplot2 . [1] The graphical output element reacts to at least one of the input elements. [1] The application uses at least one reactive element that is user defined using reactive() . [1] The application performs some data manipulation using dplyr . [1] The tabular output element reacts to at least one of the input elements. [1] The R/ directory should contain at least one .R file which contains at least one function. [1] The function described above is used in the application. [1] One of the tabs in the navigation bar links to the rendered output from about.Rmd . [1] The about page has four sections: Author, Purpose, Data, and References. [1] The author section of the about page should contain the name and email of the author, as a bulleted list. [1] The purpose section of the about page should contain a very brief (think one paragraph) description of what the application is meant to do and what it could be used for. [1] The data section of the about page should describe the source of the data. It should also describe the data in enough detail such that a user of the application understands the data enough to use the application. [1] The references section of the about page should contain a list of references used, which at minimum includes the source of the data. [3] When using the application, no errors or crashes occur.
CS 336 -- Principles of Information and Data Management Fall 2024 Requirements Specification for the Database Programming Project Introduction In this project, you will design and implement a relational database system to support the operations of an online railway booking system. You will use HTML for the user interface, MySQL for the database server, and Java, Javascript, and JDBC for connectivity between the user interface and database server. You will have to install your own web server that will host your web application (Tomcat) as well as a MySQL server. Everything will be local. Many resources will be provided about how to do everything so don’t worry. You are to work in teams of four. Project Specification As you probably know, there is a multitude of online railway booking systems on the web. The basic idea behind your on-line railway booking system is that it will allow customers to use the web to browse/search the contents of your database (at least that part you want the customer to see) and to make train reservations over the web. It should also allow users to query the database for available train schedules (direct or indirect) between a pair of cities for a given date and "approximate" time. Your database system must be based on the specifications and requirements that follow. 1 System Users The users of your system will be the customers (passengers) that use your system to make a reservation, customer representatives who provide customer-related services, and the site's manager/admin. You should assume that the computer knowledge of the users is limited, and thus your system must be easy to access and operate. 2 Required Data The data items required for the train reservation database can be classified into six categories: trains, stations, train schedules, reservations, customers and employees. The above classification does not imply any particular table arrangement. You are responsible for arranging the data items into tables, determining the relationships among tables and identifying the key attributes. Finally, you should specify and enforce integrity constraints on the data, including referential integrity constraints. You will first create an E-R diagram of your online railway reservation system before developing your relational model. Details of this assignment will be forthcoming. 2.1 Train Data Your system should store information about trains. Every train has a unique four-digit number id. 2.1 Station Data A station has a unique id, a name, the name of the city this station is, and the state. 2.3 Train Schedule Data The basic information related to this data is: 1. Transit line name (e.g. Northeast Corridor) 2. Train 3. Origin 4. Destination 5. Stops 6. Departure datetime 7. Arrival datetime 8. Travel time 9. Fare All trains perform a specific route based on a unique transit line throughout the day. Depending on the transit line, the trains start from a specific origin and arrive at a specific destination station. For example, the Northeast Corridor transit line has origin the New York Penn station and destination the Trenton station. Every transit line starts from its origin on a specific time and arrives at its destination at another specific time. It also has a number of stops, with each stop having its own arrival and departure times. For example, the Northeast Corridor line with train #3806 starts at 3:48am from Trenton, and arrives at NY Penn Station at 5:21am with a total travel time of 93 minutes. While performing this route it stops to 10 stations which are Princeton, New Brunswick, Edison, Metuchen, … , etc. and each of these stations have their own departure/arrival time. A route has also an associated fare which depends on the type of the route (if it is one way, or round trip), as well as fare discounts for children, seniors and disabled.. You can assume that every transit line has a fixed fare from origin to destination and then the individual stops have a fare=fare/number of stops in this line. For example, the Northeast Corridor line (which goes from Trenton to NY Penn) has a fare of $50. Then if we assume that it has 10 stops in between (e.g. Trenton, Princeton, New Brunswick, Edison, Metuchen, etc.), the fare between two consecutive stops would be $50/10 = $5, between two stops (e.g. NB-> Metuchen) $10 etc. Children have a discount of 25%, seniors 35% and disabled 50%. Round trip tickets have double fare. 2.4 Reservation Data This category of data should include the following items: 1. Reservation Number 2. Date 3. Passenger 4. Total Fare A reservation has a unique number and is for a single passenger. Each reservation has an associated origin station, destination station and transit line name (along with its train number), departure date and time. A reservation also has the following attributes: total fare and the date when reservation was made. For example, Mr. John Smith makes a reservation on 7/25/2020 for the Northeast Corridor train #2345 that goes from New Brunswick station on 8/10/2020 11:00am to New York Penn Station 8/10/2020 11:59am and costs $80. 2.5 Customer Data The items required for this category include: 1. Last Name 2. First Name 3. E-mail Address 4. Username 5. Password A customer may partake in any number of reservation transactions. Associated with each account is a reservation portfolio, indicating which reservations are held in that account (past and future). 2.6 Employee Data This category of data should include the following: 1. Social Security # 2. Last Name 3. First Name 4. Username 5. Password 3 User-Level Functionality 3.1 Manager/Admin-Level Functionality The manager should be able to: • Add, Edit and Delete information for a customer representative • Obtain a sales report per month (total revenue per month) • Produce a list of reservations by transit line or by customer name • Produce the total revenue generated by a particular transit line, or customer • Determine which customer generated most total revenue • Produce a list of the 5 most active transit lines (most reservations per month) 3.2 Customer-Representative-Level Functionality Customer Representatives should be thought of as reservation agents and should be able to: • Edit and Delete information for train schedules • Reply to customer questions • Produce a list of all customers who have reservations on a given transit line and date • Produce a list of all schedules for a given station (both as origin and as destination) (e.g. list of train schedules that have New Brunswick as origin, or list of train schedules that have NB as destination) 3.3 Customer-Level Functionality Customers should be thought of as online train ticket buyers and should be able to easily browse your online travel reservation system on the web, search for train schedules given an origin, destination and date, and make train reservations. In particular, they should be able to make the following types of reservations: • One-Way • Round-Trip A customer should also be able to cancel an existing reservation and they should be able to retrieve the following information: • A history of all current and past reservations they have made • Travel itinerary for a given reservation A customer should also be able to ask questions to the customer service, where the customer representatives should be able to reply (like a forum functionality). 4 User Access Control Your database system should provide controlled access to the data by distinguishing between the different types of users: manager/admin, customer representatives, and customers. • Customer Representatives should not be able to perform manager-level transactions. • A customer should not be allowed access to other customers' account information, or to any employee information. 5 User Interface HTML and its successors provide facilities for creating pop-up and pull-down menus, value lists, input/output forms, labels and customized reports. You should make use of all of these capabilities, and in the process come up with a system that caters to users with only limited computer knowledge. The information you provide to customers should look professional and inviting. Implementation requirements The system is to be accessed through a web interface, programmed in jsp, accessing a mySQL database. Details of the technical set up, will be covered in a video lecture that will be posted on Canvas. In order to be fair to everyone in the class, please do not use frameworks or other tools that make programming easier. (If we had time to teach everyone such a framework, we would.)
SOEE2810: Coursework documentation The Last Glacial Maximum 1 Background 1.2 Ice ages The last ice age was punctuated by an alternation of cold and warm periods, called glacial-interglacial cycles. The Milankovitch theory tells us that these were driven by cycles in the three main parameters that influence the Earth’s orbit: the eccentricity, obliquity and precession (Figure 1). Eccentricity describes the shape of the Earth’s orbit around the sun, varying from nearly a circle to an ellipse with a period of about 96,000 years. Obliquity is the tilt of the Earth’s axis of rotation with respect to the plane of its orbit, which changes with a period of about 41,000 years. Precession refers to the fact that both Earth’s rotational axis and orbital path precess (rotate) overtime – the combined effects of these two components and the eccentricity produce approximately a 21,000-year cycle. The three cycles have different effects at different places on our globe. Obliquity has a strong influence at high latitudes,whereas precession has a notable impact on tropical seasons. The Milankovitch cycles have a control on the variability in shortwave radiation that reaches Earth. The sum of the three Milankovitch cycles have been shown to be in phase with variability in aspects of climate, such as global mean temperature and global ice sheet volume (Hays et al. 1976). In particular, the amount of shortwave radiation that reached the surface at the latitude of the Northern Hemisphere ice sheets (60N) controlled their growth and retreat and can explain the variations in ice sheet volume and sea level during glacial-interglacial cycles (Figure 2). Glacial to interglacial oscillations occur on approximately a 100,000 year timescale (Figure 3). The last glacial period was at a maximum approximately ~21,000 years ago. Figure 1 The main cycles in Earth’s orbit (Source Maslin, 2016) Figure 2 The combined effect of precession, inclination and eccentricity on incoming shortwave radiation and temperature (sourcehttps://www.periodni.com/gallery/milankovitch_cycle.png) Figure 3 Ice ages during the past 2.4 billion years (upper) and glacial-interglacial cycles over the past 450,000 years (Eldredge and Biek 2010). 1.3 Last Glacial Maximum The Last Glacial Maximum (LGM), is defined climatologically as the period of stable cold climate around the maximum of global ice sheet volume approximately 21,000 years ago. During the LGM, land-based ice sheets more than 2km in depth, covered Canada, north USA, northern Europe and parts of Eurasia (Figure 4). Global sea level was 130 m lower than the present day, joining Britain to Europe, Australia to Asia and Alaska to Siberia. South of the ice sheets, conditions were cold, windy and dusty. There was 20-25 times more dust in the atmosphere due to reduced vegetation, stronger winds and less precipitation to wash out dust from the atmosphere. The modern forests of North America, Europe and Asia were tundra and grasslands. There were lower atmospheric concentrations of greenhouse gases such as carbon dioxide and methane, causing cooling and drying across the tropics. The main influencing drivers on LGM climate and how well we understand them are summarised in Figure 5. Changes in orbital parameters over the 10s of thousands of year before the LGM lead to the build-up of these large ice sheets. However, by the time of the LGM, incoming shortwave radiation from the Sun had returned to levels that are similar to the present day (which subsequently initiated the move into today’s interglacial period). There is a time lag in the climate system between the minimum in incoming shortwave radiation and the maximum in ice sheet cover because (1) it takes time for the build-up of ice and (2) negative climate feedbacks reinforce the cooling (see section 1.4). Deglaciation in the Northern Hemisphere started ~20,000 years ago. Deglaciation in Antarctica started ~14,500 years ago – at the sametime as abrupt sea level rise. Figure 4 Land-based ice sheet coverage during the Last Glacial Maximum. Figure 5 Influences on LGM climate cooling (generally feedbacks in glacial-interglacial cycles) and he level of scientific understanding associated with each one (IPCC, 2007, Figure 6.5 in Chapter 6.4.1.3). Why study the last glacial maximum? • It provides a means for evaluating the understanding and modelling of the response of the climate system to large radiative perturbations. • The LGM and the subsequent deglaciation have been widely studied because the radiative forcings, boundary conditions and climate response are well known compared to previous paleo-eras. • The response of the climate system at the LGM included feedbacks in the atmosphere and on land, amplifying the orbital forcing. • Concentrations of well-mixed greenhouse gases at the LGM were reduced relative to pre- industrial values, amounting to a global radiative perturbation of –2.8 W m–2. 1.4 Climate feedbacks Small changes in incoming shortwave radiation at the top of Earth’s atmosphere, driven by changes in the Earth’s orbit, can push the planet into or out of an ice age alongside Earth’s “climate feedback” mechanisms: • An example of a positive climate feedback in the LGM is the ice-albedo feedback; when incoming solar radiation is reduced, global temperatures decrease, encouraging the formation of ice. Ice is white and reflects more sunlight than the ocean or land surface below it (high albedo), which further cools the area, reinforcing the cooling and allowing even more ice to form. • A second example of a positive climate feedback is that the ocean is able to absorb more carbon dioxide when it is cooler, so during glacial periods, when global temperatures were cool, the ocean could absorb more carbon dioxide. Lower concentrations of this greenhouse gas in the atmosphere reinforced the cooler temperatures. • An example of a negative climate feedback in the LGM is that the climate became much colder and drier with reduced vegetation, which increased the amount of dust in the atmosphere. This dust was deposited on the ice surface, making it darker and thus allowing it to absorb more solar radiation. This would act to increase the surface temperature and melt ice, allowing vegetation to become re-established and reducing dust emissions. It is the fine balance between external forcings such as changes to incoming solar radiation and climate feedbacks, that determines what the climate is like and how quickly it is changing at anyone time. In the LGM, variations in the planetary orbits decreased the incoming solar radiation, which started the glacial period but this was 1000’s of years before the glacial maximum. Climate feedbacks amplified the reduced solar radiation; by the time of the LGM, the incoming solar radiation had almost recovered to present-day values but climate feedbacks and the long lag time between decreased solar radiation and global cooling kept the climate cool and ice sheets present for many more years. There are many limitations and challenges to our current understanding of the climate during the LGM and how it developed. Lack of a substantial observational records limits our ability to understand and study the period and many open questions remain. 1.5 Surface energy budget Earth’s surface energy budget describes the balance between radiation, conduction and convective heat flow into and out of the surface (Figure 6). By convention, flow towards the surface is positive and flow away from the surface is negative. Earth receives its energy from the Sun, through incoming shortwave radiation at the top of the atmosphere. Some of this energy is reflected back off the surface and the remainder is absorbed by the surface. The surface albedo defines the proportions. Heat is transferred back to the atmosphere via the longwave radiation flux, and the sensible and latent (convective) heat fluxes. Heat can also be transferred into the ground through the conductive ground heat flux. Clouds complicate this system by reflecting incoming shortwave radiation back towards space and reflecting upwelling shortwave radiation back towards the surface. Clouds can also absorb and emit longwave radiation (Figure 7). Figure 6 The components of the surface energy budget and how to compute the surface albedo. Figure 7 A more complete picture of the Earth’s entire energy budget, including the impact of clouds. 2 Climate model documentation 2.1 What is a climate model and how does it work? A climate model is the only way to project how climate may change in the future (Figure 8). They can also be used to reproduce present and ancient climates. Climate models solve complex mathematical equations that are based on well-established physical laws that define the behaviour of the weather and climate. However, it is not possible to represent all the detail in the real world in a computer model, so approximations have to be made. Understanding climate involves running long (~500-1000 year) simulations to represent the climate in a chosen period. Different climate forcing scenarios can be implemented into the simulation such as incoming shortwave radiation, natural and anthropogenic sulphur emissions, atmospheric aerosols such as sea salt, dust, volcanic emissions, ozone, greenhouse gases (e.g. carbon dioxide, methane, CFCs). Comparing a ‘control’ simulation, such as that for pre-industrial times with an ‘experiment’ simulation, such as one for the LGM isa means of exploring how different climate forcings may affect global climate. This provides a set of internally-consistent pictures of past climates, each dependent on a set of prior assumptions. Figure 8 Schematic of a climate model. Data is stored at each ‘gridbox’ . Many processes are taken into account (see insert). After the model is initialised there is a period of rapid adjustment (1st year of simulation) and then it takes 10’s or 100’s of years to reach climate equilibrium. In the example in Figure 9 it takes 15 years of model simulation to reach equilibrium, so only the last 5 years of model data are used for analysis. Figure 9 Model spin-up towards equilibrium. There are many uncertainties in climate models; they are not truth, rather our best representation of climate in past, present and future periods. Uncertainties are due to three main reasons: • Uncertainties in climate model input data i.e. we are unable to accurately quantify aspects of the past climate such as the greenhouse gas concentrations and ice sheet extent. • The model simulates or approximates many climate processes such as ocean currents, clouds, ice melt and atmospheric circulation. We know that these processes are not represented with 100% accuracy in present-day climate simulations and are likely to be even less accurate in simulations of past climate. • Lack of available observations of past climates. Observations of key variables such as temperature, greenhouse gas concentrations and ice sheet extent are very limited, so evaluating and verifying model simulations is very challenging. 2.2 HadCM3 model HadCM3 (abbreviation for Hadley Centre Coupled Model, version 3) is a coupled atmosphere-ocean general circulation model (AOGCM) developed at the Hadley Centre in the United Kingdom. It was one of the major models used in the IPCC Third Assessment Report in 2001. Although now quite an old model, HadCM3 is still used in paleoclimate research because it’s relatively coarse resolution and simple representation of climate processes means it is quick to run on supercomputers, so can be run for thousands of years, showing little drift in its surface climate. HadCM3 is composed of two components: the atmospheric model HadAM3 and the ocean model HadOM3 (which includes a sea ice model). Simulations use a 360-day calendar, where each month is 30 days. 2.2.1 Atmosphere model (HadAM3) HadAM3 is a grid point model that has a horizontal resolution of 3.75 × 2.5 degrees in longitude × latitude. This corresponds to a spacing between points of approximately 300 km. There are 96 × 73 grid points on the scalar (pressure, temperature and moisture) grid and the vector (wind velocity) grid is offset by 1/2 agrid box (see Arakawa B-grid). There are 19 levels in the vertical using a hybrid (sigma and pressure) coordinate system. 2.2.2 Ocean model (HadOM3) The ocean model has a horizontal resolution of 1.25 × 1.25 degrees, and thus there are six ocean grid points for every atmospheric one. There are 20 vertical levels. For ease of coupling the two models the grids are aligned and the ocean coastline is forced to be aligned to the atmospheric grid. 2.2.3 Coupling The atmospheric model is run for a day, and the fluxes (of heat, moisture and momentum) at the atmosphere-ocean interface are accumulated. Then the ocean model is run for a day, with the reverse fluxes accumulated. This then repeats through the length of the run. 2.3 HadCM3 simulations Here we compare the climate model’s representation of the MODERN period (which relative to 21,000 years ago is close to present-day climate) with the climate model’s representation of the LGM. HadCM3 is run twice; once for the MODERN period and once for the LGM period. The two model simulations are initialised with the appropriate ancillary data and are run for 500 years. The first year of each simulation is always discarded to allow for the initial model rapid adjustment to its ancillary conditions. The model climate settles down to an equilibrium over the course of the first 450 years of the simulations, so only the last 50 years of the simulations should be used to analyse the differences in climate between the LGM and MODERN periods. 2.3.1 Simulation details MODERN LGM Experiment ID teada3 teadv3 Time period 0 ka (1950 AD) 21 ka (21,000 years before present) Coastlines Present-day Extended coastlines due to lower sea level Ice sheets Similar to present-day Larger Antarctic and Greenland icesheets, plus Eurasian, North American, Patagonian and Icelandic ice sheets CO2 concentration 278 ppmv 188 ppmv CH4 concentration 722 ppbv 375 ppbv N20 concentration 273 ppbv 200 ppbv 2.3.2 Directory structure • /ancillary_files contains data used to initialise the climate model • [experiment_ID]/climatology contains 50-year climate means for each gridbox (calculated from year 451-500 of the run). This data should be used to analyse the mean climate of the LGM and MODERN periods. • [experiment_ID]/time_series contains monthly means for 499 years of the simulation i.e. it does not include data from the first year of the simulation. This data should be used to analyse how long the climate in the simulations takes to reach equilibrium. 2.3.3 File naming convention of climatology files expID[a,o].XXYYZZZ.nc, where: - expID is the 5 letter simulation code (teada or teadv) - a/ois for atmosphere [a] or ocean [o] model output - XX is for the filetype (pc, pd, pf, pg, pt, as above) - YY is ‘cl’ for climate mean and ‘sd’ for standard deviation - ZZZ is ‘ann’ for annual mean, ‘jan’ for January mean, ‘feb’ for February mean. 2.3.4 File contents Ancillary files Ancillary files contain important input data required to initialise the climate model. These fields are static over the course of the climate model simulation, but they are different in the two model experiments. The ancillary files available to you are: Filename Contents *.qrfract.type-ice.nc Land-ice mask *qrparm.mask-lsm.nc Land-sea mask *qrparm.orog-ht.nc Orography height Climatology files Within [experiment_ID]/climatology there are 4 subfolders: • /pcpd contains atmospheric output. Generally pd files contain single layer (2D) fields (e.g. 1.5m temperature and pc files contain multi-level (3D) fields (e.g. temperature on pressure levels). Note sea ice fraction is available on both the atmospheric and ocean grids. • /pf contains monthly and annual mean ocean model output (mostly from the top ocean layer). • /pg contains annual mean ocean output (mostly 3D fields). • /pt contains vegetation model output. • Standard deviations are also included. ‘Diagnostic’ is the term used for data that is saved out from the climate model simulations e.g. near- surface temperature is a diagnostic. Summary of key diagnostics in the climatology files (many more are contained in the files, open the netCDF files to view the full list of diagnostics). Subfolder Diagnostic name in netCDF file Diagnostic type /pcpd iceconc_mm_srf Sea ice fraction on atmospheric grid /pcpd temp_mm 1 5m 1.5m near-surface temperature /pcpd downSol_mm_TOA Downward shortwave radiation flux at top of atmosphere /pcpd solar_mm_s3_srf Net surface shortwave radiation /pcpd downSol_Seaice_mm_s3_srf Downward surface shortwave radiation /pcpd longwave_mm_s3_srf Net surface longwave radiation /pcpd sh_mm_hyb Surface sensible heat flux /pcpd lh_mm_srf Surface latent heat flux /pcpd u_mm_p U wind component on pressure levels
Assessment brief Module code & title SOEE2810: Data Analysis and Visualisation Assignment title The Last Glacial Maximum report Assignment type Python notebook with code, free text and plots Learning outcomes assessed 1. Practice skills in measurements, analysis, synthesis and integration of information, and in the application of related theoretical knowledge, where relevant. 3. You will be able to perform. simple operations on Linux systems (e.g. moving between and managing directories, text editing) 4. You will be able to design and execute efficient, simple computer programs (in Python) for reading, manipulating, analysing (including plotting) and outputting data 5. You will be able to diagnose and correct errors in code Assignment length/Time limit guidance No length limit for code, individual word limits for text sections Use of GenAI in this assessment RED: AI tools cannot be used You must not use GenAI tools. The purpose and format of the assessments makes it inappropriate or impractical for AI tools to be used. Weighting 50% of total mark Deadline or date of assessment 2pm Tuesday 17th December (week C1) Submission method Submit the coursework file by copying it into the “paleoclimate_coursework_submission” folder in your home directory on Jupyterhub. The time and date of submission is recorded automatically. Feedback provision Usually, you will receive your feedback before your next assessment for the module is due. Where it is appropriate to do so, and feedback can be released without invalidating the integrity of ongoing assessments, this will typically be no later than 15 working days post submission. Please be mindful that some students may have approved extensions for assessments which mean it is not appropriate to release feedback within 15 working days after individual submissions. In these cases, feedback will be released no later than 15 working days following the submission of all outstanding work for the assessment. Feedback on course will be incorporated into the graded work and returned to your home directory. Feedback will follow each question and will note how the question can be better answered. Further feedback through meetings with the module manager is welcome, and can be requested over email. Assignment summary guidance The assignment is a python notebook that can be copied into your home directory in the same way as the weekly worksheets. Please see the guidance on Minerva for this. You will use python code to analyse, plot and interpret climate model data for a modern simulation and for the Last Glacial Maximum, a period of expanded ice sheet cover around 20 thousand years ago. Detailed instructions are provided as part of each individual section within the python notebook. A supplementary document is also provided on Minerva that includes details of the climate model setup which will help you locate the correct output files to work with. Use of GenAI Generative artificial intelligence (GenAI) tools cannot be used on this assessment. This assessment is designed to demonstrate foundation-level skills like developing code structure and debugging that are essential to your programme. While professional programmers may work successfully with GenAI tools, this is only possible because they have learned the foundation-level skills which enable them to guide and check the work of the AI. General guidance skills@library hosts useful guidance on academic skills including specific guidance on academic/writing and referencing Academic skills | Library | University of Leeds Assessment criteria and process Marks are assigned by these broad criteria: 40% of the marks for code functionality i.e. did you get the correct answer 30% of the marks for figure presentation and coding style. 30% of the marks for your interpretation of the results This assessment has standard deadline and length penalties. Word counts are given for individual written sections. For information on late penalties and assignment length requirement penalties see the Faculty CoPA or School Annex. There is no assessment of technical written English in this coursework. This assessment can be resat via a similar assessment method. Presentation/Formatting and referencing There are no formatting requirements for text and no referencing is required. Figure formatting forms part of the assessment above.
The Interrelation Between Partially Ordered Sets and Lattice Structures: A Comprehensive Exploration Abstract This paper delves into the intricate relationship between partially ordered sets (posets) and lattice structures, emphasizing their founda- tional properties and extensive applicability across mathematics and computer science. It rigorously defines posets and lattices, highlighting the pivotal roles of meet and join operations. The distinction between distributive and non-distributive lattices is elucidated, alongside their algebraic characteristics. The relevance of lattice theory in Boolean al- gebra, formal language theory, and algorithmic design is underscored. Ultimately, this exploration affirms the significance of lattice theory in both theoretical and applied mathematics, while suggesting avenues for further inquiry into non-distributive lattices and their complex im- plications. Keywords: Partially ordered sets, Lattice structures, relationship 1 Introduction The investigation of partially ordered sets (posets) and lattice structures con- stitutesa foundational aspect of various mathematical disciplines, notably in algebra, order theory, and mathematical logic. These structures yield pro- found insights into the organization and interrelationships of elements within a set, thereby offering both theoretical depth and practical applicability. A partially ordered set (poset) is formally defined as a set P endowed with a binary relation ≤ that adheres to the axioms of reflexivity, antisymmetry, and transitivity. Conversely, a lattice is characterized as a poset in which ev- ery pair of elements possesses both a least upper bound (join) and a greatest lower bound (meet). This paper aims to elucidate the intricate relationship between posets and lattices, with a particular emphasis on their structural properties, the spe- cific conditions under which posets can be transformed into lattices, and the extensive range of applications that arise from these concepts. The overarch- ing objective is to foster a deeper comprehension of the interactions between these mathematical structures and to underscore their significance in various domains, including Boolean algebra, formal logic, and computer science. 2 Definitions and Fundamental Properties of Partially Ordered Sets A partially ordered set (poset) is formally defined as a set P accompanied by abinary relation ≤ that satisfies the following three axioms: • Reflexivity: For every element a ∈ P , it holds that a ≤ a. • Antisymmetry: For all elements a,b ∈ P , if a ≤ b and b ≤ a, then it follows that a = b. • Transitivity: For all elements a,b,c ∈ P , if a ≤ b and b ≤ c, then it necessarily follows that a ≤ c. These axioms collectively ensure that the elements of a poset are orga- nized in a non-decreasing order; however, it is important to note that not every pair of elements within the set is required to be comparable. For in- stance, the power set P(S) of a set S , ordered by the subset relation ⊆ , exemplifies a poset. In this context, the meet (greatest lower bound) of two sets A and B is represented by their intersection, denoted as A ∩ B , while the join (least upper bound) is represented by their union, denoted as A∪B . Posets are frequently illustrated using Hasse diagrams, which provide a visual representation of the ordering relationships among the elements of a poset. These diagrams facilitate a clearer understanding of the properties of transitivity, antisymmetry, and reflexivity inherent in posets.[1]. 3 Definitions and Essential Properties of Lat- tice Structures A lattice is a partially ordered set (poset) in which every pair of elements possesses both a least upper bound (join) and a greatest lower bound (meet). Formally, for any two elements a,b ∈ L, there exist unique elements a ∨ b (the join) and a Λ b (the meet) such that: • a ∨ b is the least element in L that is greater than or equal to both a and b, • a Λ b is the greatest element in L that is less than or equal to both a and b. These operations are subject to a number of crucial properties, which are intrinsic to the structure of lattices: • Idempotency : For all a ∈ L, it holds that a Λ a = a and a ∨ a = a. • Commutativity: For all a,b ∈ L, the operations satisfy a Λ b = b Λ a and a ∨ b = b ∨ a. • Associativity: For all a,b,c ∈ L, the following hold: (a Λ b) Λ c = a Λ (b Λ c) and (a ∨ b) ∨ c = a ∨ (b ∨ c). • Absorption: For all a,b ∈ L, the absorption laws hold: aΛ(a∨b) = a and a ∨ (a Λ b) = a. These fundamental properties characterize the algebraic structure of lat- tices and parallel the basic properties of logical operations in Boolean al- gebra. Specifically, the meet and join operations in a lattice correspond to logical conjunction (AND) and disjunction (OR) in Boolean logic, respec- tively. Consequently, lattices provide an algebraic framework that underpins many logical systems, serving as a cornerstone for reasoning about logical formulas and enabling the formal manipulation of logical expressions within various branches of mathematics and theoretical computer science. [2]. 4 The Interconnection Between Posets and Lat- tices The relationship between partially ordered sets (posets) and lattices can be conceptualized as a generalization: every lattice constitutes a poset, yet not every poset qualifies as a lattice. The fundamental distinction resides in the existence of meet and join operations for every pair of elements. In a lattice, it is requisite that every pair of elements possesses both a meet and a join; conversely, in a general poset, such operations may be undefined for certain pairs of elements. A classical exemplar of a lattice is a Boolean algebra, which is charac- terized by its completeness and distributive properties. Within Boolean al- gebras, the meet and join operations are directly analogous to logical con- junction and disjunction, respectively, in formal logical systems. Further- more, these operations adhere to the distributive laws, thereby establishing Boolean lattices as a natural model for classical propositional logic. This correspondence enables logical reasoning to be rigorously formalized through the lens of lattice theory, facilitating a deeper understanding of the structural underpinnings of logical expressions and their interrelations. [3]. 5 Distributive and Non-Distributive Lattices A lattice is said to be distributive if it satisfies the following distributive laws: a Λ (b ∨ c) = (a Λ b) ∨ (a Λ c), a ∨ (b Λ c) = (a ∨ b) Λ (a ∨ c). Distributivity ensures that the meet and join operations interact in a man- ner analogous to multiplication and addition in arithmetic, thereby rendering distributive lattices well-behaved from an algebraic standpoint. Such lattices are of paramount importance in Boolean algebra, where the meet and join operations effectively model logical conjunction and disjunction, respectively. In contrast, non-distributive lattices do not adhere to these distributive laws. Non-distributive lattices emerge in contexts characterized by greater algebraic complexity and are instrumental in the exploration of non-Boolean logical systems as well ascertain topological spaces [4]. These lattices present intriguing challenges and serve as counterexamples to some of the more in- tuitive properties associated with distributive lattices, thereby enriching the study of lattice theory and its applications in various mathematical disci- plines. 6 Applications of Posets and Lattices in Vari- ous Disciplines Lattice theory has a wide array of applications across both pure and ap- plied mathematics. In the field of computer science, lattices serve as the foundational framework for the design of efficient data structures, including search trees and priority queues, which leverage the properties inherent to ordered sets. Furthermore, lattices underpin the construction of Boolean cir- cuits, where the meet and join operations correspond to fundamental logical operations such as conjunction (AND) and disjunction (OR). Lattice the- ory is also indispensable in the analysis of formal languages, programming languages, and the development of compilers [2]. In the domain of mathematical logic, lattices are employed to model var- ious logical systems. The meet and join operations within a lattice are di- rectly analogous to logical conjunction and disjunction, respectively, ren- dering them essential for the formal reasoning about propositions and their interrelations. Moreover, lattice theory provides a robust framework for the exploration of set theory and functional analysis, particularly within the con- text of order theory and the study of bounded functions [5]. In real analysis, lattices facilitate a deeper understanding of the structure of the real number system. Under the standard ordering, the real numbers constitute a complete lattice, wherein every subset possesses both a supre- mum (least upper bound) and an infimum (greatest lower bound). This lattice structure is foundational to numerous pivotal results in analysis, in- cluding the least upper bound property and the examination of limits and continuity [6]. 7 Conclusion In conclusion, the intricate interplay between partially ordered sets (posets) and lattices elucidates a foundational structure that is pivotal across vari- ous mathematical domains. The characterization of lattices via meet and join operations not only enhances our theoretical understanding of ordered sets but also underscores their extensive applicability in disciplines such as computer science, mathematical logic, and real analysis. The ramifications of lattice theory extend beyond mere theoretical con- structs, significantly informing algorithmic design and formal reasoning frame- works. Furthermore, the lattice structure of the real numbers serves as a cornerstone for critical analytical results, thereby illustrating the profound impact of lattice theory on the elucidation of fundamental mathematical con- cepts. As research in this area advances, the continued exploration of posets and lattices is poised to yield novel insights and applications, particularly in relation to emergent fields such as category theory and topology, thus enriching our comprehension of complex mathematical structures.
EEC 210 HW 4 1. Calculate the output resistance of the circuit below assuming that IIN = 100 µA and the devices have drawn dimensions of 100 µm/1 µm. Use the process parame- ters given in Table 2.4 at the end of this homework, and assume that Xd = 0 for all devices. Also, ignore the body effect for simplicity. Compare your answer with a SPICE simulation and also use SPICE to plot the IOUT - VOUT characteristic for VOUT from 0 to 3 V. 2. Design the circuit below to satisfy the following constraints: (a) Transistor M2 must operate in the active region for values of VOUT to within 0.2 V of ground. (b) The output current must be 50 µA. (c) The output current must change less than 0.02 percent for a 1 V change in the output voltage. Ignore the body effect for simplicity. Make all devices identical except for M4 . Use SPICE to check your design and also to plot the IOUT - VOUT characteristic for VOUT from 0 to 3 V. 3. Calculate the small-signal voltage gain of the common-source amplifier with active load below. Assume that VDD = 3 V and that all the transistors operate in the active region. Do the calculations for values of IREF of 1 mA, 100 µA, 10 µA, and 1 µA. Assume that the drawn dimensions of each transistor are W = 100 µm and L = 1 µm. Assume Xd = 0 and use Table 2.4 at the end of this homework for other parameters. (a) At first, assume the transistors operate in strong inversion in all cases. (b) Repeat part (a) including the effects of weak inversion. Use (1.253) with n = 1. 5 to calculate the transconductance of M1 . In case you do not have the book, this equation gives gm = nVT/ID , which means that the transconductance of an MOS transistor operating in weak inversion is identical to that of a cor- responding bipolar transistor except for the factor 1/n, which models the fact that the gate controls the surface potential indirectly. Assume that a transistor operates in weak inversion when its overdrive is less than 2n VT , which is about 78 mV at room temperature with n = 1. 5. (c) Use SPICE to check your calculations for both parts (a) and (b). VDD 4. Calculate the small-signal voltage gain of the common-source amplifier with deple- tion load below, including both the body effect and channel-length modulation. Assume that VDD = 3 V and that the dc input voltage is adjusted so that the dc out- put voltage is 1 V. Assume that M1 has drawn dimensions of W = 100 µm and L = 1 µm. Also, assume that M2 has drawn dimensions of W = 10 µm and L = 1 µm. For both transistors, assume that Xd = 0. For M2 , assume Vt0 = − 1 V. Also, ignore channel-length modulation when calculating the dc bias current, but include channel-length modulation when doing the small-signal analysis. Use Ta- ble 2.4 at the end of this homework for other parameters of both transistors. TABLE 2.4 Summary of Process Parameters for a Typical Silicon-Gate n-Well CMOS Process with 0.4 m Minimum Allowed Gate Length -ChannelTransistorValuepChannel AN 15410 /3Gate oxide thicknesst - φ ; 2 drwn , j0.150.18mSource, drain side d d0.090.09mOverlap capacitanceperunitgatewidthC i0.160.16meffective surface concentrati si410 16Atomscm t0.608VPolysilicongate10 20Atomscm s55Source, drain-bulkC00.20.4fF/2junction capacitances(zero bias)Sourcedrainbulkjunctionn0.50.4capacitance grading jsw coefficientSourcedrainjunction builtinpotential0.70.7VSurface-state densityQ 1110 /2Channellength0.020.04m/Vmodulationparameter
GGES6013 Core Skills in GIS Assignment 1 Assignment 1: Mapping hedgerows on the Isle of Wight OR Mapping intertidal habitats around Lymington 50% of total module mark Scenario: Hedgerows In the UK and many other western European countries, hedgerows are an important ecological feature of agricultural landscapes (Baudry, Bunce and Burel, 2000). Hedgerows can act as ‘corridors’, connecting together patches of woodland within an otherwise arable landscape and enabling wildlife to move between such patches. Furthermore, in England the hedgerows themselves can act as habitat for species such as the dormouse. Hedgerow structure (e.g. height, width and species composition) as well as gappiness is important in determining its value as a habitat (see the Department for Environment, Food and Rural Affairs link below). In the UK, landowners can receive subsidies from government through various agri-environmental schemes for maintaining, restoring or creating hedgerows. For these reasons, conservationists have had a long-standing interest in surveying and mapping hedgerows in the UK (Lauver, Busby, and Whistler 2002). Data Provided You will find a shapefile called IsleWightGrid on the GGES6013 Blackboard site under Assignments > Assignment 1. This contains a set of 1 by 1km grid squares for the central Isle of Wight on the south coast of England. You will be allocated one of these grid squares for your assignment, together with a number of other class members. Task You have been asked to map hedgerows in a study area on the Isle of Wight as part of a wildlife conservation project, looking at habitat connectivity on the island. The resultant data will be used to prioritise the awarding of grants to local landowners for planting or restoring hedgerows in the area. For your allocated 1 by 1km grid square, create a geodatabase into which you can manually digitise (using on-screen heads-up digitising) the locations of hedgerows based on any source of online remotely sensed imagery of your choice for this area. You may choose to represent hedgerows as lines or polygons and you may wish to add attributes to your hedgerows. In a report of no more than 2,000 words: · Briefly describe your methodology, including how you developed your geodatabase and undertook any subsequent analysis operations. · Include at least one map depicting the hedgerows that you have digitised within your allocated grid square and present at least one summary statistic which summarises the distribution and/or characteristics of the hedgerows within your grid square, e.g. the total area or length of hedgerows within your grid square. · Evaluate the accuracy of the hedgerows that you have digitised (for example by comparing the boundaries that you have digitised with those of a colleague working on the same grid square, or the previously digitised dataset provided by the teaching team, or any other secondary dataset which you consider relevant). Include at least one statistic to support your assessment of its accuracy.
MODULAR PROGRAMME- COURSEWORK ASSESSMENT SPECIFICATION Module Details Module Code UFMFVL-15-M Run 24/25 Module Title Mechanics of Composites 1 Introduction This coursework is a team-based activity. Pair in groups of 2 and address Tasks 1 and 2. 2 Task 1- Laminate Analysis 35% A laminate is made of n laminae each from different materials is subjected to three membrane forces and three bending moments as shown in Figure 1. Figure 1: A laminate subjected to membrane forces and bending moments where • Nx = normal force resultant in the x direction (N/m) • Ny = normal force resultant in they direction (N/m) • Nxy = shear force resultant (N/m) • Mx = Bending moment resultant in the x direction (N. m/m) • My = Bending moment resultant in they direction (N. m/m) • Mxy = Torsional moment resultant (N. m/m) This laminate is made of nplies ( n ≤ 11) each having a thickness of tk and an angle of θk with the x axis (global coordinate). The material properties of one ply in its principal directions are given in Table 1. Table 1: Mechanical properties of composite ply 11Mpa) 22Mpa) 12Mpa) tMpa) cMpa) tMpa) cMpa) In-plane shear strength (θ Poisson's ratio in plane 1-2 1μE/℃) 2μE/℃) 1*μE/%) 2μE/%) * Strain is measured in μE and ∆c (change in concentration of the swelling agent, i.e. moisture) is percentage (%) 2.1 Part A- 20% The laminate is subjected to membrane forces, bending moment, change of temperature ΔT and a moisture concentration of Δc. Design an interactive spreadsheet to calculate the: 1. Factor of Safety (FoS) of each ply and the whole laminate based on maximum stress criterion. 2. FoS of each ply and the whole laminate based on maximum strain criterion 3. FoS of each ply and the whole laminate based on Tsai-Hill Criterion. 4. FoS of each ply and the whole laminate based on Tsai-Wu Criterion. 5. FoS of each ply and the whole laminate based on Hoffman criterion. 2.2 Part B - 10% When one or more ply fails, using Ply by Ply Failure method calculate the following: 1. FoS of each remaining ply and the whole laminate based on Interactive Tensor Polynomial Theory - Tsai-Wu Criterion 2. Continue this procedure until the catastrophic failure (automated process in excel) 2.3 Part C- 5% Calculate buckling loads under various loads and boundary conditions. 2.4 Deliverables A spreadsheet for the given task labelled with your name and student numbers and a clear description (within the spreadsheet) on how it works. Important Note: This spreadsheet is essential for Task 2. 3 Task 2- Design and analysis of a composite pressure vessel 65% 3.1 Introduction- filament winding Filament winding is used for the manufacture of parts with high fibre volume fractions and controlled fibre orientation. Fibre tows are immersed in a resin bath where they are coated with low or medium molecular weight reactants. The impregnated tows are then literally wound around a mandrel (mould core) in a controlled pattern to form the shape of the part. After winding, the resin is then cured, typically using heat. The mould core may be removed or may be left as an integral component of the part. The filament winding process was originally invented to produce missile casings, nose cones and fuselage structures, but with the passage of time industries other than defence and aerospace have discovered the strength and versatility of filament winding. Examples of products created using the process of filament winding include: • Tubes • Transmission poles • Aircraft fuselages • Gas, water, or tanks • Cement Mixers • Pipes 3.2 Brief Your task is to use your laminate design spreadsheets and the Abaqus ® finite element analysis software package to design a laminate layout for a pressure vessel as shown in Figure 2. The pressure vessel is made of ONLY laminate composites. It is subjected to an internal pressure of 55 bar. Your final design must have a FoS = 2.5. Figure 2: General layout of a composite pressure vessel subjected to internal pressure The pressure vessel is supported by two concrete supports as shown in Figure 2. The concrete supports are assumed to be rigid compared to the pressure vessel. The environmental effects of moisture maybe assumed to be negligible. There are two inlets on each spherical end cap of the pressure vessel and there are two outlets on the top and bottom of cylindrical part as presented inFigure 2throughFigure 3. Diameters of inlets and outlets are 60 mm. Dimensions of the pressure vessel are given in Figure 3andTable 2. Figure 3: Geometrical dimensions of the pressure vessel Table 2: Dimensions for the inner radius and position of supports Material properties for the lamina in the principal directions are given inTable 3. Table 3: Lamina’s properties 11Mpa) 110,000 22Mpa) 7,500 12Mpa) 5,000 tMpa) 1,950 cMpa) 1,450 tMpa) 100 cMpa) 200 In-plane shear strength (Pkg3θ Poisson's ratio in plane 1-2 0.3 1μE/℃) 13 2μE/℃) 35 3.3 Procedure 3.3.1 Engineering analysis of the pressure vessel 1. Research on filament winding method (to determine the limitation of this method and preferable angles of fibres etc.). 2. Use the theory of pressure vessels (without consideration of the pressure vessel’s weight) to determine the applied longitudinal and hoop forces per unit length (Nx , Ny , Nxy , …). 3. Use your spreadsheet to determine the best layout for the applied forces- using Solver® will help you significantly. 4. Use your theoretical laminate layout from step 3 to analyse the pressure vessel using Abaqus® . 5. Perform. a mesh study to determine the optimum size and shape of mesh. 6. Reduce weights by adding patches around the holes instead of making the whole pressure vessel thicker. 7. If your FoS is within limit goto step 8 otherwise change the thickness or angle of fibres or size or orientation of patches to achieve the given FoS. 3.3.2 Advanced Analysis 8. Investigate on the design and analysis of inlet and outlets and how this affects the FoS. 9. Investigate if this vessel is suitable to carry liquid (density 1000 kg/m3 ) in addition to the given pressure and its weight. Ifnot, change the design to have a FoS of 2.5. 10. Investigation on environmental effect (when temperature changes ΔT = 50℃) on FoS in addition to the given pressure, weight of liquid and vessel. If not, change the design to have a FoS of 2.5. Note 1: You need to document every step of your work. Remember that ONLY your report will be marked. Note 2: The output of this coursework will be a report in the style of a 10-page conference paper. Please use the provided template (Manuscript_template)
N1569 Workshop 6 Use the Excel Workbook for Topic 6 to answer the following questions: 1. A portfolio contains cash positions of $1m, $2m, and $3m on three stocks named A, B, and C respectively. The stocks A, B, and C have market betas of 0.6, 1, and 1.2 respectively, with respect to an index whose excess returns are i.i.d. and normally distributed with an expectation of 2.5% and volatility of 35% per annum. Calculate the 10% 5-day Equity VaR of the portfolio. 2. A UK investor buys $1 million of UK stocks in a portfolio with beta 1.2 with respect to the UK market index, and $2 million of US stocks in a portfolio with beta 0.8 with respect to the US market index. Suppose the FTSE 100, S&P 500, and £/$ volatilities are 15%, 10%, and 35% respectively, and their correlations are: • ρUK, US = 0.7 • ρUK, £/$ = 0.4 • ρUS, £/$ = 0.5 Calculate the VaR due to each market risk factor and then aggregate this into: (a) the equity VaR, and (b) the total systematic VaR. For each VaR figure, apply the normal linear model and use a 99% confidence level (i.e., α = 1%) and a risk horizon of h = 10 days. Express all your answers in $.
CSCl251 Advanced Programming Assignment 1 Aim The objectives of this assignment includes: ·Learning about procedural programming,control structures,arrays,dynamic memory allocation and handling input/output ● Apply the concepts learnt by developing a Weather Information Processing System Background Your software company,Virtual Solutions,has just won a $1m contract to design a build a prototype Weather Information Processing System (WIPS). For this assignment,you take on the role of a software architect.You are supplied with sample input weather data(kindly provided by the meteorological station),and you need to develop a program that does the following: 1) read in and process a configuration file 2) display city map 3) display cloud coverage map(cloudiness index) 4) display cloud coverage map (LMH symbols) 5) display atmospheric pressure map(pressure index) 6) display atmospheric pressure map (LMH symbols) 7) show weather forecast summary report The program should be compiled as 'csci251_a1.exe'and run in Ubuntu 14.04 (Linux OS). The next section describes the requirements for the program. Task Requirements A)Upon startup,the program should prompt user to enter a 'configuration'filename.The program then proceeds to read the contents (of the entered filename)to further initialize its own program parameters /data structures.Please refer to Appendix A,which provides details on the configuration file and its usage. B)The meteorological station has adopted a map-grid coordinate system upon which it overlays all other weather data.With regards to display city map option,please refer to Appendix B, which elaborates on this coordinate system,the unit representation,the relative positioning of different cities and its display requirements. C)For the display requirements of cloud coverage(cloudiness index),AND cloud coverage (LMH symbols)(i.e.options 3)&4)),please refer to Appendix C,which will discuss about the interpretation of cloud cover input data,its subsequent processing algorithm and output fomat requirements. D)For the display requirements of atmospheric pressure(pressure index)AND atmospheric pressure(LMH symbols) (i.e.options 5)&6)),please refer to Appendix D,which wil discuss about the interpretation of pressure input data,its subsequent processing algorithm and output fomat requirements. E)For the display requirements of weather forecast summary report,please refer to Appendix E,which will provide details about the kind of summarized weather data to be displayed,processing algorithm to compute the probability of rain and its graphical display format. F)Refer to Appendix F,for a description of the program's main menu requirements G)Once the program is completed and tested to be working successfully,you are encouraged to add on "new features"to the program that you feel are relevant to the problem.Additional marks may be awarded subject to the relevancy and correctness of the new functionalities.(Note :the additional features will only be considered IF the program has correctly fulfilled all the basic requirements elaborated in the earlier sections!) H)You are not allowed to declare your own C++classes for this program,as this is a purely procedural (not Object Oriented)programming assignment! l)You are to use only C++language to develop your program.There is no restriction on the IDE as long as your source files can be compiled by g++compiler (that comes installed in Tutor's Ubuntu Linux)and executed in the Ubuntu teminal shell environment. Deliverables 1) The deliverables include the following: a) The actual working C++program(soft copy), with comments on each file, function or block of code to help the tutor understand its purpose. b) A softcopy word document that elaborates on: ● (Interpreted) requirements of the program ● Diagram / Illustrations of program design ● Summary of implementation of each module in your program ● Reflections on program development (e.g. assumptions made, difficulties faced, what could have been done better, possible enhancements ind future, what have you learnt, etc) c)A program demo/software testing during lab session.You must be prepared to perform certain tasks/answer any questions posed by the tutor. 2) IMPT:Please follow closely,to the submission instructions in Appendix G, which contains details about what to submit,file naming conventions,when to submit,where to submit,etc. 3) The software demo /testing will be held during lab session where you are supposed to submit your assignment.Some time will be allocated for you to present / demonstrate your program's capabilities during the session. Grading Student's deliverable will be graded according to the following criteria: (i) Program fulfills all the basic requirements stipulated by the assignment (ii) Successful demonstration of a working program,clarity of explanation /presentation and satisfactory answers provided during Q&A session. (ii) Additional effort(e.g.enhancing the program with relevant features over and above task requirements,impressive,‘killer'presentation) (iv) After the submission of deliverables,students will be required undergo a software testing process (to detemine the correctness and fulfillment of software requirements.)Further instructions will be given by the Tutor during the subsequent respective labs.Please pay attention as failure to adhere to instructions will result in deduction of marks. Tutor's note: In the real working world,satisfactory completion of your tasks is no longer enough.The capability,efficiency and robustness of your system to operate under different testing conditions, and the ability to add value, communicate and/or demonstrate your ideas with clarity is just as important as correct functioning of your program.The grading criteria is set to imitate such requirements on a'smaller scale'.