形式科学 - 计算机科学 - 编程语言 - 函数式编程课程大纲

课程简介

周1-2: 课程介绍与预备知识 - 主题: 函数式编程基础 - 学习目标: 理解函数式编程的概念,熟悉Haskell等纯函数式语言 - 阅读/资源: 《Introduction to Functional Programming with Haskell》 - 教学方法: 讲座、视频教程

周3-4: 编程语言特性 - 主题: 纯函数、不可变数据与高阶函数 - 学习目标: 实践使用高阶函数和纯函数编写代码 - 活动: 编写简单的函数式程序 - 评估: 作业:实现基本函数式编程概念

周5-6: 委托与递归 - 主题: 函数委托与递归 - 学习目标: 理解递归在函数式编程中的应用 - 阅读/资源: 《Recursion Schemes》 - 活动: 递归函数设计练习

周7-8: 函数式编程范式 - 主题: λ演算、元组化和模式匹配 - 学习目标: 掌握函数式编程的关键范式 - 阅读/资源: 《Lambda-Calculus and Combinators, An Introduction》 - 活动: 设计λ表达式和模式匹配程序

周9-10: 高级概念 - 主题: 惰性求值、并发与并行 - 学习目标: 理解惰性求值和并发在函数式编程中的作用 - 阅读/资源: 《Concurrent and Parallel Programming in Haskell》 - 活动: 并行计算实践

周11-12: 实战项目 - 主题: 构建函数式Web应用 - 学习目标: 应用所学知识开发小型功能性的Web应用 - 资源: Haskell Web框架:Yesod - 活动: 小组项目开发与演示

周13-14: 课程总结与复习 - 主题: 回顾与未来展望 - 学习目标: 总结课程内容,准备期末考试 - 评估: 期末项目报告与小测验

在整个课程中,我们将通过讲座讲解理论,小组讨论深化理解,以及编程实践活动来巩固知识。评估将涵盖理论和实践两方面,以确保学生全面掌握函数式编程。