0%

西电计科课程学习

西电计科课程学习

个人简介:

  本人是XDU19级CS学生,曾获2019-2020学年国家奖学金,大一学年综评:2/457,M2:2/457。目前在计科大数据与智能方向。

概述:

  本文的主要内容是结合本人的一些想法与观点以及优秀学长的学习经验,对西电CS所开设课程分学期进行一个比较清晰而全面详尽的剖析与学习经验&学习技巧分享,希望能够对计科学弟学妹的学习有所帮助。

大一上

高数

  高等数学这门课非常重要

  首先,在学分方面,高数完爆其他基础课程。在所有的大类基础课中,上下两册高数都是5学分,加起来总共就是10学分,那么想要卷奖学金以及未来希望保研的大一同学们一定要认真踏实地学好这门课,尽量把总评分拉到**90+**。

  其次,高数是我们在大学中学习的第一门数学类课程,有着重要的承上启下的作用。高数中学到的微积分的思想以及各种数值计算方法,对以后要学的课程而言有着很大的影响(比如大物的分析与计算过程、信号与系统中需要求解微分方程等等)。

  高数能够为你在大学中的数学学习打下一个良好的基础,多学数学永远没错。对于本专业的同学而言,有一个良好的数学基础能让你在未来走得更远,个人的发展上限也能有相应的提升。

  高数的学习经验:

  1. 认真听课,要把课本 or ppt上的定义、定理等重要内容搞清楚,记牢,且不能混淆概念。
  2. 无论是课本上的例题或者是ppt中老师选取的典型题,都要搞懂解题思路与解题步骤。每章的课后习题都要找时间做一遍,尤其是微积分那块,有些技巧只有做了题才能掌握,熟能生巧。对于题目不能光做,还要学会做好总结与错题整理。
  3. 期中期末:在已经熟练掌握书本知识以及老师的ppt内容,且将例题、书本课后习题都过了一遍的基础上,需要做几套往年题练练手感,个人建议在考试一周之内做题,不要把做真题的日期拉得离正式考试太远,否则会影响临场手感。如果实在是一周之内没有连续时间去做高数题,可以提前两周找时间做,然后在考试前把真题拿出来再看两眼,过一遍,加深印象。西电的高数出的并不难,只要做到上述几点,80+是没有问题的。只要平时再踏实一点,多付出一点精力,加上临场的小智慧,90+也可以手到擒来。

计算机导论与程序设计基础

  这门课是计科专业的第一门程序设计类的基础课程,是非常重要的打基础的课程,因此一定要给予足够的重视。老师会通过学校的 OJ系统定期布置上机练习题供同学们练习,并且会计入总评成绩。个人建议一定要把OJ中的每一个题目都完全地、自主地从0开始写出来,直到最终debug完毕,并且评判为AC。

  这门课的重点并不在于编程的理论知识要掌握得多好,而是完完全全地落在上机敲代码的实践之中。不能光听老师讲课,编程语言语法什么的学个大概,关键在于实践巩固。 以前没有接触过编程的同学们可能会在课上或是实际编程时感到吃力,这也很正常,放平心态,多刷OJ题,多debug就好。

  有能力并且对ACM等编程类竞赛感兴趣的同学可以加入西电ACM的大家庭,学校的ACM总群:116225686。
  Tips:
  1.一些入门级的OJ:百练、PAT等,在debug时要利用好搜索引擎。
  2.多看相关的书籍,多敲代码!多敲代码!多敲代码!
  ※程序设计基础-XDOJ-C源代码 提取码:xw2i

其他基础课(思修军理工图大英)

  思修、军理就是背书,结合复习资料复习即可。工图不多说,是一门各凭本事的课,计科专业以后应该也用不到叭。。。大学英语想拿高分很简单,平时不缺勤,认真完成各种任务,做好作业就行。英语的期末不是很难,英语基础较好的同学可以轻松80+,这样下来英语的总评可接近90。
  ※2018思修客观题题库 提取码:fwws
  ※2018思修主观题题库 提取码:2kju
  ※2019军事理论课程复习资料 提取码:ttbf
  推荐微信公众号对策府库,里面涵盖了几乎所有重要课程的练习册答案、MOOC答案等。对策府库交流群:516999193。

大一下

Python /JAVA

IDE选择
  建议使用IDEA(Java)和PyCharm(Python) , 两者都是JetBrains公司的产品,使用西电学生邮箱注册可以免费使用。

