COIS-4100H-A: Comparative Programming Languages
essay | report | quiz | project | 代写Objective | Asp代做 | unity | 代写assignment – 这是一个关于unity的题目, 主要考察了关于unity的内容,是一个比较经典的题目, 涉及了essay/report/Objective/Asp/unity等代写方面, 这是值得参考的assignment代写的题目
2023WI – Peterborough Campus
Instructor:
Instructor: Brian Patrick
Email Address: [email protected]
Phone Number: 705-748-1011 x
Office: OC 102. 8
Office Hours: Monday, 12:00 – 14:00 or by appointment
Meeting Times:
Lectures
Each Tuesday, 18:00 – 20: One additional lecture will be held on Monday, January 9 at 14:
Quizzes (beginning on Monday, January 16)
Each Monday, 14:00 – 14:
Please see the academic timetable for any changes. http://www.trentu.ca/timetable/
Department:
Academic Administrative Assistant: Elissa O’Neill
Email Address: [email protected]
Phone Number: 7802
Office: OC 102. 6
Description:
Evaluating and selecting the most appropriate programming language for an application is a critical step in software development. This course examines the features that define imperative, object-oriented, and functional programming languages and builds a framework for comparison
and critique. It integrates our thinking about programming languages, defines general concepts, and highlights the primary issues that face programming language designers.
Learning Outcomes:
At the end of this course, a successful student will be able to:
- Critically review a programming language and determine its appropriateness for a given software application.
- Differentiate among the types of programming languages and paradigms (procedural, object-oriented, functional, logical).
- Formally define the syntax of a programming language using (Extended) Backus-Naur Form notation.
- Appreciate the fundamental concepts of abstraction, information hiding, encapsulation, and re-use.
- Understand the key design and implementation issues regarding data types, expressions, statements, subprograms, parameter passing, run-time stack, and exception handling.
- Gr unity 代写3D unity”> Asp how the static and dynamic properties of a programming language impact scope, binding, type checking, and storage.
- Compare how the above learning objectives are realized in a subset of programming languages.
- Design and present as a term project a new programming language which meets the needs of a particular audience.
Texts:
Robert Sebesta, Concepts of Programming Languages (12th Edition), Pearson, 2019 (Digital)
The 11th Edition of the text will also suffice.
Readings:
The text has 16 chapters. Each week, approximately one chapter of the text will be covered, excluding Chapters 2, 4 and 16.
Assessments, Assignments and Tests:
Quizzes (50%, best 10 of 11)
Each Monday class, starting on January 16, a quiz will be held. Each quiz will cover the material of the previous week.
Team Project (30%)
The team project (described below) is an opportunity to design and describe a new programming language. Drawing on material in the course as well as your team’s experience as programmers, you will invariably weigh the numerous choices any language designer faces when they craft a new programming language to meet the particular needs of their intended audience and applications.
The project has two components:
- A 5-page Preliminary report that gives an introductory PowerPoint overview of your programming language. (5% due March 14)
- A 20-25 page Final Report that fully describes your new programming language, including the following. (25% due April 10)
Motivation: A discussion on the motivation for your new programming language, a
comparison with exisitng languages, and the intended audience/applications. (3 marks)
Syntax and Semantics: A reasonably comprehensive presentation of language syntax and
semantics. Focus on the more "interesting" features of your language rather than common
operators and statements (unless of course that's where the innovation lies). (8 marks)
Examples: Illustrate your programming language with snippets of code. One "full" program
could be included, possibly as an Appendix. (4 marks)
Orthogonality: Does the language support features in a logical and consistent way. (
marks)
Innovativeness: Does the language include features that are innovative or unique.
Combining even common elements in novel ways can contribute to the uniqueness of your
language. (3 marks)
Presentation: The written presentation of your report is important and should be easy to
follow, well-organized, clear, and complete. (4 marks)
Final Examination (20%)
The 3-hour final examination is composed of a selection of more general essay questions that cover a range of key topics from the course.
Grading:
Weekly Quizzes (50%)
Team Project (30%)
Final Examination (20%)
Grade Total by Withdrawal Date:
Course Withdrawal Deadline
Friday, March 10, 2023
At least 30% of your grade will be available at that time
- Week Schedule:
- Tuesday, January 10: Chapter Monday, January 9: Course overview
- Week
- Monday, January 16: Quiz
- Tuesday, January 17: Chapter
- Week
- Monday, January 23: Quiz
- Tuesday, January 24: Chapter 5 and Chapter
- Week
- Monday, January 30: Quiz
- Week Tuesday, January 31: Chapter 6 (continued)
- Monday, February 6: Quiz
- Tuesday, February 7: Chapter 7 and Chapter
- Week
- Monday, February 13: Quiz
- Tuesday, February 14: Chapter 8 (continued) and Chapter
- Monday, February 20 to Friday, February Reading Week
- Week
- Monday, February 27: Quiz
- Tuesday, February 28: Chapter
- Week
- Monday, March 6: Quiz
- Tuesday, March 7: Chapter 11 and Chapter
- Week Friday, March 10: Course Withdrawal Deadline
- Monday, March 13: Quiz
- Tuesday, March 14: Chapter
- Week Tuesday, March 14: Preliminary Report due by 23:59
- Monday, March 20: Quiz
- Tuesday, March 21: Chapter
- Week
- Monday, March 27: Quiz
- Tuesday, March 28: Chapter
Week 12 Monday, April 3: Quiz 11 Tuesday, April 4: Review and discussion Monday, April 10: Final Report due by 23:
Examination Period Tuesday, April 11 to Monday, April 2 4
Course Guidelines:
Team Project
Membership: 2 or 3
The general Objective of the team project is to design and present your own high-level programming language. But before one can sit down and design a programming language, it is absolutely necessary to answer a few critical questions:
- What is the movitation for your language?
- Who is the intended audience (users)?
- What are the intended applications?
- What type of language will satisfy this audience and its applications?
The answers to these questions will have a significant impact on your design decisions and will influence the feasibility and choice of data types, control statements, subprograms, exception handling, concurrency, and so on. Your final 20-25 page report will therefore be a concise, clear, and comprehensive description of your new programming language, complete with syntax and semantic definitions. Use examples and diagrams whenever possible to clarify your language features. Include as well, snippets of code to show how the language "looks". In essence, your report is the basis of a new language manual. As a student of computer science and as one who has learned programming languages using texts and manuals, reflect on how you would present a new language to the intended audience.
This project is deceptively challenging. Do budget sufficient time to consider the design issues and to create a programming language that is consistent (orthogonal), well-thought out, and if possible, unique. Use your imagination and have fun!
University Policies:
Academic Integrity
Academic dishonesty, which includes plagiarism and cheating, is an extremely serious academic offence and carries penalties varying from failure on an assignment to expulsion from the University. Definitions, penalties, and procedures for dealing with plagiarism and cheating are set out in Trent Universitys Academic Integrity Policy. You have a responsibility to educate yourself
unfamiliarity with the policy is not an excuse. You are strongly encouraged to visit Trents Academic Integrity website to learn more: http://www.trentu.ca/academicintegrity.
Access to Instruction
It is Trent University’s intent to create an inclusive learning environment. If a student has a disability and documentation from a regulated health care practitioner and feels that they may need accommodations to succeed in a course, the student should contact the Student Accessibility Services Office (SAS) at the respective campus as soon as possible.
Sharing and Distribution of Course Content
Students in this class should be aware that classroom activities (lecture, seminars, labs, etc.) may be recorded for teaching and learning purposes. Any students with concerns about being recorded in a classroom context should speak with their professor. If a student shares or distributes course content in any way that breaches copyright legislation, privacy legislation, and/or this policy, the student will be subject to disciplinary actions under the relevant Academic Integrity Policy, the Charter of Student Rights & Responsibilities, or the Policy on the Protection of Personal Information, at a minimum, and may be subject to legal consequences that are outside of the responsibility of the university.
Student Absenteeism, Missed Tests and Examinations
Students are responsible for completing all course requirements, including attending classes and meeting assignment deadlines as specified on their syllabus.
Adjustments and deferrals to dates for participation, assignment submissions, tests, midterms and final examinations are not automatic. It is the students responsibility to email their instructor immediately if they are unable to fulfill academic requirements.
Courses delivered remotely may involve student participation in scheduled (synchronous) classes via web-based platforms, such as Zoom. Students unable to participate (i.e., by video and/or audio) should email their instructors to request alternative arrangements for participation in these scheduled (synchronous) classes.
Students are required to be available for all tests, midterms and exams that are listed in their course syllabus and scheduled by their instructor or the Office of the Registrar. Depending on their program, the instructor or the chair/director may decide on alternative arrangements for exams and tests. Normally a doctors note or supporting documentation is not required; however, when a students success in the course or program is in jeopardy as determined by the instructor or chair/director, documentation may be requested.
Specific SAS accommodations can be implemented for students registered with Student Accessibility Services (SAS), but it is the responsibility of the student to make these arrangements in advance as per SAS guidelines, and to discuss accommodations of due dates with their instructors.
Students can notify the Office of the Registrar of their wish to observe cultural or religious holidays during scheduled examination periods by the deadline set in the Academic Calendar. Personal travel plans are not acceptable reasons for missing tests or exams.
Print