**Cornell CS 6117: Category Theory for Computer Scientists (Fall 2022)**
- 08/03: Welcome to CS 6117!
Category theory is an abstract theory of structures and transformations. While
originally motivated by pure mathematics, category theory has since found
applications across physics, philosophy, linguistics, logic, and more; the area
is under active development and continues to evolve.
The breadth of applications and high level of abstraction can make category
theory difficult to approach. This course aims to introduce and motivate
category theory by focusing on applications in computer science, and in
particular programming language semantics. After completing this course,
students should (a) understand how category theory can be used to give semantics
to different kinds of programming languages, (b) have enough familiarity with
basic concepts and methods in category theory to explore further applications on
their own, and (c) gain a broad (but by no means complete) perspective on
Although this course is offered in the computer science department, it is a
purely theoretical course. There will be no programming involved, and students
will be required to do proofs for all homework assignments.
- Lectures: Upson 152, Tuesdays and Thursdays 1:00 PM - 2:15 PM
- Questions: [Edstem](https://edstem.org/us/join/3EnPQX)
Instructor: Justin Hsu
Out: A02 Sep 06 | Algebraic Type Theory | | Sep 08 | Algebraic Type Theory | | Due: A02
Out: A03 Sep 13 | Functional Type Theory | | Sep 15 | Functional Type Theory | | Due: A03
Out: A04 Sep 20 | Functional Type Theory | | Sep 22 | Functional Type Theory | | Due: A04
Out: A05 Sep 27 | Functional Type Theory | | Sep 29 | Polymorphic Type Theory | | Due: A05
Out: A06 Oct 04 | Polymorphic Type Theory | | Oct 06 | Polymorphic Type Theory | | Due: A06
Out: A07 Oct 11 | **FALL BREAK: NO CLASS** | **NO CLASS** | **NO CLASS** Oct 13 | Linear Logic | | Due: A07
Out: A08 Oct 18 | Linear Logic | | Oct 20 | Linear Logic | | Due: A08
Out: A09 Oct 25 | Domain Equations | | Oct 27 | Domain Equations | | Due: A09
Out: A10 Nov 01 | Domain Equations | | Nov 03 | Presheaves and Bunched Logic | | Due: A10
Out: A11 Nov 08 | Presheaves and Bunched Logic | | Nov 10 | Presheaves and Bunched Logic | | Due: A11
Out: A12 Nov 15 | Monads | | Nov 17 | Monads | | Due: A12
Out: A13 Nov 22 | Algebraic Effects | | Nov 24 | **THANKSGIVING: NO CLASS** | **NO CLASS** | **NO CLASS** Nov 29 | Coalgebra | | Dec 01 | Coalgebra | | Due: A13 # Policies (##) Academic Integrity Cornell University has a Code of Academic Integrity (see [here](https://theuniversityfaculty.cornell.edu/dean/academic-integrity/)). Violations of this code are treated very seriously by Cornell and can have long-term repercussions. In this course, you are encouraged to discuss the content of the course with other students, and you may also discuss homework problems with other students. However: - You must do your own work and write up assignments individually, without shared notes of any kind. - If you discuss a problem with another student, you are expected to document this fact in your write-up. - Unless otherwise stated, you may freely use any of the resources above. However, searching for or copying solutions from other sources is not allowed. (##) Respect in Class Everyone—the instructor, TAs, and students—must be respectful of everyone else in this class. All communication, in class and online, will be held to a high standard for inclusiveness: it may never target individuals or groups for harassment, and it may not exclude specific groups. That includes everything from outright animosity to the subtle ways we phrase things and even our timing. For example: do not talk over other people; don't use male pronouns when you mean to refer to people of all genders; avoid explicit language that has a chance of seeming inappropriate to other people; and don't let strong emotions get in the way of calm, scientific communication. If any of the communication in this class doesn't meet these standards, please don't escalate it by responding in kind. Instead, contact the instructor as early as possible. If you don't feel comfortable discussing something directly with the instructor—for example, if the instructor is the problem—please contact the advising office or the department chair. (##) Special Needs and Wellness It is Cornell 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](http://sds.cornell.edu/) 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: - [Engineering Academic Advising](https://www.engineering.cornell.edu/resources/advising/) at 607-255-7414, - [Learning Strategies Center](http://lsc.cornell.edu/) at 607-255-6310, - [Let's Talk Drop-in Counseling](https://health.cornell.edu/services/counseling-psychiatry/lets-talk) at Gannett at 607-255-5155 - [Empathy Assistance and Referral Service](http://orgsync.rso.cornell.edu/org/ears) at 607-255-EARS.