15-814: Types and Programming Languages (F24)

Policies

Assignments and Grading

Your grade will be determined by

We’re planning to distribute the 600 pts for the assignments relatively evenly so that each assignment has roughly 75 pts.

Assignments

Assignments will be made here on Canvas, and solutions are to be submitted via Gradescope.

Assignments contain an programming and theory parts. For programming assignments we ask that you submit your code and inline comments in each file detailing anything you think we need to know to understand your submission. The written assignments are to be typeset in LaTeX and submitted in PDF format. We also accept scans of legible handwritten solutions. Please use the provided assignment handout source as a reference to typeset your solutions.

Assignments generally are given out on Tuesday and are due the following Tuesday, but the schedule may vary. Unless otherwise noted, assignments are individual assignments. They must represent your own work. However, you can work on a solution together as long as you follow the whiteboard policy as described in the academic integrity section.

You may consult any public resources such as papers, reports, or lecture notes, but you must explicitly credit such external resources in your answers. You are not permitted to draw upon assignments or solutions from previous instances of this course or other courses in preparing your work.

Emphasis is on correctness and elegance. Some assignments may be difficult. If you cannot do them, write down your thoughts, but avoid handing in an incorrect “proof”.

Late Policy

All assignments have due dates indicated on the schedule overview and on the handout. In general, submitting assignments on time lets the course staff provide feedback in a more timely and efficient manner. Assignments build on each other, so timely submissions are crucial to your progress in the class. However, if you are not able to meet the submission deadline then notify the instructor in advance to make alternative arrangements.

Midterm Exam

The midterm exam will take place in lecture (80 min) on October 10.

The midterm exam will be open book. That means that you can use the following materials.

All other materials are not permitted. If you are unsure whether something is permitted ask the course staff before the exam.

You can use laptops or tablets during the exam. However, you are not allowed to use any form of communication. In particular, you cannot use the internet. So all communication capabilities of your devices (wifi, cellular, bluetooth, …) have to be turned off at all times during the exam.

Mini Project

Thefinal assignment of the course will be a mini project. The project will be due in the last week of the semester and consist of a written description of the project and an implementation. You will have two or three different options for projects that you can choose from. We will provide more details later in the semester.

Academic Integrity

As a condition for taking this course, you are responsible for compliance with the University Policy on Academic Integrity and Plagiarism.

In this course, you are authorized to use the books and notes linked from this web site, as well as any other sources specifically allowed by the course staff. Any other source, including assignment solutions from past semesters, is unauthorized.

Whiteboard Policy

You are allowed to discuss homework assignments with other students. However, in order to ensure that the work you submit is still your own, we insist that you adhere to a whiteboard policy regarding these discussions: you are not allowed to take any notes, files, or other records away from the discussion. For example, you may work on the homework at the whiteboard with another student, but then you must erase the whiteboard, wait at least two hours, and write up your solution individually. We take your ability to recreate the solution independently as proof that you understand the work that you submit.

This policy is our attempt to balance the tension between the benefits of group work and the benefits of individual work. We ask that you obey the spirit of the policy, as well as the letter: ensure that all work you submit is your own and that you fully understand the solution.

Generative AI

All work (code, proofs, etc.) you submit for this course has to be completed by yourself, without any use of generative artificial intelligence (AI) such as ChatGPT. The use of generative AI tools is not allowed at any stage of the work process, including brainstorming or drafting an answer. The reason for this policy is to best support your learning. Passing off any AI generated content as your own constitutes a violation of CMU’s academic integrity policy. If you have any questions about using generative AI in this course please email or talk to the instructor.

Getting Help

Piazza is the best place to look for answers to your questions, and to post questions of your own. You can post questions to the instructors only, if you wish, but you may also post a question publicly so that everyone can see it, and see the answers that are posted.

The second place to look for help is to visit your teaching assistant or the professor during office hours. The course staff is available during these times to help you with homework and answer any questions you may have about the course material.

If all else fails, then you may make a private appointment with either the TA or the instructor by sending email and suggesting times to meet.

Diversity and Code of Conduct

To ensure that this course constitutes a welcoming environment for everyone, we will adhere to Carnegie Mellon’s Code of Conduct.

It is the instructor’s intent that students from all diverse backgrounds and perspectives be well served by this course and that the diversity that students bring to this class be viewed as a resource, strength, and benefit. Each of us is responsible for creating a safe and welcoming environment that is respectful of diversity, including gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture.

Your suggestions are encouraged and appreciated. Please contact the instructor with suggestions for improving the effectiveness of the course for you personally or for other students or student groups. In addition, please contact the instructor if any of our class meetings conflict with your religious events, so that we can make arrangements for you.

For more information on resources available to you as a student at CMU and in the CS Department, see https://www.cmu.edu/diversity and https://csd.cmu.edu/dei.

If you have any questions or concerns about these matters, please do not hesitate to reach out to the course instructor, TAs, or any of the CS department or university’s contacts listed in the links provided above.

Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, please discuss your accommodations and needs with the instructor as early as possible to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to contact them at access@andrew.cmu.edu.

Your Well-Being

Don’t forget that this is only a course. The goal is to facilitate your learning. You can contact the instructor or your academic adviser with any concerns or issues.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website. Consider reaching out to a friend, faculty, or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night: