Why is it important to study and understand Nature, according to Epicurus and Lucretius?

Why is it important to study and understand Nature, according to Epicurus and Lucretius?

Based on Lucretius what is the initial principle associated with … Read More...
Engineering Ethics Steve is updating the HVAC system in his house. The house is older and quite large. It will likely require new zoning as temperatures vary considerably throughout the home. His friend, Terry, owns a small HVAC company and tells Steve that new zoning is going to be difficult without doing major construction. However, there are some things that could be done to improve the temperature disparities throughout the house but “it will be far from perfect.” He quotes Steve a very favorable “friend discount” for the job. For good measure, Steve enlists a larger and more reputable firm to bid on the job as well. The company sends out their best project engineer, Bobby, to see if anything can be done to zone the house effectively and efficiently. Bobby spends the day at the house trying to come up with a creative solution for the problem. Bobby appears very committed to finding a solution and is genuinely excited and enthusiastic about the challenge. A week later Bobby returns with an elaborate and creative proposal for Steve. Bobby assures Steve that this solution will correct the temperature disparities and guarantees that he will work above and beyond to make sure the job is done to near perfection. Steve is very impressed with the design that Bobby has come up with but needs to think about it because the cost is more than he intended to spend. Steve tells his friend Terry about the proposal and Terry says that it is a “genius” idea. He also tells him that he will do the job using Bobby’s design for half the price. Steve did not sign any agreement with Bobby’s company; however, Bobby invested a tremendous amount of time and energy on the design. Bobby is very committed to his job and as has a tendency to trust people as evidenced by the fact that he let Steve make a copy of his detailed proposal that included his drawings. Bobby’s philosophy is to trust people “unless they give you a reason not to.” Using two moral theories, one of them being Kant’s deontology, try to determine the best course of action for Steve by constructing a brief ethical argument. Also, make sure to include the perspective of all three parties involved.

Engineering Ethics Steve is updating the HVAC system in his house. The house is older and quite large. It will likely require new zoning as temperatures vary considerably throughout the home. His friend, Terry, owns a small HVAC company and tells Steve that new zoning is going to be difficult without doing major construction. However, there are some things that could be done to improve the temperature disparities throughout the house but “it will be far from perfect.” He quotes Steve a very favorable “friend discount” for the job. For good measure, Steve enlists a larger and more reputable firm to bid on the job as well. The company sends out their best project engineer, Bobby, to see if anything can be done to zone the house effectively and efficiently. Bobby spends the day at the house trying to come up with a creative solution for the problem. Bobby appears very committed to finding a solution and is genuinely excited and enthusiastic about the challenge. A week later Bobby returns with an elaborate and creative proposal for Steve. Bobby assures Steve that this solution will correct the temperature disparities and guarantees that he will work above and beyond to make sure the job is done to near perfection. Steve is very impressed with the design that Bobby has come up with but needs to think about it because the cost is more than he intended to spend. Steve tells his friend Terry about the proposal and Terry says that it is a “genius” idea. He also tells him that he will do the job using Bobby’s design for half the price. Steve did not sign any agreement with Bobby’s company; however, Bobby invested a tremendous amount of time and energy on the design. Bobby is very committed to his job and as has a tendency to trust people as evidenced by the fact that he let Steve make a copy of his detailed proposal that included his drawings. Bobby’s philosophy is to trust people “unless they give you a reason not to.” Using two moral theories, one of them being Kant’s deontology, try to determine the best course of action for Steve by constructing a brief ethical argument. Also, make sure to include the perspective of all three parties involved.

