Category Theory for Computer Scientists (Fall 2022)
Cornell CS 6117: Category Theory for Computer Scientists (Fall 2022)
Cornell CS 6117: Category Theory for Computer Scientists (Fall 2022)
Syllabus · Resources · Schedule · Policies
Announcements
09/29: Homeworks will now be every other week, rather than every week. 08/24: ROOM CHANGE: We are moving to Phillips 407. 08/22: Office hours, readings for first half 08/03: Welcome to CS 6117!Syllabus
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.
Course Information
This is 3-credit, graduate-level course. Undergraduates are welcome to enroll with permission of the instructor. The main pre-requisite for this course is CS 6110 or CS 4110.
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.
Course Objectives
After completing this course, students should be able to (a) give categorical semantics to different kinds of programming languages and programming language features, (b) carry out basic proofs in category theory, (c) learn and explore further applications of category theory on their own, building on their familiarity with basic concepts and methods in category theory, and (d) explain the basic concepts of a wide variety of denotational semantics.
Logistics
Lectures: PHILLIPS 407 Upson 152, Tuesdays and Thursdays 1:00 PM - 2:15 PM Questions: EdstemStaff
Instructor: Justin Hsu
Web: https://www.justinhsu.net Email: justin@cs.cornell.edu Office hours: Wednesday 11-12 in Gates 446TA: Keri D'Angelo
Email: kd349@cornell.edu Office hours: Friday 11-12 in Gates 323TA: Pedro H. Azevedo de Amorim
Web: https://www.cs.cornell.edu/~pamorim Email: pamorim@cs.cornell.edu Office hours: Monday 4-5 in Gates 456Assessment
Course grades will be based entirely on homework assignments. There are no exams.
Assignments
There will be one assignment on most weeks every other week. Submissions must be typeset in LaTeX (you can use quiver for commutative diagrams).
Assignments are due Thursdays anytime before class (1 PM). Late assignments are not accepted. Your lowest two assignments will not be counted. Assignments will be posted and submitted on CMS.Gold-Star Grading
We will be using the simplified grading scheme from CS 6110. Our goal is to focus on giving you useful feedback, not on precisely scoring every granular facet of a homework problem. There are three possible outcomes:
Gold star: If you do everything reasonably well, whether you have lots of mistakes or are more or less perfect, you will receive a gold star. Congratulations! Sparkly star: If you do something surprisingly awesome, you will receive a sparkly star. (This is uncommon.) No star: If your work has major gaps or significant misunderstanding, you may receive no stars. (This is also uncommon.)As a rough guide, earning gold stars on every counted assignment will achieve an A in your course grade. If you are taking this course S/U, earning a gold star on at least six (6) assignments will achieve an S.
Resources
For the first half of the course, we will follow Categories for Types (CfT) by Roy Crole. Cornell students should have access to the electronic version available here. For the second half of the course, we will follow selected research papers—see the schedule below.
While CfT is self contained, the introduction of category theory material is terse. There are many good presentations and resources focused on just category theory. We suggest:
Basic Category Theory (BCT) by Tom Leinster. A good introduction to the basics. Electronic version. Category Theory (CT) by Steve Awodey. Another good textbook. Electronic version. Category Theory in Context (CTiC) by Emily Riehl. More comprehensive, with many examples from mathematics. Electronic version. nLab. A curated wiki for category theory and related topics. Extremely useful as a reference, but (a) it can be a bit hard to navigate/discover pages, and (b) articles use a terse and abstract style that takes some getting used to. nlab.CfT (and our course) illustrate category theory through applications to programming language semantics. We will assume a working knowledge of the basics (e.g., as covered in CS 6110), and we will introduce more as we go. Here are some good references for PL semantics:
Categorical Logic and Type Theory (CLaTT) by Bart Jacobs. In the same vein as CfT, but goes much deeper and covers many more advanced topics. A bible, most useful as a reference. Practical Foundations for Programming Languages by Robert Harper. Draft version. Types and Programming Languages by Benjamin C. Pierce. Website. PLS Lab. Wiki on Programming, Logic and Semantics, with a focus on concise definitions, examples, and references. pls-lab. Stanford Encyclopedia of Philosophy. High-quality, peer-reviewed articles. Most useful for articles on logic, but also some overlap with PL. sep.Schedule
All dates and topics are tentative and subject to change.
Date Topic Readings Assignments Aug 23 CT: Basics CfT 2.1-3 Aug 25 CT: Basics CfT 2.4-6 Out: A01 Aug 30 Algebraic Type TheorySyntax, Types, Equations CfT 3.1-3 Sep 01 Algebraic Type Theory
Categorical Semantics and Soundness CfT 3.4-6 Due: A01
Out: A02 Sep 06 Algebraic Type Theory
Categories of Models CfT 3.7 Sep 08 Algebraic Type Theory
Classifying Category CfT 3.7-8 Due: A02
Out: A03 Sep 13 Algebraic Type Theory
Classifying Category CfT 3.8-9 Sep 15 CT: Representable Functors BCT 4, CT 8.3-4 Due: A03
Out: A04 Sep 20 CT: Cartesian Closed Categories
Functional Type Theory: Syntax CfT 2.8, 4.1-3, CT 6 Sep 22 Functional Type Theory
Categorical Semantics and Soundness CfT 4.4-6 Due: A04
Out: A05 Sep 27 Functional Type Theory
Classifying Category CfT 4.7-9 Sep 29 Functional Type Theory
Categorical Gluing CfT 4.10 Due: A05 Oct 04 Functional Type Theory
Proving Conservativity CfT 4.10 Oct 06 CT: Adjoint Functors BCT 2, CT 9.1-5 Out: A06 Oct 11 FALL BREAK: NO CLASS NO CLASS NO CLASS Oct 13 Polymorphic Type Theory
Syntax, Types, Equations CfT 5.1-2, PFPL 16 Oct 18 Polymorphic Type Theory
Categorical Semantics:
Types and terms in type context CfT 5.3-4 Oct 20 Polymorphic Type Theory
Categorical Semantics:
Type and term substitutions CfT 5.3-5.4 Due: A06
Out: A07 Oct 25 Polymorphic Type Theory
Categorical Semantics:
Polymorphic types and terms CfT 5.3-5.4 Oct 27 CT: Limits and Colimits BCT 5, CT 5.4-6 Nov 01 CT: Algebras and Coalgebras
Inductive Types [Métayer] Nov 03 Initial Algebras
Fixed-Points of Functors [Métayer] Due: A07
Out: A08 Nov 08 Continuous Functors
Domain Equations [Métayer]
[SP] and [AMM] Nov 10 CT: Monoidal Categories
Linear Logic: Multiplicatives [Benton] Nov 15 CT: Comonads
Linear Logic: Exponentials CT 10.4
[Benton] Nov 17 Linear logic: LNL models
CT: Monads, Effects, Kleisli Triples [Benton]
[Moggi] Due: A08
Out: A09 Nov 22 CT: More Monads, Kleisli Category
Monadic Metalanguage CT 10.1-2
[Moggi] Nov 24 THANKSGIVING: NO CLASS NO CLASS NO CLASS Nov 29 CT: Monads and Algebras
Algebraic Effects CT 10.3
[Bauer] Dec 01 Algebraic Effects [Bauer] Due: A09
Readings:
[ Métayer] Fran?ois Métayer. Fixed points of functors. 2003. [pdf]
[ SP] Michael B. Smyth and Gordon D. Plotkin. The Category-Theoretic Solution of Recursive Domain Equations. 1982. [pdf]
[ AMM] Ji?í Adámek, Stefan Milius, Lawrence S. Moss. Fixed Points of Functors. 2016. [pdf]
[ Benton] P. N. Benton. A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract). 1995. [pdf]
[ Moggi] Eugenio Moggi. Notions of Computation and Monads. 1991. [pdf]
[ Bauer] Andrej Bauer. What Is Algebraic about Algebraic Effects and Handlers? 2019. [pdf]
Policies
Academic Integrity
Cornell University has a Code of Academic Integrity (see here). 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 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 at 607-255-7414, Learning Strategies Center at 607-255-6310, Let's Talk Drop-in Counseling at Gannett at 607-255-5155 Empathy Assistance and Referral Service at 607-255-EARS.相關(guān)知識(shí)
lenzetech
The Race For The World’s First Bionic Eye
Meaningful engagement: A crossfunctional framework for digital therapeutics
Effects of education model based on health consciousness theory on the health behaviors ability in discharged patients with acute pancreatitis
Research progress in health management theory and its application in chronic disease management
Fall how health
Health in space 太空旅行對(duì)健康的影響
Build a Solid Foundation for Good Health: Basic Fitness Theory Workshop
打好健康基石:基礎(chǔ)健身理論工作坊
Good sleep habits for infants and children
OpenReview
網(wǎng)址: Category Theory for Computer Scientists (Fall 2022) http://m.u1s5d6.cn/newsview1628546.html
推薦資訊
- 1發(fā)朋友圈對(duì)老公徹底失望的心情 12775
- 2BMI體重指數(shù)計(jì)算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢(shì)有哪些 盤點(diǎn)夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計(jì)算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828
- 上海嘉定汽車博覽公園:一處讓人心動(dòng)的旅游
- 東營(yíng):私家車?yán)锟措娪?汽車影院成為夜幕休
- 肥城健康主題公園:休閑與健康理念的完美結(jié)
- 長(zhǎng)春國(guó)際汽車公園:融合自然與文化的休閑樂(lè)
- 汽車運(yùn)動(dòng)休閑公園項(xiàng)目可行性.pptx
- 喜之郎果凍蒟蒻果凍爽75g香橙味休閑零食
- 居家也能打造女神發(fā)型:從基礎(chǔ)到實(shí)戰(zhàn)技巧分
- 快速居家減肥秘訣:韓國(guó)夫婦獨(dú)門1分鐘減肥
- 居家排毒減吃什么效果好?吃橙子可以快速減
- 雜糧飯 + 菌菇餐減肥食譜!賽樂(lè)賽居家無(wú)