课程选择

  根据自己的喜好来进行选择吧。

  我当时选的是李光夏老师的Python课,感觉老师教的不错,课程内容基本是面向0基础同学设计的,对刚学习py编程语言的同学很友善,课程难度不高。本课程拿高分还是比较简单的,把ppt好好看一遍,记住一些重要的概念如封装、继承等,期末卷子并不难,填空和简答基本是对着ppt出的,后面的手写代码题也是基础内容。

  据说教JAVA的王煦老师人不错,和蔼可亲、言语诙谐。

  JAVA中重点在于面向对象编程的思想,建议先花点时间看看C++的面向对象程序设计,这样就能很快适应从C编程到JAVA编程。
  ※Python程序设计实验源代码 提取码:y345

程序设计基础课程设计

  当初老师给了我们9条题目让我们写,最后要设计一个图书管理系统。整体来说并不难,相关代码网上也有很多,重点是要理解算法和自己动手解决bug,而不是只会Ctrl+C Ctrl+V。这门课给分也挺高的(可能也分老师?),基本上题目都做出来了,最后上交课程设计实验报告就有90+。
  ※程序设计基础课程设计-源代码 提取码:da52

线性代数

  之后机器学习会用到很多,但是这门课学得很浅,而且考察很水,建议找MIT的线性代数课程看一看。中英双语,老师语速很友好,顺便可以练一下听力。

  线代有两次小测试,计入总评,要重视一下,似乎占的分值不少。此外,应该还有Matlab上机练习(当时疫情期间不在学校,我们这届似乎没有这一项活动,有点遗憾)如果有同学想用Matlab但是又不想安装,可以使用线上Matlab环境。例如免费的 User.me , 相当于一台装了Matlab的私人云主机,能满足计科学生学习Matlab的基础需求。
  在这里安利一下b站杨威老师的满分线性代数课程。如果有老师不给ppt的话,可以靠课本结合该课程进行学习。当时疫情期间可能试卷出的非常非常水,基本能40min交卷,这也让我侥幸拿到了大学里第一次100的课程成绩。

离散数学I

  这门课是计科同学们接触到的第一门专业核心课,也是比较重要的一门数学课。这门课的特点是概念非常多,注重逻辑和抽象思维的培养。要想学好这门课,对概念的理解与融会贯通是必不可少的一个环节。我当时是整理了一本笔记来帮助自己理清各个章节的概念与定义的。个人建议把重点的、典型的例题和典型题会做就行,没有必要追求把所有课后习题都做一遍,意义不大。

  这门课最后的考试也比较中规中矩,不出偏题怪题,基础掌握好就没啥问题了。ps:打印店的往年题基本上都是诸如14,13年左右的题,做了意义不大,当然买了看看还是可以的。
  ※离散数学-个人上机题 提取码:x5g4
  ※离散数学-个人上机实验报告(仅供参考) 提取码:e9ks
  ※离散数学-个人手写笔记 提取码:v6t6

大学雾理I

  首先要明确一点,大物其实本质上而言并不难学,不要被外界的风声扰乱自己。

  个人觉得学校用的课本写的还是比较好的,结构清晰,内容解释也不啰嗦,基本上是属于言简意赅的那种。上课一定要认真跟着老师的思路走,听不懂的先放下,等课后回去再自己看书看ppt去体会、思考老师课上讲的内容。

  习题册一定要认真做,独立完成。遇到不会的题目要对照后面的答案搞懂。西电的大物有个传统,就是选习题册和往年题去考。所以考前一定一定要复习那两本习题册,然后买往年题刷一刷。如果习题册实在有重要的题但却搞不懂的话,背答案也不是不行(这仅仅是为了提高绩点的下下之策)。
  ※大物上册-个人手写笔记 提取码:4sb3

近代史纲要

  ※近代史纲要笔记-手写 提取码:4efr

大一下暑假——数模国赛培训

  ※国赛培训第一阶段培训课件+资料 提取码:h3mv
  ※国赛培训第一阶段培训作业+源码 提取码:e5j2
  ※国赛培训第二阶段培训作业(15A+18A+19C+20深圳杯) 提取码:2yjg

大二上

