2023年10月9日-10月13日,應beat365官方网站胡振江教授邀請,牛津大學教授Jeremy Gibbons和查爾姆斯理工大學教授John Hughes将在beat365線下講授兩門微型課程:Introduction to Functional Programming和Introduction to Property Based Testing。課程将在每天下午15:00-17:00進行,具體的授課地點請在報名後關注後續通知。
Jeremy Gibbons是牛津大學的教授,他将講授Introduction to Functional Programming。Jeremy Gibbons教授是牛津大學Algebra of Programming研究組的領導者,同時擔任牛津大學軟件工程專業碩士項目的主任。他多次擔任重要的學術職務,包括函數式編程領域頂級期刊Journal of Functional Programming的主編、頂級會議International Conference in Functional Programming的指導委員會主席等。在課程中,Jeremy Gibbons教授将介紹函數式編程的基礎(如高階函數、代數數據類型),并循序漸進地讨論進階内容(如Monads、Functors)。課程詳情請見文末。
John Hughes是查爾姆斯理工大學的教授,他将講授Introduction to Property Based Testing。John Hughes教授在函數式編程領域深耕四十餘年,是Haskell編程語言的主要設計者之一,擔任了Haskell 98委員會的聯合主席,并在2018年因在軟件工程和函數式編程領域的傑出貢獻當選ACM Fellow。他與Koen Claessen一起提出了Haskell社區最受歡迎的測試技術QuickCheck,在2006年創立了Quviq 公司并緻力于在Erlang編程語言上商業化該技術。在課程中,John Hughes教授将以圍繞QuickCheck介紹 Property Based Testing及其拓展。課程詳情請見文末。
報名方式
請在9月26日前點擊鍊接或掃描下方二維碼報名:https://www.wjx.top/vm/ehTxGhQ.aspx。
課程詳情
Introduction to Functional Programming
講者:Jeremy Gibbons
摘要:Functional programming can be characterized as “value-oriented programming”. In contrast to other programming styles, every piece of data is a simple value, not something more complicated like an “object”; and programs are simple functions. This might seem very restrictive; in fact, it turns out to be profoundly powerful, even fun. This series of lectures will be a very condensed introduction to FP, swiftly getting to some of the more advanced topics that will be relevant for John Hughes’s course. There will be five lectures, each with optional exercises.
大綱:
1. Functions, equations, recursion reasoning, higher-order.
2. Algebraic datatypes.
3. Types, polymorphism, type classes.
4. Infinite data, co-programming.
5. Monads and applicative functors.
Introduction to Property Based Testing
講者:John Hughes
摘要:Property-based testing (PBT) is a form of software testing in which random test cases are used to test code against specifications expressed as programs, which has been deployed in industry for everything from telecoms through distributed databases to automotive software. This course will introduce PBT mostly through the medium of QuickCheck in Haskell, the first PBT tool. The course will consist of five lectures with accompanying exercises.
大綱:
1. Motivational introduction to property-based testing, with stories from the battlefield—using Quviq QuickCheck for Erlang, introducing state machine models (briefly), but not enough detail to set exercises.
2. “How to specify it!”—introducing Haskell QuickCheck, and discussing five general ways to come up with properties of pure functions. This will use binary search trees, so one example of an algebraic datatype.
3. Generators—how to write them for Haskell QuickCheck using class Arbitrary, measuring statistics and labelling test cases to ensure a good distribution for testing.
4. State machine models in Haskell.
5. QuickSpec—formal specifications for free!