Virtual Machines and Managed Runtimes

Course Syllabus and Policies


Instructor: Ben L. Titzer
Online discussion will be faciliated at: https://piazza.com/cmu/fall2022/cs17670

Learning Objectives

The learning goals represent what students should know or be able to do by the end of the semester. We evaluate whether learning goals have been achieved through assignments, in-class discussion, exams, and projects. After completing the course, students should be able to:

Assessments

Textbook

"Crafting Interpreters" by Robert Nystrom.

We will use this book for reference on many virtual machine topics, but there will be significant content presented in lectures that is not in this book. Exams and project work will be constructing assuming lecture contents, not book contents.

Time Management

This is a 12-unit course, and it is our intention to manage it so that you spend close to 12 hours a week on the course, on average. In general, 4 hours/week will be spent in class and 8 hours on assignments. Please feel free to give the course staff feedback on how much time the course is taking for you.

Late Work Policy

Normal life events, including projects in other courses, exams, or other difficulties beyond your control can interfere with your ability to complete your work on time. Our late work policy includes built-in flexibility. It will be uniformly applied to all students in all ordinary circumstances. Exceptions to this policy will be made only in extraordinary circumstances, almost always involving a family or medical emergency, with your academic advisor or the Dean of Student Affairs requesting the exception on your behalf.

Each student starts the semester with 5 free late days which will automatically be applied to your assignments. A late day is automatically applied when your work is late; you may not defer a free late day to be used on a later assignment. Work turned in more than five days late will receive feedback but no credit, i.e., a 100% penalty.

Time Management

This is a 12-unit course, and it is our intention to manage it so that you spend close to 12 hours a week on the course, on average. In general, 4 hours/week will be spent in class and 8 hours on assignments. Please feel free to give the course staff feedback on how much time the course is taking for you.

Collaboration Policy

Your work on assignments, projects, and exams will be your own work. You may not copy any part of a solution to a problem that was written by another student, or was developed together with another student, or was copied from another unauthorized source such as the Internet. You may not look at another student's solution, even if you have completed your own, nor may you knowingly give your solution to another student or leave your solution where another student can see it. Examples of behavior that are inappropriate:

If any of your work contains any statement that was not written by you, you must put it in quotes and cite the source. If you are paraphrasing an idea you read elsewhere, you must acknowledge the source. Using existing material without proper citation is plagiarism, a form of cheating. If there is any question about whether the material is permitted, you must get permission in advance. We will be using automated systems to detect software plagiarism.

It is not considered cheating to clarify vague points in the assignments, lectures, lecture notes, or to give help or receive help in using the computer systems, compilers, debuggers, profilers, or other facilities. If so directed by the instructor, you may review code in specific WebAssembly-related open-source projects.

Some assignments are specifically noted as group projects. For these, interpret "you" in the preceeding paragraphs to mean "you and your partner(s)."

Any violation of this policy is cheating. The minimum penalty for cheating (including plagiarism) will be a zero grade for the whole assignment. Cheating incidents will also be reported through University channels, with possible additional disciplinary action. For more information, see the University Policy on Academic Integrity. There is no statute of limitations for violations of the collaboration policy; penalties may be assessed (and referred to the university disciplinary board) after you have completed the course, and some requirements of the collaboration policy (such as restrictions on you posting your solutions) extend beyond your completion of the course.

If you have any question about how this policy applies in a particular situation, ask the instructor for clarification.

Electronics Policy

Electronic devices during lecture are allowed only for taking notes and reviewing lecture materials, which may include slides or source code. They are not to be used for non-classroom purposes such as talking, texting, browsing social media, etc.

Accommodations

If you have a disability and require accommodations, please contact Catherine Getchell, Director of Disability Resources, 412-268-6121, getchell@cmu.edu. If you have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate.