McMaster University
CAS 706 - Fall 2024

Lectures  Assignments

Lectures

Tuesday/Thursday 10:30-12:00 in ITB 222. First Lecture, Tuesday September 3rd.

Calendar Description

Design, definition and implementation of programming languages. Programming language paradigms; syntax, attribute grammars, typing; axiomatic, operational and denotational semantics; correctness proofs; implementation techniques, virtual machines; design and implementation of Domain-Specific Languages. Code generation and optimization

Course Pages: http://www.cas.mcmaster.ca/~carette/CAS706/W2024.
This is where you will find the course outline and regulations. Assignments will be handed in through Avenue, as will announcements. The course handouts are available from the course github page; you should

git clone https://github.com/JacquesCarette/CAS706-F2024
to get it, and then git pull reasonably frequently to get the updates. In particular what is done in class will be uploaded there. Instructions for installing Agda are also on there.

The assignment specification itself will be also available from the same place.

It is the student's responsibility to be aware of the information in the course Web pages, and to check regularly for announcements.

Evaluation

The plan is that there will be around 10 assignments given out, of which the top 8 will count towards your final grade.

Topics

This year's course again be based on Programming Language Foundations in Agda. We will likely cover Part 1 and 2, and a bit of Part 3. However, as the main branch of PLFA is not in sync with the current version of Agda, you should instead:

git clone https://github.com/JacquesCarette/plfa.github.io plfa
cd plfa
git checkout feature-v2.7

to get a version of the textbook that works with the current version.

A few lectures will depart from PLFA, to cover high-level material on programming languages that is not present in the textbook.

Assignments will come from the textbook (and from some of the other courses that were taught using it - see the web page).

Assignments

(Insert link to where they will be here)

The instructor reserves the right to ask any student to explain their assignment solutions to the instructor, in person, to insure that the student understands their solution.

Notes:

Schedule Changes

At certain points in the course it may make good sense to modify the schedule. The instructor may modify elements of the course and will notify students accordingly (using the standard communication mechanisms used for the class).

Discrimination

The Faculty of Engineering is concerned with ensuring an environment that is free of all adverse discrimination. If there is a problem that cannot be resolved by discussion among the persons concerned individuals are reminded that they should contact their Chair, the Sexual Harassment Office or the Human Rights Consultant, as soon as possible.

ACADEMIC INTEGRITY

You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning process. Academic credentials you earn are rooted in principles of honesty and academic integrity. It is your responsibility to understand what constitutes academic dishonesty.

Academic dishonesty is to knowingly act or fail to act in a way that results or could result in unearned academic credit or advantage. This behaviour can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: “Grade of F assigned for academic dishonesty”), and/or suspension or expulsion from the university. For information on the various types of academic dishonesty please refer to the Academic Integrity Policy, located at https://secretariat.mcmaster.ca/university-policies-procedures- guidelines/

The following illustrates only three forms of academic dishonesty:

AUTHENTICITY / PLAGIARISM DETECTION

Some courses may use a web-based service (Turnitin.com) to reveal authenticity and ownership of student submitted work. For courses using such software, students will be expected to submit their work electronically either directly to Turnitin.com or via an online learning platform (e.g. A2L, etc.) using plagiarism detection (a service supported by Turnitin.com) so it can be checked for academic dishonesty. Students who do not wish their work to be submitted through the plagiarism detection software must inform the Instructor before the assignment is due. No penalty will be assigned to a student who does not submit work to the plagiarism detection software. All submitted work is subject to normal verification that standards of academic integrity have been upheld (e.g., on-line search, other software, etc.). For more details about McMaster’s use of Turnitin.com please go to www.mcmaster.ca/academicintegrity.

Use of AI tools

AI tools (such as Copilot, ChatGPT, Gemini and so forth) cannot be used in this course. The built-in tools to Agda IDEs (emacs, Visual Studio) are not AI and thus exempt from this, and are expected to be used. The use of these tools in this course will be considered a violation of the academic integrity policy.

COURSES WITH AN ON-LINE ELEMENT

Some courses may use on-line elements (e.g. e-mail, Avenue to Learn (A2L), LearnLink, web pages, capa, Moodle, ThinkingCap, etc.). Students should be aware that, when they access the electronic components of a course using these elements, private information such as first and last names, user names for the McMaster e-mail accounts, and program affiliation may become apparent to all other students in the same course. The available information is dependent on the technology used. Continuation in a course that uses on-line elements will be deemed consent to this disclosure. If you have any questions or concerns about such disclosure please discuss this with the course instructor.

ONLINE PROCTORING

Some courses may use online proctoring software for tests and exams. This software may require students to turn on their video camera, present identification, monitor and record their computer activities, and/or lock/restrict their browser or other applications/software during tests or exams. This software may be required to be installed before the test/exam begins.

CONDUCT EXPECTATIONS

As a McMaster student, you have the right to experience, and the responsibility to demonstrate, respectful and dignified interactions within all of our living, learning and working communities. These expectations are described in the Code of Student Rights & Responsibilities (the "Code"). All students share the responsibility of maintaining a positive environment for the academic and personal growth of all McMaster community members, whether in person or online. It is essential that students be mindful of their interactions online, as the Code remains in effect in virtual learning environments. The Code applies to any interactions that adversely affect, disrupt, or interfere with reasonable participation in University activities. Student disruptions or behaviours that interfere with university functions on online platforms (e.g. use of Avenue 2 Learn, WebEx or Zoom for delivery), will be taken very seriously and will be investigated. Outcomes may include restriction or removal of the involved students’ access to these platforms.

ACADEMIC ACCOMMODATION OF STUDENTS WITH DISABILITIES

Students with disabilities who require academic accommodation must contact Student Accessibility Services (SAS) at 905-525-9140 ext. 28652 or mailto:sas@mcmaster.ca to make arrangements with a Program Coordinator. For further information, consult McMaster University’s Academic Accommodation of Students with Disabilities policy.

REQUESTS FOR RELIEF FOR MISSED ACADEMIC TERM WORK

McMaster Student Absence Form (MSAF): In the event of an absence for medical or other reasons, students should review and follow the Academic Regulation in the Undergraduate Calendar "Requests for Relief for Missed Academic Term Work".

ACADEMIC ACCOMMODATION FOR RELIGIOUS, INDIGENOUS OR SPIRITUAL OBSERVANCES (RISO)

Students requiring academic accommodation based on religious, indigenous or spiritual observances should follow the procedures set out in the RISO policy. Students should submit their request to their Faculty Office normally within 10 working days of the beginning of term in which they anticipate a need for accommodation or to the Registrar's Office prior to their examinations. Students should also contact their instructors as soon as possible to make alternative arrangements for classes, assignments, and tests.

COPYRIGHT AND RECORDING

Students are advised that lectures, demonstrations, performances, and any other course material provided by an instructor include copyright protected works. The Copyright Act and copyright law protect every original literary, dramatic, musical and artistic work, including lectures by University instructors. The recording of lectures, tutorials, or other methods of instruction may occur during a course. Recording may be done by either the instructor for the purpose of authorized distribution, or by a student for the purpose of personal study. Students should be aware that their voice and/or image may be recorded by others during the class. Please speak with the instructor if this is a concern for you.

EXTREME CIRCUMSTANCES

The University reserves the right to change the dates and deadlines for any or all courses in extreme circumstances (e.g., severe weather, labour disruptions, etc.). Changes will be communicated through regular McMaster communication channels, such as McMaster Daily News, A2L and/or McMaster email.
Last revised: Aug. 2024