📣 独立日限时特惠: VIP通行证立减$68
查看: 9901| 回复: 15
跳转到指定楼层
上一主题 下一主题
收起左侧

[经验总结] 【活动】我在美国上编译原理(Compiler Design)课程的感受和总结

全局:

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

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

x
1)你在国内上过这门课程以及要求的prerequisite courses吗?在国内的时候,学的很烂,还是自己觉得还不错?
. 1point 3 acres
上过,学得很一般,作业也是抄的。不过国内的课程设置真心老旧,上课也就是照着PPT念,把一门高大上的课搞得毫无乐趣。.

2)从这个问题开始,均针对美国上课。你是在美国的第几个学期上这门课的?你觉得这门课程难度如何?比你想象的难还是容易?难在哪里?或者为毛你觉得很简单?

第二学期,难度挺高,虽然符合我的想象但由于同时还选了OS和AI,这学期有一种跪着走的感觉。难的地方到处都是,几乎没有不难的地方,可能因为很多技术都是那种很经典又很晦涩的东西吧。反正就是第二遍上也没有觉得好了多少。

3)上课做了哪些project或者大作业?能大体说一下情况都是做的啥吗?

homework有4个,project两个。homework就是掌握讲的那些概念,练习一下。project略奇葩,因为教授觉得老是写什么lexer,parser还是3 address code generation有点跟不上时代了,决定尝试LLVM,所以我们可以选做LLVM passes。第一个proj写了一个prettyPrint和CFGNaive,打印LLVM intermediate code和去掉unreachable blocks。第二个是Live Variable Analysis。
4)哪个project或者大作业你印象最深刻?你是咋做出来的、或者是如何栽倒的?有啥经验感受想说出来?

homework基本都很难,而proj却异样地简单。每个proj我都只用了两三天,得益于LLVM的优秀设计。虽然这货没有太多文档,又是用C++写的,但它很好地抽象出了编译器里面的东西,所以非常适合用来写optimization pass。另外就是可能因为是第一年,教授也没准备地太充分,所以相对简单了。

5)你班里大约有多少人同时上这个课程?有几个TA/Grader帮忙?你觉得你在需要的时候,得到了帮助吗?

20个人不到吧,哈哈。没有TA/Grader,老师亲自上阵。讨论都是在piazza上,同学和教授回复的都挺及时,而且鉴于教授一天到晚都在到处跑,实在是不容易。

6)你了解班里的分数分布吗?中国学生一般成绩如何,或者做project、大作业情况如何,你了解吗?

20个人也没有太大研究分布的必要,而且教授很善良,各种尽量给高分,末了还给我说“由于你考试不是特别高所以我只能给到A-”,业界良心有木有。

7)期中或者期末考试是闭卷还是开卷?难度大吗?临时抱佛脚突击有用吗?
.google  и
期中开卷,期末闭卷,开卷比闭卷难多了。临时抱佛脚说不定有用,因为就那几种题型,但是既然都是来挑战这么难的东西何必呢
.google  и
8)如果你有机会可以重上这门课程,你在什么方面会做的不同?. ----

不知道,感觉考试没考好,但我觉得我的考试水平真心就那样了,越来越不喜欢记忆太多东西(都可以Google我记下来作甚……),只记关键概念的后果就是考试的时候有些细节写不出来。

9)你觉得这门课程有用吗?学到了什么东西?

当然有用啦,我现在会用LLVM了呢~未来的compiler还是这种framework靠谱,虽然纯手写的performance很好,但真心不值得花那么多时间去开发,要写也是scanner和parser,后面的优化神马的LLVM是王道。
. Waral dи,
10)介意说一下你是哪个学校什么专业的吗?介意说一下老师的名字吗?再次提醒,可以设置积分限制

USC的CS general。老师叫Pedro Diniz。

评分

参与人数 3大米 +106 收起 理由
chen482 + 3 谢谢你的介绍!
KikSamuel + 3 很有用的信息!
sanguine + 100

查看全部评分


上一篇:研究生都干什么……
下一篇:请问有没有偏向设计的计算机专业?
推荐
 楼主| tianyeblack 2014-5-23 12:25:24 | 只看该作者
全局:
KikSamuel 发表于 2014-5-22 16:49
有木有提前预习的建议?

看看龙书,去coursera上stanford的课,不过如果整个上过或自学一遍基本也不用再上这个课了。没学过lexical analysis和parsing的话预习这两部分会比较有用,因为这两部分他讲得很快,这些也都是经典中的经典。
回复

使用道具 举报

推荐
 楼主| tianyeblack 2014-7-22 07:54:10 | 只看该作者
全局:
evangeline 发表于 2014-7-20 17:35
编译原理课程需要学多久?
. 1point3acres
额,你指的是学期长度还是学习量?课是一学期的,每周要花的时间因人而异,这个真的看你的背景是什么样,本科学过编译原理或者相关也就一门3学分课的水平,什么都没学过就要花很多时间在前期了
回复

使用道具 举报

推荐
 楼主| tianyeblack 2014-7-27 00:45:12 | 只看该作者
全局:
storm_hair 发表于 2014-7-25 17:13
A好拿么 课程编号是多少?
. .и
A其实挺好拿的,我就是A-,因为老师人很好。不过,私以为好不好拿A没什么意义,简历上基本不会写,GPA嘛能毕业就行。课程编号的话是CS565(希望没记错)
回复

使用道具 举报

🔗
KikSamuel 2014-5-23 08:49:29 | 只看该作者
全局:
下学期选了 争取能survive!
回复

使用道具 举报

🔗
KikSamuel 2014-5-23 08:49:43 | 只看该作者
全局:
有木有提前预习的建议?
回复

使用道具 举报

🔗
KikSamuel 2014-5-23 13:00:56 | 只看该作者
全局:
tianyeblack 发表于 2014-5-23 12:25. Waral dи,
看看龙书,去coursera上stanford的课,不过如果整个上过或自学一遍基本也不用再上这个课了。没学过lexica ...

啥是龙书?
有教材推荐么?
回复

使用道具 举报

🔗
KikSamuel 2014-5-23 13:01:40 | 只看该作者
全局:
tianyeblack 发表于 2014-5-23 12:25
看看龙书,去coursera上stanford的课,不过如果整个上过或自学一遍基本也不用再上这个课了。没学过lexica ...

先谢啦!
回复

使用道具 举报

🔗
 楼主| tianyeblack 2014-5-24 04:55:39 | 只看该作者
全局:
KikSamuel 发表于 2014-5-22 21:00
啥是龙书?
有教材推荐么?

Dragon book, 本名叫Compiler Principles, techniques and tools,Engineering a Compiler也不错

评分

参与人数 1大米 +3 收起 理由
KikSamuel + 3 谢啦!

查看全部评分

回复

使用道具 举报

🔗
Ricardotsui 2014-5-24 11:22:49 | 只看该作者
全局:
楼主你们编译原理和computer programming languages是分开的两门课吗?
回复

使用道具 举报

🔗
 楼主| tianyeblack 2014-5-24 12:41:09 | 只看该作者
全局:
Ricardotsui 发表于 2014-5-23 19:22
楼主你们编译原理和computer programming languages是分开的两门课吗?

额,哎,USC没开PL,其实我挺想上的。
回复

使用道具 举报

🔗
shanren9 2014-6-5 15:29:02 | 只看该作者
全局:
学习一下,很好的帖子。
回复

使用道具 举报

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

本版积分规则

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