info@checkyourstudy.com
Critical Essay Guidelines FORMAT: Prepare your paper as a Microsoft Word file. Single-space the body of your paper; you may double-space between the headings (Introduction, Background Explanation and Critical Evaluation) described below. Use 1” margins on all sides. Use a font that is no larger than Times New Roman at 12 pt. and no smaller than Times New Roman at 10 pt. Put your name, course name, section and the date in a header on top of all pages. Include page numbers. LENGTH, TOPIC, ETC.: Write a 2 – 3 page (single-spaced) (1500 words) critical response on your topic. Back up your discussion with direct quotation from the relevant text, preferably short quotes, such as single sentences and (even better) crucial phrases. Leave out words or phrases using…ellipses…, etc. Less than 1/4 page total of your paper should be direct quotation. Cite any direct quotes simply by giving text title and page number in parentheses; the page number will either be from the textbook or what’s posted on Blackboard. For example, such a citation might look like: (Schoedinger, 25). Include a “Works Cited” page at the end of your paper citing the primary philosophic text from Schoedinger’s textbook. No other sources should be used. Treat your intended audience as someone who has some familiarity with philosophy generally, but no familiarity with the details of what you are writing on. STRUCTURE: In this critical response, you will do all and only the following three things, putting each under its OWN SECTION HEADING: A. INTRODUCTION Begin with a one-sentence introductory paragraph where you very briefly say what you will be doing in the rest of the critical response, one which has the exact form: “In this critical response, I will consider <insert chosen topic>, and then I will argue that <insert statement of main thesis>.” For example: “In this critical response, I will consider Socrates’ views on a worthwhile life, and then I will argue that the worthwhile life is nothing more or less than the life of pleasure.” B. BACKGROUND EXPLANATION Explain (in one-half to 1 page), as clearly as you can, the background to your chosen topic, including any relevant discussion in the text, and also including any relevant theories, arguments, objections, crucial notions and distinctions, etc. C. CRITICAL EVALUATION Critically evaluate (in 1½ – 2 pages) your chosen topic. This involves explaining and defending your thesis on the topic. In doing this, address relevant material from your “ Background Explanation” section. Also, you are encouraged (but not required) to anticipate potential objections and reply to them. Throughout your critical evaluation, pay careful attention (even if just informally) to the criteria of a good argument. This applies both when you are considering others’ arguments and when you are giving your own. GRADING: Grading will be based partly on whether or not you have successfully followed the instructions above (including the format requirements). Each defect in terms of failure to satisfy the instructions will cost you points. Any paper which completely ignores all instructions, however, will receive a zero. Barring prior consent from me or documented and sufficiently excusing special contingency, late papers will be graded in accord with the late policy on the syllabus. Grading will also be based on the writing quality. Here I have in mind things like: is the paper clear, concise, grammatical and accurate? Does it provide necessary explanations and avoid irrelevant material?

Critical Essay Guidelines FORMAT: Prepare your paper as a Microsoft Word file. Single-space the body of your paper; you may double-space between the headings (Introduction, Background Explanation and Critical Evaluation) described below. Use 1” margins on all sides. Use a font that is no larger than Times New Roman at 12 pt. and no smaller than Times New Roman at 10 pt. Put your name, course name, section and the date in a header on top of all pages. Include page numbers. LENGTH, TOPIC, ETC.: Write a 2 – 3 page (single-spaced) (1500 words) critical response on your topic. Back up your discussion with direct quotation from the relevant text, preferably short quotes, such as single sentences and (even better) crucial phrases. Leave out words or phrases using…ellipses…, etc. Less than 1/4 page total of your paper should be direct quotation. Cite any direct quotes simply by giving text title and page number in parentheses; the page number will either be from the textbook or what’s posted on Blackboard. For example, such a citation might look like: (Schoedinger, 25). Include a “Works Cited” page at the end of your paper citing the primary philosophic text from Schoedinger’s textbook. No other sources should be used. Treat your intended audience as someone who has some familiarity with philosophy generally, but no familiarity with the details of what you are writing on. STRUCTURE: In this critical response, you will do all and only the following three things, putting each under its OWN SECTION HEADING: A. INTRODUCTION Begin with a one-sentence introductory paragraph where you very briefly say what you will be doing in the rest of the critical response, one which has the exact form: “In this critical response, I will consider , and then I will argue that .” For example: “In this critical response, I will consider Socrates’ views on a worthwhile life, and then I will argue that the worthwhile life is nothing more or less than the life of pleasure.” B. BACKGROUND EXPLANATION Explain (in one-half to 1 page), as clearly as you can, the background to your chosen topic, including any relevant discussion in the text, and also including any relevant theories, arguments, objections, crucial notions and distinctions, etc. C. CRITICAL EVALUATION Critically evaluate (in 1½ – 2 pages) your chosen topic. This involves explaining and defending your thesis on the topic. In doing this, address relevant material from your “ Background Explanation” section. Also, you are encouraged (but not required) to anticipate potential objections and reply to them. Throughout your critical evaluation, pay careful attention (even if just informally) to the criteria of a good argument. This applies both when you are considering others’ arguments and when you are giving your own. GRADING: Grading will be based partly on whether or not you have successfully followed the instructions above (including the format requirements). Each defect in terms of failure to satisfy the instructions will cost you points. Any paper which completely ignores all instructions, however, will receive a zero. Barring prior consent from me or documented and sufficiently excusing special contingency, late papers will be graded in accord with the late policy on the syllabus. Grading will also be based on the writing quality. Here I have in mind things like: is the paper clear, concise, grammatical and accurate? Does it provide necessary explanations and avoid irrelevant material?

