cover | coverY |
---|---|
../../.gitbook/assets/layered-steps-haikei.svg |
0 |
{% hint style="success" %} 作者 @Ricky Xu {% endhint %}
晚上好呀。
这个系列其实筹备了有一段时间吧。最初想做这个经验分享的目的其实来源于一句话:
互联网的本质是分享。
对于未来要从事IT行业的你们来说,懂得分享将会是一句你们需要铭记终生的话。这不仅能帮助到他人、对你们自己也是受益无穷的。
在刚进入计算机专业学习的时间里,面对从未涉足的全新领域,相信很多人都会经历迷茫和忧虑,包括对未来的担忧与思考。然而,在努力找寻方向的过程中,如果有来自学长学姐的经验在旁辅助,相信你们在摸索的过程中能少走很多弯路。
如今我已经结束了大二的学习生活,即将踏上前往异国的旅途。因而我希望作为一个过来人,在这个平台分享我的一些经验。这些经验,其实很多也都是从历届学长学姐那里得来的,因而我在已有的基础上进行了一些补充和修正,希望能够对即将升入大二的18届同学们有所帮助。
以上。
经常有学弟学妹在选择计算机专业前会问我这么一个问题:
“计算机专业,学起来会很累吗?”
答案是,必然的。无论选择哪一个专业,想要在这个领域有所建树,都是要付出很多努力和汗水的。我希望所有在看这篇分享的同学都能清楚地认识到一点:如果你来西浦的目的是为了努力学习、改变自身的命运,那么你的大学生活应该是很辛苦的。
言归正传,其实当下很多同学是由于受到父母的影响,或者是因为IT行业大热的趋势等等因素,并非出于自身的喜爱才选择了计算机这一专业。因而,在碰到枯燥而难以克服的学习难关时,大家很容易就选择放弃了。
那么,作为计算机专业的新人,你应该如何迈好入门这一关呢?
很简单,找一些已经有专业背景且愿意分享的同系大佬带带你,多向那些已经“早鸟先飞”的同学们请教。相信我,你会从和他们的交流中受益匪浅。
同时你也应当有足够的批判精神,敢于提问,不要害怕质疑。要知道,我们是在讨论一门科学。严谨、细致的态度是非常重要的,关乎到你对整个计算机知识体系的构建。
我一直坚持的一个理念是:西浦的学生应当学会互相扶持、乐于分享,不要有过多的竞争心态。要知道,我们西浦的学生将来走出国门,不仅要和清北等名校出来的同龄人竞争,更是代表了西浦学生乃至中国学生的形象。只有我们西浦学生的整体实力越来越强大,才能起到一个反哺的作用,从而提升西浦的竞争力,让更多的人认可西浦。
最后,建议大家在进入大二之前,利用假期可以尝试着自学一门编程语言。Java也好,c也好,总之你要记住你自学编程语言的主要目的:培养你的计算机思维。很多人觉得思维是一种很虚无缥缈的东西,其实看似无关轻重却必不可少。拥有优秀思维的人往往在学习新知识时,能够很快抓住问题的本质,而这就是所谓的“天才”。从理解能力来讲,“天才”们对于计算机知识的理解层次往往会比正常人要深,因而他们学起来会轻松很多。
好了,话不多说,接下来进入正题。在接下来的推文里我会慢慢介绍大家将会在大二学习到的几门专业课,有关课程更详细的信息可以在e桥Programme and Module下的子条目Module Specifications中查到,此处就不赘述了。
这门课的名字叫计算机系统,是一门涵盖面很广的概念课,主要讲述的是整个计算机的架构,包括计算机发展史,计算机组成,汇编语言等等。虽然说是这门课主要讲的是概念性的知识,但请不要忽略这门课的重要性。如果以实用性来排序,大二上学期的四门课中最实用的应该是Java;但如果从基本功的角度出发,这门课所教学的知识是几乎每一个从事IT行业的人所必须掌握的。须知基本功越扎实,未来的上限也就越高。
这门课的讲师是关圣威。老关的声音很小,口语也不算地道,所以坐后排的同学往往难以理解他上课在说什么(其实第一排也有点难听懂,亲身经历)。所以,给大家的第一条建议,如果没有复习时把所有PPT过一遍的觉悟,那就老老实实抢占第一排位置听课吧。
这门课一共有24章课件,平均每章课件有三十面左右。课件的内容可以用三本书来概括:计算机系统结构(原书第2版),计算机组成:结构化方法以及汇编语言:基于x86处理器(原书第7版)。每章PPT的课后会给出很多习题,习题答案老师会在课上公布(注意,只会在课上公布,答案是不会上传ice的)。除此以外,还有几节专门的习题课。这些习题会有一部分以原题或稍稍改动的形式出现在期末考试题中,所以,给大家的第二条建议:如果期末想刷分,这些习题一定要好好做;老师上课口述的答案,要好好记下来。
然而,由于老师报QA的答案都是口述,所以有些题你很难听懂他在说什么,怎么办呢?
你有五种选择:
第一,翻阅老师的PPT,在课件里找到答案。
第二,在课本里查找答案。
第三,上网查找答案。
第四,课后去问老师(虽然你很难堵到他,老关下课溜得可快了)
第五,下面有彩蛋。
接下来讲一下这门课的分数构成,分别是两个Assessment(各占10%)和期末考试(80%)。两个Assessment都是写汇编程序,写好以后不需要把代码上传ice,只需要带上代码的hardcopy和你的电脑,在规定的时间去机房给TA演示你程序的运行,TA会当场进行打分。期末考试主要是考概念为主,每一年的试卷题型都类似,所以去翻阅一下往年试卷就可以了。选择题不难,考的都是概念题,认真学习了就一定会做,而且没有很多要死记硬背的知识点;大题前几年还有电路题,这两年考的都是手写汇编代码,也很简单,能写出两个Assessment就一定会做。
由于这门课还涉及C语言内联汇编的部分,而且有大量的内容需要你自学,所以如果想要拿到两个Assessment的分数是绝不轻松的,甚至可以说是有点难了。所以,给大家的第三条建议:入手一本有汇编指令的手册,方便查阅。因为老师课上讲的部分,对于要完成他布置的Assessment,实在是远远不够。至于这本手册的选择,我建议大家直接去看这门课的官方教材的附录,后面给出了很多方便而高效的汇编语句。
这门课是介绍数据库系统的一门课,同样也是一门覆盖面非常广的概念课。相比CSE101,这门课涉及的概念范围更广,知识点偏碎片化,内容上非常丰富,导师还会提供一些further reading放在ice上供大家翻阅。然而,令人不得不吐槽的是,这门课的期末考试考了不少further reading的内容,而且考察的范围非常大。相信我,有些题你根本背不到的,因为这是老师用来压分的一种手段。
另外顺便提一句,101和103是ICS专业课里唯二有教材的,而且…贼厚,涉及的知识点可能比某些商科的专业课还要多。所以在这里建议大家,提早养成阅读英文教材的习惯,不要去依赖中文教材!第一,长期看中文教材不利于你对英文概念的理解和记忆,因为涉及到语义偏差;第二,国内的中文译本不够严谨。有一些概念的解释和原教材或者说国际上通用的解释是有偏差的,不要小看这些细微的差距,这会影响到你对整个知识点的理解层次。当然,如果看英文教材难以理解,希望借助中文翻译是没有什么问题的,问题的关键在于切忌养成对中文教材的依赖性。
这门课的导师是Xiaohui Zhu。小灰猪人还是比较nice的,有什么问题课下发邮件过去很快就能收到回复,但说实话他讲课的口音让人比较难受。当然,这是西浦中国老师的通病。他有一个很特别的习惯是会连续重复自己的话好几遍,因而一般103的lecture都是大型复读现场。
接下来讲一下这门课的分数构成,分别是三个Assessment(10%,15%,15%)+期末考试(60%)。前两个Ass是合在一起做的,主要是关于数据库概念理解的,课下写完了把hardcopy交上去就行;第三个Ass是关于SQL语法的,当堂测试,应该是在最后一周的lecture上考;期末考试则全部是选择题,一共四十道,每题2.5分。
这门课的复习策略其实没什么好说的,就是要尽可能的把他发的所有资料(lecture课件、lab课件、课外阅读等)全部都看一遍,对于SQL语法的部分尽量多实践,在电脑上自己写写代码运行,有助于更好理解和记忆。
至于103的课件和攻略组做的复习资料,在这里也分享给大家:压缩包里的PPT都是上课的课件,复习资料一共四份pdf,其中三份是SQL,一份是期末复习的总结。further reading我没有保存下来,大家可以等开始上课了再慢慢看。