返回課程列表
[COMP3111H]Google oriented programming
課程時間:2017年F季
授課教授:sung kim
我覺得教授:呵呵呵呵呵
評分標準:assignment 10% + project (inclu. pre3) 40% + lab 10% + midterm 2*20%
這門課的Grade:全看考试
我覺得這門課
只占我16%的学分,却要用60%的精力去学。。。
assignment和lab比较中规中矩,大家基本都是满分,就是lab好多时候玄学的东西特别多,让人很烦躁,所谓的assignment就是lab 1 - 3的集合,做完lab稍微整理一下就好。注意lab最好提前做完,不然一个小时是万万不够的。
midterm是决定这门课龟的精华,需要极强概括能力以及理解抽象理解的能力。Kim的lecture notes制作精美(可谓说是全cs系中最烂的,每页上没啥信息,要么就是随意列几点,要么就是贴一段code,或者从书中截图,要么就是表情包占一整页,一学期下来大概会有一千多页ppt,看到人恶心,考前需要狂背+理解)。但是midterm又是区分龟的重点,虽然最累的是project,但是大家分最后都差不多,midterm可真就是人品的较量了,有的东西背了+理解了半天,结果毛都没考也是有可能的。
最后说一说project,估计是全科大workload最大的required course project,有的老师表示这玩意儿的压力大过一个fyp。2017F这学期是用java写一个line的chatbot,什么东西都要自学,从数据库到语法,还有一堆额外的requirement,做起来整个人都是崩溃的。要有design pattern, architecture pattern也要照顾,code coverage也要到70+%,每个人还要有一定数量(非常多)的Pull Request,另外还有一堆条条框框的东西根本就是在折磨人,非常unreasonable。最尼玛的是pre3还要占整个project的30%,和milestone 3一样多,还要做个video,一共还只能讲7分钟(含video播放时间),还只有一个语焉不详的guide line。反正就是milestone due的前一周就别想学别的了,专心肝project吧。要说最后的report,写了得有50几页。
这课找个好队友是相当重要的,有问题的时候可以互相指点(其实我一直被carry),心态爆炸的时候也能互相有一个照应。我组配置是两对狗粮大佬和我一只只会喊666的咸鱼,深刻的体会到了什么叫pair programming。在他们的carry下project拿了满分,我midterm考得挺烂(80%),最后overall 92% 有A (H 堂)。顺便推荐和舍友当队友,这样开末日会议的时候就不用找地方了。虽然舍友可能会在project期间和队友出pool吧。[smile][smile][smile]
【Update】有关狗粮大佬:
http://ug.msss.ust.hk/cwiki/1707
[COMP3111H]虽然是必修但请做好心理准备
課程時間:2015年fall季
授課教授:Sung Kim
我覺得教授:人蛮可爱的不过改革的比较乱
這門課的Grade:Grade較好
我覺得這門課:啊讲真我是不喜欢的……
今年的3111/H从java写日历改革成用javascript(angularJS)改进一个course forum,再额外做一个Android app version了。H堂可以自选多加一个ios app,好像是有bonus的。
开课前还记得TA Peter在脸书上大肆宣传这个改革多么多么好,可以教新东西,也有童鞋憧憬过感觉要变成full stack了啥都能学到,后来发现其实都蜻蜓点水,该不会还不会。其实整门课是以自行google为主的,几个主要框架,包括angularjs,nodejs,Android等,我感觉prof也不是很懂,Peter更加的是不太会呢2333印象深刻在学Android debugging的时候在lab上遇到了无名bug,问Peter,他说我也不知道呀没关系就算你做完了吧……还有一次,讲angularjs test,Peter说刷通宵给我们写了demo,我们怀着感恩之心打开,里面只有我们认为不超过十分钟就能写完的test……特别短……
所以这些project里面的实用技能后来都是靠强行google解决的,上课主要就是会告诉你,有这么个东西,众卿知道就好了跪安吧@@整个project分为proposal(i.e.,一个presentation写明有哪些要改进的地方),minor improvement milestone(i.e.,一些小改进),major improvement milestone(i.e.,加重头function)。有一个深坑的地方是它给分是按照你做没做完预先写好的改进点评判的,而无关乎你具体改进了多少,做的是不是很多,所以务必不要吹太多,这样会坑死自己。还有就是因为要做web app+Android,所以如果有些function只能web有,一定要写明Android不做,否则check的时候会被扣分。最后会有一个poster presentation给教授和每个打分的TA分别presen一次做的东西并回答问题。poster可以耍流氓做好几张。
没有final,有两个midterm。怨声载道在于全部考的概念,但3111一向如此,而且我们好像要背的东西确实比以前past paper上少一些了。不过midterm之前我们就是一直在互问互问互问,google都无法带我们飞。
这个课的问题在于规划的比较理想化,非常依赖于学生的independency,self-motivation,etc。他对我们可投入时间的expectation过高了,presen+两个平台的project+各种lab考试需要背书blabla,然后还要花时间去自学,基本上教授是在要求我们full time做这门课,然而实际上大家课都很多,事情也很多。科大的课,如果要comprehensive,那就是intro级别,别搞那么多技术。否则就focused,该上啥上啥,不要走那么多花样,3111想要两者得兼,所以学生就全程吐槽了……课程设想是好的,incentive没问题,教授勇于尝试也很好,但这门课本省不受欢迎就是因为繁琐,改革以后更繁琐了,那肯定更不受欢迎,毕竟科大没有创造出来这种能接受猛加课程难度的氛围。另外配的mentor因为缺少教授安排的见面时间,其实不温不火没啥用呢。
总结一下,这门课就是literally时间紧,任务重(之前有feedback说the course worth higher credit),prof不好好教,知识全靠google,TA自己也不会无法寄予实质性帮助。
一句话,一门神课= =
复制的grading scheme:
Lecture/Lab 50%:
- Midterm I 20
- Midterm II 20
- Labs 10 (1 for each, will be scaled to 10 if there are less than 10 labs)
Projects 50%:
- Personal homepage on AWS: 5 (five pages)
- Individual testing 5 (+1 for identifying a major bug up to 2 points)
- Requirements presentation: 10
- Milestone 1 (minor updates): 10
- Milestone 2 (major updates) + Poster presentation: 20
- Extra credit: +1 for accepted pull request (up to 5), +2 (max) if used in the class room
[COMP3111H]活生生的反例
课程时间:2014年Fall
授课教授:Charles Zhang
这门课Skeleton Code存在的意义就是告诉你不好好地做Software Engineering会有如何可怕的后果,于是上这门课的第一件事情就是把Skeleton Code删了。
H与非H没什么区别,能上H就上H拉倒。
Charles Zhang英语很不错,可与严民一争。
虽然并没有做任何我们觉得是bonus的东西(也就UI借(chao)鉴(xi)了Google),但最后bonus competition拿了第一我还是很意外的。
以上就是我对这门课的全部回忆,你问我课上讲了啥?讲了那啥啥啥来着。
[COMP3111H]Software Engineering
课程时间:2014 Spring Sem
授课教授:love!sung
我觉得教授很自恋,由他设置的密码来看
这门课的Grade:Grade神
我觉得这门课很神奇。
亮点在于为期一学期的Project,要求是用Java写Android app。你会有一个自己的team,而且有机会体验从设计,制作到展示一个Product的全过程。从开始的Design,到协调团队,source control, code management,progress update,regression test,到最后的presentation sales,基本该玩的都玩了一遍,像个加长版的Hackathon warm up,感觉如果上这门课只是写写code的话真的会错过很多。
一共有三次Pre3非常好玩。和B school的LANG3069比感觉反倒在这门课上学到的Pre3 Skill更多一些,首先场面大,底下坐了小一百人,不像LANG堂里就那么几个;发挥空间大,对于展示方式没有什么限制,可以自由发挥;考验应变力,尤其是Prototype Pre3(第二次),在东西还没成型没什么可展示的时候,真是考验化腐朽为神奇的功夫;真情实感,东西都是自己做的,没有一个外设的context,添油加醋即可,不用瞎编乱造。遗憾的是不如LANG堂漂亮姑娘多。
Coding的话大部分人都没基础,大家互相帮助+自己从头摸索,写写就会了。不过写出来怎么样就看造化了。
考试内容就是看一遍notes,考前一晚别玩儿瞎了就成,主要cover这一行的常识。作用嘛。。。就是你去实习或者工作的时候别人如果问你:“Do you know Agile?”你可以说:“Yeah I've heard of that!”
Professor Sung Kim极其nice,之前自己创办过一家做software的公司,后来去读了PhD当了教授。平时兴趣爱好倍儿广泛,攀岩蹦极马拉松跳伞样样儿不差。
祝玩儿得开心
Ryan
[COMP3111H]Software engineering
课程时间:2012年春季
授课教授:
Grade:较好
非常推荐的H课,因为可以自己定义poject和组队。主要是以做project为主,workload略大,不过我是抱大腿了。上课就是念notes,考试就是考notes,notes巨多而且巨无聊,所以上课也无聊,可能是我水平太低所以没能理解lecture的美。。。所以考试要考好就得大量背notes,不过个人感觉考试对龟影响不是很大。
[COMP3111H]Software Engineering
课程时间:2011年春季
授课教授:
Grade:好
某种意义上比非h堂还好混,因为自定义project可以做的很颓,评分又不是以功能多寡来评定的,所以你懂的...
考试mean大概比非h堂高15分,压力比较大,但是考试分数又对grade影响很小...
所以总体来水是个很不错的选择
[COMP3111H]Introduction to Software Engineering (Honors Study Track)
课程时间:2008年秋季
授课教授:
Grade:较好
是H课程里面和非H课程差别最小的一门了,大家一起上课,做一样的project。唯一的区别就是,H是自己定义project并且和非H的分开给分。这门课主要还是背书+project。project的code量和documentation的量基本持平(虽然我觉得documentation会多点,但是有可能跟我基本上没写什么code有关)如果能有以前几届做的作为参考就会好很多。至于考试,多做past paper就好了,因为题型基本不变,题目有40%的可能性出现在past paper中(自己统计的,真的有很多原题啊……字都不改一个的= =b)。 另外notes我觉得很难懂,很多奇奇怪怪的单词……