FIT2004 Data Structures and Algorithms Assignment 2 - Semester 1 2025 Learning Outcomes This assignment achieves the Learning Outcomes of: • Analyse general problem solving strategies and algorithmic paradigms, and apply them to solving new problems; • Prove correctness of programs, analyse their space and time complexities; • Compare and contrast various abstract data types and use them appropriately; • Develop and implement algorithms to solve computational problems. In addition, you will develop the following employability skills: • Text comprehension. • Designing test cases. • Ability to follow specifications precisely. Assignment timeline In order to be successful in this assessment, the following steps are provided as a suggestion. This is an approach which will be useful to you both in future units, and in industry. Planning 1. Read the assignment specification as soon as possible and write out a list of questions you have about it. 2. Try to resolve these questions by viewing the FAQ on Ed, or by thinking through the problems over time. 3. As soon as possible, start thinking about the problems in the assignment. • It is strongly recommended that you do not write code until you have a solid feeling for how the problem works and how you will solve it. 4. Writing down small examples and solving them by hand is an excellent tool for coming to a better understanding of the problem. • As you are doing this, you will also get a feel for the kinds of edge cases your code will have to deal with. 5. Write down a high-level description of the algorithm you will use. 6. Determine the complexity of your algorithm idea, ensuring it meets the requirements. Implementing 1. Think of test cases that you can use to check if your algorithm works. • Use the edge cases you found during the previous phase to inspire your test cases. • It is also a good idea to generate large random test cases. • Sharing test cases is allowed, as it is not helping solve the assignment. 2. Code up your algorithm, and test it on the tests you have thought of. 3. Try to break your code. Think of what kinds of inputs you could be presented with which your code might not be able to handle. • Large inputs • Small inputs • Inputs with strange properties • What if everything is the same? • What if everything is different? • etc... Before submission • Make sure that the input/output format of your code matches the specification. • Make sure your filenames match the specification. • Make sure your functions are named correctly and take the correct inputs. • Remove print statements and test code from the file you are going to submit. Documentation For this assignment (and all assignments in this unit) you are required to document and com- ment your code appropriately. Whilst part of the marks of each question are for documentation, there is a baseline level of documentation you must have in order for your code to receive marks. In other words: Insufficient documentation might result in you getting 0 for the entire question for which it is insufficient. This documentation/commenting must consist of (but is not limited to): • For each function, high-level description of that function. This should be a two or three sentence explanation of what this function does. • Your main function in the assignment should contain a generalised description of the approach your solution uses to solve the assignment task. • For each function, specify what the input to the function is, and what output the function produces or returns (if appropriate). • For each function, the appropriate Big-O or Big-Θ time and space complexity of that function, in terms of the input size. Make sure you specify what the variables involved in your complexity refer to. Remember that the complexity of a function includes the complexity of any function calls it makes. • Within functions, add comments where appropriate. Generally speaking, you would com- ment complicated lines of code (which you should try to minimise) or a large block of code which performs a clear and distinct task (often blocks like this are good candidates to be their own functions!). A suggested function documentation layout would be as follows: def my_function(argv1, argv2): """ Function description: Approach description (if main function): : Input: argv1: argv2: : Output, return or postcondition: : Time complexity: : Time complexity analysis: : Space complexity: : Space complexity analysis: """ # Write your codes here . There is a documentation guide available on Moodle in the Assignment section, which contains a demonstration of how to document code to the level required in the unit. Warning For all assignments in this unit, you may not use python dictionaries or sets. This is because the complexity requirements for the assignment are all deterministic worst-case requirements, and dictionaries/sets are based on hash tables, for which it is difficult to determine the deter- ministic worst-case behaviour. Please ensure that you carefully check the complexity of each in-built python function and data structure that you use, as many of them make the complexities of your algorithms worse. Common examples which cause students to lose marks are list slicing, inserting or deleting elements in the middle or front of a list (linear time), using the in keyword to check for membership of an iterable (linear time), or building a string using repeated concatenation of characters. Note that use of these functions/techniques is not forbidden, however you should exercise care when using them. Please be reasonable with your submissions and follow the coding practices you’ve been taught in prior units (for example, modularising functions, type hinting, appropriate spacing). While not an otherwise stated requirement, extremely inefficient or convoluted code will result in mark deductions. These are just a few examples, so be careful. Remember that you are responsible for the complexity of every line of code you write! 1 A Crowded Campus (9 marks) The problem of class allocation is only becoming more and more difficult due to the current physical space constraints. There are many variables involved in the problem of allocating a unit’s classes to specific classrooms and times, and allocating students to specific classes such as: • the total number of students expected to enroll in a unit, • which rooms have the necessary resources for the classes, • how big the rooms are, • the time availability of the students, • and the time availability of the classrooms. Given that physical space availability is currently the main bottleneck and that there are certain times of the day that are more preferred amongst students, the team responsible for managing the classroom spaces is considering placing stricter constraints on the usage of classroom space, based on the following general principles: • During prime-time, a classroom would only be allocated to a specific unit if it is possible to allocate students to that class such that it reaches very close to the room capacity. • During less popular times, the allocation of spaces is more flexible. • For classroom spaces which are more popular with the units (as they have the best resources), the occupancy limits are stricter. And, of course, the university also wants to make students as satisfied as possible by allocating as many students as they can to classes in their preferred times/days of the week. The spaces admin team did a detailed analysis to set reasonable numbers for the minimum oc- cupancy rate of specific classrooms during specific times of the day (based on the popularities of the classroom and the time slot). They have put a great effort in trying to come up with a draft allocation of classes to specific classroom spaces and times, but they have soon realised that verifying if it is possible to allocate the students accordingly to satisfy all the outlined constraints would be extremely hard to do manually. As they do not have a computer scientist in their team, they have asked for your help. Particularly, they have asked you to help them verify the draft allocation of FIT2004 applied classes to specific classrooms and times. There are twenty time slots in which FIT2004 applied classes can run each week, as they are three hours long. These time slots will be numbered 0, 1, . . . , 19. You are given as input the following data: • A positive integer n denoting the number of students to be allocated to FIT2004 applied classes. The students will be numbered 0, 1, . . . , n - 1. • A positive integer m denoting the number of proposed FIT2004 applied classes in the draft. The proposed classes will be numbered 0, 1, . . . , m − 1. • A list of lists timePreferences of outer length n. For i ∈ 0, 1, . . . , n − 1, timePreferences[i] contains a permutation of the elements of set {0, 1, . . . , 19} to indi- cate the time slot preferences of student i. The time slots in timePreferences[i] appear in order of preference, with the time slot that student i likes the most appearing first. • A list of lists proposedClasses of outer length m. For j ∈ 0, 1, . . . , m − 1: - proposedClasses[j][0] denotes the proposed time slot for the j-th class. Poten- tially, there can be multiple FIT2004 applied classes running in parallel. - proposedClasses[j][1] and proposedClasses[j][2] are positive integers that denote respectively, the minimum and maximum number of students that can be allocated to the j-th class to satisfy the space occupancy constraints. • A positive integer minimumSatisfaction. It holds that minimumSatisfaction ≤ n. Your task is to write an algorithm that returns an allocation of each student to a proposed class. The returned allocation should satisfy the following requirements: • Each student is allocated to exactly one class. • Each proposed class satisfies its space occupancy constraints. • At least minimumSatisfaction students get allocated to classes with class times that are within their top 5 preferred time slots. To solve this problem, you should write a function crowdedCampus(n, m, timePreferences, proposedClasses, minimumSatisfaction): • In case no allocation satisfying all constraints exists, your algorithm should return None (i.e., Python NoneType). • Otherwise, it should return a list allocation of length n containing exactly one possible allocation of the students to the classes that satisfies all constraints. For i ∈ 0, 1, . . . , n−1, allocation[i] denotes the class number to which student i would be allocated. Your algorithm should have worst-case time complexity O(n2 ) and worst-case auxiliary space complexity O(n). 2 Typo (9 marks) Levenshtein Distance or Edit Distance is a metric to measure the difference between two words – the minimum number of single-character edits (insertions, deletions or substitutions) required to change one word into the other . You are an AI abuser and always ask an AI to do your assignment for you. However, the assignment forbids the use of AI and the AI is smart enough to ignore you no matter what you try to prompt it with. In fact, the AI is a troll and will provide wrong Python code and documentation with words that have Levenshtein distance exactly one from what it should be. Furthermore, it will only perform substitutions, and not insertions nor deletions. You have learned that AI cannot be trusted and therefore are now coding a Python program to identify words that have Levenshtein distance exactly one from what they should be when only substitutions are considered. You are implementing a primary data structure that will help you efficiently compute this, as per the following signature: class Bad_AI: def __init__ (self, list_words): # ToDo: Create a data structure that stores list_words efficiently for the next task . Remember dictionary, including hashing, should not be used . def check_word(self, sus_word): # ToDo: This function identify words with Levenshtein distance value of exactly one (substitution) . 2.1 Input Based on the class signature given earlier, you have the following inputs: • list_words is a list of N words, where the longest word has M characters and all of the characters in list_words add up to C. Thus, O(C) ≤ O(M * N). • sus_word is a word with J characters. • The characters in both lists are all lowercase, in the range of a . . . z. There are no special characters involved. • All words in list_words are unique and you cannot assume they are in any particular order. 2.2 Output The function check_word(self, sus_word) returns result - a list of the words from list_words whose Levenshtein distances to sus_word are equal to 1 when allowing only substitutions. If there are no such words, it would be an empty list []. Refer to the example(s) provided in Section 2.3. 2.3 Example if __name__ == "__main__ ": list_words = ["aaa", "abc", "xyz", "aba", "aaaa"] list_sus = ["aaa", "axa", "ab", "xxx", "aaab"] my_ai = Bad_AI(list_words) for sus_word in list_sus: my_answer = my_ai. check_word(sus_word) my_answer will contain the following for each iteration: [''aba''] [''aaa', ''aba''] [] [] [''aaaa''] 2.4 Complexity The class Bad_AI would have the following complexity: • Function __init__ (self, list_words) should have a worst-case time complexity of O(C) with a worst-case auxiliary space complexity of O(C). • Function check_word(self, sus_word) should have a worst-case time complexity of O(J * N) + O(X) with a worst-case auxiliary space complexity of O(X). X is the total number of characters returned in the correct result.
Assignment 1 Due: 26th March 2025, 23:59 Q1 [Max total marks: 10] The following stress components represent 2D stress condition as given below: σx = 200 MPa σy = 250 MPa τxy = - 30 MPa (a) Draw the element clearly showing its coordinate system and indicate all acting stresses [1 mark]; (b) Construct a Mohr s circle of stress and find the principal stresses and the orientation of the principal axes relative to the x,y axes indicating the point on circle corresponding to the element as B. Provide a typed table containing the following data: coordinates of the centre; radius of the circle, angle between the radius vector of the point A and the abscissa i.e. horizontal axis in degrees (anticlockwise) [3 marks]; (c) determine the stresses acting on an element, rotated in the x-y plane 60° counterclockwise from its original position [3 marks]; (d) Produce a typed table containing the principal stresses and the maximum shear stress [3 marks] Q2 [Max total marks: 10] The state of stress at a point of an elastic solid is given in the x-y- z coordinates by: (a) What type of state is this — 3D stress, 3D Strain, plane stress or plane strain? Justify your answer [2 marks]; (b) Using the matrix transformation law, determine the state of stress at the same point for an element rotated about the z-axis 60° clockwise in the xy-plane from its original position [3 marks]; (c) Produce a typed table containing the principal stresses [3 marks]; Please note 2 marks are awarded for correct workout upload. Q3 [Max total marks: 10] The figure below shows a concrete mixer parked on a single span bridge prior to commencing repair works. Assuming that the weight of the truck is acting as a single force through the centre of mass of the truck as indicated on the figure produce (a) Free body diagram of the bridge [4] (b) What type of structural element represents the bridge; How many reaction forces are acting and why [2] (c) Fill a table with the reaction force values [4] Question 4 For the structure below (a) Produce a free body diagram [4] (b) Answer how many reactions are occurring due to the applied load and why [2] (c) Place all the values of the reaction forces in a table using appropriate units [4]
Assignment Remit Programme Title Department of Economics Module Title LI Contemporary Issues in the UK Economy Module Code 07 23274 Assignment Title Assignment (Main) Level LI Weighting 50% Deadline Date & Time 06/05/2025 12pm Feedback Post Date 16th working day after the deadline date Assignment Format Other Assignment Length See below Submission Format Online Individual Module Learning Outcomes: This assignment is designed to assess the following module learning outcomes: Critically evaluate aspects of UK economic performance and policy Apply understanding of economic concepts to real-world situations Demonstrate an understanding of how economic theory is used to formulate policy Your submission will be marked using the Grading Criteria given below. As an academic in the Department of Economics, you are tasked with preparing a presentation on one of the following topics: Either Critically analyse the fiscal policy of the Labour government, which took office in June 2024, considering the Autumn Budget 2024. You are expected to consider the following. How does the Labour government’s fiscal policy differ from the budgets of previous administrations? Economic Issues: Evaluate whether the new policies effectively address key issues in the UK economy, such as public debt, low labour productivity, and low growth rates. Alternative Policies: Conclude your presentation by suggesting alternative fiscal policies that could potentially address these economic challenges more effectively. Or Critically examine the economic impact of the Trade and Cooperation Agreement (TCA) signed between the UK and the EU in 2020, which finalized Brexit. Consider the following. Economic Impact: Analyse the various economic effects of the TCA on the UK economy since its implementation. Alternative Policies: Conclude your presentation by proposing policies that could mitigate the negative impacts of Brexit and enhance economic resilience. Referencing: Use the Harvard system of referencing throughout your presentation. Time Limit: The presentation should be 10 minutes long, with a 10% margin. Use the last slide/s for presenting the bibliography.
HW 9 (16 points total) 1. Are the following statements true or false? Explain. (4 points) a. As the significance level increases, the probability of a Type I error increases. b. The power is equal to one minus the probability of a Type II error c. As the power increases, the probability of a Type II error decreases. d. As the significance level increases, the size of the rejection region increases. 2. A random sample of 49 observations from a normal population yields a sample mean of 85. The population standard deviation is 14 and the significance level is 5%. Conduct the hypothesis testing on the claim that the population mean is greater than 85. (4 points) 3. Test H0: µ = 10 versus Ha: µ ≠ 10 using the p-values. Assume that x = 12, σ = 4, the significance level is 5%, and n = 36. (4 points) 4. Find the t statistic and carry out the statistical test for the following situations in sampling data from a normally distributed population. Use a significance level of .05. (4 points) H0: µ = 85, Ha: µ ≠ 85, x = 78, s = 25, n = 25
Faculté des sciences sociales | Faculty of Social Sciences Institut d’études féministes et de genre | Institute of Feminist and Gender Studies DIVERSITIES OF WOMEN: GENDER, RACE, CLASS AND (DIS)ABILITY FEM 2107[A] Winter Term 2022 Discussion Forum Posts (3 x 10% each) (See “Discussions” tab in Brightspace to submit) Post #1: Week 4 – Feminist Theory of Emotion Prompt: This week we discussed "the work of noticing" and "the work of caring" as forms of emotional labour, and you were challenged to think of all the things you want to ask for, but don't. For your discussion forum post, use 1 of the additional readings for the week and apply the following questions to the text you've chosen: 1) who is doing "the noticing" and what work does that actually require in this particular case? 2) what do you think the author/subject of the text would ask for, if they felt they could? Answer in 300-500 words. Post #2: Week 9 – Black Feminist Brilliance & Indigenous Resurgence Prompt: Pick, then post, your favourite line from one of the assigned readings by Leanne Betosamosake Simpson or Anna Mollow (with the page number), or your favourite work by Brianna McCarthy. In your post, explain why you chose it, what it means to you, and how it is connected to the themes we talked about this week on Black Feminist Brilliance and Indigenous resurgence. Answer in 300-500 words. Post #3: Week 11 - Animal Studies Prompt: This week's lecture drew connections between animal rights and other pressing social justice issues (climate, labour, health, affordability, accessibility, etc...). Pick one of those connected issues and reflect using the following questions: 1) What ideas did you have about veganism before listening to this week's lecture? 2) Did the links to any of the related social justice issues (climate, labour, health, affordability) surprise you? 3) What is the specific connection between animal rights and the other issue you've chosen (spell it out using examples)? 4) Have any of your ideas about veganism or the animal rights movement changed since doing this week's readings? Answer in 300-500 words. Grading Rubric for Discussion Forum Posts Marks out of 10 Formatting Content 9-10 (A+) Submitted on time, within word limits, zero spelling or grammatical errors. Excellently engages with course materials, addresses all parts of prompt, and achieves an outstanding level of reflection. 8 (A-) Submitted on time, within word limits, no (or very few, minor) spelling or grammatical errors. Clearly engages with course materials, addresses all parts of prompt, and achieves a strong level of reflection. 7 (B) Submitted on time but is not within word limits and/or contains spelling and/or grammatical errors. Engages with course materials, mostly addresses whole prompt, and shows attempt at self-reflection. Good, but has room for improvement. 6 (C) Submitted late and/or is not within word limits and contains spelling and/or grammatical errors. Could engage with course materials more directly or clearly, misses components of the prompt and/or could achieve a stronger level of reflection. EIN Failure/Incomplete Failure/Incomplete Midterm Take Home Exam (30%) Disability Justice Photo Essay Formatting: 400-500 words maximum (approx. 2 pages, excluding photo(s), must be double spaced) 12 pt. font, standard margins, include your name and student number, use APA citation style, submit via Brightspace upload as a Word document or PDF titled “Your Name 2107 Midterm”. Due via upload to Brightspace drop box under “Assignments” tab by Sunday, February 20, 2022, by 11:59pm EST. A full grading rubric is below and will also be available in Brightspace under the assignment description. Description: For this assignment, you are being asked to use an image/images to tell a story or make a point related to the content covered in Week 5 “Disability Justice”. Using the audio lecture, PowerPoint slides, assigned readings and videos, you are to reflect on the environment around you with a critical disability lens. Components to include: 1. Using the insights and ideas from Week 5’s lecture, take (or alternatively find, and properly credit) a photo of an accessibility barrier or accommodation in your environment or community. This could be something you hadn’t noticed or thought about before, but now see is a barrier or accommodation, or something you’ve noticed but didn’t realize was designed that way for the specific purpose of increasing access. We are expecting you to go beyond obvious physical accommodations like curb cuts and ramps, to really think critically about your environment. Include the photo at the beginning of your assignment. 2. In two short paragraphs (one paragraph per resource) briefly summarize two of the assigned resources from this week’s course material and reflect on what you learned and took away from each resource. Be sure to include connections to the photo you chose. 3. In one paragraph: describe the accessibility barrier or accommodation in the photo you took, reflect on what brought you to notice it, and suggest what could be done to either make it more accessible or how other things in your environment could benefit from similar accessibility considerations. 4. Include a References list at the end with all the sources you used, cited alphabetically in APA citation style. If you are unfamiliar with APA citation please refer to the Purdue OWL website for help. Grading Rubric for Midterm Take Home Exam – Disability Justice Photo Essay 30 Marks total A Level (80+% or 24+/30) B Level (70-79% or 21+/30) C Level (60-69% or 18+/30) EIN (Failure/ Incomplete) Formatting (10 marks) Meets all formatting requirements and submitted on time. Misses few/minor, but meets most, formatting requirements and submitted on time. Misses obvious formatting guidelines (e.g., length, student info, double-spaced) and/or is submitted late. Incomplete Course Materials & Bibliography (10 marks) Uses 2 assigned course materials from Week 5, properly cites in-text, and includes a correct APA bibliography. Uses 2 assigned course materials from Week 5 but has issues with correct APA citation. Does not use enough or appropriate course materials, and/or has issues with correct APA citation. Incomplete Content & Engagement (10 marks) Student effectively summarizes, reflects, makes connections and suggestions related to a photo they included. Student summarizes, reflects, make connections related to a photo, but has room for improvement in depth or clarity. Some summary, reflection, and connecting but room for improvement in depth, clarity and/or meaningful engagement. Incomplete Final Take Home Exam (40%) Letter to my Future Self using 6-8 course materials. 1000-1500 words maximum (approx. 4 pages, double spaced). APA citation style, 12 pt. font, standard margins, includes your name and student number, submitted via Brightspace upload as a Word document or PDF titled “Your Name Final Exam FEM 2107”. Due via upload to the appropriate Brightspace drop box under “Assignments” tab by Sunday, April 17, 2022, by 11:59pm EDT. Description: For this assignment, you are being asked to compose a letter to your future self, using a minimum of 6, and maximum of 8 course materials covered this semester, from at least 5 different weekly modules. The purpose of the letter is to show that you have critically reflected on each resource and applied it to your own life by analyzing what you have learned and what you hope to take away and remember from specific pieces resources that we covered. We will be looking for meaningful engagement. Components to include: 1. A short introductory paragraph with general comments on what you hope your future self will remember and use, and which weeks you chose your 6-8 resources from. 2. One or two paragraphs per resource to briefly summarize each resource, describe what you learned, reflect on the impact it had on you, and explain what you hope to take away and remember once the course is over. 3. A short concluding paragraph to summarize your hopes for your future self. 4. Include a References list at the end with all the sources you used, cited alphabetically in APA citation style. If you are unfamiliar with APA citation please refer to the Purdue OWL website for help. Grading Rubric for Final Take Home Exam – Letter to My Future Self 40 Marks total A Level (80+% or 24+/30) B Level (70-79% or 21+/30) C Level (60-69% or 18+/30) EIN (Failure/ Incomplete) Formatting (10 marks) Meets all formatting requirements and submitted on time. Misses few/minor, but meets most, formatting requirements and submitted on time. Misses obvious formatting guidelines (e.g., length, student info, double-spaced) and/or is submitted late. Incomplete Course Materials & Bibliography (10 marks) Uses 6-8 assigned course materials from 5+ different weeks, properly cites in-text, and includes a correct APA bibliography. Uses 6-8 assigned course materials from 5+ different weeks but has some issues with correct APA citation. Does not use enough or appropriate course materials, and/or has major issues with correct APA citation. Incomplete Content & Engagement (20 marks) Student effectively summarizes resources, describes their learning, reflects on impacts, and explains personal takeaways. It is obviously a meaningful letter to their future self. Student summarizes resources, reflects on impacts, explains personal takeaways, but has room for improvement in depth or clarity of engagement. Some summary, reflection, and explanation of personal takeaways but has room for improvement in depth, clarity and/or engagement. Not obviously clear that it is a meaningful letter to their future self. Incomplete
ECON 209 Summer 2025 Homework Assignment 1 This problem set is due on Monday the 26th of May 2025 at 10 pm (EST). Late submissions will not be accepted. If you use any AI tool in your solution, include a text explaining how you used AI in your submission. Problem 1: Measuring GDP Consider an imaginary economy where exist only three firms: Ticos, Kakey, and Redries. • Ticos sells new cars only to households for a value of $60,000. They hire workers and pay them a total of $10,000. • Redries produces and sells strawberries. In particular, Redries sells strawberries to a foreign country (Perulandia) for a value of $20,000. People in Perulandia like eating strawberries produced by Redries. Additionally, Redries also sells strawberries to Kakey for a value $15,000. • Kakey uses both strawberries bought from Redries and imported milk to produce and sell cheesecakes to households for a value of $25,000. The value of imported milk is equal to $5,000. Kakey hires bakers to prepare the cheesecakes, so they get paid in total $3,000. Question: Compute the value of GDP using the three approaches. Provide details on your answer. Problem 2: Measuring Prices Consider the following information about goods produced and consumed in another imaginary economy: • Goods produced in the economy: cookies, butter, electric transformers, and margarine. • They import computers from abroad. • Households do not consume electric transformers; they consume cookies, butter, margarine, and comput- ers. Questions: Let the base year be 2021. a) Compute the GDP deflator for all the years. Calculate the inflation rate for each year (except 2021, of course) using this price index. b) Compute the CPI for all the years. Calculate the inflation rate for each year (except 2021, of course) using this price index. c) Is there any difference between inflation rates obtained from a) and b). If so, why is it the case? d) Which of the two price indexes do you think reflects “better” the cost of living in the economy? e) Do you believe that changes in cost of living are exactly the same as changes provided by inflation rates obtained with CPI? If not, explain your reasoning. [Hint: think about the substitution bias, and maybe pay attention to values (prices and quantities) in 2021 and 2022.] Problem 3: Working with data - Understanding inflation and wages Using the excel file “inflation and wages.xlsx”, answer the following: • Focus on the subsample from Jan1980-Dec1989. - Plot the inflation rate (in this case, it is the monthly % variation of prices). What can you say about this economy? - Plot the nominal wage. - Plot the real wage. - How is it possible that they look so different? Provide an explanation. • Focus on the subsample from Jan1995-Jun2010. - Plot the inflation rate (in this case, it is the monthly % variation of prices). What can you say about this economy? - Plot the nominal wage. - Plot the real wage. - Do you think people in this economy are doing better after mid-90s? Explain your reasoning with the data provided.
FIT1006 Business Information Analysis Assignment 3 (Final assignment) 1st Semester 2025 This assignment is worth 28% of your final mark (subject to the hurdles described in the FIT1006 handbook entry, FIT1006 week 1 Lecture 1 and links therein). Among other things (see below), note the need to hit the `Submit’ button - and the possible requirement of an interview between student and one or more members of teaching staff. Due Date: Wednesday 11th June 2025, 11:55 pm Method of submission: Your submission should consist of 1 file: 1. A text-based .pdf file named as: FamilyName-StudentId-1stSem2025FIT1006Asst3.pdf The file must be uploaded on the FIT1006 Moodle site by the due date and time. The text-based .pdf file will undergo a similarity check by Turnitin at the time you submit to Moodle. If you have any relevant output from MicroSoft Excel and/or from SYSTAT then make sure to include that in the appropriate place(s) in your .pdf file. Please read submission instructions here and elsewhere carefully regarding the use of Moodle. Total available marks: 34 + 17 + 21 + 24 = 96 marks. Note 1: Please recall support, conferring with https://www.monash.edu/student-academic- success, the Academic Integrity rules and the `Welcome to FIT1006 ’ post in Ed Discussion. This is an individual assignment. In submitting this assignment, you acknowledge both that you are familiar with the relevant policies, rules and regulations regarding Academic Integrity (including, e.g., doing your own work, not sharing your work, only using generative AI as instructed) and also that you are familiar with the consequences of being deemed to be in contravention of these policies. The only place that generative AI is to be used in this assignment is Qu 4(g). Note 2: And a reminder not to post even a hint of part of a proposed partial solution - or a hint of how you might be proposing to do a certain question - to a forum or other public location. This includes when you are seeking clarification of a question. If you are seeking clarification of a question or help with how to do a question then please follow instructions from the `Welcome to FIT1006 ’ Ed Discussion forum post. If you seek clarification on an Assignment question then – bearing in mind the above – word your question very carefully and/or (if necessary) send private e-mail. If you are seeking to understand a concept better, then try to word your question both so that it is a long way removed from the Assignment and in an Ed Discussion category that does not pertain to assessment. If you do this properly then it will both allow your fellow students to reply to the post and allow for a more prompt response. If you wish to ask about an assessment clarification and also about a technical clarification - i.e., about two separate matters - then you’ll probably be doing everyone a favour if you separate it into two separate posts. Taking the care to follow these instructions will help to get the desired responses more smoothly and more promptly. When instructions are overlooked or ignored, we do not enjoy having to hide (make private) - or, in worse cases - remove and delete posts (and, in more extreme cases, report the person who posted). As per the Welcome post in FIT1006 Ed Discussion (and please see the relevant text), where we deem assessment items to be hard, we reserve the right to seek to have the marks adjusted upwards. Students are reminded that Monash University takes academic integrity very seriously. Thank you for your consideration. Note 3: As previously advised, it is your responsibility to be familiar with the special consideration policies and special consideration process – as well as academic integrity. Students should be familiar with the special consideration policies and the process for applying. As has been stated several times, (unless you are explicitly instructed otherwise by the university’s Special Considerations team or the FIT1006 teaching team) such applications should not be sent to any of the FIT1006 teaching team. On those occasions that you obtain a two-day extension from the Special Considerations team and the FIT1006 teaching team subsequently grants an across-the-board extension, please do not assume that the Special Considerations team will automatically carry the two-day extension across again. Note 4: As a general rule, don’t just give a number or an answer like `Yes’ or `No’ without at least some clear and sufficient explanation - or, otherwise, you risk being awarded 0 marks for the relevant exercise. Make it easy for the person/people marking your work to follow your reasoning. Without clear explanation, there is the possibility that any such exercise will be awarded 0 marks. On the issue of significant figures and decimal places, try to give at least 2 decimal places and at least 3 significant figures. Re-iterating a point above, for each and every question, sub-question and exercise, clearly explain your answer, state any assumptions (and why you’re making them), and clearly show any working. Note 5: All of your submitted work should be in machine readable form, and none of your submitted work should be hand-written. Nor should your submitted work include a file obtained from an electronic sketch. Note 6: If you wish for your work to be marked and not to accrue (possibly considerable) late penalties, then make sure to upload the correct files and (not to leave your files as Draft). You then need to determine whether you have all files uploaded and that you are ready to hit `Submit’ . Once you hit `Submit’, you give consent for us to begin marking your work. If you hit `Submit’ without all files uploaded then you will probably be deemed not to have followed the instructions from the Notes above. If you leave your work as Draft and have not hit `Submit’ then we have not received it, and it can accrue late penalties once the deadline passes. In short, make sure to hit ‘Submit’ at the appropriate time to make sure that your work is submitted. Late penalties will be as per Monash University Faculty of IT and Monash University policies (see, e.g., https://publicpolicydms.monash.edu/Monash/documents/1935752 and, e.g., sec. 1.11). It is expected that any work submitted at least 10 calendar days after the deadline will possibly automatically be given a mark of 0. Note 7: Save your work regularly. Note 8: Refer to posts and discussions in the Ed Discussion forum, including anything pertaining to (e.g.) comments to the original post announcing Assignment 3 and/or (e.g.) Assignment 3 updates. Make sure to have done this prior to submission. Note 9: Clearly and explicitly state that you have adhered to submission instructions, and that all work is yours, and that you have not shared your work with any other, and that you have done your work with academic integrity. Also, click any provided relevant submission box to that effect. Note 10: After you submit (and, again, in accordance with academic integrity), please do not post any material about what you have done. Likewise, after you submit, please do not ask about how you will be marked or what late penalties you might get - rather, please then wait until marking is done. Some Questions and Answers – further to the above What help am I entitled to have with this assignment? Academic integrity is an important concern. As such, you must write your work yourself, without collaborating with other students nor anyone else – nor using generative AI (e.g., ChatGPT) except as specified. (In this assignment, you may use generative AI in Qu 4(g) and nowhere else.) This includes doing your own reading of any references. Are there any other matters that relate to academic integrity? Yes. You must be honest in reporting the results. Introduction There are many data-sets which are collected by whatever means, and there are many ways to analyse these. Many data sources were mentioned in the introduction to this semester’s FIT1006 Assignment 2. W S Gosset’s (or Student’s) original work on the t distribution was motivated by his work in the brewery. Data can come from a variety of sources. A venue for publishing scientific data is https://www.nature.com/sdata/research-articles . Throughout this Assignment, recall all notes and instructions - including showing reasoning, calculations and working. Qu 1 ((4 + [2 + 2 + 2 + 2] + 4) + (2 + 8 + 4) + 4 = (4 + 8 + 4) + (2 + 8 + 4) + 4 = 16 + 14 + 4 = 34 marks) Evaluating an Engagement-Detection Model Dataset: student_engagement.xlsx (50 records). Background The learning-analytics team for an online first-year Statistics unit built a rule-based classifier that tries to decide, at the end of a given session, whether a student was “Engaged” or “Not Engaged.” The decision is based on time-on-task, number of attempts, and the correctness of the final submission. A small validation study was run. Two experienced tutors (TAs) independently coded each session and agreed on the ground-truth label. The spreadsheet data you have been given contains the following columns: Column Description Student ID Student identifier ID Time “< 30 sec”, “30–120 sec”, “> 120 sec” Attempts Integer submissions in the given session Last Action “Correct” or “Incorrect” Engaged? (GT) Ground-truth label Predicted Engaged? Model’s prediction Gender Self-reported (F / M) Table 1 The data for Table 1 is supplied at the FIT1006 Moodle site from which you can access Assignment 3. Tasks 1. First you need to evaluate the overall model. a. Construct a 2 × 2 confusion matrix for Engaged? (GT) vs Predicted Engaged?. b. From the matrix compute the following: (i) Accuracy, (ii) Precision (positive = Engaged), (iii) Recall, (iv) F1-score. c. Briefly explain what each metric means in this context. 2. Next you need to analyse the model,s fairness by gender. a. Split the data into Female and Male subsets. (We note that Female/Male is an artificial binary and that people exist outside of that - but, for the purposes of this exercise, all identified as either Female or Male.) b. Repeat Task 1b (from above) for each subset. Present the results in a table. c. Is the model equally good at detecting engagement for both groups? Which metrics show the biggest gap? 3. Finally, you need to make a recommendation to the learning analytics team. Write a note to the learning analytics team summarising model’s quality, fairness concerns, and some next steps such as suggesting some attributes or features that may help the model improve. Qu 2 (1 + 1 + 1 + 2 + 5 + 7 = 17 marks) Leading into part (a), count the number of words in your unredacted Enron document from Assignment 1 Qu 4 and Assignment 2 Qu 3. Call this w. Let W = min{100, w}. I.e., if w >= 100 then W = 100, and if w https://RaySolomonoff.com/publications/67.pdf . (1) R J Solomonoff (1967) https://RaySolomonoff.com/publications/67.pdf sec. 6 The Problem of the Ambitious Subordinate (2) https://www.AmStat.org/asa/files/pdfs/P-ValueStatement.pdf (3) sec. 1 More from Chris of https://doi.org/10.1093/comjnl/bxm117 (2008a) (4) the transcript at https://www.ABC.net.au/listen/programs/scienceshow/hedy-lamarr- actress-inventor-and-amateur-engineer/104462346 (5) https://www.monash.edu/indigenous-australians/news-and-events/news/80th-memorial- of-william-cooper The 5th digit of your StudentId gives you two of the abovementioned datasets as follows. 5th digit of StudentId Document numbers 0 (1), (2) 1 (1), (3) 2 (1), (4) 3 (1), (5) 4 (2), (3) 5 (2), (4) 6 (2), (5) 7 (3), (4) 8 (3), (5) 9 (4), (5) Table 2 The 5th digit of your StudentId gives you two of the abovementioned data sets as above. Take the first W words of both of these. Also take W words from the start of your unredacted Enron document from Assignment 1 Qu 4 and Assignment 2 Qu 3. You now have 3 data sets (or documents), all of size W. (b) State the 5th (4th last) digit of your StudentId, and also state which three datasets/documents (each of length W) you are using. (c) Copy and paste the contents of these 3 datasets (each of length W) into your assignment. Make sure that there is clear separation between these 3 datasets. For what is to follow, the words、a' and、an' are treated as equivalent. (In a grammatical sense, they are both the indefinite article, and、a' is typically used when preceding a consonant, and、an' is typically used when preceding a vowel.) An analyst doing forensics is interested in the possibility that various words occur with the same frequency. For each of these three documents of length W, count the number of times that the word `the' occurs. Call these numbers {a1, a2, a3}. For each of these three documents of length W, count the number of times that the word `and' occurs. Call these numbers {b1, b2, b3}. For each of these three documents of length W, count the number of times that the word `a' or the word `an' occurs - and add these two numbers up (the number of times the document of length W has `a’ plus the number of times the document of length W has `an’). Call these numbers {c1, c2, c3}. (d) Give the values for `the': {a1, a2, a3}. Give the values for `and': {b1, b2, b3}. Give the values for `a'/`an': {c1, c2, c3}. State these clearly. As above, an analyst doing forensics is interested in the possibility that various words occur with the same frequency. (e) State a suitable null hypothesis and a suitable alternative hypothesis. (f) Show your analysis of this hypothesis. Give a significance level at which you could reject this. In the tables available to you from this subject and elsewhere (e.g., binomial, cumulative binomial, Poisson, cumulative Poisson, chi-squared, F, t, z, etc.), try to give the most significant level (smallest value of alpha, smallest value of a) at which you could reject this. If possible, give the largest value of alpha (or a) at which you could not reject this. Reminder throughout Qu 2 and throughout Assignment 3: As always, make your work clear to the person marking and also to anyone else reading. As always, as per Note 2, please do not post even a hint of a proposed partial solution in public to the forum or other public location. So, as one example, if you plan to do a certain test and need a table with some value of significance level or sample size or degrees of freedom or whatever but the FIT1006 Moodle web site doesn't have what you need, then please do your best web searching to find what you need and then document your answer. Again, please don't post about your intentions to do such-and-such a test and how you need such-and-such a table to do such-and-such a question. One of the possible consequences would be that such a post is deleted. As always, please see the Welcome post (in FIT1006 Ed Discussion) about guidelines about what to post - and what not to post - when there are open assessment items. Qu 3 (0.25 + 0.25 + 0.5 + 4 + 6 + 4 + 6 = 21 marks) (a) Write out your StudentId. (b) Write out the 8 digits of your StudentId in order from highest to lowest. You will then split thes ordered 8 digits into four 2-digit numbers. E.g., if your StudentId is 63920178 then write it as 98763210 and split it as 98, 76, 32, 10 and a = 98, b = 76, c = 32, d = 10. And, e.g., if your StudentId is 45590609 then write it as 99655400 and split it as 99, 65, 54, 00 and a = 98, b = 65, c = 54, d = 00 = 0. And, e.g., if your StudentId is 40410440 then write it as 44441000 and split it as 44, 44, 10, 00 and a = 44, b = 44, c = 10, d = 00 = 0. (c) Write the values of a, b, c and d resulting from your StudentId. Now consider an intervention (such as, e.g., a vaccination) and the question of whether or not people's condition(s) improved as a result of the intervention. Let a be the number infected with the intervention. Let b be the number infected without the intervention. Let c be the number not infected who had the intervention. Let d be the number not infected who did not have the intervention. (d) State a suitable null hypothesis and a suitable alternative hypothesis. (e) Show your analysis of this hypothesis. Give a significance level at which you could reject this. In the tables available to you from this subject and elsewhere, try to give the most significant level (smallest value of alpha, or a) at which you could reject this. If possible, give the largest value of alpha (or a) at which you could not reject this. We now go back to the end of part (c) and we re-interpret the numbers. We will use the numbers a, b, c, and d again. Leading into part (f), we examine two machine learning algorithms, Alg1 and Alg2. They are both fed two-class classification problems from the same probability of being in Class1 and Class2, and we consider the possibility that they are the same algorithm or at least will have identical performance. a now refers to the number of cases when Alg1 and Alg2 are both correct. b now refers to the number of cases where Alg1 is correct and Alg2 is incorrect. c now refers to the number of cases where Alg1 is incorrect and Alg2 is correct. d now refers to the number of cases when Alg1 and Alg2 are both incorrect. (f) State a suitable null hypothesis and a suitable alternative hypothesis. (g) Show your analysis of this hypothesis from part (f). Give an appropriate significance level (preferably as small as possible) at which you could reject this null hypothesis. Give an appropriate significance level (preferably as large as possible) at which you could not reject this null hypothesis.
Task 2 - Robbie the Explorer Background Thanks to your code, Robbie is now able to load data, display the map, and get information about geological features. It is now time for Robbie to explore Mars. Because Mars is a sphere, Robbie is able to wrap around the map. That means: · If Robbie is at location (0, 0) and he moves left, his new location will be (0, n_cols - 1). · If Robbie is at location (0, n_cols - 1) and he moves right his new location will be (0, 0). · The same applies for columns. Robbie has some moving rules: · Robbie's initial location is (0, 0). · It will take 1 day for Robbie to move from one location to another adjacent location. · Robbie prefers to move horizontally than vertically. Especially, he hates (and will never do) diagonal moves. · Robbie always selects the path with least moves. He also prefers a path with wrapping to the one without wrapping if it does not increase the number of moves required. If Robbie reaches a location that exists a geological feature, he can also explore this feature. · The time it takes for Robbie to explore the feature depends on his exploration speed and the feature's size. · Robbie's initial exploration speed is given in the table below. +------------------+--Mountain------------+--Lake---------------+--Crater-----------------+ | Robbie the Robot | 6 (height unit/day) | 8 (depth unit/day) | 10 (perimeter unit/day) | +------------------+----------------------+---------------------+-------------------------+ · If he finishes exploring a feature before the end of the day, he will take a rest until the end of the day. For example, if a feature requires him 1.3 days to explore, then after having explored this feature, he will rest until the end of the day, which means 2 days in total. · Once he finishes exploring a geological feature, he gains more skills and experiences. As a result, his exploration speed for this type of feature will increase by 20%. Your tasks You will write the code in the following files to help Robbie. # geo_features.py You may make changes to the classes GeoFeature , Mountain, Lake, and Crater as you need. # robot.py The robot.py module provides the class Robot, of which Robbie is an instance. # task2.py In addition to the commands in task 1, you need to add the following commands: · The user can input moveto where and are integers corresponding to a location (Y,X) that Robbie wants to move to (see example 1). · The user can input explore to explore the current location. If there is no geological feature at this location, Robbie will do nothing (and it costs him no time). Otherwise, he will explore the feature in a number of days required (see examples 2 and 3). · The user can input display journey to display what Robbie have done so far (see the examples 1-3). You can assume that and correspond to a valid location on the map. You can assume that all user inputs are valid. You are allowed to modify the import statements in the scaffold, but you are not allowed to import any modules which were not originally imported in the scaffold.
BSAN3204 Project report Submission: via Blackboard Weighting: 60% Data visualisation is a vital tool for communicating a pattern seen within a dataset to your stakeholders. Within this assignment you will envision presenting a written report (slidedeck) to a group of stakeholders where you will be using data visualisation to add meaning to your report. You will need to start by choosing some variables from MSD. You are free to choose whichever variables you want and to define your group of stakeholders however you want. For your reports you will need to generate 10-15 different plots. In doing this keep in mind the difference between Exploratory Analysis and Explanatory Analysis. I am assuming that you have created a whole series of plots as part of your Exploratory Analysis, and have already identified the patterns that you want to communicate to your audience. What I want to see are the plots that comprise your Explanatory Analysis, where these are designed to best communicate your message to your audience. Details for project report provided as following: Project report. Slidedeck of about 20-25 slides , total percentage of marks for course 60%) This report will be in four parts. • Introduction - write this as though you are communicating directly to your group of stakeholders. This report should take a similar format as your Proposal: describing your group of stakeholders and underlying message looking at the group of plots as a whole. You need to explain about the variables for data analysis. Why do you choose those variables? And what are the benefits of the project for the client? • Plots – provide 10-15 plots. for each plot describe the message that you want to share with stakeholders from that plot, why you think this message will be important for them and what you want stakeholders to do as a result of seeing the plot. Please keep in mind that I will not necessarily have the expertise of your planned stakeholders, and that I will not be assessing you on that particular subject matter (e.g. Marketing). What I will be doing is to assess whether you can use data visualisation to tell a convincing story. All plots should have a message and call to actions. For each plot, describe (in the note section of ppt slides) what steps you have taken so that the plot will have the most meaning for and impact on stakeholders as possible. Do not assume that I will be able to work this out for myself. Instead, you will need to tell me what you have done. In your report you need to demonstrate a variety of different types of plots. Also, for this key feature that you have identified in the plot also describe for me how this feature links back to the main project (eg. if the central message of your report is the benefits of listening to loud musics, then how does each individual plot relate back to that message). • Conclusion - The implications of your project should become clear in this section. Think about the value of your results from the perspective of the client. What insights have you generated that might be important for the client to know? Provide a succinct list of insights (a numbered list or dot points is encouraged here). Where should the client start in actioning your results? • Future project- Finally, I would like you to include a section on further research in your project reports. Think about what should be done next – what is the next project, what does it look like? One way to think about this question is to think about what you pilot project could have achieved if you had more time, more and/or different data, and more resources. What would you have done differently if you had had more time and resources? Another way to address the question of what further research should be done is to focus on one or more very specific findings from your project. These might be unusual or unexpected findings, or findings that may have great significance for the client but were only addressed in part in your project. A good project finishes by outlining the next project a business analyst might address! • You need to upload R codes in BB as well. The link will be available. Do not add codes to the slides. Submission Guidelines The report is worth 60 percent of your score in the course. In terms of length, I would expect your slideshow to be in the range of 20-25 slides (maximum). Submit only one single file. A .pptx file (made using PowerPoint) or a .pdf file (exported from Google Slides, Apple Keynote, LibreOffice Impress, Prezi, Canva, etc) with note section. For each plot, describe (in the note section of ppt slides) what steps you have taken so that the plot will have the most meaning for and impact on stakeholders as possible. It is critical that you communicate the main findings of your analysis without bombarding your audience with too much data. Check the electronic course profile for submission dates and for the University’s policy on extension requests. Follow the submission instructions on Blackboard to ensure you submit your assignment correctly. No video or in-class presentation is required for this assessment.
Lab 9: Real Data Analysis SPSS 1. Create codebook 1.1 Simple Codebook Simple codebook prints most of the information found in the Variable View window. It gives the names, labels, measurement levels, widths, formats, and any assigned missing values labels for every variable in the dataset. It also prints a table with the assigned value labels for categorical variables. · File > Display Data File Information > Working File 1.2 Detailed Codebook Detailed codebook includes all of the same information as the simple codebook, but also includes options for printing summary statistics as well. You can choose which variables are included in the codebook, and you can choose which variable properties are included in the summary. The summary information for each variable will be printed in its own table. · Analyze > Reports > Codebook. 2. Data Manipulation 2.1 Create new variables using a function of existing variables (review previous labs) · Transform. > Compute Variable COMPUTE MeanScore=MEAN(satVerbal,satMath). EXECUTE. 2.2 Record or transform. variable (review previous labs) · Transform. > Recorded into Different Values > select “input variable -> output variable” > define “output name” and its “label” > select “if” to specify the conditions under which recode will be applied > specify the “old value” and “new value” > “add” the rules > click “Output variables are strings” if in need n You can also record value based on missingness or range. 2.3 Dichotomizing the continuous variable (review previous labs) · Transform. > Visual Binning > make cut points > make labels · You can also write the syntax by yourself. * Visual Binning. *teacherPay. RECODE teacherPay (MISSING=COPY) (LO THRU 32.8131654814530=1) (LO THRU 39.34939458005=2) (LO THRU 46.0055544877955=3) (LO THRU HI=4) (ELSE=SYSMIS) INTO teacherPay_group. VARIABLE LABELS teacherPay_group 'teacherPay (Binned)'. FORMATS teacherPay_group (F5.0). VALUE LABELS teacherPay_group 1 '
Course Overview ENGL 202C, Technical Communication, serves students who are studying and preparing for careers in the sciences and applied sciences, including engineering. This advanced course in writing familiarizes students with the discourse practices prized in their disciplinary and institutional communities and helps them to manage those practices effectively in their own written work. In this way, the course teaches those writing strategies and tactics that scientists, engineers, and others will need in order to write successfully on the job. Course Approach So how will this work? Though you will never meet with your instructor and classmates in a physical classroom, ENGL 202C is still a cohort-based course and not an independent study. This class is paced, which means that there is an established start and end date, and that you will have weekly deadlines to meet throughout the term. In each week of the course, you will be asked to participate in two primary activities: 1) a class discussion about a core aspect of the course and 2) a writing workshop related to a formal course project. Like taking a course on campus, it will be important to keep up with the course work, as you will be required to participate in class discussions and workshops that have specific time frames and deadlines. Course Objectives Students in this course will learn how to: · Discover and understand the discourse features that distinguish their disciplinary and institutional communities from others. · Discover and specify the purpose(s) of their writing. · Develop a range of writing processes appropriate to various writing tasks. · Identify their readers and describe the characteristics of their readers in a way that forms a sound basis for deciding how to write to them. · Invent the contents of their communications through research and reflection. · Arrange material to raise and satisfy readers' expectations, using both conventional and rhetorical patterns of organization. · Reveal the organization of their communications by using forecasting and transitional statements, headings, and effective page and document design. · Observe appropriate generic conventions and formats for technical documents. · Design and use tables, graphs, illustrations, and other visuals. · Compose effective sentences. · Evaluate their documents to be sure that the documents fulfill their purpose and to ensure that they can be revised if necessary. · Collaborate effectively with their peers in a community of writers who provide feedback on each others' work and occasionally write together. · Write several specific kinds of documents that recur in technical, scientific, and other communities. · Employ computer technologies effectively in the solution of communication problems. · Communicate in an ethically responsible manner. Required Textbook The following electronic textbook is required: · Technical Communication by Mike Markel and Stuart A. Selber. Bedford/St. Martin's, 2021. Thirteenth edition. E-book, standard version. You can purchase access to this e-book directly at the publisher's website. B (https://store.macmillanlearning.com/us/product/Technical-Communication/p/1319245005) Note: For this class, we will be using the e-book version of Technical Communication. You'll be able to read the full book online once you purchase access to it. The e-book version is considerably cheaper than the print version, and it is accessible wherever you can access the web. Required Software This course requires you to use Microsoft Word for your formal assignments. Unless otherwise specified, files should be submitted using either the .doc or .docx file types. (In some cases, your instructor may ask you to submit an assignment as a .pdf file to preserve your intended formatting. Your instructor will advise you when to do so.) If you do not have Microsoft Word, you should know that Penn State makes the full Microsoft Office suite, which includes Word, available to Penn State students for free. To acquire this free version of Microsoft Office, simply login to Office365 B (https://office365.psu.edu) using your Penn State credentials. Course Requirements and Grading You will complete five projects for this course, participate in weekly class discussions, and complete weekly writing workshops. Assignment Grade Value Project 1 10% Project 2 15% Project 3 15% Project 4 20% Project 5 20% Class Discussions 10% Writing Workshops 10% Class Discussions and Writing Workshops In this class, you will participate in class discussions and writing workshops, which are where you will interact with your classmates and work together to learn and grow as technical communicators. Each discussion and workshop is asynchronous, which means you'll never have to be available at a specific time or place to participate. Instead, you'll be given deadlines by which you'll be expected to complete various parts of each discussion or workshop. Note: Only completing part of a class discussion or writing workshop is considered unsatisfactory. You will not receive credit (no points) for a discussion or workshop unless you complete all of its work on time. Projects This course will hold you to the professional standards that prevail in your field. Each of your formal writing projects is expected to look professional and polished. At work, even a single error in spelling, grammar, or proofreading can jeopardize the effectiveness of some communications (depending on the rhetorical situation). Whether it is a resume, memo, or report, your communication should exhibit complete and appropriate format. Grading will reflect the seriousness with which these matters are frequently viewed in the working world. You must submit all major projects to pass the course. There are five major projects: Project 1: Basic Rhetorical Analysis Technical communication is meant to be used and not just read. Good technical communication communicates information to an audience who will act on that information in a variety of ways: in making hiring decisions, in following technical procedures, in developing research plans, and more. In this project, you will evaluate the usability of a piece of technical communication; that is, you will analyze whether the document effectively communicates the necessary information to its audience and where it fails to do so. In this way, the project will introduce you to basic elements of technical communication. Final Length: Approximately 1000 words. Project 2: Internet Resource Guide Through this project, you will become familiar with online communication resources specific to your field of study, including research tools, professional societies, and other Internet sites that members of your field should find useful. You will present and describe those resources to other members of your field in a technical guide. You will need to make decisions about organization, format, and style as a means of creating a usable document for readers. And you will need to learn to write effective abstracts. Final Length: Front matter plus five abstracts (one or two paragraphs each). Project 3: Job Application Package The process of applying for a job is extremely important for technical communicators. As a job applicant, you have a vested interest in communicating your suitability for a position with the specific audience making employment decisions. This project will ask you to create resumes and cover letters attuned to the rhetorical situations of two actual job offerings in your field. You will also discuss your writing and communication decisions in a reflective memo. Final Length: two resumes, two cover letters, and a roughly 1000-word cover memo. Project 4: Technical Description Engineers and scientists are often required to describe a technical object, concept, or process to someone who has little knowledge or experience with the subject at hand. For example, an engineering firm might write a proposal to bid on a contract to develop a helicopter for the Defense Department; one section of the proposal would be a detailed description of the product the company proposes to develop. Technical descriptions are used before products and processes are developed (as part of proposals and planning documents), during development (in progress reports, for instance), and afterwards (as part of marketing and promotional literature and technical support documents). You will write a technical description for an object, concept, or process in your field. Final Length: Approximately 1000 words. Project 5: Instruction Set Instruction sets are common technical documents in many disciplines and occupations. Employees read instructions to learn how to assemble a product or complete a procedure. Supervisors write out company policies that oftentimes serve as instruction sets. Customers read instructions for using a product. You will develop a set of instructions that shows users how to perform a specific task. Final Length: approximately 1000 words. Grades The grades of A, B, C, D, and F indicate qualities of academic performance. When grading each of your projects, your instructor will ask one overriding question: Does this document do its job successfully? That is, would your communication have the intended effect on the reader you are addressing. You instructor will, of course, recognize the difference between a competent performance (a “C”) and good and excellent performances (“B” and “A”). A competent performance is one that stands a chance of succeeding; an excellent performance is one that seems assured not only of success but also of winning praise. A = Superior. The work is of near professional quality. The document meets or exceeds all the objectives of the assignment. The content is mature, thorough, and well-suited for the audience; the style is clear, accurate, and forceful; the information is well-organized and designed so that it is accessible and attractive; the mechanics and grammar are correct. B = Good. The document meets the objectives of the assignment, but it needs improvement in style, or it contains easily correctable errors in grammar, format, or content, or its content is superficial. C = Competent. The document needs significant improvement in concept, details, development, organization, grammar, or format. It may be formally correct but superficial in content. D = Marginally acceptable. The document meets some of the objectives but ignores others; the content is inadequately developed; or it contains numerous or major errors. F = Unacceptable. The document does not have enough information, does something other than the assignment required, or it contains major or excessive errors. Final Grading Scale At the end of the term, the following scale will be used to determine final course grades: Letter Grade Point Range A 94-100 A- 90-93.99 B+ 87-89.99 B 84-86.99 B- 80-83.99 C+ 77-79.99 C 70-76.99 D 60-69.99 F 0-59.99 Deadlines Unless otherwise specified, the work you do in this class must be submitted by 11:59pm Eastern Time U.S. on the day that it is due.
Task 1 - Robbie the Map Reader Background Robbie, our dear robot, was assigned a mission to explore Mars. He is very excited about this mission. His first task is to explore the map of Mars. For simplicity, the map of Mars is represented by a 2D grid of n_rows rows and n_cols columns. A location on the map at row Y and column X is denoted by a pair (Y,X). This grid's origin location (0, 0) is the top left corner, with (n_rows-1, n_cols-1) being the bottom right corner. Robbie was given a file geo_features.txt containing the size of the map and its geological features. This file employs comma-separated values and has the following format: · The first line contains two (2) integer numbers for n_rows and n_cols, respectively. · Each of the remaining lines of the file contains information about a geological feature, including: o Two integers represent the location of this geological feature. o A string (in lowercase) represents the type of this geological feature. There are 3 types: mountain, lake, or crater. o A string (in lowercase) represents the name of this geological feature. o An integer represents: § the mountain height if this is a mountain. § the depth of the lake if this is a lake. § the perimeter of the crater if this is a crater. An example of geo_features.txt file: 4,5 1,1,mountain,olympus mons,21 2,4,lake,eridania,10 3,2,crater,huygens,45 Your tasks You will write the code in the following files to assist Robbie's mission. # geo_features.py The geological_features.py module provides the base class and subclasses for geological features. The GeoFeature class will be the overarching abstract base class for all geological features. This class will have child classes Mountain, Lake, and Crater. # task1.py The task1.py module provides user interaction with Robbie. If this module has "__main__" as it's __name__ value, it should load geo_features.txt before displaying a prompt > (greater sign and a whitespace) for user input. · The user can input show map to show the map. The map is represented by letters, where a . showing a location without a geological feature, m for a mountain, l for a lake, and c for a crater (see example 1). · The user can input info where and are integers corresponding to a location (Y,X) that Robbie wants to inspect. If a geological feature exists at this location, its details will be displayed. Otherwise, a message no information found will be shown (see example 2). · The user can input quit. The program should print goodbye and finish running normally. You can assume that and correspond to a valid location on the map. You can assume that all user inputs are valid. You are allowed to modify the import statements in the scaffold, but you are not allowed to import any modules which were not originally imported in the scaffold. Examples Example 1 > show map ..... .m... ....l ..c.. > quit goodbye Example 2 > info 1 1 mountain olympus mons, height 21 > info 2 4 lake eridania, depth 10 > info 3 2 crater huygens, perimeter 45 > info 2 2 no information found > quit goodbye Task1 Geo_features.txt : 4,5 1,1,mountain,olympus mons,21 2,4,lake,eridania,10 3,2,crater,huygens,45 Task1.py: import geo_features if __name__ == "__main__": pass Geo_features.py : from abc import ABC, abstractmethod from dataclasses import dataclass @dataclass class Location: Y: int = 0 X: int = 0 def __str__(self): return f"({self.Y},{self.X})" @dataclass class Size: height: int = 0 width: int = 0 class GeoFeature(ABC): pass class Mountain(GeoFeature): pass class Lake(GeoFeature): pass class Crater(GeoFeature): pass
BSAN3204 Project Proposal Optimising Spotify Playlist Recommendations with the Million Song Dataset 1 Introduction This proposal uses the Million Song Dataset (MSD) to improve Spotify playlist recom- mendations. Spotify is a leading music streaming service. It has over 500 million users in 2025. The company is based in Stockholm, Sweden. Its success comes from strong recom- mendation algorithms. These power features like Discover Weekly and Daily Mixes. They keep users happy and coming back. The Spotify Data Analysis Team is the audience. They are experts who improve these algorithms. Their goal is to raise user satisfaction. They also aim to increase listening time and loyalty. The MSD has data on one million songs. It includes metadata and audio details. This project will find useful patterns. These will help make better playlists for Spotify users. The main goal is to boost user engagement. We focus on music from different times and styles. This brings benefits. Users get better song picks. They listen longer. They stay loyal to Spotify. We use key variables for this. These are year, duration, loudness, tempo, artist name, artist familiarity, and song hotttnesss. They show what users like. They also track music trends. Early findings give clues. Songs are getting longer now. Loudness is up in new tracks. Some artists have many songs. Popular artists often have hit songs. This data helps Spotify stand out. 2 Background and Rationale Spotify faces competition. Rivals include Apple Music, Amazon Music, and YouTube Music. They all want more users. Spotify’s recommendation system is key. It drives about 70% of streams. This comes from industry reports. Features like Discover Weekly and Release Radar use it. Personalised playlists depend on it too. This keeps Spotify ahead. The MSD offers data on one million songs. It covers many years. This helps see music patterns clearly. Users want playlists that fit them. Studies show this keeps them engaged. Good recommendations raise retention by 20%. Spotify’s own data backs this up. The MSD can spot trends. It shows popular tempos and artist eras. It tracks song length changes too. This is vital now. Users mix old songs from the 1980s with new ones. Spotify’s Wrapped reports show this trend. The MSD helps with new songs too. These lack user data at first. Old song patterns can guide them. This project keeps Spotify strong. 3 Methodology This project analyses the MSD with R. R is good for big data. The dataset is MSD. RData. It has one million songs and 18 variables. We start by loading it. Then we check the data. We fix issues like missing year values. Some are 0 and need removal. We handle song hotttnesss blanks too. Next, we get stats. These include averages and ranges. We make 10 plots with ggplot2. This tool makes clear charts. Plots include bar plots and histograms. We use scatter plots and line plots too. Boxplots, density plots, and heatmaps are also made. Each plot shows one part of the data. We filter bad data first. We group some numbers like duration. This makes plots easy to read. We save them as PNG files with ggsave. These are rough now. Later, we add better colours and labels. 4 Expected Outcomes This project will find trends. Songs are longer now than before. Loudness is higher in new music. Top artists have many tracks. Popular songs link to famous artists. Spotify can use this data. It will improve playlists. Users will enjoy them more. They will listen for longer. Engagement may rise by 10-15%. This matches industry goals. Over time, it helps with new music styles. It keeps Spotify ahead in the market. 5 Proposed Plots These 10 plots come from the MSD. They help improve Spotify playlists. Each shows a different part of the data. Below are details on what they mean and why they help. 5.1 Plot 1: Number of Songs by Release Year Figure 1: Bar plot of song counts per release year. This bar plot counts songs by year. The 2000s have the most, over 300,000 tracks. The 1960s have less, around 50,000. This shows more music from recent times. Spotify can use this info. It can pick more songs from the 2000s. Users might enjoy newer hits more. Older songs still matter for variety. This plot picks the best years. It helps make playlists users love. Engagement goes up with popular eras. 5.2 Plot 2: Distribution of Song Duration This histogram shows song lengths. Most are 180 to 300 seconds. That’s 3 to 5 minutes. Very short songs under 100 seconds are rare. Very long ones over 600 seconds are few too. Spotify can choose these common lengths. Users like this range best. It fits their daily listening. Playlists stay smooth and easy. This plot sets a time guide. It keeps users happy with good flow. Figure 2: Histogram of song durations. 5.3 Plot 3: Loudness vs Tempo Figure 3: Scatter plot of loudness versus tempo. This scatter plot looks at loudness and tempo. Loudness goes from -50 to 0 decibels. Tempo is 50 to 200 beats per minute. No clear link shows up. Some songs are loud and fast, like -5 decibels at 180 BPM. Others are quiet and slow, like -20 at 80 BPM. This mix is good. Spotify can try different styles. It fits many user moods. This plot adds variety to playlists. 5.4 Plot 4: Average Song Duration by Year This line plot shows average length by year. In 1970, it’s about 200 seconds. By 2010, it’s near 240 seconds. The rise starts in the 1990s. Songs grow longer over time. Spotify Figure 4: Line plot of average song duration by year. can match this trend. Old songs can fit new lengths. Users prefer current styles. This keeps playlists fresh. This plot tracks time changes. It helps update song picks. 5.5 Plot 5: Top 10 Artists by Song Count Figure 5: Bar plot of top 10 artists by song count. This bar plot lists top artists. Some have over 500 songs. They are big in the MSD. Names stand out like stars. Spotify can use them a lot. Fans know these artists well. Playlists with them get more plays. This plot finds the best artists. It boosts playlist fame. Users stick around for big names. Figure 6: Boxplot of song duration distribution. 5.6 Plot 6: Boxplot of Song Duration This boxplot shows length spread. Middle songs are near 200 seconds. Some hit 600 seconds or more. These are outliers. Most stay under 400 seconds. Spotify can avoid long ones. Users might skip them. Shorter tracks keep flow. This plot spots odd times. It helps make tight playlists. 5.7 Plot 7: Loudness Distribution by Year Figure 7: Boxplot of loudness by year. This boxplot tracks loudness by year. Old songs average -15 decibels. New ones hit -5 decibels. Loudness rises over time. The gap is clear. Spotify can fix old tracks. It makes sound even. Users enjoy steady volume. This plot shows loudness shifts. It improves playlist sound. 5.8 Plot 8: Density of Song Tempo Figure 8: Density plot of song tempos. This density plot shows tempo range. Most are 100 to 150 beats per minute. That’s medium speed. Slow ones under 80 BPM are few. Fast ones over 200 BPM are rare too. Spotify can use this range. It’s what users like most. It fits lots of tastes. This plot picks top tempos. It boosts playlist energy. 5.9 Plot 9: Heatmap of Duration by Year Figure 9: Heatmap of duration bins by year. This heatmap maps duration by year. Boxes show ranges like 100-200 seconds. Dark areas have more songs. The 2000s show longer tracks, up to 300 seconds. Old years have shorter ones. Spotify can tweak by era. It fits old and new styles. This plot shows time patterns. It customises playlists well. 5.10 Plot 10: Song Hotttnesss vs Artist Familiarity Figure 10: Scatter plot of song hotttnesss versus artist familiarity. This scatter plot ties popularity to fame. Song scores go from 0 to 1. Artist fame does too. High scores match, like 0.8 for both. Famous artists have popular songs. Spotify can pick these hits. Users love known tracks. It gets more listens. This plot links fame and success. It drives playlist wins.
ART 211Y: Introduction to Digital Art and Design Criticism Summer 2025 Course Description Art 211 focuses on developing a critical, theoretical, and historical understanding of media art and design. Participants will learn to do research and write effectively on contemporary media art and design practice, while also developing a project of their own in response to the material discussed throughout the class. Participants will attain an intimate understanding of how image, sound and text are redefined by emerging media and deployed in the physical world as well as networks in order to communicate ideas. To achieve this, participants will examine the conventions, language, practices, and aesthetics used by media artists and designers in direct relation to the social and cultural implications that creative production has in society, politics, philosophy, economics, race, gender, and technological development. The class focuses on developing conceptual skills that will enable students to create engaging experiences with greater depth and intellectual rigor when using all media forms, particularly in relation to their own production. The main purpose of the class is to prepare students to learn how to perform. effective research for the successful production of advanced art and media design projects according to their own interests in future classes as well as beyond the classroom. Emphasis of Class: The class will focus on international media art and design. To accomplish this, students will make use of online resources and databases considered historically and critically important. Participants will study and analyze selected art and design works to learn about the history and cultural questions that inform. contemporary media art and design practice. Participants will also implement cultural analytic methodologies in order to examine works effectively. This means that students will learn the principles of quantitative and qualitative analysis as part of major projects and class presentations. The class will also use selected books and readings that explore key principles of critical analysis. The online resources, selected books, and class discussions will enable students to attain a concrete understanding of the research and writing process needed to develop successful critical analysis. Participants will apply what they learn to their own research, writing, and project development. Course Objectives: Upon completion of this course, students will be able to: • Develop effective form. and style. of writing in order to make critically balanced arguments on the history and theory relevant to an interdisciplinary practice in art and media design that crosses over to other fields of specialization. • Organize research material in a logical manner for effective evaluation of content and form. that may potentially change in meaning from medium to medium. • Enhance the possibilities to communicate ideas as artists, designers, or cultural producers, by making the most of differences across media. • Develop research skills that will carefully inform. the choice of technical tools and technology used to produce interdisciplinary work. • Express ideas in a logical and clear manner in relation to advanced understanding of conceptual models that are essential for interdisciplinary art and media production. • Provide constructive criticism to peers during online forum discussions for their writing as well as creative projects. • Produce projects that communicate messages effectively and are critically invested. Requirements To Pass Class Please note that final grades are dependent upon consistent performance in all course requirements. • Participate in class exercises, and forum discussions. Class participation will also include in-class exercises. • There are a total of 3 minor projects and 3 major projects. • There are no make-ups. Please check with me for possible exceptions. Not consulting with the instructor prior to the dates when assignments are due will lead to an automatic F. • Final projects cannot be late—no exceptions. Required Materials: The class will use two texts: Available at the PSU Bookstore and Library: Bookstore: • Barthes, Roland. Mythologies. New York: Hill and Wang, 2012. Library: • Eduardo Navas, Art, Media Design and Postproduction: Open Guidelines for Appropriation and Remix. Second Edition. New York: Routledge, 2018/Second Edition 2025. https://cat.libraries.psu.edu/uhtbin/cgisirsi/0/0/0/57/5?user_id=PUBLICNONPS U&password=PUBLIC&searchdata1=^C23788241# We will be studying in depth the arguments as well as the writing approaches by the authors in order to attain a concrete understanding of the research and writing process that each of them went through for their respective publications. You also need to create accounts: ChatGPT: https://openai.com/product/gpt-4 DALL-E-3: https://openai.com/product/dall-e-2 See “Materials Letter” for details on how to order these materials, located under the modules tab in Canvas. Optional Materials: I will be referring to specific cultural terms throughout the school term. You may buy the following book to look up additional information on terms that may come in discussions. Recommended Reading : Williams, Raymond. Keywords: A Vocabulary of Culture and Society. New York: Oxford University Press, 2015. In addition, you are not required to buy the following books. They are included because they will be useful in helping you engage with contemporary new media and digital art: Rush, Michael. New Media in Art. New York: Thames & Hudson, 1999. Paul, Christiane. Digital Art. New York: Thames & Hudson, 2015. Technical Requirements: The following configuration has been rigorously tested with this course and represents an optimal setup that should cause you the fewest difficulties. This is not to say that other supported devices and browsers will not work; however, you may experience mixed results using other configurations. Recommended System Requirements • Device less than 4 years old • Windows PC or Mac OSX • Chrome web browser (up to date) • Broadband internet connection (cable or DSL) Notes: The latest version of Adobe Flash Player is required. Cookies and JavaScript. must be enabled. Pop-up blockers should be configured to permit new windows from Penn State Web sites. Any reasonably current browser should work, including the latest versions of Internet Explorer, Firefox and Safari. This course has limited support for Android, iOS and Windows phones and tablets, so it is recommended that you use a PC or Mac. Course Requirements and Grading: The following course requirements will provide the basis for the determination of your grade: Weekly Exercises (20 pts. Each = 60 pts total) 6% Project 1 Minor @ 50 Major @ 100 15% Project 2 Minor @ 50 Major - @ 120 15% Project 3 Minor - @ 100 Major - @ 150 25% Grade Scale • 94-100 = A • 90-93 = A- • 87-89 = B+ • 84-86 = B • 80-83= B- • 77-79 = C+ • 74-76 = C • 70-73 = C- • 60-69 = D • 0-59 = F Quizzes: • There will be 3 quizzes at the beginning of the semester. • The first quiz is an“Orientation Quiz”and you will be able to take it as many time as you would like in order to earn the desired grade. It is the only quiz you can take multiple times. • Each quiz will be open from Monday through Sunday. Discussion Forums: • Each Discussion Forum will be active during the Lesson week with which it is assocated from Monday through Sunday. • Each week a group of students (at least two) will lead the forum discussion on the readings for the week. The readings will be matched with a selected set of works available online. Those leading the discussion must post their summaries by Tuesday evening at 6 pm. • The professor provides basic questions for the readings designed to help students leading the discussion keep the postings going. The professor will also be active in the forums in order to clarify historical details, or particular concepts relevant to the readings. • The forum discussions come to a close each Friday evening, at which point students should turn their focus to the next week’s assignments and readings. Note that the forums will remain open until Sunday, but contributions will be marked late. 5 points will be taken off. • Each post must show a clear awareness of the readings. General broad statements will not be considered adequate contributions. • The summaries by students leading a discussion must be present the major points of the assigned text. • Initial posts should take place in the first two days. Waiting to the last minute will be closely evaluated in relation to the overall engagement of the student in class. Projects: • Minor Project 1 (preparation for first major project), due on week 4 • Major Project 1: Analysis of new media art/design project, due on week 6 • Minor Project 2 (preparation for second major project), due on week 8 • Major Project 2: Analysis of second new media art/design project, due on week 10 • Minor Project 3 (preparation for third major project), due on week 11 • Major Project 3: Production of new media art/design project (by students), due on Week 12 • The assignments and projects must meet the minimum requirements according to respective guidelines in order to receive a passing grade. • Students will be evaluated for their creative approach to complete the assignments. • Assignments and Projects must show an awareness of the historical and critical material discussed in class, as well as demonstrate rigorous independent research.
SWEN90010: High Integrity Systems Engineering Assignment 3 Due Date: 11:59pm, Monday 26th May 2025 (Melbourne time) 1 Introduction The assignment is worth 20% of your total mark and is done in pairs (the same pairs as assign- ments 1 and 2, unless you have been re-allocated to a new pair). The aim of this assignment is to use the SPARK Ada toolset to implement and verify the correctness and security of a small command-line Desktop Calculator utility. That is, your pair will implement the functionality of the calculator program (as specified below) in SPARK Ada, and use the SPARK Prover to prove that it is free of runtime errors and, additionally, that it is also secure. As usual, get started early and use your pair to maximum advantage. Download, install and check you can run the GNAT tools (see Section 3.1) ASAP! 2 The Calculator The program you have to implement is a command-line utility for performing numerical calcu- lations. It takes input from the terminal (i.e. standard input, aka stdin). 2.1 Commands Each line of input is a command. Commands conform to the following grammar: ::= “+” “-” “*” “/” “push1” “push2” “pop” “loadFrom” “storeTo” “remove” “list” “unlock” “lock” Tokens in the grammar above are separated by one or more whitespace characters, namely space, tab, and line-feed. Each is a string of non-whitespace characters. is a 4-digit string of non-whitespace characters that represents a non-negative number (i.e. a natural number) in the range 0000 ... 9999. • The calculator can be in one of two states, either locked or unlocked. • When the user starts the calculator, they supply (via a command-line argument) a 4-digit string masterpin that represents a 4-digit PIN (i.e. a number in the range 0000 ... 9999), which is the master PIN needed to unlock the calculator. If no master PIN is supplied, the calculator should exit immediately. • The calculator begins in the locked state. • For a string pin that represents a 4-digit PIN, the command “unlock pin” does nothing when the calculator is in the unlocked state. Otherwise, it checks whether pin is equal to the master PIN and, if so, changes the state of the calculator to unlocked. If pin is not equal to the master PIN, then the state of the calculator is not changed. • For a string newpin that represents a 4-digit PIN, the command “lock newpin” does nothing when the calculator is in the locked state. Otherwise, it updates the master PIN to become newpin and changes the state of the calculator to locked. • For a string num representing a decimal integer, e.g. “5”, the command “push1 num” pushes the value represented by num onto operand stack. • For two strings num1 and num2 representing decimal integers, e.g. “-9” “20”, the com- mand “push2 num1 num2 ” pushes the value represented by num1, followed by the value represented by num2 onto operand stack. • The command “pop” pops the value from the top of the operand stack, discarding it. • The commands “+”, “-”, “*” and “/” each pop the top two values from the operand stack and compute the corresponding arithmetic operation on them (addition, subtraction, mul- tiplication and division, respectively), and push the result onto the stack. • For a string loc representing a memory location, the command “storeTo loc” pops the value from the top of the operand stack and stores it into memory location loc. A memory location is a positive integer starting from 1. • For a string loc representing a memory location, the command “loadFrom loc” loads the value stored at memory location loc and pushes it onto the operand stack. A memory location is a positive integer starting from 1. • The command “list” prints out all currently defined memory locations and their correspond- ing values. • For a string loc representing a memory location, the command “remove loc” marks memory location loc as undefined (i.e. it will not be printed by subsequent “list” commands). A memory location is a positive integer starting from 1. 2.2 Notes • The calculator only takes input from the terminal (i.e. from stdin). • When the calculator is started, the user supplies on the command line the master PIN, as a command line argument. • PINs are 4-digit strings in the range 0000 ... 9999. • The calculator can be in one of two states: either locked or unlocked. • The “unlock” and “lock” commands change the state of the calculator between locked and unlocked. The “lock” command allows updating the master PIN (see above). • PINs that are not 4-digit strings in the range 0000 ... 9999 are invalid. • Input lines (i.e. commands) longer than 2048 characters are invalid. • When receiving invalid input, the calculator should exit immediately (possibly after print- ing an appropriate error message). • When performing a calculation that would produce a result outside the range -231 ... 231-1 inclusive (e.g. when computing -1 × -231 the calculator is allowed to do whatever it wants except it is not allowed to raise any Ada errors e.g. it cannot raise a CONSTRAINT_ERROR etc. For instance it could choose not to perform the operation, or to exit immediately, etc. • Similarly, when performing an operation that would cause division by zero, the calculator should not raise an Ada error, but otherwise it is allowed to do whatever it wants e.g. do nothing, exit immediately etc. • Likewise, when performing an operation that would exceed the capacity of the operand stack, the calculator is free to do whatever it wants except it cannot raise an Ada error. Similarly for an operation for which there are insufficient operands on the stack. • The capacity of the calculator’s operand stack is 512. • Decimal integers in commands (e.g. “5” in “push 5”) that are outside the range -231 ... 231- 1 inclusive are treated as representing 0. • The calculator supports up to 256 memory locations. Memory locations are positive inte- gers in the range 1 to 256 inclusive. If a command attempts to access a memory location outside this range, the calculator should not raise an Ada error, but otherwise it is allowed to do whatever it wants e.g. do nothing, exit immediately etc. • If a command attempts to read from a memory location that is not currently defined (i.e. no value has been stored in it yet, or the value has been previously removed by using the command remover), the calculator should not raise an Ada error, but otherwise it is allowed to do whatever it wants, e.g. do nothing, exit immediately, etc. • Any 32-bit signed integer (i.e. in the range -231 . . . 231 - 1 inclusive) can be stored in a memory location. 2.3 A Demo Session with the Calculator The user supplies the initial master PIN when starting the application, which is called main. For example, to start the application setting the master PIN to “1234” the user would run (assuming you are in obj directory): $ ./main 1234 The calculator accepts commands from the user and its prompt indicates whether it is in the locked or the unlocked state. Initially, it is always locked. Here is an example session showing its expected output for valid commands. $ ./main 1234 locked> unlock 1234 unlocked> push2 7 3 unlocked> + unlocked> push1 5 unlocked> * unlocked> storeTo 10 unlocked> loadFrom 10 unlocked> push1 20 unlocked> * unlocked> storeTo 2 unlocked> list 2 => 1000 10 => 50 unlocked> pop unlocked> remove 10 unlocked> list 2 => 1000 unlocked> lock 2345 locked> 3 Your tasks Get started early. This assignment is worth 20 marks in total. 3.1 Task -1: Download and Install GNAT Community Edition 2019 Download and install GNAT Community Edition from: https://www.adacore.com/download. Ensure that the bin/ directory is in your PATH so that you can run the Ada tools directly. If your setup is correct, you should be able to run commands like gnatmake and gnatprove and see output like the following (noting that in this case the commands were run on MacOS): $ gnatmake --version GNATMAKE Community 2019 (20190517-83) Copyright (C) 1995-2019, Free Software Foundation, Inc . This is free software; see the source for copying conditions . There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . $ gnatprove --version 2019 (20190517) Why3 for gnatprove version 1 .2 .0+git /Users/hira/opt/GNAT/2019/libexec/spark/bin/alt-ergo: Alt-Ergo version 2 .3 .0 /Users/hira/opt/GNAT/2019/libexec/spark/bin/cvc4: This is CVC4 version 1.7.1-prerelease /Users/hira/opt/GNAT/2019/libexec/spark/bin/z3: Z3 version 4.8 .0 - 64 bit 3.2 Task 0: Downloading and Building the Helper Code You need to implement the calculator in SPARK Ada. However you are provided with some helper code to get you started. Download the ZIP file containing the helper code from the LMS. It contains a small number of Ada packages: • main .adb: a top level main program that shows basic usage of the other packages. You will replace this with the top level of your calculator implementation. • MyCommandLine: A small wrapper around Ada’s built-in Ada.Command_Line package. This wrapper provides a simplified interface for accessing command-line arguments in a SPARK-compatible way. For more information, see the files mycommandline.ads and mycommandline.adb. • MyString: Provides a simple SPARK-compatible abstract data type for strings. It is used for representing lines of input as well as variable names, command names, etc. MyString avoids dynamic-length strings and supports safe, bounded operations that are verifiable in SPARK. For more details, see the files MyString .ads and MyString .adb. • MyStringTokeniser: Provides a simple SPARK interface for tokenising strings. By “to- kenising” we mean to break a string up into its various whitespace-separated tokens (where each token contains no whitespace). • MemoryStore: Provides a simple SPARK-compatible API for the calculator’s memory. It manages up to 256 numbered locations (1 – 256), letting you put, get, remove and list 32-bit signed integers stored at those locations. • PIN: Provides a simple SPARK abstract data type to represent 4-digit PINs in the range 0000 ... 9999. • StringToInteger: Provides a simple SPARK interface for parsing tokens that represent decimal integers and converting them to Integers. Note that if supplied an integer outside the range of -231 ... 231 - 1 inclusive (e.g. if supplied with the string “2147483648” (23 1), the Integer 0 is returned. Besides main .adb don’t modify the other supplied code, excpet for adding comments. After unpacking the ZIP file, it will create the directory assignment3 in which the Ada code is placed. You can build the code by running ‘gnatmake -P default.gpr’ in that directory. $ gnatmake -P default .gpr Compile [Ada] main .adb [Ada] mycommandline.adb [Ada] mystring.adb [Ada] mystringtokeniser.adb [Ada] pin.adb [Ada] stringtointeger.adb [Ada] variablestore .adb Bind [gprbind] main.bexch [Ada] main .ali Link [link] main .adb Note: if you are building the code on MacOS, you might get the warning message: ld: warning: URGENT: building for OSX, but linking against dylib (/usr/lib/libS ystem.dylib) built for (unknown) . Note: This will be an error in the future This warning can be safely ignored. Building the code should produce the placeholder main in obj folder that you can then run. As mentioned, the supplied main code simply shows some examples of how to use the other supplied packages. 3.3 Task 1: Understanding MyStringTokeniser (3 marks) Your first task is to understand the MyStringTokeniser package. This package has no comments but it does have SPARK annotations which describe aspects of its central procedure Tokenise. You should read and modify the provided main .adb program: in particular the parts of it that use the MyStringTokeniser package. This will help you to get an idea of what this package is doing. You should then carefully read the SPARK annotations on the Tokenise procedure. You need to: 1. Add comments to the file mystringtokeniser .ads describing each part of the postcondi- tion of the Tokenise procedure. For each part of its postcondition, you need to describe what that part is saying and why it is necessary to have it as part of the postcondition. Hint: think about code that uses this package. Try removing parts of the postcondition and run the SPARK prover over code that uses this package to see what happens. 2. Add comments to mystringtokeniser .adb that explain the loop invariant for the Tokenise procedure and, in particular, why the following part of the loop invariant is necessary: (OutIndex = Tokens’First + Processed); 3.4 Task 2: Implementing the Calculator (6 marks) Using the provided code, implement the calculator as specified in this document. Your implementation should follow good software engineering practices regarding modularity, information hiding / abstraction, loose coupling, and so on. Therefore, you are strongly encouraged to decompose the core operations of the calculator into a separate Ada package that your main .adb can make use of. 3.5 Task 3: Proving it Free of Faults (5 marks) Your next task is to use the SPARK Prover to prove that your calculator is free of runtime errors, and that all pre-conditions on the provided code are always satisfied. To do this, you will likely need to write loop invariants, and add defensive checks to your code. Your goal is to have a working calculator implemented that, when somebody selects SPARK → Prove All in GPS, does not produce any warning or error messages from the SPARK Prover. To get full marks here, your code must of course avoid things like integer overflow. However it should not avoid performing legitimate operations that do not cause overflow. 3.6 Task 4: Proving it Secure (6 marks) Your final task is to use the SPARK Prover to prove that your implementation is secure. By “secure” we mean it should at least satisfy the following security properties (however this list is intentionally not complete—to get full marks here you will also need to think of and prove additional security properties): • The arithmetic operations (“+”, “-”, “*”, “”), load, store, remove, and lock operations can only ever be performed when the calculator is in the unlocked state. • The Unlock operation can only ever be performed when the calculator is in the locked state. • The Lock operation, when it is performed, should update the master PIN with the new PIN that is supplied. By “performed” we mean that the operation has executed. This is different to an operation attempting to be executed. For instance, in the following example session the user attempts to perform the Lock operation; however the operation is not executed, because the caculator was in the locked state. $ ./main 1234 locked> lock 2345 Already locked locked> For this task you need to write a short description (no more than one page) describing: • The security properties that you proved of your implementation and, for each, • How you specified the security property using SPARK annotations and how the annotations encode the security property. If you prove additional properties of your implementation, besides those mentioned above, you should document those in your report. Your report should be written as Ada comments at the top of your main .adb file. 4 Submission You should submit a ZIP file containing your SPARK code. Your code should live inside the assignment3/ directory in your ZIP file. We expect to be able to build and run your code by doing the following from the command line, assuming your submission is called submission.zip: $ unzip submission.zip $ cd assignment3/ $ gnatmake -P default .gpr $ cd obj $ ./main 1234 Your main .adb should inclue comments that clearly identify all authors in your pair. Your code should build and run against the original packages you were supplied with. However your submission should contain updated versions with (only) additional comments added, as required (see above). Late submissions Late submissions will attract a penalty of 2 marks for every day that they are late. If you have a reason that you require an extension, email Hira well before the due date to discuss this. Please note that having assignments due around the same date for other subjects is not sufficient grounds to grant an extension. It is the responsibility of individual students to ensure that, if they have a cluster of assignments due at the same time, they start some of them early to avoid a bottleneck around the due date. The content required for this assignment was presented before the assignment was released, so an early start is possible (and encouraged) . 5 Academic Misconduct The University misconduct policy applies to this assignment. Students are encouraged to discuss the assignment topic, but all submitted work must represent the pair’s understanding of the topic. The subject staff take plagiarism very seriously. In the past, we have successfully prosecuted several students that have breached the university policy. Often this results in receiving 0 marks for the assessment, and in some cases, has resulted in failure of the subject.
La Enseñanza del Modo Subjuntivo en Español desde la Perspectiva del Paisaje Lingüístico: Un Estudio Aplicado a Estudiantes Chinos Índice Introducción · Contexto y Significado de la Investigación: Se proporciona una visión general sobre los desafíos en el aprendizaje del modo subjuntivo y el potencial del paisaje lingüístico en la enseñanza del español. · Preguntas de Investigación e Hipótesis: Se plantean las preguntas centrales de la investigación y se exponen las hipótesis. Pregunta central: ¿En qué medida el paisaje lingüístico facilita el aprendizaje del subjuntivo en español? Hipótesis: ¿El paisaje lingüístico puede facilitar el aprendizaje del subjuntivo? ¿Cómo se puede utilizar el paisaje lingüístico para preparar una clase? · Objetivos y Métodos de la Investigación: A través del análisis de datos reales recogidos en el contexto hispanohablante. · Estructura de los Capítulos: Se presenta la estructura general de la tesis. Part1 Panorama general del aprendizaje del español como lengua extranjera en China 1. Situación actual del aprendizaje del español en China 1.1. Introducción a la enseñanza de lenguas extranjeras en China 1.2. Demanda y popularidad del español en China 2. El papel del ELE en el contexto educativo chino 2.1. Importancia del aprendizaje del español en China 2.2. Universidades claves en la enseñanza del español en China 2.2.1. Universidad de Pekín 2.2.2. Universidad de estudios internacionales de Beijing 2.2.3. Universidad Renmin de China 2.2.4. Universidad de Economía y Comercio Internacional de China 2.2.5. La comparación de las asignaturas del español en los cuatro Departamentos del Español en China 2.2.6. El umbral de la graduación – pruebas de EEE4 y EEE8 3. El futuro del ELE en China 3.1. Tendencias y proyecciones para el aprendizaje del español 3.2. Innovaciones y avances en el campo de la enseñanza del español Part2 Marco Teórico y Potencial Educativo del Paisaje Lingüístico 1. Definición y Clasificación del Paisaje Lingüístico: 1.1 Concepto del Paisaje Lingüístico Explicar el concepto de paisaje lingüístico basado en autores pioneros, como Landry y Bourhis, resaltando cómo los signos en espacios públicos representan la visibilidad y vitalidad de las lenguas en una región. 1.2 Tipos de Símbolos en el Paisaje Lingüístico 1.2.1 Símbolos Públicos y Privados 1.2.2 Grafiti y Otros Símbolos Informales 1.2.3 Símbolos Monolingües y Multilingües 2. Metodología en el Estudio del Paisaje Lingüístico 2.1 Métodos Cuantitativos 2.1.2 Recolección de Datos 2.1.3 Análisis Cuantitativo 2.2 Métodos Cualitativos 2.2.2 Entrevistas y Encuestas 2.2.3 Perspectivas de Análisis Cualitativo 2.3 Métodos Emergentes En esta sección se describen las principales metodologías utilizadas para el estudio del paisaje lingüístico, enfocándose en los métodos cuantitativos y cualitativos, así como en métodos emergentes que ofrecen nuevas perspectivas. Los métodos cuantitativos incluyen la recolección de datos mediante fotografías y registros sistemáticos de los signos en los espacios públicos, seguida del análisis cuantitativo, donde se analiza la frecuencia y distribución de las lenguas en una región para identificar patrones y tendencias lingüísticas. Por otro lado. Se utilizan diversas perspectivas de análisis cualitativo para examinar cómo los signos reflejan la identidad y políticas lingüísticas en el entorno. 3. Desarrollo Histórico de los Estudios del Paisaje Lingüístico 3.1 Aplicación del Paisaje Lingüístico en la Enseñanza de Idiomas 3.1.2 Paisaje Lingüístico y Fenómenos Multilingües 3.1.3 Paisaje Lingüístico, Política Lingüística y Contacto Lingüístico 3.1.4 Aplicación del Paisaje Lingüístico en la Enseñanza de Idiomas 3.1.4.1 Paisaje Lingüístico: Una Herramienta Emergente y Significativa en el Campo Educativo 3.1.4.2 Aplicación del Paisaje Lingüístico en el Ámbito Educativo 3.1.4.3 Estudios sobre el Paisaje Lingüístico en el Ámbito Educativo En esta sección se explora cómo el paisaje lingüístico puede aplicarse en la enseñanza de idiomas y su relevancia en contextos multilingües. Primero, en la aplicación del paisaje lingüístico en la enseñanza de idiomas, se destaca cómo el uso de signos visibles en el entorno permite a los estudiantes interactuar con el idioma en contextos reales, fomentando un aprendizaje contextualizado y práctico. Luego, en paisaje lingüístico y fenómenos multilingües, se analiza cómo el paisaje lingüístico refleja la convivencia de diferentes lenguas en un mismo espacio, ofreciendo a los estudiantes una visión directa de la diversidad lingüística y cultural, lo cual enriquece su comprensión de los fenómenos multilingües. A continuación, en paisaje lingüístico, política lingüística y contacto lingüístico, se examina el impacto de las políticas lingüísticas en la visibilidad de las lenguas y cómo el contacto entre idiomas en el espacio público evidencia las dinámicas de poder, identidad y adaptación cultural. Además, en aplicación del paisaje lingüístico en la enseñanza de idiomas, se explora el potencial del paisaje lingüístico como recurso educativo, mostrando su eficacia para enseñar idiomas de manera auténtica y situada. En los subapartados, se profundiza en el valor del paisaje lingüístico como una herramienta emergente y significativa en el campo educativo, considerando su capacidad para reflejar el uso práctico del idioma fuera del aula. También se analiza la aplicación del paisaje lingüístico en el ámbito educativo mediante estudios de casos donde se integran signos públicos en la enseñanza, lo que permite a los estudiantes desarrollar competencias lingüísticas y culturales en contextos reales. Finalmente, se revisan los estudios sobre el paisaje lingüístico en el ámbito educativo, subrayando investigaciones que muestran sus beneficios en el aprendizaje de idiomas, como la promoción de la conciencia intercultural y la motivación hacia el aprendizaje lingüístico. 3.2 Aplicación del Paisaje Lingüístico en la Enseñanza del Español En este apartado, se analiza cómo el paisaje lingüístico puede aplicarse específicamente en la enseñanza del español, aprovechando los signos y textos visibles en el entorno como recursos didácticos para enriquecer el aprendizaje de la lengua. La aplicación del paisaje lingüístico en la enseñanza del español permite a los estudiantes interactuar con el idioma en contextos auténticos, familiarizándose con expresiones, vocabulario y estructuras que forman parte de la vida cotidiana en los países hispanohablantes. 3.3 Desafíos y Recomendaciones para su Aplicación En esta sección, se abordan los principales desafíos y se ofrecen recomendaciones para la aplicación efectiva del paisaje lingüístico en la enseñanza de idiomas. Uno de los desafíos principales es la variabilidad y disponibilidad de los signos en el entorno, ya que la riqueza lingüística de los paisajes urbanos no siempre es uniforme y puede depender del contexto cultural y sociolingüístico de cada región. Además, los signos pueden reflejar un lenguaje informal o coloquial que, aunque auténtico, puede ser difícil de adaptar a niveles iniciales de aprendizaje. Otro desafío es el diseño de actividades didácticas, ya que integrar el paisaje lingüístico en el aula requiere creatividad y planificación para que los estudiantes puedan comprender y aprovechar el material de manera significativa. Part3. Resumen y Aplicación del Modo Subjuntivo en Español 1. Aparición del Modo Subjuntivo en los Espacios PúblicosEl significado del subjuntivo 2. El uso del subjuntivo 3.1. En oraciones independientes 3.1.1. En contextos propios del imperativo 3.1.2. En expresiones de deseo 3.1.2.1. Ojalá (Que) 3.1.2.2. Que 3.1.2.3. Así 3.1.2.4. Quién 3.1.2.5. Si 3.1.2.6. Ya 3.1.2.7. Sin nexo 3.1.3. En expresiones de posibilidad y duda 3.1.4. Otras construcciones con subjuntivo 3.1.4.1. Que + presente de subjuntivo 3.1.4.2. Que + saber/ recordar/ ver en subjuntivo 3.1.4.3. Que + digamos/ dijéramos 3.1.4.4. Vaya, oye/ oiga, mira/ mire, venga, anda 3.1.4.5. Interjecciones: vaya/ venga 3.1.4.6. Venga a + infinitivo 3.1.4.7. ¿Y si…? + imperfecto de subjuntivo 3.1.4.8. Ni que 3.1.4.9. Como o lo que + decir/ querer/ gustar/ parecer 3.2. El subjuntivo en oraciones dependientes o subordinadas 3.2.1. El subjuntivo en oraciones sustantivas 3.2.2. El subjuntivo en oraciones relativas 3.2.3. El subjuntivo en oraciones adverbiales 3.2.3.1. En las oraciones temporales 3.2.3.2. En las oraciones de lugar 3.2.3.3. En las oraciones modales 3.2.3.4. En las oraciones finales 3.2.3.5. En las oraciones concesivas 3.2.3.6. En las oraciones condicionales 3.2.3.7. En las oraciones consecutivas 3.2.3.8. En las oraciones causales 3.2.3.9. En las oraciones comparativas 3.2.3.10. Otros usos 3.3. La alternancia de los modos indicativo y subjuntivo en las oraciones dependientes o subordinadas 3.3.1. Oraciones sustantivas 3.3.2. Oraciones de relativo 3.3.2.1. Oraciones relativas explicativas o no restrictivas 3.3.2.2. Oraciones relativas especificativas o restrictivas 3.3.2.2.1. El indicativo en las oraciones relativas especificativas o restrictivas 3.3.2.2.2. El subjuntivo en las oraciones relativas especificativas o restrictivas 3.3.2.3. La alternancia de los modos de indicativo y subjuntivo en las oraciones de relativo especificativas 3.3.2.3.1. La determinación específica o inespecífica del antecedente 3.3.2.3.2. Los adverbios relativos como, según, donde, cuanto 3.3.2.3.3. Las expresiones apenas, raro, casi no, etc. 3.3.2.3.4. Las expresiones cualquier(a), cualesquiera, quien(es)quiera, dondequiera y comoquiera 3.3.3. Oraciones adverbiales 3.3.3.1. Oraciones temporales 3.3.3.2. Oraciones excluyentes 3.3.3.3. Oraciones causales 3.3.3.4. Oraciones consecutivas 3.3.3.5. Oraciones comparativas 3.3.3.6. Oraciones condicionales 3.3.3.7. Oraciones concesivas 4. Valor Pragmático del Subjuntivo en la Enseñanza a través del Paisaje Lingüístico 4.1. Función Contextualizadora del Paisaje Lingüístico en la Enseñanza del Subjuntivo 4.1.1. Recreación del Contexto Real 4.1.2. Profundización en el Contexto Cultural La función contextualizadora del paisaje lingüístico en la enseñanza del subjuntivo permite a los estudiantes interpretar el subjuntivo dentro de un contexto más amplio y significativo. En la recreación del contexto real, los estudiantes observan cómo el subjuntivo aparece en carteles, anuncios y señales, lo que facilita su comprensión del uso de este modo para expresar deseos, recomendaciones, suposiciones y otros matices que son difíciles de captar solo en un aula. Por otro lado, en la profundización en el contexto cultural, los signos del paisaje lingüístico reflejan normas y valores propios de la cultura hispanohablante, permitiendo a los estudiantes entender el subjuntivo en situaciones de comunicación típicas y culturalmente relevantes. Esta aproximación pragmática ayuda a los estudiantes a aplicar el subjuntivo de manera natural y adecuada, mejorando su competencia comunicativa en español. Parte 4: Diseño de la Encuesta, Recolección y Análisis de Datos 1. Objetivo y Contexto de la Investigación o 1.1 Resumen del Objetivo de la Investigación o 1.2 Contexto de la Investigación y Preguntas de Investigación 2. Diseño de la Encuesta y Estructura de Contenidos o 2.1 Encuesta 1: Aprendizaje del Subjuntivo en el Entorno Universitario Chino § 2.1.1 Objetivo del Diseño § 2.1.2 Estructura de Contenidos o 2.2 Encuesta 2: Impacto del Paisaje Lingüístico en el Aprendizaje del Subjuntivo en España § 2.2.1 Objetivo del Diseño § 2.2.2 Estructura de Contenidos 3. Métodos de Recolección de Datos o 3.1 Criterios de Selección de la Muestra o 3.2 Proceso de Recolección de Datos 4. Métodos de Análisis de Datos o 4.1 Análisis Cuantitativo o 4.2 Análisis Cualitativo 5. Discusión de Resultados Parte 5: Propuestas de Aplicación del Paisaje Lingüístico en la Enseñanza del Subjuntivo 1. Relación entre el Paisaje Lingüístico y los Exámenes EEE4 y EEE8 o 1.1 Introducción y Requisitos de los Exámenes EEE4 y EEE8 o 1.2 Potencial Conexión entre el Paisaje Lingüístico y el Examen de Gramática o 1.3 Estrategias de Preparación para el Examen Basadas en el Paisaje Lingüístico 2. Limitaciones del Paisaje Lingüístico en el Aula de Español o 2.1 Propuestas Didácticas del Paisaje Lingüístico en el Aula de Español para Hablantes de Chino o 2.2 Preparación de la Estructura de las Actividades 3. Sugerencias Didácticas para la Aplicación del Paisaje Lingüístico 4. Recomendaciones para la Enseñanza del Español en China a través del Paisaje Lingüístico Part6 Conclusión Anexo Referencias bibliográficas Acevedo Aguilar, Clara. 2015. ―El paisaje lingüístico en la enseñanza de ELE: primera aproximación‖. Landry, R. y Bourhis, R. (1997). “Linguistic Landscape and Ethnolinguistic Vitality: An Empirical Study”. Gorter, D. (2006). Linguistic Landscape: A New Approach to Multilingualism. Shohamy, E., y Gorter, D. (2009). Linguistic Landscape: Expanding the Scenery. Cenoz, J. y Gorter, D. (2008). “The Linguistic Landscape as an Additional Source of Input in Second Language Acquisition”. Backhaus, P. (2007). Linguistic Landscapes: A Comparative Study of Urban Multilingualism in Tokyo. Dagenais, D., Moore, D., Sabatier, C., Lamarre, P., y Armand, F. (2009). “Linguistic Landscapes and Language Awareness”. Rowland, L. (2013). “The Pedagogical Benefits of a Linguistic Landscape Project in Japan”. Bello, Andrés (1847). Gramática de la lengua castellana destinada al uso de los americanos. Cortés Moreno, Maximiano (2009). “Análisis de la enseñanza de ELE en China: dificultades y soluciones.” Borrego, J., Gómez Asencio, J., y Prieto, E. (1992). El subjuntivo. Valores y usos. Bybee, Joan y Tracy D. Terrell (1974). “Análisis semántico del modo en español” en Indicativo y Subjuntivo, ed. Guijarro-Fuentes, Pedro (2007). “Subjuntivo: ¿cómo resolver el problema de enseñarlo?” Manteca Alonso-Cortés, Ángel (1981). Gramática del subjuntivo.
AMATH 483 / 583 (Roche) - Homework Set 6 Due Monday May 28, 5pm PT May 21, 2025 Homework 7 (80 points) 1. (+20) OpenBLAS L1, L2, L3. We will now upgrade the performance of our BLAS eforts. Measure and plot the performance of double precision L1, L2, and L3 BLAS using the OpenBLAS library on Hyak and the functions stated here. Use appropriate vector and matrix of dimensions in column major format for problem sizes n = 2 to n = 4096, stride n* = 2. Let each n be measured ntrial times and plot the average performance for each instance versus n, ntrial ≥ 3. Submit a single performance plot. Your plot will have ’flops’ on the y-axis, or some variation of FLOPs such as MFLOPs, and the problem size on the x-axis. void cblas_daxpy(const int N, const double alpha , const double *X, const int incX , double *Y, const int incY); void cblas_dgemv(const enum CBLAS_ORDER order , const enum CBLAS_TRANSPOSE TransA , const int M, const int N, const double alpha , const double *A, const int lda , const double *X, const int incX , const double beta , double *Y, const int incY); void cblas_dgemm(const enum CBLAS_ORDER Order , const enum CBLAS_TRANSPOSE TransA , const enum CBLAS_TRANSPOSE TransB , const int M, const int N, const int K, const double alpha , const double *A, const int lda , const double *B, const int ldb , const double beta , double *C, const int ldc); 2. (+20) Complex double linear system solver. Plot both the log of the residual and the log of the normalized error () versus the square matrix dimensions 16,32,64,...,8192 for the following LAPACK routine. It is supported in the OpenBLAS build on Hyak. Submit your plot, and label it accordingly. lapack_int LAPACKE_zgesv(int matrix_order , lapack_int n, lapack_int nrhs , lapack_complex_double* a, lapack_int lda , lapack_int* ipiv , lapack_complex_double* b, lapack_int ldb); Use the following snippet code to initialize your matrices and rhs vectors and note the headers I use: #include #include #include #include #include #include #include #include #include #include ... int main() { ... a =(std:: complex *)malloc(sizeof(std:: complex ) * ma * na); b = (std:: complex *)malloc(sizeof(std:: complex ) * ma); z = (std:: complex *)malloc(sizeof(std:: complex ) * na); ... srand(0); int k =0; for (int j = 0; j < na; j++) { for (int i = 0; i < ma ; i++) { a[k] = 0 .5 - (double)rand() / (double)RAND_MAX + std:: complex (0, 1) * (0 .5 - (double)rand() / (double)RAND_MAX); if (i==j) a[k]*=static_cast (ma); k++; } } srand(1); for (int i = 0; i < ma; i++) { b[i] = 0 .5 - (double)rand() / (double)RAND_MAX + std:: complex (0, 1) * (0 .5 - (double)rand() / (double)RAND_MAX); } ... 3. (+20) Compare OpenBLAS to CUBLAS on HYAK. Measure and plot the performance of double precision column major matrix multiply (αAB + βC → C) for square matrices of dimension n = 2 to n = 16384, stride n* = 2 for both the OpenBLAS and CUDA BLAS (CUBLAS) implementations on HYAK. Let each n be measured ntrial times and plot the average performance for each case versus n, ntrial ≥ 3. Submit your performance plot and C++ test code. Your plot will have ’flops’ on the y-axis, or some variation of FLOPs such as MFLOPs, and the dimension of the matrices on the x-axis. 4. (+20) CPU-GPU data copy speed on HYAK. Write a C++ code to measure the data copy performance between the host CPU and GPU (H2D), and between the GPU and the host CPU (D2H). Copy 1 byte to 2GB increasing in multiples of 2. You will plot the bandwidth for both directions: (bytes per second) on the y-axis, and the bufer size in bytes on the x-axis. Submit your plot and test code.
AFAM 100 Black Freedom Struggles Description This course focuses on Black freedom struggles in the United States and in international contexts. Themes addressed may include enslaved Africans’ resistance to capture and enslavement as well as post-Emancipation attempts to combat white supremacy, racial and gender inequality, labor and sexual exploitation, and political disenfranchisement. Resistance strategies include but are not limited to the forging of a prophetic religious tradition, marching, boycotting, forming strong families and communities, collective organizing, making art, and serving in the military in the late 19th through 21st centuries. This course will address key moments, movements, and texts in the history of Black struggles for freedom in various realms including the legal, political, religious, literary, and educational. It will also cover major (as well as lesser-known) artists, activists, writers, orators, scholars, community organizers and teachers involved in Black struggles for freedom. Students will acquire a strong basic knowledge of freedom struggles in the United States, the Caribbean, and across Africa. They will also begin to understand the relationship of Black resistance to broader anti-racist, anti-colonial and anti-imperialist struggles. Assigned readings, films, and lectures will foster critical thinking, speaking, and writing skills. Objectives At the end of this course, you will be able to: 1. Students will interrogate the similarities and differences between Black freedom struggles across time an in different geographies. 2. Students will be introduced to various theories and philosophies of dissent and resistance in order to demonstrate the varied approaches Black people have taken to combating racial oppression in the US and in international contexts); 3. Students will investigate the modes and operations of unfreedom at various levels-- societal, institutional, etc.--and movements for freedom engaged in by African Diasporans--individually and collectively--since the beginnings of the Transatlantic Slave Trade). Organization This course is made up of 9 lessons, several spanning multiple weeks. For a typical lesson, you will complete the following activities and assignments: · Explore online course content. · Read a few assigned readings. · Participate in a discussion, write an essay, complete a quiz. In addition, you will complete several ArcGIS StoryMap assignments. Online Learning and Attendance This course has been developed to promote asynchronous learning. The instructor and students do NOT meet on a designated day and time each week. For each lesson, there is a timeframe to complete all activities and assignments, and you may work at your own pace within that timeframe. However, you must adhere to the due dates outlined on the Calendar. (Due dates can also be viewed under the Syllabus tab.) You should log into the course daily to check for updates, review lessons, and participate in activities.