cs-4400-sp26

Syllabus

Logistics

Course Description

Our goal in this course is to study programming languages (PL) from first principles: the basic elements that they are made of, the design choices available for each of these elements, and the mathematical properties and human affordances determined by these choices. To do this, we will study mathematical representations of languages meant to illustrate the essence of “big ideas”, such as higher-order functions, abstraction, recursion, imperative programming, and concurrency.

We will use methodologies of formal definition and proof considered the standard in the PL research community, such as definition by inference rules, type systems, operational and denotational semantics. These are mathematical formalisms that can describe a language as a set of rules for how programs may put together syntactically and what they mean semantically., a distinction that PL shares in common with the study of natural language linguistics.

At the end of this course, you should be able to:

Modules

This course will cover the following topics in roughly the order given.

Graded work

Grades for the course will be calculated as follows.

Late work policy

Assignments and concept checks will be due at 11:59PM, and late work will be penalized according to the following scale:

This timeline is in place to ensure timely return of grades and facilitate our ability to discuss the solutions in class.

If you require special accommodations or a grading extension in case of an emergency, please post a private Piazza question for the the instructors in advance of the deadline.

Late work for exams will not be accepted.

Regrade requests

Instructors make mistakes, so you should check over your graded work when we return it to you, and let us know if you think there’s an error.

Please make all regrade requests through Gradescope within one week of receiving your grade. Regrade requests pasts the one-week window will not be addressed without special permission, which you must request and receive in writing.

Academic honesty

The work you submit for this class is expected to represent your individual skills and knowledge, helping both us and you understand where you are relative to the learning objectives. If someone else did the work, and you claim credit for it, you are undermining not only the people who did that work, but also your peers, Northeastern University’s credibility, and your own ability to learn.

Cheating and other acts of academic dishonesty will be referred to Khoury College. There are very serious penalties here, so please do not take any chances by copying any material from the internet or from other past or present students of this course or related courses. When in doubt, ask the instructor or consult the Northeastern academic honesty page here.

In particular, when completing the programming assignments, you are expected to fully understand and be able to explain verbally every line of code, comment, and written response that you submit. We may periodically/stochastically request these verbal explanations in class.

The easiest way to be able to do this is to complete the work yourself without outside sources. If you do refer to outside sources, including code on the internet or generated from tools like ChatGPT or Claude, you must provide the URL, author(s), specific prompts/transcripts of AI tool interactions, and any other details necessary to reproduce the use of these outside sources. However, we strongly encourage not relying on these tools in the first place, as you will likely struggle in other aspects of the course.

You may discuss assignments with classmates and instructors while you are working on them, and you may facilitate these discussions with whiteboards/blackboards (not screens). However, you may not come away from those discussions with notes or submit any code/responses written by your classmates. You must also document the names of all instructors and classmates with whom you discussed the assignment.

Recordings and remote attendance

By default, the class meetings will be in person, and we make no guarantee about any lecture material being recorded (in video, written note form, or otherwise). You are expected to take your own notes in class and attend lecture. If you miss a lecture, you do not need to inform the instructor, but you are responsible for catching up with what you missed e.g. by asking a classmate for their notes. (If the class supports video recording, we may be able to provide this, but again, we do not make this guarantee.)

If you know in advance that you must miss a lecture but can attend remotely, let the instructor know. We make no guarantees about supporting remote attendance, but we will do our best if the situation warrants it (e.g., you are sick.) Please do not come to class in person if you are sick; we will accommodate you.

Title IX

Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.

Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff.

If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services staff (https://www.northeastern.edu/uhcs/) and the Center for Spiritual Dialogue and Service clergy members (https://www.northeastern.edu/spirituallife/). By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.

Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Gender Equity and Compliance at: mailto:titleix@northeastern.edu and/or through NUPD (Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.

Faculty members are considered “responsible employees” at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.

In case of an emergency, please call 911.

Please visit https://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus.

Disability accommodation

Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Access Services at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.

home