删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

上海交通大学软件学院硕士课程内容介绍《程序语言理论》

上海交通大学 免费考研网/2012-12-28


《程序语言理论》

课程代码X037515学分/学时3.0/48开课时间
课程名称程序语言理论
开课学院软件学院
任课教师傅育熙
面向专业软件工程
预修课程可计算理论、编译原理
课程讨论时数0 (小时)课程实验数0 (小时)
课程内容简介

本课程是软件理论方面的核心课程,它对于程序语言的设计、实现和应用有着重要的指导作用。本课程将介绍程序语言的基本概念,包括语法、语义等,另外,我们还将介绍类型系统,理解和设计新的类型系统是程序语言领域很重要的内容。同时我们将穿插介绍各种程序语言,以及如何平价一个程序语言。最后,我们还会针对当前并发、并行的发展,提出并发、并行程序语言的设计与相关国际研究热点。

课程内容简介(英文)

The purpose of this course is to introduce the basic principles, methods, and results of programming languages to graduate students. We intend for students 1) to know the differences between different types of programming languages, including structural languages, functional languages, OO languages and so on; 2) to master the basic principles of programming languages, such as syntax, semantics and type system, which are rigorous for the design and implementation of programming languages; 3) to be introduced to some popular prominent subfields of programming languages, for example, the design of parallel and concurrent programming languages.

教学大纲

教学内容安排与学习大纲:1. 绪论:程序语言历史发展,以及一些预备知识,如可计算理论、编译等2. 基本概念和评判规则:语法树、推导规则、几种程序语言的简介、评价标准 3. Statics和Dynamics:语法、类型系统、transitions4. 类型系统:函数类型:函数、System T,PCF简介5. 有限数据类型:product和 sum类型,模式匹配,泛型编程限数据类型:Inductive和co-inductive、递归类型6. 动态类型:Lambda演算,动态类型,混合类型类型变量:Girard的System F,抽象类型,构造器与类别7. 子类型与子类别:子类型规则8. 类和方法:动态分配、继承9. 存储管理和惰性求值:Algol语言、惰性求值、Haskell语言10. 并行与并发:并行、进程演算、并发Algol、分布式Algol

课程进度计划

(无)

课程考核要求

最终成绩由平时作业(30%)和期末笔试成绩(70%)组合而成。若平时在课堂及作业当中有突出表现,考虑适当加分。

参 考 文 献
  • Robert Harper. Practical Foundations of Programming language, Draft, 2011. (CMU该课程的对应教材)T.W. Pratt and M.C. Zelkowitz. Programming languages: design and implementation. Prentice-Hall. 1984.J.C. Mitchell. Concepts in programming languages, Cambridge University Press. 2003.
相关话题/课程