No expert has answered this question yet.   You can … Read More...
CAUSAL ANALYSIS GUIDELINES: According to John J. Ruskiewicz and Jay T. Dolmage, “We all analyze and explain things daily. Someone asks, ‘Why?’ We reply, ‘Because . . .’ and then offer reasons and rationales” (138). This type of thinking is at the core of the causal analysis. You will write a causal analysis which explores, through carefully examined research and logical analysis, certain causes or factors which contribute to an issue or problematic situation, based on the topic you choose to write on. Your causal analysis should explore more than one type of cause, such as necessary causes, sufficient causes, precipitating causes, proximate causes, remote causes, reciprocal causes, contributing factors, and chains of causes, as outlined in our course text in the chapter devoted to Causal Analyses. Your project should also reflect significant critical thinking skills. In addition to the actual causal analysis essay, you will be also create an annotated bibliography. These process elements will help you organize and focus your ideas and research in a beneficial way. The following is an organizational structure that outlines the chronology and content of your Causal Analysis: I. Introduction: In one (or at the most two) paragraph(s) introduce your topic. Give a brief overview of your topic and thesis in a few sentences. your evaluative claim and your causal claim. It should be specific, logical, and clear. II. History/Background to Current Situation: This section should take as much space as needed—a few to several paragraphs. Discuss the significant and relevant history of your topic up to the current situation and how it came to be. Use research as needed to give precise and accurate background for context in making your later causal argument. Comment on your research as well, so that you don’t lose your voice. As you explore other points of view, your own point of view will evolve in significant ways. III. Evaluative Claim: Once you have given a brief history/background of the current situation, evaluate the situation, the topic, as it is at present. Again, use research as appropriate to support your judgments. While this section of your essay could run anywhere from one to three paragraphs, typically one paragraph is the norm, as you are basically passing judgment on the situation, arguing evaluatively. This is an argument of pathos and logos, predominantly. IV. Causal Argument: This is the longest portion of your essay, the “meat,” the heart of your work. Once you have detailed the history/background to current situation and evaluated the current situation, you are ready to present your causal analysis. Demonstrate a link between the current situation and the causes for its negative condition. Of course, you will use current significant and relevant research to support your causal claim, and you will want to find the most dominant and pervasive logical causes, utilizing research, for the current situation as possible. These will connect forward as well to your proposal. Remember to use specific supporting detail/examples, and to analyze all of your research causally, thoroughly, and with clarity. NOTE: SECTIONS THREE AND FOUR ABOVE ARE INTERCHANGEABLE. IN OTHER WORDS, IF YOU FEEL YOU CAN PRESENT A BETTER ARGUMENT BY SHOWING CAUSES FIRST AND THEN EVALUATING THE CURRENT SITUATION, THAT CAN WORK JUST AS WELL AS THE ORDER OUTLINED ABOVE. I WILL LEAVE IT UP TO YOU AS THE WRITER TO ESTABLISH WHICH ORDER WORKS MOST EFFECTIVELY. V. Counterargument/Conditions of Rebuttal and Rebuttal: There will be those who disagree with you so you will want to acknowledge their points of view. What are their assumptions about this topic? What questions do they raise for consideration? Acknowledging other points of view gives your essay credibility and shows that you have been fair and broad in your inquiry and presentation. (You will need at least one credible source to represent at least one counterargument.) Then explain how you have considered this counterargument, but still find your own analysis to be more logical and accurate; this is your rebuttal. VI. Conclusion: Summarize the meaningful conclusions you have drawn clearly and precisely, remembering to resummarize your thesis. Give your specific proposal here as well. This will become your transition paragraph between the causal analysis and the proposal, so you must state your proposal precisely to pave the way for the proposal argument in full to come. Keep in mind these critical thinking outcomes: • Pursue the best information via reliable research (no Internet web sites should be used—Use the library electronic databases, such as ____, for academic research. • Engage in broad and deep inquiry • Analyze different points of view • Examine and challenge your own underlying assumptions as you undergo this exciting journey in scholarship. Please also reflect on these questions as you progress through your research and project work: About yourself: • What assumptions (beliefs) did you have about this topic coming into the project? • Have some of those assumptions been challenged? Have some been validated? • What questions do you still have about your issue? • What questions have you been able to answer through your research? About your audience: • What questions might your audience have about your topic? What points of view do they represent? • What information do you want to provide to help answer those questions? • How can you address a diverse audience so that its members will be moved to see your own point of view as significant and worth consideration? • How has pursuing the best information in a fair and honest, ethical, and logical manner allowed you to show respect for your audience as well as yourself as a thinker? Documentation Style: MLA format for paper format, in-text citations, works cited page, and annotated bibliography format. Paper Length: 6-8 double-spaced pages. Annotated Bibliography: At least 4 sources, formatted in MLA style. List of Sources Page: At least 5-8 sources used; formatted in MLA style. Warning: Plagiarism is punishable with an “F,” so be sure to document your research carefully. Causal Analysis Topics Choose one: • Causes of bullying • Causes of gun violence in schools • Causes of obesity in children • Causes of lying / Reasons why people lie • Causes of the fear of darkness Write in the 3rd-person point of view (using pronouns such as he, she, they, etc.). Do not write in the 1st- person (I, me, etc.) or 2nd-person (you, your) point of view.

CAUSAL ANALYSIS GUIDELINES: According to John J. Ruskiewicz and Jay T. Dolmage, “We all analyze and explain things daily. Someone asks, ‘Why?’ We reply, ‘Because . . .’ and then offer reasons and rationales” (138). This type of thinking is at the core of the causal analysis. You will write a causal analysis which explores, through carefully examined research and logical analysis, certain causes or factors which contribute to an issue or problematic situation, based on the topic you choose to write on. Your causal analysis should explore more than one type of cause, such as necessary causes, sufficient causes, precipitating causes, proximate causes, remote causes, reciprocal causes, contributing factors, and chains of causes, as outlined in our course text in the chapter devoted to Causal Analyses. Your project should also reflect significant critical thinking skills. In addition to the actual causal analysis essay, you will be also create an annotated bibliography. These process elements will help you organize and focus your ideas and research in a beneficial way. The following is an organizational structure that outlines the chronology and content of your Causal Analysis: I. Introduction: In one (or at the most two) paragraph(s) introduce your topic. Give a brief overview of your topic and thesis in a few sentences. your evaluative claim and your causal claim. It should be specific, logical, and clear. II. History/Background to Current Situation: This section should take as much space as needed—a few to several paragraphs. Discuss the significant and relevant history of your topic up to the current situation and how it came to be. Use research as needed to give precise and accurate background for context in making your later causal argument. Comment on your research as well, so that you don’t lose your voice. As you explore other points of view, your own point of view will evolve in significant ways. III. Evaluative Claim: Once you have given a brief history/background of the current situation, evaluate the situation, the topic, as it is at present. Again, use research as appropriate to support your judgments. While this section of your essay could run anywhere from one to three paragraphs, typically one paragraph is the norm, as you are basically passing judgment on the situation, arguing evaluatively. This is an argument of pathos and logos, predominantly. IV. Causal Argument: This is the longest portion of your essay, the “meat,” the heart of your work. Once you have detailed the history/background to current situation and evaluated the current situation, you are ready to present your causal analysis. Demonstrate a link between the current situation and the causes for its negative condition. Of course, you will use current significant and relevant research to support your causal claim, and you will want to find the most dominant and pervasive logical causes, utilizing research, for the current situation as possible. These will connect forward as well to your proposal. Remember to use specific supporting detail/examples, and to analyze all of your research causally, thoroughly, and with clarity. NOTE: SECTIONS THREE AND FOUR ABOVE ARE INTERCHANGEABLE. IN OTHER WORDS, IF YOU FEEL YOU CAN PRESENT A BETTER ARGUMENT BY SHOWING CAUSES FIRST AND THEN EVALUATING THE CURRENT SITUATION, THAT CAN WORK JUST AS WELL AS THE ORDER OUTLINED ABOVE. I WILL LEAVE IT UP TO YOU AS THE WRITER TO ESTABLISH WHICH ORDER WORKS MOST EFFECTIVELY. V. Counterargument/Conditions of Rebuttal and Rebuttal: There will be those who disagree with you so you will want to acknowledge their points of view. What are their assumptions about this topic? What questions do they raise for consideration? Acknowledging other points of view gives your essay credibility and shows that you have been fair and broad in your inquiry and presentation. (You will need at least one credible source to represent at least one counterargument.) Then explain how you have considered this counterargument, but still find your own analysis to be more logical and accurate; this is your rebuttal. VI. Conclusion: Summarize the meaningful conclusions you have drawn clearly and precisely, remembering to resummarize your thesis. Give your specific proposal here as well. This will become your transition paragraph between the causal analysis and the proposal, so you must state your proposal precisely to pave the way for the proposal argument in full to come. Keep in mind these critical thinking outcomes: • Pursue the best information via reliable research (no Internet web sites should be used—Use the library electronic databases, such as ____, for academic research. • Engage in broad and deep inquiry • Analyze different points of view • Examine and challenge your own underlying assumptions as you undergo this exciting journey in scholarship. Please also reflect on these questions as you progress through your research and project work: About yourself: • What assumptions (beliefs) did you have about this topic coming into the project? • Have some of those assumptions been challenged? Have some been validated? • What questions do you still have about your issue? • What questions have you been able to answer through your research? About your audience: • What questions might your audience have about your topic? What points of view do they represent? • What information do you want to provide to help answer those questions? • How can you address a diverse audience so that its members will be moved to see your own point of view as significant and worth consideration? • How has pursuing the best information in a fair and honest, ethical, and logical manner allowed you to show respect for your audience as well as yourself as a thinker? Documentation Style: MLA format for paper format, in-text citations, works cited page, and annotated bibliography format. Paper Length: 6-8 double-spaced pages. Annotated Bibliography: At least 4 sources, formatted in MLA style. List of Sources Page: At least 5-8 sources used; formatted in MLA style. Warning: Plagiarism is punishable with an “F,” so be sure to document your research carefully. Causal Analysis Topics Choose one: • Causes of bullying • Causes of gun violence in schools • Causes of obesity in children • Causes of lying / Reasons why people lie • Causes of the fear of darkness Write in the 3rd-person point of view (using pronouns such as he, she, they, etc.). Do not write in the 1st- person (I, me, etc.) or 2nd-person (you, your) point of view.

No expert has answered this question yet. You can browse … Read More...
1 IN2009: Language Processors Coursework Part 3: The Interpreter Introduction This is the 3rd and final part of the coursework. In the second part of the coursework you created a parser for the Moopl grammar which, given a syntactically correct Moopl program as input, builds an AST representation of the program. In Part 3 you will develop an interpreter which executes Moopl programs by visiting their AST representations. For this part of the coursework we provide functional code (with limitations, see below) for parsing, building a symbol table, type checking and variable allocation. Marks This part of the coursework is worth 12 of the 30 coursework marks for the Language Processors module. This part of the coursework is marked out of 12. Submission deadline This part of the coursework should be handed in before 5pm on Sunday 9th April 2017. In line with school policy, late submissions will be awarded no marks. Return & Feedback Marks and feedback will be available as soon as possible, certainly on or before Wed 3rd May 2017. Plagiarism If you copy the work of others (either that of fellow students or of a third party), with or without their permission, you will score no marks and further disciplinary action will be taken against you. Group working You will be working in the same groups as for the previous parts of the coursework except where group changes have already been approved. Submission: Submit a zip archive (not a rar file) of all your source code (the src folder of your project). We do not want the other parts of your NetBeans project, only the source code. Note 1: Submissions which do not compile will get zero marks. Note 2: You must not change the names or types of any of the existing packages, classes or public methods. 2 Getting started Download either moopl-interp.zip or moopl-interp.tgz from Moodle and extract all files. Key contents to be aware of: • A fully implemented Moopl parser (also implements a parser for the interpreter command language; see below). • A partially implemented Moopl type checker. • Test harnesses for the type checker and interpreter. • A directory of a few example Moopl programs (see Testing below). • Folder interp containing prototype interpreter code. The type-checker is only partially implemented but a more complete implementation will be provided following Session 6. That version is still not fully complete because it doesn’t support inheritance. Part d) below asks you to remove this restriction. The VarAllocator visitor in the interp package uses a simple implementation which only works for methods in which all parameter and local variable names are different. Part e) below asks you to remove this restriction. The three parts below should be attempted in sequence. When you have completed one part you should make a back-up copy of the work and keep it safe, in case you break it in your attempt at the next part. Be sure to test old functionality as well as new (regression testing). We will not assess multiple versions so, if your attempt at part d) or e) breaks previously working code, you may gain a better mark by submitting the earlier version for assessment. c) [8 marks] The Basic Interpreter: complete the implementation of the Interpreter visitor in the interp package. d) [2 marks] Inheritance: extend the type-checker, variable allocator and interpreter to support inheritance. e) [2 marks] Variable Allocation: extend the variable allocator to fully support blockstructure and lexical scoping, removing the requirement that all parameter and local variable names are different. Aim to minimise the number of local variable slots allocated in a stack frame. Note: variable and parameter names declared at the same scope level are still required to be different from each other (a method cannot have two different parameters called x, for example) and this is enforced by the existing typechecking code. But variables declared in different blocks (even when nested) can have the same name. Exceptions Your interpreter will only ever be run on Moopl code which is type-correct (and free from uninitialised local variables). But it is still possible that the Moopl code contains logical errors which may cause runtime errors (such as null-reference or array-bound errors). Your interpreter should throw a MooplRunTimeException with an appropriate error message in these cases. The only kind of exception your interpreter should ever throw is a MooplRunTimeException. 3 Testing The examples folder does not contain a comprehensive test-suite. You need to invent and run your own tests. The document Moopl compared with Java gives a concise summary of how Moopl programs are supposed to behave. You can (and should) also compare the behaviour of your interpreter with that of the online tool: https://smcse.city.ac.uk/student/sj353/langproc/Moopl.html (Note: the online tool checks for uninitialised local variables. Your implementation is not expected to do this.) To test your work, run the top-level Interpret harness, providing the name of a Moopl source file as a command-line argument. When run on a type-correct Moopl source file, Interpret will pretty-print the Moopl program then display a command prompt (>) at which you can enter one of the following commands: :quit This will quit the interpreter. :call main() This will call the top-level proc main, interpreted in the context defined by the Moopl program. (Any top-level proc can be called this way). :eval Exp ; This will evaluate expression Exp, interpreted in the context defined by the Moopl program, and print the result. Note the required terminating semi-colon. Testing your Expression visitors To unit-test your Exp visit methods, run the top-level Interpret harness on a complete Moopl program (though it can be trivial) and use the :eval command. For example, to test your visit methods for the Boolean-literals (ExpTrue and ExpFalse), you would enter the commands > :eval true ; > :eval false ; which should output 1 and 0, respectively. For the most basic cases, the Moopl program is essentially irrelevant (a single top-level proc with empty body may be sufficient). For other cases you will need to write programs containing class definitions (in order, for example, to test object creation and method call). Testing your Statement visitors To unit-test your Stm visit methods, write very simple Moopl programs, each with a top-level proc main() containing just a few lines of code. Run the top-level Interpret harness on these simple programs and enter the command > :call main() You will find a few examples to get you started in the folder examples/unittests. As for the Exp tests, simple cases can be tested using Moopl programs with just a main proc but for the more complex tests you will need to write Moopl programs containing class definitions. 4 Grading criteria Solutions will be graded according to their functional correctness, and the elegance of their implementation. Below are criteria that guide the award of marks. 70 – 100 [1st class] Work that meets all the requirements in full, constructed and presented to a professional standard. Showing evidence of independent reading, thinking and analysis. 60 – 69 [2:1] Work that makes a good attempt to address the requirements, realising all to some extent and most well. Well-structured and well presented. 50 – 59 [2:2] Work that attempts to address requirements realising all to some extent and some well but perhaps also including irrelevant or underdeveloped material. Structure and presentation may not always be clear. 40 – 49 [3rd class] Work that attempts to address the requirements but only realises them to some extent and may not include important elements or be completely accurate. Structure and presentation may lack clarity. 0 – 39 [fail] Unsatisfactory work that does not adequately address the requirements. Structure and presentation may be confused or incoherent.