数据结构

  这门课是计科本科四大核心课之一,重要性不言而喻。这是对编程能力提升的第二个阶段。一定要掌握好书中写的各种数据结构及算法,核心是搞懂算法的设计思想及其具体的编程实现。

  还是那句话,多敲代码!多敲代码!多敲代码!。xdoj上的题还是很好的,每个章节都有对应的题目可供练习,一定要自己动手把每个题都做一遍,不会的要看别人的代码认真学习。

  期末: 计科的数据结构期末有机试和笔试。机试是一共四道题,两道AC就机试部分满分,多做还能加分(加到总成绩上)。应该平时把oj上的题都弄明白了也没啥问题。笔试的话,需要找往年题写一写,有一定概率老师会零散地出一点往年题进去。笔试要想考好就需要注重数据结构和算法的理论学习了,当然,笔试也并不难。
  这门课挂科率还是挺高的,需要重视。
  ※数据结构上机+实验源代码 提取码:h55n

数字电路与逻辑设计(数电)

  本课程是一门计算机领域的硬件基础课。因为我们CS专业的学生,不仅要学好软件,对于一些基本的硬件知识也要清楚。

  这门课学下来是感觉比较简单的,但是学的知识都很重要,在大二下的数电实验和大三上的微机原理都需要用到这些知识。当时教我们的是张平老师,老师人美心善,上课讲课极其耐心,属于保姆式教学,生怕学习不能掌握,且平时分直接拉满,张老师yyds!
  本课程的重点在于组合&时序逻辑电路的分析与设计。要把书上的典型例子弄懂,把老师强调的重点都认真过一遍,考试也没问题了。我们当时出的试卷似乎量比较大(但好在都是老师讲过的题的变化版,难度不大,平时认真学了就会写),基本上没多少人提前交卷。做题的时候要耐住性子,不慌不忙地进行答题,确保耐心与细致。
  ※数电-个人手写笔记 提取码:btgj

电路分析基础

  这门课似乎不怎么容易学(可能也分人吧…),至于这课被安排在CS的课程体系中是否合理这件事我们暂且不论。这门课是西电传统课,它能帮助你理解低压电路上的工作原理,为以后的课程打下电路分析方面的基础(尤其是信号和模电)。

  当时教我们的是一个老奶奶,师讲的时候思路挺清晰的,就是太快了,学生不容易跟上。学期最后换成了王松林老师,讲得不错,学生能接受。我这门课基本上是自己看书自学的。考试的话,就做做往年题吧,难度属于中档,不简单也不是很难。ps:这课挂的人也比较多,还是花点功夫为好。。。

概率论与数理统计

  这可能是大多数计科同学本科阶段学习的最后一门数学课了。这门课最重要的是要把握好贯穿于课程的思维方式。这课里面有些东西很有趣,建议认真听,如果以后往机器学习方向发展,可能会有用到(如贝叶斯分类器,决策树之类的)。当时教我们的是王炳波老师,讲课挺生动有趣的。

  期末考试难度适中,建议在考试之前买往年题熟悉熟悉考试的题型,顺便练一下手感。这门课在计算方面要用到不少高数里微积分的计算方法和思维,因此话说回来,还是要在大一打好高数的良好基础。
  ※概率论与数理统计-实验报告(仅供参考) 提取码:7xnv
  ※概率论与数理统计-个人手写笔记 提取码:u7e9

大学雾理II

  学习方法和上面讲过的大物I基本类似,不再赘述。

马克思主义基本原理

  ※马原手写笔记 提取码:

大二下

最难顶的一学期

计算机组织与体系结构(计组)

  这个课非常非常的重要,学分是计科专业大学四年里最高的(5.5学分),也主要是对计算机的硬件组成和体系结构进行一个全面的理论讲解,比如冯诺依曼结构、数据的表示、存储结构地址映射与变换、磁盘如何存储数据和寻找数据,CPU流水线等等……并不会涉及到具体的编程内容(例如汇编语言等)。
  上课一定要好好听,认真完成老师布置的作业。 要想真的学好这门课,就必须把课本上的知识全部吃透。虽然学这门课的过程还是比较艰辛的,但是最后会发现如果把所学内容划分成一个个小知识点来看,并不很难。基本上只要搞清楚书上讲的基本概念然后在此基础上能做典型题就行。当然,能做到这一点已经非常不容易了,这需要课后花一定量的时间和精力去不断巩固、完善自己的知识体系。

  这门课挂科率比较高,据说是每年挂40% 左右的人,但是不要被这个冰冷的数字吓到了。期中期末考试之前,老师会发一个复习提纲,基本上涵盖了考试必考的内容。只要对照提纲认真复习书本和课后题就问题不大。我们今年期末考的算比较容易的,这可能会对后两年出题造成影响qwq。。。

  这个课与大三上《微机原理与系统设计》课程紧密联系,偏向于理论上的研究。

  在西电学堂上有一套完整的视频讲解,搜索”计算机组织与体系结构”(其实也是上课回放),如果有上课听不懂的地方可以去听。

  这门课关键是需要多想,想想为什么要这么设计?与其他方法相比好在哪里?

  这门课还有一个重要思想,在很多时候设计中有 A 方案,也有 B 方案,但是他们都不是最完美的方案,就需要取一个折中的 AB 方案,既有 A 和 B 的优点,在某种程度上也克服了 A 和 B 的缺点。

  考研的核心课程,要好好听,不管是保研还是考研都很重要。
  2021计组期中复习要点(from教研组)
  ※2021计组期末复习要点(from教研组)

