Info
Time: | Tuesday and Thursday, 1:30pm-2:50pm |
Room: | GHC 4303 |
Instructor: | Jan Hoffmann |
Office Hours: | Tuesday 3:00pm - 4:00pm at GHC9105 |
Discussion Board: | Diderot |
Assignments: | Gradescope |
Prerequisites
There are no official prerequisites. However, you should be familiar with the foundations of programming languages as covered by courses such as 15-312 or 15-814.
Homework and Grading
Grading is based on biweekly homework assignments and a final project. Both letter grades and pass/fail grades are possible.
Assignments are usually due on Fridays and have to be submitted on Gradescope.
For letter grades, homework assignments count 70 percent and the final project counts 30 percent. For the homework assignments, you have 4 late days that you can use during the semester. When you are out of your late day allowance, each late day will reduce the points of the submitted solution by 25 percent. Submissions of homework solutions that are more than 2 days late will not accepted.
CS PhD students are assigned a pass/fail grade in the University grading system, but are given an internal letter grade for Black Friday purposes. A final letter grade of B is required to pass this course. To achieve this, you must have (1) completed all homework assignments on-time with a grade of B; and (2) earned a grade of B or better on the course project. During the semester, two homework assignments can be resubmitted if your grade is below B. Each homework can be resubmitted only once.
The same rules apply for other students who elect to receive a pass/fail grade.
Academic Integrity
Unless explicitly instructed otherwise, all homework and exam work is to be solely your own, and may not be shared with or borrowed from any other person in the course. You are not permitted to draw upon assignments or solutions from previous instances of the course, nor to use course materials (such as assignments or programs) obtained from any web site or other external source in preparing your work.
You may discuss homework assignments with other students in the class, but you must adhere to the whiteboard policy. At the end of discussion the whiteboard must be erased, and you must not transcribe or take with you anything that has been written on the board during your discussion. You must be able to reproduce the results solely on your own after any such discussion.
See also Academic Integrity at Carnegie Mellon.
Text
There will be no text, but course notes and papers will be distributed. We will use the programming language [Resource Aware ML](http://raml.co (RAML) and the static analysis tool Absynth.
References
-
Robert Harper. Practical Foundations for Programming Languages (Second Edition). Cambridge University Press. 2015. Website
-
Benjamin Pierce. Types and Programming Languages. MIT Press. 2005. Website
-
Benjamin Pierce (Editor). Advanced Topics in Types and Programming Languages. MIT Press. 2004. Website
-
Jan Hoffmann. Types with Potential: Polynomial Resource Bounds via Automatic Amortized Analysis. PhD Disseration, LMU Munich. 2011. PDF
Well-Being
Don’t forget that this is just a course. You can contact the instructor or your undergrad adviser with any concerns or issues.
Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.
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 at http://www.cmu.edu/counseling/. 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:
CaPS: 412-268-2922
Re:solve Crisis Network: 888-796-8226
If the situation is life threatening, call the police:
On campus: CMU Police: 412-268-2323
Off campus: 911