1 IN2009: Language Processors Coursework Part 3: The Interpreter Introduction This is the 3rd and final part of the coursework. In the second part of the coursework you created a parser for the Moopl grammar which, given a syntactically correct Moopl program as input, builds an AST representation of the program. In Part 3 you will develop an interpreter which executes Moopl programs by visiting their AST representations. For this part of the coursework we provide functional code (with limitations, see below) for parsing, building a symbol table, type checking and variable allocation. Marks This part of the coursework is worth 12 of the 30 coursework marks for the Language Processors module. This part of the coursework is marked out of 12. Submission deadline This part of the coursework should be handed in before 5pm on Sunday 9th April 2017. In line with school policy, late submissions will be awarded no marks. Return & Feedback Marks and feedback will be available as soon as possible, certainly on or before Wed 3rd May 2017. Plagiarism If you copy the work of others (either that of fellow students or of a third party), with or without their permission, you will score no marks and further disciplinary action will be taken against you. Group working You will be working in the same groups as for the previous parts of the coursework except where group changes have already been approved. Submission: Submit a zip archive (not a rar file) of all your source code (the src folder of your project). We do not want the other parts of your NetBeans project, only the source code. Note 1: Submissions which do not compile will get zero marks. Note 2: You must not change the names or types of any of the existing packages, classes or public methods. 2 Getting started Download either moopl-interp.zip or moopl-interp.tgz from Moodle and extract all files. Key contents to be aware of: • A fully implemented Moopl parser (also implements a parser for the interpreter command language; see below). • A partially implemented Moopl type checker. • Test harnesses for the type checker and interpreter. • A directory of a few example Moopl programs (see Testing below). • Folder interp containing prototype interpreter code. The type-checker is only partially implemented but a more complete implementation will be provided following Session 6. That version is still not fully complete because it doesn’t support inheritance. Part d) below asks you to remove this restriction. The VarAllocator visitor in the interp package uses a simple implementation which only works for methods in which all parameter and local variable names are different. Part e) below asks you to remove this restriction. The three parts below should be attempted in sequence. When you have completed one part you should make a back-up copy of the work and keep it safe, in case you break it in your attempt at the next part. Be sure to test old functionality as well as new (regression testing). We will not assess multiple versions so, if your attempt at part d) or e) breaks previously working code, you may gain a better mark by submitting the earlier version for assessment. c) [8 marks] The Basic Interpreter: complete the implementation of the Interpreter visitor in the interp package. d) [2 marks] Inheritance: extend the type-checker, variable allocator and interpreter to support inheritance. e) [2 marks] Variable Allocation: extend the variable allocator to fully support blockstructure and lexical scoping, removing the requirement that all parameter and local variable names are different. Aim to minimise the number of local variable slots allocated in a stack frame. Note: variable and parameter names declared at the same scope level are still required to be different from each other (a method cannot have two different parameters called x, for example) and this is enforced by the existing typechecking code. But variables declared in different blocks (even when nested) can have the same name. Exceptions Your interpreter will only ever be run on Moopl code which is type-correct (and free from uninitialised local variables). But it is still possible that the Moopl code contains logical errors which may cause runtime errors (such as null-reference or array-bound errors). Your interpreter should throw a MooplRunTimeException with an appropriate error message in these cases. The only kind of exception your interpreter should ever throw is a MooplRunTimeException. 3 Testing The examples folder does not contain a comprehensive test-suite. You need to invent and run your own tests. The document Moopl compared with Java gives a concise summary of how Moopl programs are supposed to behave. You can (and should) also compare the behaviour of your interpreter with that of the online tool: https://smcse.city.ac.uk/student/sj353/langproc/Moopl.html (Note: the online tool checks for uninitialised local variables. Your implementation is not expected to do this.) To test your work, run the top-level Interpret harness, providing the name of a Moopl source file as a command-line argument. When run on a type-correct Moopl source file, Interpret will pretty-print the Moopl program then display a command prompt (>) at which you can enter one of the following commands: :quit This will quit the interpreter. :call main() This will call the top-level proc main, interpreted in the context defined by the Moopl program. (Any top-level proc can be called this way). :eval Exp ; This will evaluate expression Exp, interpreted in the context defined by the Moopl program, and print the result. Note the required terminating semi-colon. Testing your Expression visitors To unit-test your Exp visit methods, run the top-level Interpret harness on a complete Moopl program (though it can be trivial) and use the :eval command. For example, to test your visit methods for the Boolean-literals (ExpTrue and ExpFalse), you would enter the commands > :eval true ; > :eval false ; which should output 1 and 0, respectively. For the most basic cases, the Moopl program is essentially irrelevant (a single top-level proc with empty body may be sufficient). For other cases you will need to write programs containing class definitions (in order, for example, to test object creation and method call). Testing your Statement visitors To unit-test your Stm visit methods, write very simple Moopl programs, each with a top-level proc main() containing just a few lines of code. Run the top-level Interpret harness on these simple programs and enter the command > :call main() You will find a few examples to get you started in the folder examples/unittests. As for the Exp tests, simple cases can be tested using Moopl programs with just a main proc but for the more complex tests you will need to write Moopl programs containing class definitions. 4 Grading criteria Solutions will be graded according to their functional correctness, and the elegance of their implementation. Below are criteria that guide the award of marks. 70 – 100 [1st class] Work that meets all the requirements in full, constructed and presented to a professional standard. Showing evidence of independent reading, thinking and analysis. 60 – 69 [2:1] Work that makes a good attempt to address the requirements, realising all to some extent and most well. Well-structured and well presented. 50 – 59 [2:2] Work that attempts to address requirements realising all to some extent and some well but perhaps also including irrelevant or underdeveloped material. Structure and presentation may not always be clear. 40 – 49 [3rd class] Work that attempts to address the requirements but only realises them to some extent and may not include important elements or be completely accurate. Structure and presentation may lack clarity. 0 – 39 [fail] Unsatisfactory work that does not adequately address the requirements. Structure and presentation may be confused or incoherent.

checkyourstudy.com Whatsapp +919911743277
ield ENGL 2110-01 Midterm You must write an essay for each of the following prompts. Part I: Write a 1500 word essay (you may go over this word count, but you should not fall short of this word count) on the following prompt: Many of the readings that we have covered up to this point in the class have considered the native population that explorers encountered when they came to the “New World.” For this essay, you should examine the readings from any two of the explorers that we have encountered to this point to compare and contrast the similarities and differences between the ways that these two explorers interacted with the indigenous peoples. The thesis for this essay should make an argumentative claim as to which approach was/is more effective, and the writer should use quotations in each body paragraph (formatted correctly according to MLA style guidelines, with attributive tags to introduce the quotations and in-text citations following each quotation) to support the argument the writer is making. Please note that you should avoid summarizing the texts. Instead, your focus should be on making an argument about the ways that these explorers deal with the indigenous populations. Part II: Write a 1000 word essay (you may go over this word count, but you should not fall short of this word count) on the following prompt: Now that you have considered how the explorers interacted with the indigenous populations that they encountered, it then becomes necessary to examine how the native population viewed the explorers. Choose one of the readings that we covered in the creation/emergence accounts from Native American authors. You will then make an argumentative claim for your thesis statement about the way that this writer presents the relationship between the indigenous peoples and the European explorers. Is this a positive relationship, according to this writer? Does the writer think this is a negative relationship? You should also use quotations in each body paragraph (formatted correctly according to MLA style guidelines, with attributive tags to introduce the quotations and in-text citations following each quotation) to support the argument you are making. Please note that you should only discuss one text, and that you should avoid summarizing the text and instead focus on building and supporting an argument about the way that the author views the effect that the explorers have had or will have on the native population. Due: A typed Midterm Exam is due at the beginning of class on Wednesday, September 30th. Format: The exam should be formatted according to MLA guidelines, and it should be stapled in the upper left hand corner. It has to be from the book: The Concise Health Anthology of American Literature!!!!!!

