大学学习中如何获取知识
大学学习中如何获取知识
写作动机
- 做了一个学期的梦拓,发现很多新生在学习时有些墨守高中的习惯,不善于获取知识,这不利于适应大学的学习和生活。大一还保持高中的那种习惯不怪他们自己没有改变意识,因为大一的大部分课程(各种数学物理英语课啥的)完全可以套用高中的模式去学,即便是存在程设和数据结构这种对自学能力要求更高更奇特的课程,但由于学这些东西的途径还是刷题练习,所以高中习惯与大学学习情况不匹配的矛盾在大一并不能很好的暴露出来。作为梦拓,希望能通过这篇文章授之以渔,开拓同学们获取知识的途径。
- 这篇文章我今年一月份就想写了,但是一写就发现了出大问题的是自己。不出所料,下学期果真把自己学废回家种地了。为了让更多的人不经历我所经历的事情,这篇文章还是非写不可的。
BTW,有感觉文章中有不妥的地方或者想补充一些东西的读者可以评论区留言。
可能有的人认为下面的东西是所谓的“常识”,那恭喜你们的查资料能力大于等于我的查资料能力,我自愧不如。但是对于没有在这方面留意太多的同学来说,这篇文章应该还是可以在一段长久的时间内持续发挥作用的。值得一提的是,只看一遍这篇文章的收获可能只是记录了几个查找资料的好用的具体的网站或者其他信息源,要想让自己获得找到未提及的资源的能力,需要在解决问题时能主动想到类似目录部分的查找资料的思路。
学校提供的资源
这些可能是我们学习中用的比较多的:老师讲的课,课程课件,课程推荐教材,课程推荐MOOC,课程平台(如果有的话),图书馆馆藏资源,助教,身边同学,梦拓等。
对于教学建设得比较好的课程(比如6系的计组课设,无论是课程任务难度和合理性,实验教程,评测环境还是课程讨论区建设都很不错),学校提供的这些资源在国内可能几乎是最好的了,这些课程的学习出了问题最好还是先多找找自己的问题(主要是学习方法和态度方面);对于另外的一些课程,或许我们会感觉怎么用这些资源都很难受,这个时候不要先否定自己的能力和努力(当然如果真的是自己不用心那确实应该好自为之,好好反思),可能真的是学校提供的资源不适合初学者去学习。
网络提供的资源
当费劲力气也用不惯学校提供的资源时,一定要善于利用网络的力量,去获取更多更优质的资源帮助自己学习。
首先,不得不说的是搜索引擎的选择。
学术问题,比如一些比较学术的名词的解释,一些技术上的问题和难点,能用Google尽量用Google。
用不了Google的话,那就Bing和百度一起上吧,知识技术问Bing,生活琐事问百度。另外值得一提的是,搜题的话个人感觉百度比Bing强一点点。最近这段时间百度放出来一个开发者搜索的搜索引擎,使用这个搜索技术问题的话,也能够一定程度上过滤掉一些明显的垃圾搜索结果。
(事实上,这个地方还有一系列问题,比如如何准确表达你的问题,以确保能够在网上找到你想要的结果等。这方面笔者仍然在摸索,等搞清楚一些门路之后会补充上,作为抛砖引玉)
(\(upd:\)关于如何提问)
说清楚搜索引擎的问题之后,下面给出一些可能能够获取知识的途径:
传统学习平台
这个可能是很多新生第一个能想到的获取资源的途径,例如中国大学MOOC,听起来就像是一个很学术的平台。这个上面可以查到很多MOOC,其中不乏优质课程,比如北大郭炜老师的《程序设计与算法》系列课程,是我大一下学期睡觉前必听内容。这个部分旨在让大家去到一些专门提供网课资源的平台去查找资料。
非传统学习平台
考虑一个场景:你出门在外,只拿了手机,突然想学习了。
这个时候,B站就成了学习的好地方。无论是想学什么,基本都能在B站上找到一些有趣而又干货满满的视频。例如从油管搬运过来的3b1b线代系列,MIT的Gilbert Strang老爷子的线代,大雪菜的算法,都是值得一看的好视频。B站上宝贝多的是,多搜搜肯定能找到对自己有用的。
如果你网络连接不受限制,那想必一定会去看YouTube,然而我在YouTube上只是看看一些新闻以及Johnfish大佬的视频,了解了解国外的事情以及国外的同龄大佬在想什么做什么,这样也挺好的。
这个部分旨在让大家查资料要解放思想,不要拘泥于传统学习平台。
经典教材
一个现实情况是:大学学习很多时候是看课件,中小学学习大部分时间在做题做教辅,所以相当一部分同学可能一直没有看教材的习惯。在大学从功利的角度来看,课件内容往往和考试关系很大,对着课件突击似乎是个拿分的好方案。但是课件只是一个大纲,有相当多的东西需要配合课堂食用,如果恰巧没有听课,在看逻辑不太清楚,内容比较省略的课件时可能就越看越感觉痛苦面具摘不下来了。另外,有时候课件连大纲的作用都起不到,你会感觉虽然每页ppt都有标题,但是你不太清楚怎么把这些标题的树形结构捋出来,这样会导致你可能不知道上一页ppt和这一页是并列的关系还是从属的关系。这个时候,教材这个随身携带的老师就派上大用场了。如果学校用的教材讲得稀烂,大不了就去找好懂或者讲得深刻的教材去学习就好。另外,根据笔者个人的学习经验,读一本好的教材,学习到的知识的广度和深度,学习效率以及压平学习曲线等方面通常是其他资源所不能比拟的。读厚厚的教材并不是浪费时间,如果你读的真的是一本好的教材的话,那么通过教材来学习可以节省大量自行查阅其他资料来补充某些资料的缺陷的时间。
关于如何去找适合自己的教材的名字,利用搜索引擎直接搜索"xx课程推荐教材/小白教材"之类的,一般会搜出来知乎的某个讨论帖,进去之后广泛地调研一下讨论中提到次数比较多的一些教材(主要是搜一搜这些书的目录),看看是否真的看起来适合自己,最终确定自己要获取哪些资源。
在确定目标之后,如何获取这些资源呢?习惯纸质书的同学就直接买或者在本校图书馆里借阅(尤其是某些“一次性学科”),买一手还是二手看个人喜好和财力;习惯看电子书的同学,就搜一波pdf资源。关于pdf资源的获取,有的书不一定好找。其实搜电子书这件事儿也是很有讲究的。如果想白嫖,可以尝试在这个网站搜索自己想要的电子书资源,多半不会让你失望的。如果得不到免费的电子书资源,有一些情况下可以买到付费(但是相当便宜,几包辣条的价钱)的pdf资源,例如淘宝或者其他一些地方。当然,电子书的合法获取方式应该是去学校的电子图书馆搜索学校已经购买的电子书资源。
笔者打量了一下自己的成绩单,发现主要靠教材(特指实体教材)学习的课程的总评得分明显高于主要看ppt的课程的总评得分,某些ppt上大放水带往年题的课除外。
这个部分旨在让大家不要忘了通过读好的教材来学习课程知识,不要拘泥于课件。
各类QQ/微信群
课程群不用说了,里面肯定有老师发的资料,咱现在来说道说道水群的资源如何利用。
6系同学都知道一个获取有价值信息的方法,叫做聊天记录搜索法。该方法使大量6系学子在CO,OO,OS,Compiler等课程中顺利渡劫,只要在微信群聊天记录的搜索功能中搜索“testfile xx”,“labx yy分”,“强测第x个点”,"weak/mid x",甚至直接搜"hxd",能搜到自己想要的测试点可能的错误问题。由于聊天记录有搜索功能,所以大家能快速的找到有价值的信息。除了搜这种测试点之外,各个群的文件也要很好的利用起来,建议定期查看群文件,把能下载的文件都及时下载下来,不管当时的自己认为有没有用。事实上,在学期末或者不久的将来,有很多同学在群里问有没有各种资料,而这些资料早就在水群里发过了。虽然可能还会有人在官方群发相关资料,但是并不一定有之前水群的那个全或者针对性更强或者更有时效性(笔者通过两年半的观察,发现相同主题下,水群的相关资源很多时候比正儿八经的群的资源更让人眼前一亮)。自己手快存的早没过期,就能有资源和信息上的优势。如果能控制住自己水群的欲望,可以把相关课程所有老师班的群都加一遍,获得更多的信息渠道,我不会告诉你某人曾一学期加了几十个课程群从而获得巨量信息的。
这个部分旨在让大家合理利用社交平台获取信息。
论坛/社区/讨论区
关于如何提问(感谢某软工老师提供链接)
学习计算机科学相关的专业的话,遇到某些特殊的技术问题,比如某某环境如何配置,某某程序出现了令人诧异的错误,有些时候在网上查了一通也只是只能找到一些不能对症下药的解决方案,这应该是新生常遇到的情形(其实可能在学习的任何阶段都会常遇到……吧)。这个时候,我们可能迫切地需要一名“专家“来了解我们的问题,并尝试获得对症下药的方案。而助教,老师和同学或许也不知道/没空去解决,这个时候该怎么办呢?
论坛/社区/讨论区就是解决这个问题好去处。比方说stackoverflow,可以从这个上面直接进行提问或者搜索各种计算机技术相关的问题。如果是提问的话,一般三五分钟之内就会有国内外的大神来回答你的问题(或者来批评伸手党)。为了避免被批评,你需要先尝试去搜索这个问题是不是别人提出过的(一般都是别人提出过的),然后尝试其解决方案未果后再来提问。有一句笑话是这么说的:当你习惯于使用stackoverflow来解决问题的时候,你身边的人向你请教问题时都开始叫你大佬了。虽然这话很fAKe很扎耳朵,但是它想表达的意思相信大家能够理解。
stackoverflow是全英文的,提问和回答都要使用英语,但这并不能成为你把它做为求助时的下策的理由。为了解决问题,为了提高自己的水平,语言障碍这一关必须勇敢地跨过去。
不过,有可能我们的问题不是计算机科学相关问题呀,比方说可能只是个不定积分不会算,用小猿搜题啥的也搜不到,有没有可以问这种问题的地方呢?
当然是有的!stackoverflow系列中有一个叫做math.stackexchange.com的论坛,只要你会markdown或者LaTeX语法,能看懂英语,那么就可以在这上面搜索或者问问题。类似的,物理和化学也有对应的网站,你只要把URL里的math改成physics或者chemistry就好了。
如果你这些地方都不想去,退而求其次的话,一些比较学术的QQ或者微信群也还算凑合。
知乎也可以提问或者讨论,一些关于某个问题本质(如“如何理解xxx”,“xxx的本质是什么”)的这种问题还是有不少人能一针见血的解释出来的。但即使这样,个人还是不太推荐,原因是一来知乎提问之后回答的速度赶不上上面那几个,二来知乎太乱了,可能问着问着就battle飞起了。
注意,在这种地方获取知识的时候,要搞清楚别人说的哪些是事实,哪些是观点,不要盲从。
这个部分旨在让大家意识到可以去一些专门提供问答功能的平台去获取知识。
他人主动分享的知识
考虑一个场景:我们现在不是想解决某个具体的问题,而是想入门一个东西或者学习一个知识点。这个时候,一些人在网上公开的学习笔记就是很好的学习资源,有时可能比读教材或者啃课件要学得快。
那么,哪些地方会有这类资源呢?
- 博客。这个很常见了,如果你正在搜的是个计算机领域的东西,不管用什么搜索引擎,都很难搜不到相关博客。当然,博客这个东西是不同水平的人写的,质量参差不齐:有精力自搭博客的人,里面的博客质量也一般比较高;博客园的相当一部分博客也不错;CSDN的博客个人感觉搜出的结果中容易有很多比较水和互相转载的,不太容易搜到很好的用来学习知识的博客,但是在配环境出bug的时候在CSDN上却能找到很多奇怪的解决方案,虽然不一定每个都有用,但是总还是能碰到有用的。
- 简书。同上,简书里也有很多学习笔记,质量一般来说还行。
- 知乎。同上,质量一般还行(可不是嘛,不行的估计都被喷死了)。我在知乎查资料的一个习惯是先拉到最后看评论有没有勘误或者喷子,再决定看不看这篇文章。
- wiki。和上面的区别是,这里的内容是很多人来维护的,相对而言错误少一点。常用的是维基百科(网络连接好的话),OI-Wiki(各种和传统算法相关的东西)。
另外,分享Daniel学长对于CS专业同学没有明确要求但推荐掌握的技术清单 。
\(upd:\)在这里必须说明一个事实,虽然从这些地方能够遇到知识和技术的精华部分,但这一般是我们看了十几篇甚至几十篇良莠不齐的文章才能总结出来或者遇到的。在读了一些书籍之后会发现,很多时候我们费劲心思查到的零零散散的资料,其实在优秀的书籍中都写得明明白白。思考一下,能够明白为啥出现这样的情况:书既然能出版出来,能成为名著,其编写过程肯定是花费了很多心血,无论是正确性还是覆盖面都会表现得比较好。
教程
考虑一个场景:你要写某个大作业,结果发现自己因为太摸所以现在还不会完成这个大作业需要的技术,你想快速上手该技术。
这个时候,就是各种教程闪亮登场的时候了。一般来说,网上的一些技术教程存在的意义就在于让你以非常可怕的速度入门一个新技术,从该技术的newbie状态到practice状态(如果说你的目标成为使用这个工具的master的话,请阅读书籍,文档和源码进行深耕)。
菜鸟教程,廖雪峰教程是我经常用到的教程,它们曾教会了我如何快速学会使用Java,python,Git,html等,我相信未来还会通过菜鸟教程入门很多新的技术。
\(upd\): 做得比较优秀的教程会做成类似OJ的形式,用来实时地检测学习成果。这里的OJ可不限于学习算法和数据结构的时候学习用的OJ,比方说这个网站就提供了前端练习用OJ,其中的项目作业就使用了一些手段去测试我们有没有按照题目的要求完成其提出的各种各样的前端需求,从而决定我们是否完成项目。
文档
考虑一个场景:你正在写某个大作业了,结果发现自己在使用从某教程中学到的东西时报错了,或者不知道除了教程以外的一些其他用法,你在查阅了一番博客之后感觉大多是隔靴搔痒,没有看到自己想看到的细节,非常难受。抽象来说,你对某个产品的使用方法不了解,你想找到一个”权威说明书“。
这个时候,你需要的可能就是各种(官方)文档。文档兼顾了易读性和正确性(博客易读但不一定正确,源码正确但不易读),如果只是想知道某个东西怎么用,以及使用时出了问题想知道可能是哪些原因,读文档应该是最好的选择。值得注意的是,大部分工具都会有相应的文档供用户查阅,并且一般文档就在官网里面。文档一般是按需查看,一部分文档可能会有新手快速入门的相关内容。文档一般是全英文的,这便是CSer要学好英语的重要原因之一。
举个例子,笔者写OO作业为了防止掉到坑里经常查阅Java SE文档,造评测机要看python文档,上学期matlab写matlab大作业要看matlab文档,寒假负责数据结构辅导时遇到不会的需要查cppreference,OS实验课部分需要查阅MIPS R3000
手册(有用,但是可能没时间看),基本都是用到什么就查什么,有兴趣的可以点进去感受一下。
另外,文档(其实不只是文档)中会出现一些可能在内行人眼中过于基础但是小白却不知道的规则或者暗示,第一次接触文档的人可能会忽略这些或者直接想当然,这样很有可能导致使用错误,出错之后痛骂自己智障/文档作者没写明白,所以第一次接触文档时要适应一小会儿,踩几次坑,然后就知道了。
多说几句,官网是非常可靠的,信息量必然是最全的,所以有问题在常规搜索引擎上找不到答案就去官网找,基本上能找到,剩下的唯一的难点在于读下去并读懂官网的解答(又是语言问题)。不过根据经验官网的解答一般还蛮好懂的,所以乐观点。
在线工具
考虑一个场景:你得到了一个作业,发现你电脑上没有做这个作业相应的环境,而你又痛恨之前配环境踩坑的经历/支付不起要用的软件/找不到正规的下载安装渠道。
这个时候,在线工具的作用就体现出来了。在线工具,能够让你免于配置环境之苦,免于金钱支付之痛,免于使用盗版之愧疚,只要注册一个账号,连上网即可使用到该工具的基本的功能,还方便和别人分享自己的工作成果,对于解决燃眉之急是个很好的选择。
重要的结论再说一遍:如果只是临时想找有某种功能的工具,一定先看看有没有在线工具!
我自己用过的在线工具有:
- 在线LaTeX,有了它我就不需要在本地配置LaTeX的开发环境了,笔者用它写算法作业,笔者的室友在暑假生产实习阶段用它完成了一篇排版优美的论文。
- 图论作图,和别人交流算法题或者出题的时候会用到。
- 数学作图,寒暑假有时候辅导高中生时我会用里面的几何画板。
- 云剪切板,粘个代码或者只是想传个信儿的时候会用到,比较美观的我用过pasteme,洛谷云剪切板。
- 菜鸟教程提供的各种语言的在线IDE,例如Java,python等,在在线IDE上写算法题完全够用了。
- 在线正则表达式,OO求导作业用它测过一些超长正则表达式的结构。
- processon ,OO博客作业需要画类图的时候笔者会使用这个在线工具进行画图,功能比较够用。
- acwing的云端编辑器,专为算法竞赛使用C++的选手打造,模板级补全能直接补全C++描述的算法竞赛常见的算法模板,用上它编码速度约等于开挂。
室友用过的在线工具:
- colab,提供一些计算资源,可以拿它来训练模型,似乎可以白嫖。
在线工具也是工具,所以一般也是可以在该工具的网站上找到帮助文档的。
这部分旨在让大家知道有些很难配的软件不用在本地配,直接在网上用在线工具硬怼就行,云端的应用香得一批。
论文
我基本没读过计算机科学相关的论文,但是写四大文科作业时没少在中国知网上查论文资料。有一说一,这确实是帮我们写四大文科作业时水字数的利器。顺带说一句,网络连接不受限的话,人肉翻译维基百科上的内容也能水四大文科作业字数。
论文综述是个好东西,仔细读一读能让自己对一件事情的来龙去脉有比较好的初步理解。在某些情况下读综述可以帮助自己高质量快速完成科技向文字大作业。
SCI hub也是个查论文的好地方(hub都是好东西),只不过需要特殊的网络连接。值得一提的是,这个网站是侵犯著作权的。
如果是要获得最近几天甚至当天发表的论文,可以去arxiv查(感谢人工智能研究院的刘偲老师介绍)。
翻译工具
考虑一个场景:你在使用上面的方法获取知识时,发现自己难以跨越语言障碍。
谷歌翻译比较常用了,访问一般不受限制,翻译的一般也还行。
deepl,著名OIer/哈工大CTFer RXZ推荐的。比较擅长翻译长句子,比较适合写基物英文报告时汉译英偷懒。
在线词典(牛津,朗文等),当你觉得前两者翻译得实在离谱的时候就查查看某些单词吧,自己动手,丰衣足食。
学术英语,不太清楚,至今头疼,目前的做法是见招拆招记在小本本上(upd:已经改成专门开一个文件积累了,打字真快真香hhh),标个TO DO吧。
有道似乎在这方面提供了一个专门看论文的时候批量翻译的功能,但我忘了,有兴趣的同学可以去试试。
一些BUAAer可能需要的资源
下面列举的是一些BUAAer可能会用到的资源,笔者就不多介绍了,懂的都懂。
欢迎各位读者批评指正!