返回課程列表
[COMP3111]4学分?0学分!
課程時間:2021年Spring季
授課教授:Kenneth Leung
這門課的Grade:必修课你也没办法提升一件商品的性价比有两种方法:提升商品质量,或者降低商品价格。
有人说3111是垃圾,我知道他们的意思;但基于性价比思想,我觉得其实还可以。
因为这个学期的各种压力比较大,心态比较爆炸,加上对于内卷刷GPA的本能厌恶,学校的课基本就直接放了。
带来的恶果是3111的两个quiz和一个lab给整忘记交了。所以就干脆破罐子破摔吧!反正也不用记attendance,上锤子上。每堂开另外一台macbook录下来,in-class exercise ddl之前打开视频,直接跳到结尾放答案的那个frame,3分钟就抄完了。
就这样一个学期过去了。这学期blend-mode有每门课的小视频,摸着鱼刷完大概两三天,然后看了下exercise里面的那些例题。
考试难度啥的感觉还过得去。选择题有题库,开卷直球查就行。大题就阅读理解,照着exercise的例题认真划一划关键词就好了。阅卷参照清朝军机处,反正也不会给你appeal的。考出来是high,最后拿了一个A range。
所以我完全理解喷3111的人,因为成功人士是要争取好龟的,最好就是努力就有A及以上,所有情况在掌握之下。但是这门课期末花两三天看看就行,懒狗也能考得比较好,对于认真上了这门课的同学来说是不能接受的。只能说我傻人有傻福吧,A range挺开心的说实话。
Update: 其实除开考试恶心人这一点,教的内容是一个合格intro课的内容,涵盖了Software Engineering的各种基础知识,对于学习日常与实际脱节的cs专业课程的学生来说起到了比较好的扫盲作用。
[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
[COMP3111]疯狂划水的ins
課程時間:2019 spring
授課教授: Kenneth LEUNG
我覺得教授:迟到+早退 lecture被水成40min左右 由于内容过于玄学 即使风趣的Kenneth也无力回天(滑稽)評分標準:
In-class Practice Exercises Assignments (10%), Labs (10%), Project (6%(Activity1)+24%(Activity2)=30%Updated!), Final (50%)
這門課的Grade:final评分标准十分抽象 一切解释权都归TA所有23333 建议考前狂背exercise套路+忘记自己想法 否则...最后说一下project:首先感谢我的两个队友 我们顺利地完成了所有tasks
然鹅在final复习时 我忽然意识到 我们仅仅只是把project做了出来 而忽略了这节课的初衷:用design pattern设计project 导致后期出现了很多兼容问题
所以在动手做之前 可以细致地设计总框架而不是各干各的 感觉可以节省很多时间
[COMP3111]无能怒吼(
課程時間:2019年Spring季
授課教授:LEUNG, Wai Ting
一句话总结 亲爱的小朋友们 大四上这课吧
再具体一点 大概就是 整个课的区分度集中在一道争议很大且分值很大的final题上 最后的龟取决于你和出题者的合拍程度 保重
[COMP3111]Software Engineering
課程時間:Spring 2016
授課教授:Fred Lochovsky
我覺得教授: 年纪太大该退休了
這門課的Grade:还可以,我拿了大概是84的总评,最后是A
科大UG必修课里面workload最大的一门课。学的东西非常杂非常抽象尽是一些单靠理解但是又比较模棱两可的概念,比如怎么画domain model,怎么写use case specification。但是对于这些内容的理解上最大的难度在于老头的表达能力比较捉急,再加上年纪一大,头脑不太清晰,做出的解释也并不是很清楚。lecture内容和project基本没有关系。似乎每一学期的教授都不一样,所以教什么教的如何都不太一样。
Grading scheme:
- Participation 5%
乐创基老先生的花样比较多,每节lecture有当堂练习,正误无所谓,用来记考勤
- Lab 5%
教project里面需要用的东西,其实就是带着你写project。lab的机制也是交练习记考勤。project的第一个due基本就是那之前的lab所做的东西。但是注意这里有伏,老头会说“你做完了前面的lab就相当于完成了activity 1(整个project由三个activity组成)了大家要好好做lab喔呵呵呵”。不是这样的,具体我在后面project部分写。
- Test 40%
分两次,一次在常规的midterm的日期,第二次在final break前的两周左右,project的大due之前。也就是说这门课没有严格意义上的final,这一点还是挺给人省事的。一次考试20%,考的都是lecture的内容,也就是那些概念。老老实实背slides吧,能理解的就尽量理解问清楚,还是不清楚,也不用太悲伤,分值大的基本上都是比较大的概念,抠字眼难理解的那些扣不了多少分。而且考试比重小,重头戏还是project。上课的内容好好背就是了。
- Project 50%
那么,终于来了。
project分成三个activity。第一个是individual的,所谓的“做完了lab就完成了”的那个部分。光看lab不行,要好好跟着他写的activity specification来搞,但是这还不够,他上课和lab说的每一条跟project有关的信息都要好好听,总能透露一些隐藏的或者没写清楚的requirement。
第二第三个activity就是组队的了,一支队一直做到学期末的。队友要选好,一定要选好,这个project不是一个人想carry就能carry的。今年的project是三到四人一组,据经验,一个队不可能没有free ride的,所以至少要有一两个能打的。特别是从activity 2开始如果任务分配不均,后面就很难了,别人想帮都没这么容易当然一般之前free ride的狗到后面也不会想帮你的。
project的内容。今年学的是asp.net,因为没用过有挺多东西要自己搞清楚。这都不是事,关键就是老头子真的很迷,每一星期平均有一封邮件来clarify requirements,到大due将近的那段基本上一天一封一天多封。别怕麻烦,发邮件问当面问,不然分扣掉才知道为什么就透心凉了。
总的来说,project workload巨大,要求又多又杂。做好心理准备。
说点好的吧。
乐创基先生虽然老虽然迷,但是还是挺负责的。邮件基本隔天回,有问题他解决不了一定会记下来再跟进。而且他还是比较体谅学生的,交作业出现非技术性失误,都接受更正。而且最后看来,给龟还可以。
本人自认为mainland里的average水平,上面说的都是切身体会。大神们见笑。
[COMP3111]远离Fred的3111
課程時間:2015-16年春季
授課教授:LOCHOVSKY, Frederick Horst (Fred)
我覺得教授 文明用语
考试基本靠摸奖。Project设定复杂又模糊,要花很多时间发邮件扯皮,还要花很多时间写一个十分庞大但是屁用没有、连放到Github上作为经验值都不行的website。TA水平都是辣鸡,代码又不会写,跟课程相关的内容又说不清。
Fred;你觉得我的解释有问题,但是我们对这题选C这点没异议,那就这样就好了。
Fred:虽然TA用几十行难以看懂而且有(上这课的大部分人调不动的)bug的代码,实现了一个可以用5行代码安全易懂地实现了的功能,但是它在实现Lab的要求的时候能work啊,这不就行了。Project要基于lab代码写关我什么事。
Fred:虽然我们要求你们必须用的不能改的"External System"的代码有缺陷,但是这是我们故意的!才不是我们水平差不会写!你们要学习deal with这种情况!识得唔识得啊!
Fred:我们的requirement里有一个(导致意思不同的)typo,你们应该能发现这里少了个逗号啊,显然应该是另一个(如果不仔细读requirement会下意识认为的)意思啊。
Fred:我们的requirement里有typo导致最后意思和我们心里想的不一样,你们按这个意思做了不符合我们的要求显然是你们的错。我们很宽容了,还不跪谢。
Fred:Final Test不接受appeal。因为有些组的代码很烂,烂到我们没法继续测只能手动帮他们改,花了很多时间。所以即使你们(做得很好没花我们什么时间)因为我们的失误丢分了,我们也只能说我们的时间都已经用完了不能重测。
总之Fred带这课给我的感觉是你越认真做越吃亏(相对地),但是你不认真做龟就烂了。非常文明用语。
[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
[COMP3111]software engineering
课程时间:2015年Spring季
授课教授:QU Huamin
我觉得教授: 给分好商量但是英语= =
这门课的Grade:Grade神/较好/一般/烂grade/Killer (这完全因人而异吧)
这门CS必修课主要任务是用JAVA写一个calendar程序,一学期里面的主要任务就在这里。整个project分成两个阶段完成,大概各有五六周的时间。第一阶段可以使calendar有简单的规划功能,第二阶段支持多用户(然并卵,还是只能在一台电脑上),以及一个判分比较宽松的documentation- -不要问我们怎么知道这个判分很宽松的。
除去占40的project,还有占20的期中和40的期末,主要内容是才艺展示背notes,还有琳琅满目的bonus,虽然说期中期末可能都gg然而还是可以拿一波bonus提升一下总成绩的。
至于给成绩,Huamin和我们讲是overall 90 以上给Arange, 80 Brange,具体又如何细分我们也就没好奇看。
作为主流Cwiki的内容已经结束。
以下是我作为菜狗给project的一点建议:
首先是既然lab和tutorial讲了如何用版本控制,那么就最好还是用github之类的东西去同步几个人的进度,某些naive的方法乍看操作会简单不少,但是早晚会搞得头大。此处默默@富二代。
我觉得版本控制的另一个优势就是方便知道别人把比较后台的代码做了什么改动,如果强行不用的话,嗯,就要改了什么地方都彼此知道,否则的话有可能别人改了某个函数你不知道然后还一直觉得自己非常潇洒地敲了几行代码天衣无缝,简单,怎么会有bug,然后看了好久想起来去看自己调用的函数,发现已经看不懂了,GG。
在享受到新工具带来的优势之前摒弃旧方法确实有点难以接受,但是反正这东西又不会有什么损失,所以个人认为无论是java语言上还是使用的其他工具上有什么新东西尽可以放开一试。
另外,虽然说上课内容有点无聊,而且project又……不能说用不到但是真的不用也没啥大影响,但是我个人还是觉得notes上的材料至少还是可以看一看的。很可惜快final才发现这个事情而又只能默默看视频了。
[COMP3111H]活生生的反例
课程时间:2014年Fall
授课教授:Charles Zhang
这门课Skeleton Code存在的意义就是告诉你不好好地做Software Engineering会有如何可怕的后果,于是上这门课的第一件事情就是把Skeleton Code删了。
H与非H没什么区别,能上H就上H拉倒。
Charles Zhang英语很不错,可与严民一争。
虽然并没有做任何我们觉得是bonus的东西(也就UI借(chao)鉴(xi)了Google),但最后bonus competition拿了第一我还是很意外的。
以上就是我对这门课的全部回忆,你问我课上讲了啥?讲了那啥啥啥来着。
[COMP3111]Software Engineering
课程时间:2014年Fall季
授课教授:Zhang Chuan
这课换了教授之后呢,内容变了,project变了,感觉很无厘头。
project的workload不小,可惜只占40%
两次考试,纯背书,很像考政治课,考虑到prof是北师大历史系的就释然了。。。
[COMP3111]张川是个好教授,但是这课烂到够
课程时间:2014 Fall
授课教授:Charles Zhang
垂死病中惊坐起,人品不好没上 H。
张川是个好教授,面目和蔼讲课逗。
先说 course project,史上最烂 skeleton code。
架构语言全定死,honor track 亦如此。
版控竟是 CVS,这货居然还没死。
Swing UI 出奇丑,最终功能太简陋。
考试内容太文科,概念全都过时了。
问我这课怎么样,笑叹你们还 too young。
[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我觉得很难懂,很多奇奇怪怪的单词……