CS 4110 (Fall 2014)

Programming Languages and Logics
MWF 9:05-9:55
Gates G01


An introduction to the theory, design, and implementation of programming languages.

Course Overview

Part I: Basics

Part II: Analysis

Part III: Advanced Features


We will use Piazza, a web-based forum, for communication with classmates and the course staff and online discussion. You can sign up at http://www.piazza.com/cornell/fall2014/cs4110. You are responsible for familiarizing yourself with all announcements made on Piazza.

The course staff frequently monitor the forum and will respond to questions in a timely manner. This is the most efficient method of getting help and has the added advantage that others can benefit from your question.

If you know the answer to a question, feel free to post a reply yourself, but avoid posting any part of a solution. This will be considered a violation of Academic Integrity. As a rough guideline, general clarifications are usually okay but specific hints are not. Also, it is usually not a good idea to post code, although non-solution-specific code fragments may be acceptable if you need them to illustrate a point. If you are unsure, please err on the side of caution.


We will disseminate homeworks and grades using the course management system CMS. Everyone who preregistered for the course is already entered on CMS, but if you did not preregister, you are probably missing. Please login to http://cms.csuglab.cornell.edu and check whether you exist. There will be a list of courses you are registered for, and CS 4110 should be one of them. If not, please send your full name and Cornell netID to a member of course staff so you can be registered.

You can check your grades and submit homework in CMS. The site includes a help page with instructions.


Evaluation will consist of ten homework assignments, two preliminary exams, and a final exam. The breakdown for the overall course grade is as follows:

Problem Sets

The course will have ten problem sets. Exercises will be a mix of theory and practice with coding exercises completed in the OCaml language.

Problem sets may be completed with one partner. Groups will submit one solution to the problem set and both partners will receive the same grade.

Late Policy

Late assignments will not be accepted. However, each student has two "slip days" that may be used without penalty, and the lowest scoring assignment will be discarded at the end of the semester.


The course will have two preliminary exams and a final exam. The exams will be cumulative, but will focus on material from recent lectures. Makeup exams must be scheduled within the first two weeks of class. Check now to see if you have a conflict with another class and contact the instructor immediately to reschedule.

Academic Integrity

Absolute integrity is expected of all Cornell students in every academic undertaking. The course staff will prosecute violations aggressively using automatic detection tools.

You are responsible for understanding every word of these policies:

The protocol for prosecution of violations is described here: Explanation of AI Proceedings.

Under no circumstances may you hand in work done with or by someone else under your own name or share code with anyone else except your designated partner. (You would be amazed at how easy it is to tell when code has been shared.) You may discuss general questions regarding the OCaml language or the requirements of the assignment with others, but it must never go down to the level of program design or coding.

All exams are closed book. You may not give nor receive assistance from anyone else during an exam.

You may not give away any hints or post any code that might be part of a solution on Piazza.

If you are unsure about what is permissible and what is not, please ask!

Special Needs and Wellness

It is university policy to provide reasonable accommodations to students who have a documented disability (e.g., physical, learning, psychiatric, vision, hearing, or systemic) that may affect their ability to participate in course activities or to meet course requirements. Students with disabilities are encouraged to contact Student Disability Services at 607-254-4545, or the instructor for a confidential discussion of their individual needs.

If you are experiencing undue personal or academic stress at any time during the semester or need to talk to someone who can help, contact the instructor or:

Validate XHTML Validate CSS
Last updated December 2014