ield ENGL 2110-01 Midterm You must write an essay for each of the following prompts. Part I: Write a 1500 word essay (you may go over this word count, but you should not fall short of this word count) on the following prompt: Many of the readings that we have covered up to this point in the class have considered the native population that explorers encountered when they came to the “New World.” For this essay, you should examine the readings from any two of the explorers that we have encountered to this point to compare and contrast the similarities and differences between the ways that these two explorers interacted with the indigenous peoples. The thesis for this essay should make an argumentative claim as to which approach was/is more effective, and the writer should use quotations in each body paragraph (formatted correctly according to MLA style guidelines, with attributive tags to introduce the quotations and in-text citations following each quotation) to support the argument the writer is making. Please note that you should avoid summarizing the texts. Instead, your focus should be on making an argument about the ways that these explorers deal with the indigenous populations. Part II: Write a 1000 word essay (you may go over this word count, but you should not fall short of this word count) on the following prompt: Now that you have considered how the explorers interacted with the indigenous populations that they encountered, it then becomes necessary to examine how the native population viewed the explorers. Choose one of the readings that we covered in the creation/emergence accounts from Native American authors. You will then make an argumentative claim for your thesis statement about the way that this writer presents the relationship between the indigenous peoples and the European explorers. Is this a positive relationship, according to this writer? Does the writer think this is a negative relationship? You should also use quotations in each body paragraph (formatted correctly according to MLA style guidelines, with attributive tags to introduce the quotations and in-text citations following each quotation) to support the argument you are making. Please note that you should only discuss one text, and that you should avoid summarizing the text and instead focus on building and supporting an argument about the way that the author views the effect that the explorers have had or will have on the native population. Due: A typed Midterm Exam is due at the beginning of class on Wednesday, September 30th. Format: The exam should be formatted according to MLA guidelines, and it should be stapled in the upper left hand corner. It has to be from the book: The Concise Health Anthology of American Literature!!!!!!

info@checkyourstudy.com