诺曼拉姆齐

[愚蠢的自拍] 发送电子邮件至nr@cs.tufts.edu.
发送实物文件给我的邮政地址.
如果你自己来,你会想要的方向.
电话:+1 617 627 4923。
传真+1 617 627 2227(但如果可以,请扫描并发送电子邮件)
我的维塔公钥(现在有照片了!)在线。

I型 75字每分钟.我们是打字员吗第一,所以测试一下你自己.
     
在本页:

我是谁,我做什么

我研究编程语言,并在塔夫茨大学在过去的五、六年里,我吃了很多馅饼!

程序设计语言基础设施

在使编程语言基础设施可重用的所有问题中,最具挑战性的是:如果给我们一台新机器,并被告知它的指令做什么,我们如何为它生成代码?与我的学生和博士后João Dias合作,我开发了自动生成指令选择器-代码生成器的核心声明性机器描述(2010年POPL). 我们还出版了指令选择器所基于的抽象(POPL 2011).

关于基础设施的想法在部署时最有说服力。2014年,我们小组关于代码生成的想法部署在新代码生成器对于格拉斯哥Haskell编译器(GHC)。部署需要João Dias、Microsoft Research的Simon Marlow、Microsoft Research的Simon Peyton Jones和我几年的努力。新代码生成器最有趣的组件是可重用的高阶优化库,Hoopl(Haskell 2010),它使用广义代数数据类型来保证在编译器编译时,无论给定什么Haskell程序,GHC都不会构建格式错误的控制流图。

语言与学习

想要学习有效地使用编程语言的人可以尝试从一种工业语言开始,但是典型的工业语言和库的巨大规模使人们很难发现和应用使这种语言值得学习的思想。人们也可以查阅书籍,但现有的书籍主要是谈论关于编程语言,或者他们谈论编程语言是如何实现的,或者他们引导人们使用工业语言。使人们能够了解编程语言的好主意,但是构建软件那个应用这些想法有效地,我为语言学习者设计并实现了一个小型编程语言的集合。使用我的语言,学习者可以构建应用编程语言中一些最伟大思想的程序:函数、类型和对象。语言构成了一本新书的骨架,编程语言:构建、证明和比较将由剑桥大学出版社出版。

在实现我为这本书创建的语言时,我发现了一个有趣的问题:简单的,定义的解释器,我们编写的目的是精确地说明一种语言的含义,以及工业级的解释器和编译器,我们编写这些解释器是为了高效地运行程序。为了缩小这个差距,我研究了工程定义解释在不增加写作难度的前提下提高效率(2013年PPDP).

因为编程语言是编写软件的媒介,所以它们也是初学者学习构建软件的媒介。人们普遍认为,在入门课程中教授的编程语言和技术会影响学习。我最近试飞了第一道菜基于如何设计程序费莱森等等。,它使用函数式编程语言和技术。我的分析、改进和建议刚刚在函数式编程国际会议(ICFP 2014)上发表。

语言应用、设计和语义学

语言和技术是通过在实际问题上使用它们来改进、评估和改进的。我将函数式编程技术应用于计算生物学;与研究生一起研究计算生物学,我展示了函数式编程帮助解决问题的方法(ICFP 2012)。我们还发现了阻碍函数式编程正常工作的障碍。

另一个应用领域,机器学习,建立在关于概率的贝叶斯推理基础上。但在目前的实践中,程序员的贝叶斯思想通常是手工翻译成Matlab或C++等通用编程语言。如果给这样的程序员一个概率可直接表达贝叶斯推理的程序设计语言。DARPA的支持,我和BAE Systems的同事一起工作东北大学概率程序设计语言的设计与语义。

课程开发

在过去的七年里,我修改了塔夫茨大学计算机科学本科必修课程的很大一部分。我们要求学生修四门有编程作业的课程。由于我的工作,这些课程现在对我们学生的要求比以前高很多,而且它们也提供了更多。特别是,我们现在提供了许多更具挑战性和回报性的问题,而这些问题是学生们认为自己无法解决的。

除了上面提到的试点入门课程外,我已经完全重新设计了我们编程序列中的第三和第四课程。

我对我们还应该教什么.

我的教学和课程工作在2015年获得认可勒曼-纽鲍尔杰出教学和咨询奖该奖每年颁发给塔夫茨学院的一名在课堂内外对学生产生深刻智力影响的成员。

精选论文

这个页面显示了我最重要的最近文件。链接指向摘要,以便您查看在没有下载怪物的情况下离开主题。有关完整视图,包括旧作品,请参见我的提供出版物列表.

