一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 3563|回复: 15
收起左侧

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

[复制链接] |试试Instant~ |关注本帖
tianyeblack 发表于 2014-5-22 05:40:55 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
1)你在国内上过这门课程以及要求的prerequisite courses吗?在国内的时候,学的很烂,还是自己觉得还不错?

上过,学得很一般,作业也是抄的。不过国内的课程设置真心老旧,上课也就是照着PPT念,把一门高大上的课搞得毫无乐趣。

2)从这个问题开始,均针对美国上课。你是在美国的第几个学期上这门课的?你觉得这门课程难度如何?比你想象的难还是容易?难在哪里?或者为毛你觉得很简单?
. 1point 3acres 璁哄潧
第二学期,难度挺高,虽然符合我的想象但由于同时还选了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。另外就是可能因为是第一年,教授也没准备地太充分,所以相对简单了。. more info on 1point3acres.com

5)你班里大约有多少人同时上这个课程?有几个TA/Grader帮忙?你觉得你在需要的时候,得到了帮助吗?
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
20个人不到吧,哈哈。没有TA/Grader,老师亲自上阵。讨论都是在piazza上,同学和教授回复的都挺及时,而且鉴于教授一天到晚都在到处跑,实在是不容易。

6)你了解班里的分数分布吗?中国学生一般成绩如何,或者做project、大作业情况如何,你了解吗?
. From 1point 3acres bbs
20个人也没有太大研究分布的必要,而且教授很善良,各种尽量给高分,末了还给我说“由于你考试不是特别高所以我只能给到A-”,业界良心有木有。
. Waral 鍗氬鏈夋洿澶氭枃绔,
7)期中或者期末考试是闭卷还是开卷?难度大吗?临时抱佛脚突击有用吗?. more info on 1point3acres.com
.鏈枃鍘熷垱鑷1point3acres璁哄潧
期中开卷,期末闭卷,开卷比闭卷难多了。临时抱佛脚说不定有用,因为就那几种题型,但是既然都是来挑战这么难的东西何必呢
. From 1point 3acres bbs
8)如果你有机会可以重上这门课程,你在什么方面会做的不同?. from: 1point3acres.com/bbs
-google 1point3acres
不知道,感觉考试没考好,但我觉得我的考试水平真心就那样了,越来越不喜欢记忆太多东西(都可以Google我记下来作甚……),只记关键概念的后果就是考试的时候有些细节写不出来。. 1point 3acres 璁哄潧

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

当然有用啦,我现在会用LLVM了呢~未来的compiler还是这种framework靠谱,虽然纯手写的performance很好,但真心不值得花那么多时间去开发,要写也是scanner和parser,后面的优化神马的LLVM是王道。

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

USC的CS general。老师叫Pedro Diniz。

评分

3

查看全部评分

本帖被以下淘专辑推荐:

KikSamuel 发表于 2014-5-23 08:49:29 来自手机 | 显示全部楼层
下学期选了 争取能survive!
回复 支持 反对

使用道具 举报

KikSamuel 发表于 2014-5-23 08:49:43 来自手机 | 显示全部楼层
有木有提前预习的建议?
回复 支持 反对

使用道具 举报

 楼主| tianyeblack 发表于 2014-5-23 12:25:24 | 显示全部楼层
KikSamuel 发表于 2014-5-22 16:49
有木有提前预习的建议?

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

使用道具 举报

KikSamuel 发表于 2014-5-23 13:00:56 | 显示全部楼层
tianyeblack 发表于 2014-5-23 12:25
看看龙书,去coursera上stanford的课,不过如果整个上过或自学一遍基本也不用再上这个课了。没学过lexica ...
. 鍥磋鎴戜滑@1point 3 acres
啥是龙书?.1point3acres缃
有教材推荐么?
回复 支持 反对

使用道具 举报

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

查看全部评分

回复 支持 反对

使用道具 举报

Ricardotsui 发表于 2014-5-24 11:22:49 | 显示全部楼层
楼主你们编译原理和computer programming languages是分开的两门课吗?
回复 支持 反对

使用道具 举报

 楼主| tianyeblack 发表于 2014-5-24 12:41:09 | 显示全部楼层
Ricardotsui 发表于 2014-5-23 19:22. from: 1point3acres.com/bbs
楼主你们编译原理和computer programming languages是分开的两门课吗?

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

使用道具 举报

shanren9 发表于 2014-6-5 15:29:02 | 显示全部楼层
学习一下,很好的帖子。
回复 支持 反对

使用道具 举报

evangeline 发表于 2014-7-21 09:35:17 | 显示全部楼层
编译原理课程需要学多久?
回复 支持 反对

使用道具 举报

franciszz 发表于 2014-7-21 13:02:52 | 显示全部楼层
tianyeblack 发表于 2014-5-23 12:25
看看龙书,去coursera上stanford的课,不过如果整个上过或自学一遍基本也不用再上这个课了。没学过lexica ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
能否推荐一些学习LLVM的资料?多谢!
回复 支持 反对

使用道具 举报

 楼主| tianyeblack 发表于 2014-7-22 07:54:10 | 显示全部楼层
evangeline 发表于 2014-7-20 17:35. more info on 1point3acres.com
编译原理课程需要学多久?

额,你指的是学期长度还是学习量?课是一学期的,每周要花的时间因人而异,这个真的看你的背景是什么样,本科学过编译原理或者相关也就一门3学分课的水平,什么都没学过就要花很多时间在前期了
回复 支持 反对

使用道具 举报

 楼主| tianyeblack 发表于 2014-7-22 07:56:28 | 显示全部楼层
franciszz 发表于 2014-7-20 21:02
能否推荐一些学习LLVM的资料?多谢!

LLVM啊,看文档吧,这货的资料差不多都在官网,另外由于其脱身于研究项目,所以相关论文读一下也有助于理解,再不行就只能Google了
回复 支持 反对

使用道具 举报

storm_hair 发表于 2014-7-26 09:13:52 | 显示全部楼层
A好拿么 课程编号是多少?
回复 支持 反对

使用道具 举报

 楼主| tianyeblack 发表于 2014-7-27 00:45:12 | 显示全部楼层
storm_hair 发表于 2014-7-25 17:13
A好拿么 课程编号是多少?

A其实挺好拿的,我就是A-,因为老师人很好。不过,私以为好不好拿A没什么意义,简历上基本不会写,GPA嘛能毕业就行。课程编号的话是CS565(希望没记错)
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 04:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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