计算机通信与网络(计网)

  来自某个学长的建议:“建议看另外一本书籍《计算机网络:自顶向下方法》。建议关注一个知乎用户:车小胖。学习的时候多去问几个为什么,然后把里面得帖子文章都浏览一遍,还是相对而言比较的通俗易懂。因为教科书里面的话比较的严谨,并且经过了字斟句酌,导致经常不说人话。”

  这门课的特点是内容巨多无比(教材是佛罗赞的《数据通信与网络》黑皮书,将近700页的字典级课本,要学的差不多有27章),比较繁杂,教材是英文教材的翻译版,总体来看写的还行,不是非常晦涩难懂,只是需要非常静心地去看书。

  这门课对学生的要求不是很高,因为内容较多也较分散。建议平时的时候一定要带着做章节习题,不要堆在期末才做,不然没时间。在考试之前一定要对照老师发的复习提纲把书过一遍,一些重要的概念要记住。考试难度可能每年不一样,今年我们考的比较基本,基本上都是把重点考了一遍,只要平时认真学了就没啥事了。最后一个大题和2020年最后一题有些相似,也是子网划分,分配ip,掩码和聚合等东西。
  ※2021计网期末复习要点+iPad手写笔记

操作系统(OS)

  感觉这门课学起来不是特别难,应该会比计组计网轻松一点。这门课围绕计算机操作系统介绍了作业管理、进程管理、死锁、存储管理、文件管理、设备管理等内容,每一章的逻辑还是比较清晰的。
  还是那句话,平时的作业要好好做,基本上和考试题类似,考试题也并不会超出作业的难度。
  ※操作系统期末知识点归纳(随笔)

信号与系统(信号)

  个人觉得这门课学起来是大二下学期最简单的一门课(可能是因为我感觉这门课偏向于数学吧qwq,就是一些计算,没有多少需要深入分析的东西)。

  平时好好听,三本练习册好好做,公式啥的记牢就行,期中期末难度都还行,但今年的期末似乎是近几年最难的一次,不过好在计科老师进行了马里亚纳海沟的海底捞,大家成绩都不低。这门课应该不太容易挂吧(隔壁通院似乎很惨,不说了hhh)。。

  我觉得这门课就只要吃透课本即可,不需要费时间去看MOOC啥的(如果觉得学起来吃力就康康咱们学校的MOOC就行辣)。当然学校会要求我们完成MOOC的《信号与系统》、《工程信号与系统》这两门线上课,个人觉得迅速刷完课时然后按时完成单元测试和讨论区任务就行(这就是用来送分的模块)。

  学习信号与系统需要有电路分析的简单基础,这门课也是大三开设的数字信号处理的基础课程,为后续做图像处理、机器学习打下了很好的数学基础。
  ※信号与系统大作业(仅供参考) 提取码:uhvs

模拟电子技术基础(模电)

  这门课也是我觉得计科课程体系中安排得不太合理的一门课(小声),而且难度也比较大(不谈论考试难度,仅课程内容而言),以后如果不从事硬件方向估计不怎么用的到模电叭。。

  教我们模电的老师是付少锋老师,功力深厚无比,幽默风趣,能看得出他应该在这方面挺有“才气”的老师,但是他讲课风格比较跳跃,思路比较快,一般的同学比较难以跟上他的节奏。

  要想学好这门课,感觉还是以下几个方面:课堂专注、书本认真看(包括新知识的介绍和后面跟着的所有例题)、重点章节的书后习题一定要全部独立写完。一般而言,光靠上课听讲可能不太容易一下子就掌握老师讲的内容,这需要我们回去之后再对照ppt和书本把不懂的东西再看几遍,多看看一定能懂,要相信自己。

  估计是因为照顾计科方向的同学,计科院的模电的期中期末考试出的并不难,基本上是填空、简答和计算分析和设计题。填空和简答都是基础性内容,很容易,计算分析设计基本上掌握老师讲的重点例题就行。我们老师考试前跟我们说大概有25分是ppt上的例题,结果确实是这样的,所以童鞋们考前一定要认真听老师嘱咐的话哦~

  ps:关于《模拟电子技术基础》,可以在中国大学 MOOC 上搜索”孙肖子 模拟电子技术基础”,讲解的比较细致,可以帮助你理解很多基本概念。提醒一点:这门MOOC的内容组织顺序和计科模电似乎不太一样,因此同学们需要结合自己当前所学章节进行学习。
  ※模电期末复习提纲+一些个人笔记

