/bupt-cs-gallery

BUPT-CS-前六学期资料整理

bupt-cs-gallery

BUPT-CS-前六学期资料整理(rongtianfu@gmail.com)

关键课程简述

  • 高数or数分(上/下):我校高数和(工科)数分基本上没差别,注意看老师的PPT。重要参考资料介绍:
    • 《高数解题法》:第一版比第二版难,两版都大于考试难度
    • 《高等数学试题集》:题目风格与难度和最终考题非常相似,具有很高的参考价值
    • 《吉米多维奇数学分析习题解》:很有名,体量大,不过题目稍显无聊
    • 蒲和平《大学生数学竞赛教程》:题目稍难,里里外外清清楚楚刷三遍,可拿大学数竞一等奖
  • 计算导论与程序设计:注意这是四学分的重课,平时有编程练习,最后考试不太好拿高分,拿高分可能需要背一背概念什么的
  • 线性代数:比较有意思的一门数学课,比高数or数分要更重要,以后很多地方都需要用,证明思路值得反复看看,注意理解几何含义。期末考题略显套路,注意看往年题
  • 电路与电子学基础:学的时候一头雾水,课时所限,学到最后似乎只会做题,对这门课掌握有限,好在考试难度比较友好
  • 大学物理C:考试题目比较灵活,重要参考资料除了往年题外,还有一本《大学物理分类习题精选与解答》,紫色封面,北京邮电大学出版社,里面的题目非常不错,但早已不再印刷,需要自行寻找
  • 离散数学(上):获得感很强的一门课,感觉学到了非常多的东西,选用的教材《Discrete Mathematics and Its Applications》非常好,强烈建议看英文版,课后题量大管饱,仔仔细细做完所有课后题,考试可以获得很满意的分数。英文考试
  • 离散数学(下):显著比离散(上)要难一些,除了原有教材,过程中会参考另外一本《Discrete Mathematical Structures》讲一些补充知识,有一点难度,课后题答案放在了仓库里,和离散(上)一样,同样建议仔仔细细做课后题。英文考试
  • 数字逻辑与数字系统:PPT例题需要反复看,考试题比较套路
  • 概率论与数理统计:中规中矩的课程,从内容到考题都比较套路性,往年题参考价值很高
  • 计算机系统基础:分为理论课和实验课两部分,大名鼎鼎CSAPP,从CMU搬运过来的课程,实验部分是该课程精髓,令人印象深刻,网上有很多学长学姐编写的实验指导blog
  • 矩阵理论与方法:方法比较完备,套路性比较强,耐心弄清楚看书上的每一处内容即可。期末考核方式写大论文,给分不错,建议选
  • 数据结构:选用教材很经典,讲解速度比较慢,课程内容不算多,确保课上所讲内容完全掌握,反复阅读课程PPT,期末考试需要手写代码,拿高分不算难
  • 情景英语视听说:英语选修课里面比较好的课程,注意查看老师风评,如果是Lu老师讲课,建议选
  • 数据结构课程设计:大学阶段首个较大规模的课程设计,最关键的是选好队友。如果想要分数好看点的话,需要做前后端分离、图形化界面、多线程处理等,并完成附加任务
  • 计算机网络:教材选用很经典,是Tanenbaum的《Computer Networks》,这本书很好,但初学者读英文版可能存在一定的困难,推荐读《Data Communications and Networking》,这本书初学者直接读英文版没什么困难。平时有小实验,网上有学长学姐的教程。计网是典型的专业课,需要梳理各章节之间的关系,而不是单纯给题会做(这是学不好专业课的、也是拿不到好分数的),之前所学的课程仅仅是“纵向”掌握即可(各章知识点是什么?怎样解决问题?),而专业课则进一步要求“横向”掌握(章节A的知识点B和章节C的知识点D有什么区别和联系?怎样在实际情况下进行结合?)。如果能深刻理解专业课学习和基础课学习之间的区别,并且熟悉各种基本概念(背?),那么期末考试拿高分不难。英文考试
  • 计算机组成原理:教材选用还不错,同样是典型的专业课——需要在掌握基本知识的基础上进行知识点的重新整合,需要考虑:各个角度的技术比较?技术怎样结合使用?不同章节怎样前后衔接?书上所讲的知识是针对什么问题提出的、有什么局限性?同时,还需要适当背诵基本概念,才能取得理想的分数
  • 计算机网络课程设计:题目似乎年年不变,GitHub上有学长学姐的往年代码,其中部分有些小错误,只能供参考而已
  • 计算机组成原理课程设计:TEC-8实验台在流水线方面有些固有缺陷(听说换新设备了?不知道还有没有),会吞指令,需要仔细测试一下。GitHub上有学长学姐的代码,但似乎没有一份是完全正确的,只能供参考而已
  • 面向对象程序设计实践(C++):没什么新鲜感,主要是锻炼了编程熟练度。平时小实验网上有学长学姐的代码,但特殊情况没有考虑全(各种类型的输入),验收时可能会出问题。最终的大作业按照要求完成即可
  • 形式语言与自动机:最套路的课程,没有之一,仔细弄懂书上每一处细节、做好每一道题目,最终可以获得很满意的分数
  • 编译原理与技术:和形式语言与自动机风格很像,同样很套路化,弄懂课上所讲每一处细节,即可获得满意的分数
  • 数据库系统基础:教材编排和课程讲述有些差异,建议记下每节课所讲内容,课后去书上找对应知识点。一开始讲SQL语句,学的比较舒服,但后半学期有些课上内容期末必考,而书上讲得比较简略,需要注意。英文考试
  • 操作系统:教材选用很不错。这门课同样是典型专业课,学习方法和计网计组类似。最后是英文考试。补一句:像是这种黑砖教材,要想完全理解作者的写作思路,读一遍是肯定不够的,需要反复通读几遍(一口气读完整本书),才能对整个知识体系有清晰的认识,否则在复习的时候就只是简单的“看知识点-做题”,这是得不到理想的分数的
  • 算法设计与分析:本来可以讲得很难,但学校似乎降了一些难度,期末考试一般只考讲过的算法(这很重要),建议反复看PPT,每一页每一句话都要弄懂,拿高分不算难
  • 量子计算导论:前半学期讲基础知识,就是简单的线性代数计算,有简单的期中闭卷考试。后半学期介绍具体的量子计算算法,完全听懂不太容易,好在这部分不需要考试。需要翻译一篇论文(从老师指定列表中选择),需要小组撰写一篇论文(几个方向可供选择,建议结合所论述的内容做一些代码验证,这样分数会比较好)
  • Python程序设计:分为几次小作业和一次期末大作业,课程压力小,任务相对简单,建议选
  • 网络存储技术:课上讲解网络存储技术,几次小作业是分别撰写相应的技术介绍,最后的大作业由老师指定内容进行编写
  • 计算机系统结构:典型专业课,教材写得还算清晰,同样遵循前面所讲的专业课学习方法:一方面背概念、另一方面对知识点进行重新整合以应对各种角度的问题
  • 软件工程:课程任务比较多,有小作业、大作业、闭卷考试。而且,初学者可能觉得课程内容繁杂不好掌握,注意抓住两条教材行文主线:面向对象分析与面向对象设计、结构化分析与结构化设计,据此把所有技术串起来(主要是各种图怎么画的问题),两条主线之后是一些附加内容,包括软件(黑盒/白盒)测试等内容
  • 现代交换原理:稍显过时的一门课,不过对于拓展知识面帮助还是不错的,不同老师PPT有区别,建议去找一找哪些老师的PPT内容丰富些,后半学期内容书上讲得很少,需要依赖PPT进行学习。和其他专业课类似,同样需要在记忆基本概念的基础上对知识点进行整合,期末考题比较综合
  • 大数据技术基础:挺好的一门课,由几次小实验和两个稍大的期末实验组成,B站上有学长细心讲解的视频,跟着做可以避免所有的坑,很顺利(然而跟着实验指导书做,一般是要掉坑的)。如果是E老师讲课,建议选
  • Linux开发环境基础:由几次平时小实验和期末闭卷考试组成,知识点细碎,复习起来比较痛苦,建议平时多用一用,增加熟练度。考试样卷具有很高的参考价值,每年考题总体上比较相似
  • 操作系统课程设计:总体思路清晰,但实际上写起来涉及到的细节很多,建议早早开始,反复对照项目需求补充功能