五篇最重要的论文

其他五篇重要论文

其他最近的论文

以上是一些近期未列出的论文。他们进来了时间顺序,所以最近的工作是在底部.
有关完整视图,包括旧作品,请参见我的提供出版物列表.

ACM要求此免责声明:

包括这些页面中包含的文件确保及时传播学术和技术工作非商业基础。版权及其所有权利由作者或其他版权维护持有人,尽管他们已经提出在这里工作电子化。据了解复制此信息的人将遵守这些条款以及每一个作者的版权所引起的限制。如果没有明确的版权所有者的许可。

教学

2020年春天我在教书补偿105(程序设计语言).我的办公时间列在那页上,是一张单人床实话实说。

在塔夫茨,我教过COMP 250RTS(运行时系统);COMP 150PP(概率规划语言);压缩机150TW技术写作的工程方法);补偿50, 我合作开发的第一门课程的试点版本本·赫斯科特;COMP 40(机器结构和汇编语言编程);补偿105(程序设计语言); COMP 150GIT(函数编程和源代码控制);COMP 150DAO(数据流分析和优化);COMP 150FP(高级功能编程).我在其他大学也教过很多课程,这些课程都不需要命名。

学生资源

办公室小时2019年秋季是预约的。 请预约发送电子邮件三次对你有效。

我已经收集研究感兴趣的材料学生,包括资源作家,如何演讲.
本科生研究生也可能感兴趣,尤其是在我的脑海里如何获得博士学位.我告诉你你需要给我什么(以及何时) 如果你想要一封推荐信.

如果你想在社区大学教书,这里有一些提示来自社区学院院长。

关于我

我的职业家庭在计算机科学系塔夫茨大学.我的GPG公钥的指纹是72F7 B434 AB7C D7D0 D5A9 B537 BD01 D704 7276 3614.我的半兽人ID是0000-0002-5435-1135. 有些人认为我是权力用户;其他人认为我从不睡觉.他们也许是对的;我的~/箱目录包含上千个剧本,几乎都是我自己写的。但是很多人只知道我是现在.

我曾两次担任ACM的会员信号计划执行委员会。我曾担任2007年ICFP.

我签了电子邮件宪章; 如果你不愿意,我就不会。多年来一直依赖陌生人的好意,我终于开始携带手机.我不再维持热门名单; 这更像是一个随机列表。对个人生产力的兴趣和本杰明·皮尔斯菲尔·瓦德勒让我做到了收件箱02007年2月21日星期三下午6:00。在各种各样的阿拉姆和远足造成严重损失后,我在2007年12月31日星期一下午6:30恢复了零。我很高兴在一个空收件箱里开始新的一年!从塔夫茨开始,我有点落后;在我的最后第一年,我的电子邮件欠债超过600条。在我第三年结束时,2011年5月23日星期一晚上9:12,我又一次找回了零,但我作弊了从2009年和2010年的600条信息电子邮件非军事区.下一次我归零是在星期三下午5:032012年8月29日,2014年5月30日下午2:54,2014年11月12日下午6:34,以及2017年6月7日下午12:00。有一段时间我几乎以为我在那里发现了一种模式。

我是豆豆布尔 老虎, 贝尔可校友,还有一个长期的成员华丽飘逸的科学家发廊,我有一个埃尔多斯数量共3页。有人看见我穿着橙色和黑色 学术殿堂.尽管有这些杰出的资历,我不羞于订阅带插页的杂志.一个秘密的恶习是我曾经回答编程问题乐趣; 有一次,我是第40位最有声望的投稿人(超过10万人)堆栈溢出(座右铭:“此主题已关闭为主题外”)。一路走来,我在C获得了银级专家徽章,哈斯克尔,程序设计语言,函数式程序设计,还有一些其他的话题。

我见过一个日全食太阳。虽然我读了很多关于看日食的书,我还没准备好接受这一切。你可以读我的对我未来的自我建议.

虽然这让人吃惊,但四十多年来我曾经是 风扇-虽然我不介意调整.当不是足球季的时候,我知道制作木屑激战.我还有一份罕见的亲笔签名广告. 我尽量避免P、 J。布朗的罪过.我嫁给了一个得到许可的心理学家, 游戏设计师,调节剂.我出现了舞台上(和各种各样的 俱乐部)作为一个爵士乐钢琴家,作为 舞者,但是 经常 作为 唱诗班.我的愿望实现梦想是关于睡眠的。