Comparative Programming Languages | Good Grade Guarantee!
ITECH 5403: Comparative Programming Languages (1907)CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 1 of 6Assignment 2: Parallel ImplementationOverviewThis assignment will test your skills in programming applications to specification in a number of differentprogramming languages and is worth 20% of your non-invigilated (type A) marks for this course. Completionof this assignment requires the: Understanding of various programming languages’ features Understanding of Implementing a program in multiple languagesTimelines and ExpectationsPercentage Value of Task: 20%Due: 04:00 pm Friday the 31st May 2019 (week 11)Minimum time expectation: 20 hoursAssignment OverviewYou are asked to create a program for a pizza shop – however, as this is a comparative languages course, you will becreating the same application in the following programming languages: C Python, Java and LispAs you implement the application in each language, you should keep notes on the features of the languages used, whichyou found useful, as well as any issues or complications which arose due to the complexity or lack of any language features.A brief discussion based on these programming features for each individual language accompanying each implementationis required. Finally, a comparative overview of the languages highlighting applicability based on your experience in thedesign, implementation and debugging of your code is also required.If you foresee or encounter any complications, you may opt to implement or incorporate additional language featureswhich may be lacking, i.e. data structures. This can be done via:CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 2 of 6 Your own implementation, Through libraries, or Via the incorporation of existing source code. You can use code found on the Internet, but use of anyexisting code must be referenced.Assessment DetailsSab, the owner of a new Pizza and Pasta shop, is opening a takeaway service for selling delicious Pizza and Pasta to thecustomers. She wants to offer some packages to interested customers to promote her business. To do so she is offeringthe following packages:
1 large Pizza = 12 AUD
2 large Pizzas = 22 AUD
N large pizzas = N*10 AUD, where N>=3, and the customer will receive 1 garlic bread forevery three pizzas [For example, if a customer is interested to buy 10 large pizzas, Sabwill provide 3 complementary garlic bread for 100 AUD]
1 large pasta = 8 AUD
2 large pastas = 15 AUD
M large pastas = M*7 AUD, where M>=3, and the customer will receive 1.25 Liter softdrinks for every 3 pastas [For example, if a customer is interested to buy 6 large pastas,Sab will provide 2 complementary 1.25 liter soft drinks for 42 AUD]
For every 3 pizzas AND 3 pastas, Sab will give a small box of Baklava (a famousdessert item) in addition to garlic-bread and 1.5-liter soft drinks.You have agreed to design and develop a small console program for Sab, enabling her to select the appropriate item andthe package, and calculate the corresponding cost. Once an order is processed, the program will return to the menu readyto commence another order. This payment information should display: total payment amounts received for pizza order total payment amounts received for pasta order total amount of pizzas and pastas sold in that session**A session indicates the duration Sab is using the program after opening the program. There is no need for this data topersist once the program has stopped running.CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 3 of 6The owner wants the system to be flexible so that she can include additional items and packages at a later date withouthaving to rewrite the entire program. This means you will need to use an interface for processing payments, andpolymorphism for the various food items classes, so that new and different packages may be added at a later date withminimal updates to the code. She asked that you provide her with some documentation before you commence coding, sothat she is able to verify that the program you intend to code will address her requirements. She would like to see the usecases to summarize the requirements in written format, as well as use case diagrams, class diagrams and sequencediagrams.Suggested Development EnvironmentsCodeblocks for C ’99Code::Blocks can be downloaded from http://www.codeblocks.org/downloads/binaries To create a new C project is: Whenyou create a project, choose File | New and then Console Application, and then choose C as the programming language.IDLE for Python:Python, including the IDLE development environment, can be downloaded from https://www.python.org/downloads/Eclipse for Java 7 or Java 8Eclipse may be freely downloaded from http://www.eclipse.org/downloads/Eclipse does not come with the Java JDK, which must the downloaded separately fromhttp://www.oracle.com/technetwork/java/javase/downloads/index.htmlEnsure that your Eclipse type and Java type match – i.e. 32-bit Java for 32-bit Eclipse, or 64-bit Java for 64-bit Eclipse. Ifyou mix and match it won’t work.GNU CLisp for Common LispCLISP 2.49 can be sourced from http://sourceforge.net/projects/clisp/files/latest/downloadAny good text editor would be suitable for writing the source code.Additional Documentation – Language Suitability ReportThe design of each programming language incorporates a number of decisions about the language which make it more orless suitable for given tasks. During your implementation of the pizza program in each of the languages, you should makenotes about the language features which exist or do not exist, and which have therefore made program development easieror more difficult.Where a language has not provided a feature which would have been useful to the implementation of the program, or wherethe complexity of using a language feature has been high you should remark upon it and briefly discuss a mechanism orfeature of another language which would have made development easier.CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 4 of 6After completing the application in all languages (or as many as you can), discuss the comparative ease of implementationin terms of the design, implementation and debugging for each programming language, including how robustness issueswere addressed.Submission and Marking ProcessYou must supply your program source code files and language suitability report documentation in as single compressedarchive called:ITECH5403_Assignment_2__.zipYou may supply your programming language suitability report in either Word or LibreOffice/OpenOffice format in which thedocument 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 themarking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limitedto): Incomplete implementation(s), and Incomplete submissions (e.g. missing files), and Poor spelling and grammar.Submit your assignment (all program source files plus your discussion document) to the Assignment 2 Upload location onMoodle before the deadline of Friday of Week 11 at 4 pm.The mark distribution for this assignment is explained on the next page.CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 5 of 6Marking Criteria/RubricAssignment 2 – Parallel ImplementationsStudent name: Student ID:RequirementAvailableMarksStudentMarkImplementation of the pizza shop program in the C programming language. Areas ofnote include: –o Use of data structureso Robust input handling which does not cause program termination if provided withbad data (i.e. program expects a number, gets given alphanumerical data).Discussion on implementation:o Language features, issues and suitability.155Implementation of the pizza shop program in the Python programminglanguage. Areas of note include:o Python Standard libraryo List mechanismsDiscussion on implementation:o Language features, issues and suitability155Implementation of the pizza shop program in the Java programminglanguage. Areas of note include:o Object orientation mechanism/method callso Error handlingo Standard Java librariesDiscussion on implementationo Language features, issues and suitability155Implementation of the pizza shop program in the Lisp programminglanguage. Areas of note include the Lisp:o Use of recursiono Listso Inbuilt data structuresDiscussion on implementationo Language features, issues and suitability155Documentation and discussion of the comparative ease of implementation(design/implement/ debug) in each programming language, including howrobustness issues were addressed.15Spelling and grammar 5Total/100Contribution to unit mark (out of 20%) %FeedbackMarks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeksof assignment submission.CRICOS Provider No. 00103D ITECH5403 Assignment 2 1907.docx Page 6 of 6Plagiarism:Plagiarism is the presentation of the expressed thought or work of another person as though it is one’sown without properly acknowledging that person. You must not allow other students to copy your workand must take care to safeguard against this happening. More information about the plagiarism policyand procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.
QUALITY: 100% ORIGINAL – NO PLAGIARISM.
- **REMEMBER TO PRECISE PAGE NUMBER**
- Hit The Order Button To Order A **Custom Paper**