查看: 4317| 回复: 6
跳转到指定楼层
上一主题 下一主题
收起左侧

[经验总结] 我在NYU上Programming Language课程的感受和总结

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 MissBless 于 2013-6-26 11:53 编辑

1)你在国内上过这门课程以及要求的prerequisite courses吗?在国内的时候,学的很烂,还是自己觉得还不错?
. 本科是EE专业的,学过C和汇编,完全没有系统的学过程序设计语言的核心理论。更完全没听说过functional language。. 1point3acres

2)从这个问题开始,均针对美国上课。你是在美国的第几个学期上这门课的?你觉得这门课程难度如何?比你想象的难还是容易?难在哪里?或者为毛你觉得很简单?我是Poly的,来美第二学期选的NYU课程。难度要比Poly的课程难度高一个档次。不论是作业还是考试都非常灵活,把这门非常偏理论的课程与实际结合了起来。3)上课做了哪些project或者大作业?能大体说一下情况都是做的啥吗?
一共四次作业,每次都是理论部分加上编程部分,以下只介绍实践部分。
第一次用flex & bison写编译器的parser,算是编译原理的一部分。很多以前没接触过正则表达式的人做的非常痛苦。
第二次用scheme写几个常用的函数,算是functional language的入门。
第三次用ML写hamiltonian cycle的穷举法的检测,functional language的深入巩固。
.1point3acres第四次用Prolog来描述类似twitter/linkedin等社交网络的基本逻辑构架,是logic language的一次实践。.1point3acres
4)哪个project或者大作业你印象最深刻?你是咋做出来的、或者是如何栽倒的?有啥经验感受想说出来?
由于我是在Poly学嵌入式/底层软件的方向,对CS的各种理论都不是很熟悉,每次作业都做得很吃力。
从课程的论坛上来看,其他同学也感觉不是很简单,直到最后一天还有人在问问题。
主要是这门课没有专门的LAB session,也没有示例代码之类,很多新接触的语言或者编译器都需要先自己摸索基本的使用。
如果平时都不用linux的同学一定要找个懂的朋友一起讨论。
5)你班里大约有多少人同时上这个课程?有几个TA/Grader帮忙?你觉得你在需要的时候,得到了帮助吗?
从课堂来看不到30个人,1个TA,2个Grader。这门课一周有两次课时,一次Professor的Lecture,另一次是TA的Recitation,相当于复习或者习题课。
不论是教授还是TA都态度相当相当好。尤其是这门课的教授,不论是发音,逻辑清晰度,仪态,对学生的态度,都无可挑剔。
貌似他其实是外面一个软件咨询公司的CEO。这段时间只有他开这门课,所以也没必要说是谁,选不错的。

. 值得一提的是,从我们这届开始这门课开始用新的系统NYU Classes。类似Blackboard,里面包括课件下载,作业提交以及课程讨论。
由于这门课老师的极其负责的态度,每次作业会单独开设一个版块,里面的帖子发帖他必定会亲自详尽地回复,整个论坛的氛围被带动的很好。

6)你了解班里的分数分布吗?中国学生一般成绩如何,或者做project、大作业情况如何,你了解吗?
由于我不是NYU的学生,无从打听班里的分数分布。这门课分数会curve,不过grade是按curve之后的绝对分数给。
比如我本人最后是88点几分,只得了个B+。
作业虽然有点难度,但是由于各种提问的渠道比较完善,每次判完之后还有改错涨分的机会,所以分数都不低。
所以档次基本上就是期中期末决定的。

7)期中或者期末考试是闭卷还是开卷?难度大吗?临时抱佛脚突击有用吗?
都是闭卷,出的题比较灵活,但都是源于ppt。所以能把ppt理解地烂熟于心是非常有帮助的,但是死背不管用。
.. . Χ
8)如果你有机会可以重上这门课程,你在什么方面会做的不同?
Syllabus里面的课前reading最好提前读,往年的ppt也都可以轻易找到。. 1point 3 acres
不要每次都空着脑子去,会听得很被动,课下要花很多时间补回来。
此外,上这门课之前最好熟悉主流程序设计语言,C++/Java等等,有面向对象编程的经验更好。

9)你觉得这门课程有用吗?学到了什么东西?
非常有用,但仅仅类似算法之类,算是内功,并不能直接赋予你某项给就业加分的技能。
很多人选课之前都以为课上是学各种小众语言。其实这门课是把左右语言平等地放到一起,从很具体的层面论证各种语言之间的优点,定位,区别,核心思想等等。
学CS的同学眼界一定不能局限于当下流行的语言或者平台。要有涉猎广泛才能及时应对光速的发展趋势。. Χ
我以前很少接触面向对象编程,但是上完这门课之后再上手各种面向对象的语言就会很简单。C++/Java未来的发展趋势也都是要加入functional的特性。

10)介意说一下你是哪个学校什么专业的吗?介意说一下老师的名字吗?再次提醒,可以设置积分限制 ..

您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies




评分

参与人数 2大米 +210 收起 理由
xz28us + 10 感谢分享!
modifiedname + 200

查看全部评分


上一篇:求助想申请IC design方向需要自学的课程
下一篇:【CS专业求助】去HKU念书还是去Intel工作呢
🔗
xiaowxw 2013-5-28 14:18:35 | 只看该作者
全局:
很受用。谢谢分享
回复

使用道具 举报

🔗
leoz0610 2013-6-2 23:39:31 | 只看该作者
全局:
我跟LZ一样上了这课,感觉很有用。上了之后对编程语言设计有了high  level的认识,可以算作是将来complier的预备课程。很多内容也会涉及到os的知识,有点这类知识的储备最好。
回复

使用道具 举报

🔗
Hualiang 2013-6-19 10:24:54 | 只看该作者
全局:
EE 二年级学生,目前专业课都还没上。只学数学物理化学。。z
回复

使用道具 举报

🔗
Odyssey0724 2013-6-25 22:08:50 | 只看该作者
全局:
在学Java前是不是应该先看下这种课程?
回复

使用道具 举报

🔗
 楼主| MissBless 2013-6-26 11:52:07 | 只看该作者
全局:
Odyssey0724 发表于 2013-6-25 22:08
在学Java前是不是应该先看下这种课程?

我觉得应该先学java再上这门课,至少基本语法和编程的风格要知道。这个课根本不是个入门的课程,而是把以前学的不系统的编程语言知识给汇总,归纳和对比。如果本来就不会,上这个课会觉得很痛苦。
回复

使用道具 举报

🔗
Odyssey0724 2013-6-27 10:18:39 | 只看该作者
全局:
MissBless 发表于 2013-6-26 11:52
我觉得应该先学java再上这门课,至少基本语法和编程的风格要知道。这个课根本不是个入门的课程,而是把以 ...

谢啦 我还是先埋头啃java吧~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表