毛概

  上课可以选择不听,去做别的事(写作业、抄实验报告、记笔记…);每节课一定要把到签上,这是平时分的大头子;老师会在期末之前收大家的笔记,要求是纸质笔记,大概只要对着ppt写多一点字写漂亮一点就行;小组活动至少一次,基本就是做ppt上去讲就行了;期末考试是有题库的,选择题可能只考了上面的30%不到,但我们这届简答题是和题库里一样的,反正老师发的题库一定要好好看,尽可能背下来。
  ※毛概期末复习资料3套+笔记+简答题整理 提取码:v8kk
  ※毛概-手写笔记 提取码:isep

关于各种实验(信号数电计组计网OS等)

  大二下学期真可谓是西电计科最难熬的一学期,而你的周末也会因为各种实验而被疯狂占用,要提前做好心理准备哦~

一、电路、信号与系统实验I、II
  电路、信号与系统实验I在大二上学期,II在大二下学期。
  这门实验课基本上对大家来说问题不大,有手就行。基本上每节课老师会讲一下基本原理和实验步骤然后让大家自主完成实验内容(有的老师会演示一遍,这就很爽~)。只要你认真听了如何进行操作,不手残就能正常做完实验。而且不会的地方也可以小声请教旁边的同学或者直接问老师,老师应该是会提醒你哪里出错了的。

二、数电实验(电子线路实验I)

  这个实验课总体来说不是很难,就是教你怎么用Quartus II 9.0这个EDA去设计电路、进行波形仿真和用实验箱进行硬件测试。前几次课只要你搞到实验要用的电路图就行,到了实验室对着原理图画一遍再仿真仿真测试测试就行。最后一次课硬核,我们的任务是设计一个带有时、分、秒计时功能的数字钟,实验从下午15:00一直到晚上21:00,耗时较长,中途可以去吃饭。这个应该是最后的考察内容,各凭本事了,没有啥好的建议。
#综合设计——数字钟#

三、计组实验

  这门实验课是让我们用Quartus II设计计算机内部的存储器、运算器、节拍脉冲发生电路等等,能够让我们对计组课程内容有一个直观的、感性的了解。

  要想很快搞完实验有个Little Trick:在实验室的电脑的C盘里有计组实验所有需要用到的工程文件demo(应该是老师自己做的叭),都能直接用,但是还是建议大家搞清楚这里面涉及到的基本原理和数据的传递模式等。

  我当时选到的那个教室的老师特别特别水,基本上给他看一眼实验结果再稍微演示一下操作一下就能走了,别的负责一点的老师可能会出一些新花样,到时候同学之间互相帮助就行。
  ps:实验成绩计入计组总成绩。

#计组实验详解#

四、计网实验

  这个实验不难,根据老师讲的内容然后对着ppt操作就能完成实验,属于有手就行的实验。

  要注意做的时候要耐心细致一点,建议每次都提前在纸上画好自己实验要用到的拓扑结构图,把要用的Interface号和要配置的ip地址、子网掩码、默认网关都写清楚再进行实际的连线和配置操作。
  ps:实验成绩计入计网总成绩。

五、OS上机实验

  操作系统的上机实验是比较硬核的,需要同学们学习如何用Windows下的VC6.0 / Dev C++ 或者Linux系统进行编程,实现进程通信等内容。本实验一共有六次上机,也可以自己在宿舍提前做,做好了直接过去验收就行。
  ps:实验成绩计入操作系统总成绩。

#OS上机详解#

六、计算机组装实习
  就上一次课,基本上就是教你怎么拆电脑再装回去以及用光盘安装OS、系统应用软件之类的,实验结束后一周内交报告。

其他一些

#全面素质模块化测评实施办法# 提取码:ssyr
#M1-M5各模块测评细则# 提取码:q6uu
#计算机科学与技术专业培养方案(2019级)# 提取码:bdgw
#2017级计科院计算机科学与技术专业推免计算课程列表# 提取码:7ush

------------------本文已结束感谢阅读~------------------