诺曼·拉姆齐

[长发诺曼人(2022年秋季)] 发送电子邮件至nr@cs.tufts.edu(电子邮箱).
发送物理文档到我的邮政地址.
如果你自己来,你会想要的方向.
电话:+1 617 627 4923。
传真+1 617 627 2227(如果可以,请扫描并发送电子邮件)
我的维塔公钥(现在有照片!)都在网上。

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

我是谁,我做什么

我研究编程语言,并在塔夫茨大学.我已经吃了很多馅饼了!

编程语言基础设施

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

关于基础设施的想法在部署时最具说服力。2014年,我的团队关于代码生成的想法被部署在新代码生成器对于格拉斯哥-哈斯克尔编译器(GHC)。部署需要乔·迪亚斯、微软研究院的西蒙·马洛、微软研究所的西蒙·佩顿·琼斯和我几年的努力。新代码生成器最有趣的组件是可重用的高阶优化库,Hoopl(Haskell 2010)它使用广义代数数据类型来保证在编译器编译时,无论给定什么Haskell程序,GHC都不会构建格式错误的控制流图。

语言和学习

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

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

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

语言应用、设计和语义

通过将语言和技术用于实际问题,可以对其进行优化、评估和改进。我将函数编程技术应用于计算生物学;与计算生物学研究生合作,我展示了函数编程帮助解决问题的方式(ICFP 2012)。我们还发现了阻碍函数式编程正常工作的障碍。

另一个应用领域,机器学习,建立在贝叶斯概率推理的基础上。但在目前的实践中,程序员的贝叶斯思想通常被手工翻译成通用编程语言,如Matlab或C++。如果给定一个概率的贝叶斯推理可以直接表达的编程语言。使用DARPA的支持,我正在与BAE系统公司和东北大学概率编程语言的设计和语义。

课程开发

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

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

我也有一些关于我们还应该教什么.

我的教学和课程工作获得了2015年的认可Lerman Neubauer杰出教学和咨询奖该奖项每年颁发给塔夫茨大学的一名教员,该教员在课堂内外对学生产生了深远的智力影响。

选定的论文

本页显示了我最重要的最近的论文。链接指向摘要,以便您可以检查在不下载怪物的情况下发布主题。有关完整视图(包括以前的作品),请参阅我的提供出版物列表.

五篇最重要的论文

其他五篇重要论文

其他近期论文

这些是上面没有列出的一些最近的论文。他们在时间顺序,所以最重要的最近的工作在底部.

有关完整视图(包括以前的作品),请参阅我的提供出版物列表.

ACM要求此免责声明:

包括这些页面中包含的文档确保及时传播关于非商业基础。版权及其所有权利由作者或其他版权维护持有人,尽管他们提供了在这里以电子方式工作。据了解复制此信息的人将遵守条款以及每个作者的版权所引用的限制。如果没有明确的版权所有者的许可。

教学

2023年春天,我在教书碳钢106(简单虚拟机和语言翻译).

在塔夫茨,我教过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.我的ORCID公司ID是0000-0002-5435-1135. 有些人认为我是权力用户其他人认为我从不睡觉.他们可能是对的;我的~/箱目录包含在上千个脚本,几乎都是我自己写的。但是很多人只知道我是诺韦布.

我曾两次担任ACM会员信号平面图执行委员会。我曾担任2007年ICFP.

我签署了电子邮件宪章; 如果你不愿意,我不会。在多年依赖陌生人的善意之后,我终于开始携带手机.我不再维护热门名单; 这更多的是一个随机列表。我喜欢免费网域名称伺服器.对个人生产力的兴趣和来自本杰明·皮尔斯菲尔·沃德勒让我销售包装内零2007年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再次进行。有一段时间,我几乎以为我在那里发现了一个模式。

我是布尔 老虎, Bellcore校友,和a长期存在的成员科学家奢华流发俱乐部,我有一个埃尔德斯编号第页,共3页。有人看到我穿着橙色和黑色 学术王国.尽管有这些杰出的资历,我并不羞于订阅带插页的杂志.一个秘密的缺点是我曾经回答编程问题乐趣; 曾经,我是第40位最有声誉的贡献者(超过100000人)堆栈溢出(座右铭:“此线程已作为非主题关闭”)。一路走来,我获得了C级银牌专家徽章,哈斯克尔,程序设计语言,函数式编程,还有其他几个话题。

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

尽管这让人们感到惊讶,但四十多年来我一直曾经是 风扇-虽然我不介意重新定线.当不是足球赛季的时候,我知道制造木屑激战.我还有一本罕见的签名本动词. 我尽量避免第J页。布朗的罪孽深重.我嫁给了一个得到许可的心理学家, 游戏设计师,模仿者.我出现了舞台上(和in各种各样的 俱乐部)作为一个爵士乐钢琴家,作为 舞者,但是 经常 作为 唱诗班.我的愿望实现梦想都是关于睡觉的。