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

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

全局:

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

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

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

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

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

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

7)期中或者期末考试是闭卷还是开卷?难度大吗?临时抱佛脚突击有用吗?
都是闭卷,出的题比较灵活,但都是源于ppt。所以能把ppt理解地烂熟于心是非常有帮助的,但是死背不管用。

8)如果你有机会可以重上这门课程,你在什么方面会做的不同?
Syllabus里面的课前reading最好提前读,往年的ppt也都可以轻易找到。
不要每次都空着脑子去,会听得很被动,课下要花很多时间补回来。. 1point3acres
此外,上这门课之前最好熟悉主流程序设计语言,C++/Java等等,有面向对象编程的经验更好。

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

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

. 1point3acres

.--

评分

参与人数 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再上这门课,至少基本语法和编程的风格要知道。这个课根本不是个入门的课程,而是把以 ...
.google  и
谢啦 我还是先埋头啃java吧~
回复

使用道具 举报

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

本版积分规则

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