I need help
Microsoft Word - ITECH5403 Assignment 1 2000-07.docx ITECH5403 Comparative Programming Languages – Semester 2020/07 CRICOS Provider No. 00103D ITECH5403 Assignment 1 2000-07.docx Page 1 of 4 Assignment 1 Overview You are required to apply your programming language design features considering a particular industry or problem domain. You must make and justify decisions regarding the features of the language which make it suitable for the provided industry/problem domain. Completion of this assignment requires an understanding of: Features and functionalities of multiple programming languages Knowledge of the given domain/industry in terms of designing a programming language Timelines and Expectations Percentage Value of Task: 20% Due: Fri, May 08, 2020 - 23:55 (week 7) Minimum time expectation: 20 hours Learning Outcomes Assessed The following course learning outcomes are assessed by completing this assessment: Understand the significance of various features of different programming languages Understand the features of a programming language while considering a particular domain Demonstrate skills in designing a programming language Assessment Details Since the development of Plankalkül back in the 1940s, a large number of programming languages have been designed and implemented - each for its own specific problem domains and made with its own set of design decisions and compromises. For example, there are languages which: Are strongly typed and loosely typed, Provide support for object orientation/abstraction of data types, Use static or dynamic scoping rules, Provide memory management (i.e. garbage collection) or allow the developer fine-grained control over heap-allocation and recycling, Provide closures to allow functions to be passed around like variables, Allow easy access to array slices and those which do not, Perform internal correctness checking of data and those which do not, Provide diverse and comprehensive suites of built-in functionality and those with a more limited set of features, Use pre-processors and macros to selectively expand or substitute source code, etc. Each of these decisions can have a profound effect on the usefulness of a programming language in terms of factors such as its speed, robustness and general suitability to create programs of a certain type, such CRICOS Provider No. 00103D ITECH5403 Assignment 1 2000-07.docx Page 2 of 4 as for operating systems, or in the areas of business, scientific computation, artificial intelligence or video games. The topic of your essay is to design a language for the problem domain of E-commerce. E-commerce encompasses a number of areas including aspects of business, finance, and customer relations. It is worth thinking about the aspects of an E-commerce system in terms of a number of features, including: Performance; Use and precision of data types and structures; Maintenance of code; The flexibility of design and implementation; and Robustness requirements in such a critical domain. Even though security aspects are worth considering, the features of the language are the primary concern in this essay. With this in mind, your task is to theoretically design a language suitable for the use within the E-commerce domain. The actual implementation of the language and toolset is obviously outside the scope of this course, but you must express and justify the design decisions behind your programming language in terms of: The features and functionality that will allow your language to be suitable and useful within the E- commerce domain (including what differentiates it from existing languages), The programming paradigms, such as procedural, object-oriented, logic and functional programming. You are free to design your language to be either interpreted, compiled or to work in a hybrid manner, but you must thoroughly justify your decision. All language design choices must be sound, rational decisions that are backed up by a robust discussion of the subject area. In addition, your document should include numerous references to back up any and all specific claims that you make. All references should be made in the APA referencing style. Submission Your essay should be between 3,000 and 4,000 words inclusive and may contain diagrams or images as you see fit. All diagrams, charts, images or other externally created materials incorporated into your essay must be appropriately referenced. You may supply your completed essay in either Word or LibreOffice/OpenOffice format in which the document can be edited – no proprietary Mac-specific formats, please. Assignments will be marked on the basis of fulfillment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to): Incomplete language feature coverage, Incomplete submissions (e.g. missing subject areas – see the marking guide), Poor spelling and grammar, and Incorrect adherence to the APA referencing style. CRICOS Provider No. 00103D ITECH5403 Assignment 1 2000-07.docx Page 3 of 4 Marking Criteria/Rubric ITECH5403 – Comparative Programming Languages Assignment 1 – Language Design Essay Student name: Student ID: Requirement Weight Mark Introduction and explanation of language purpose. 10 Choice and justification of interpretation/compilation method(s) to be used. 10 Discussion of memory management and scoping features. 10 Specification and rationale for major language features in terms of: - Simplicity - Orthogonality - Data types - Syntax design - Support for abstraction - Expressivity -Type checking - Exception handling, and - Restricted aliasing. 45 Readability, writability, and reliability of the language based on the language characteristics as chosen. - 15 References and APA referencing style. - 05 Spelling and grammar. - 05 Assignment mark total (Out of 100) Contribution to unit mark (Out of 20%) CRICOS Provider No. 00103D ITECH5403 Assignment 1 2000-07.docx Page 4 of 4 Feedback Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks of assignment submission. Plagiarism Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and-study/online-help- with/plagiarism.