Re: 关于数据结构与算法期末大作业的一些个人看法

X同学你好!

很高兴能收到你的看法,这样有机会能跟你聊下大作业背后的故事。

本来,数算传统上的期末会分为闭卷考试和机考两个部分,机考就是在onlinejudge网站里,在限定的时间内,做出几道算法编程题,让机器自动判断对错,并以此计分。

我接手数算这门课是从去年开始,我对这门课做了两个大改,一个是从C/C++改用Python语言来描述算法,另一个就是将机考改为小组实习作业。

最重要的出发点就是,我们的同学将来大部分都不会是专业的程序员,我不希望C/C++这样晦涩的语言妨碍大家体验数据结构和算法中所蕴含的美,同样,我精心创作的小组实习作业,也是希望能培养同学们用算法解决一个完整问题的能力,并从解决问题的过程中获得创造的乐趣,而不是埋头于解一道又一道的编程题。

那么,既然是解决一个完整的问题,就不像做机考题那么简单,它需要多方面的工作,所以我强调“算法”“报告”和“竞赛”三个环节,而且在评分标准上并不偏向某一个环节。即使是激烈的竞赛环节,实际上最终分数的分布也是9组3分,5组5分,1组6分,1组7分,1组8分,绝大多数的组分数差很小,更多的是荣誉上的奖励。

同时,这些工作的工作量大到一般人是无法在两周内完成的,所以需要小组合作,既然是合作,就不是所有的人做同一件事情,我在作业布置的时候也强调分工,一个小组可以有负责编程的、有负责测试的、有文笔好纂写报告的,每个人都应该根据自己的能力做出相应的贡献,并在这个过程中加深对课程知识的理解和锻炼合作能力。

当然,现实总是跟初衷有些偏差,由于我们从小受到的教育就缺失合作精神,这样就发生了你所看到的、大家都心照不宣的“抱大腿”现象。

但另一方面,其中也不乏不善编程却能够贡献算法思想、不善创作却能专于测试挑错、不善技术却能组织出条理清楚行文流畅的实习报告的同学,实际上所有的这些工作,如果能够高质量地完成,都值得得到这项作业的高分。

我的理念是,数算不是编程课,它是指导你如何用数据的眼光来看待世界,组织为不同的结构,并用适当的算法来解决问题,算法也不等于编程,它是一种思维方式,要做好上面的这几项工作,都需要这种思维方式的指导和自觉运用。

你父母给你的回答,我觉得你理解得还不够完整,我想补充的是,这世界上从来不缺乏天才,无论何时何地,总会有比你强的人在身边出没,你付出了大量的努力,还不如天才们谈笑间轻松解决。

怎么办?

如果你对自己有足够的信心和决心,希望将来能在这个方面成为能独当一面的强手,那么就努力吧!虽然过程不会那么轻松,但你会离天才越来越近。这也是在大学的学习阶段所应持有的心态。

但如果你对编程实在没有任何兴趣和动力,那就试着以自己其它方面的能力,去跟别人合作,无论是贡献思路、测试、写报告,只要积极参与,都会得到认可和相应的收获。

整个作业的过程中,我对各组的工作了解的还不那么细致,你提到的K/Z的努力和成效,是大家公认的,陈一潇同学虽然编程基础很好,但也投入了大量时间精力,才率领T组夺冠,技术组也投入巨大,完成了他们自己都想不到的工作。

但最令我感动的还是D组,许严他们从最开始简直是完全没有任何概念,连编个完整的代码都不顺溜,到写出了一千多行代码,并在南区高分出线,这其中的坚持是难能可贵的,虽然最后由于附加赛令他们止步8强,但这半个月来的巨大进步,令我也为他们感到骄傲。

至于分数,尤其是别人的分数,实在无需时时去盯着。

分数是别人的,能力是自己的。

谢谢你的来信,促使我对本课的小组作业做了更完整的思考,有机会的话,欢迎你来办公室聊聊。

祝学习愉快!

====================
最后,我想你可能有看到过这样一个微信推送:
http://mp.weixin.qq.com/s?__biz=MzA5MDI3NDUyMA==&mid=403689755&idx=1&sn=5f2c68602ed0f27dfc2def3c53deaf93&scene=2&srcid=0308GiPVXrTK16SmQp0wBoWj&from=timeline&isappinstalled=0#wechat_redirect
最后一段是这样的:

多年后我发现,其实毕业之后进入公司,融入一个部门,组建一个团队,也是相同的道理。

小组作业只是提前在大学里检验你往后的人生罢了。

《中国合伙人》里面说,不要和你最好的朋友一起开公司。你们的友情未必经得起合作,合作是一件比友谊要求更高的事情。

而其实大部分人,可能既不是那个讨厌的拖油瓶也不是那个挑大梁的组长,大部分时候也只是一个中间人。

回想起自己的每一次小组作业,很少主动去承担什么,每次看到组长对那些不负责的同学的无可奈何,最后自己拼命填坑,都既同情又庆幸。

可是仔细想想,那些背锅的组长们,并没有义务去服务我们,他们也没有额外得到什么。

但我相信,他们最终还是得到了回报的。因为他们学会了去承担更多东西,这或许是在温室般校园里难得的人生历练吧。

愿你一生

光辉灿烂

没有猪队友

===================================================

 

6 条关于 “Re: 关于数据结构与算法期末大作业的一些个人看法”的评论

  1. 自从我在MOOC平台找到了学习Python的最好的课程,来自清华的精品,再到我发现了这个新大陆,从此一发不可收拾,我会在这里学习到很多,尽管我不是清华学子,尽管我的专业与Python毫不相干,但是内心那种对他的热爱让我心血澎湃,再加之我有几个志同道合的朋友,哪怕为了他们,我也要一试!

  2. 因为python数据结构翻译课本路过的人,您对于课程的科学合理的设计,认真的考量,是值得钦佩的。昨天时值考研,我有一位同学考研本校,考研专业课题目质量出的很差,因为和当时上专业课那种各种知识合理分布合理赋分根本不一样,考研的试卷都可能是老师懒得出高质量的卷子,找个手下的研究生题库里四处抄几道题就对付过去了,就是这种卷子决定考生的研究生命运。

    • 谢谢!

      不过考研专业题在出题考虑方面可能更加偏向于考察综合解决问题能力,而非知识点的组合。

  3. 被老师的话语感动了。我虽然不是北大的学生,我的能力也远远不如北大清华的你们。但希望大家都能在各自的平台下努力,成为更好的自己!

回复 离宫 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*