“程序设计语言原理”课程研究课题
参加本课程学习的每个同学都需要选择一个小课题,做一点自学和研究,完成一篇学习报告。可以由下面建议题目中选择,也可以自选题目。课题研究及其报告是本课程学习的一项重要工作,是最终成绩评定的一个主要部分。
重要日期(工作截止日期):
  • 最终确定题目:5月6日(请给我发一个email)
  • 提交研究报告的截止期:6月17日
  • 最后一次课组织一次报告会,每人就自己的工作做15分钟报告
如果在下面题目中选择,你可以现在就开始工作。

研究课题也允许自己选择。自选题目应符合本课程宗旨,并与老师的讨论取得同意。自选题请写一个简短的研究建议,说明为什么该题目有研究价值,而且与本课程有关,通过email发给我。有理由的题目都能得到确认。

对任何题目的研究报告都应该包括下面内容:
  1. 为什么:有关语言特征的设计目的,企图解决什么问题;
  2. 情况:有关语言或语言机制的基本情况介绍;
  3. 细节和分析:基于本课程的学习和其他相关知识,进行的深入分析和评价;
  4. 思考和批判:分析中发现的问题和你自己的思考与评价;
  5. 参考文献:研究中阅读的参考文献表;
  6. 其他:你认为重要的任何东西。
学习报告应该有事实、道理、说明问题的实例、分析和评价。要用专业术语,避免含糊的词汇。报告占课程成绩的50%,根据内容和上述要求评判。
可选课题列表
  1. XX 和 C++ 的面向对象模型研究【请在 Roby 和 Python 中选一种语言,将其面向对象模型与 C++ 的模型比较。请关注语言的继承机制。请讨论动态类型的面向对象语言的优势和劣势。】
  2. JavaScript 的面向对象模型【研究 JavaScript 的基于对象的模型,并将它与某种更常见的基于类的 OO 语言(如 Java 或 C++)的模型对比。】
  3. Java 或者 C# 的并行机制、功能和问题【基本并行功能,以及最新的 Java 中的并行支持库。】
  4. XX 语言的自反机制研究。【在 Java、C#、Python 或 Ruby 中选一种语言,研究其自反机制。这种机制是为使程序可以在运行时检查自己的情况并可能进行推理。有关的机制完全吗(是不是任何东西都可以检查)?自反机制有什么用处?这样正确使用这种机制?它可能带来什么危险?】
  5. Java 语言的泛型机制研究 【也可以考虑 C++、C#。深入研究其泛型功能。】
  6. XX 与 YY 语言泛型机制的比较研究 【可以考虑 C++、Java、C#,强调两者的比较研究】
  7. XX 语言的安全性:设计和问题 【研究 JavaScript 和/或 Java 的安全性机制。这里允许程序做哪些事情以及为什么? 未提供什么有用的特征是由于难以做成安全的?目前语言里还遗留有哪些安全漏洞?】
  8. Java 字节码和C# 使用的通用中间语言(CIL)【从设计、功能等方面考察它们的情况,做些对比】
  9. C++/Java/C# 的 lambda 表达式机制及其与 Scheme 中 lambda 表达式的比较(从三个语言里选两个)。
  10. Java 或者 C# 虚拟机分析与研究
  11. 找一种近几年开发的语言,如X10,分析其特长和用途。为什么有价值?
本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。