形式科学:逻辑学 - 计算逻辑 - Lambda演算课程大纲

课程简介

本课程将深入探索计算逻辑中的Lambda演算,旨在帮助学生理解函数式编程的基础理论和核心概念。我们将逐步构建对这个强大工具的理解,通过理论讲解、实践练习和小组讨论,提升逻辑思维和问题解决能力。

课程目标:

  1. 理解Lambda演算的基本原理和语法
  2. 掌握函数式编程的核心理念
  3. 能够设计和实现简单的Lambda表达式
  4. 通过实践项目,应用Lambda演算解决实际问题

周次 | 主题 | 学习目标 | 阅读/资源

--- | --- | --- | --- 1 | Lambda演算介绍 | 了解Lambda演算的概念和起源 | SICP 第1章 2 | 基本构造与类型 | 学习变量、常数和应用规则 | Types and Programming Languages 第2章 3 | 一阶逻辑和λ-terms | 探索一阶逻辑系统与λ-表达式的关系 | Lectures on Computability and Logic 4 | 函数抽象与组合 | 学习如何创建和组合函数 | 自定义讲义 5 | 递归和固定点 | 递归函数与固定点原理的运用 | Lambda-Calculus and Combinators 6 | 高级主题 | 编程范例、Currying和Church编码 | Programming in Lambda Calculus 7 | 项目实践 | 设计并实现一个小型Lambda程序 | 自定义项目指南 8 | 讨论与复习 | 回顾本周内容,小组讨论 | 课堂讨论与小组分享

评估方法

  • 作业:每周练习题,测试理论理解和应用能力(30%)
  • 小测验:定期进行概念性测试,检查知识掌握(20%)
  • 项目:设计并实现一个Lambda演算程序,展示对课程内容的理解(30%)
  • 课堂参与:讨论和活动表现,体现批判性思考和团队协作(20%)

注意事项:课程可能根据学生反馈和进度进行调整。鼓励主动学习和提问,以深化理解。