程序设计语言海外名家微型课程:Functional Programming with Abstract Algebra

2024年7月15日-7月19日,应北京大学计算机学院胡振江教授和王迪博士的邀请,比利时鲁汶大学教授Tom Schrijvers将在北京大学线下讲授微型课程:Fun with Monoids and Friends: Functional Programming with Abstract Algebra。课程将在每天下午15:00-17:00进行,授课地点在理科1号楼1126室。同时,课程也将以CCF形式化方法专委公开课的形式线上免费开放给全国的学生,具体参与方式请在报名后关注后续通知。


Tom Schrijvers教授于2001年在比利时获鲁汶大学得硕士学位,于2005年获得博士学位。这期间,作为比利时弗兰德研究基金会(FWO)的科研助理,他专注于逻辑编程领域,围绕Analyses, optimizations and extensions of Constraint Handling Rules开展了相关研究。从2006年到2010年,他在鲁汶大学继续博士后工作,将研究领域扩展到函数式编程和程序设计语言理论。从2010年到2014年,他在根特大学领导了程序设计语言研究团队。从2014年10月至今,Tom Schrijvers教授回到鲁汶大学,并在计算机系担任教授。近年来,他的团队还逐步开展了编程教育方面的研究。


报名方式

请在7月8日前点击链接或扫描下方二维码报名:https://www.wjx.top/vm/YRx6SYG.aspx

课程详情

课程名:

Fun with Monoids and Friends: Functional Programming with Abstract Algebra


讲者:

Tom Schrijvers


摘要:

Abstract algebra provides powerful design patterns for structuring algorithms and data structures. In particular, once you start looking for the humble monoid structure in programs, you will start seeing it everywhere in one of its many forms. In this course, we cover basic concepts and constructs from abstract algebra with some of their theoretical properties and practical applications in a programming context. We use the functional programming language Haskell in our explanations and illustrations as it is an excellent fit for programming with algebra.


大纲:

1.  Basic Algebraic Structures, Monoid Constructions.

2.  Automatic Differentiation.

3.  Probabilistic Logic Programming, Graded Monoids and Categories.

4.  Category Theory Refresher, Monads as Generalised Monoids.

5.  Algebraic Effects.


预备知识:

Students who have no or very limited knowledge of Haskell or functional programming, might want to catch up on that first. One possible way is via the book “Soar with Haskell” (https://www.packtpub.com/product/soar-with-haskell/9781805128458) written by Tom Schrijvers, especially the first 8 chapters (algebraic datatypes, higher-order functions, type classes, etc.).


上一条:第十三届北京大学程序设计语言讨论班
下一条:第十二届北京大学程序设计语言讨论班