Skip to content

Cyan-cake/BUPT-SE-2022Fall-BigData

Repository files navigation

首先,对于大数据方向,我的建议是:可以选,但不一定非要选,网络、嵌入式都挺有意思的。20级是第一次可以自己选方向,是按照志愿优先、绩点排队的形式进行选择的。从平均排名来看,大数据方向的同学的水平是最高的,网络次之,嵌入式最低(甚至好像都没选满!)当然,也有部分排名较高的同学选了网络通信,但大部分卷怪还是在大数据方向的。所以,20级的大数据方向从理论上讲是挺卷的,之后的情况我目前无法预料。但是,从实际完成的项目上来看,大数据方向也就那样。所以,之前的成绩只是一个数字罢了,真正的水平还是得看你实现出来的东西怎么样。

然后,对于大三上学期,我有以下忠告。还是那句话,杠就是你对。

  1. 大三上的课程压力极其大,每周都有无数的日常作业+各种实验。如果写不完,适当的“借鉴”前人智慧也不是不可以的。当然,自己写还是最好的。需要强调的是,我并不是在鼓励抄袭,但是在压力这么大的情况下如果深感自己能力不足,还是要做出取舍的。

    这里推荐一个github仓库:https://github.com/bupt-Jayce-upperclassman/buptsse-2018-study-materials 。这个就是前人智慧的结晶,可以参考。当然,“借鉴”也是需要技巧的,直接抄不可取!

  2. 尽可能找到靠谱的队友,这件事越早开始越好。大二就已经有一些需要小组开发的项目了,可以从这几个项目里找靠谱的队友。我个人对靠谱的定义是:熟练掌握一个方向的技术(前端、后端之类,或做ppt和写文档),或者好学且上进。两个占一个,就可以算做靠谱;两个都占,那就是大腿了。一个小组可以没有大腿,也不能全是大腿,重点在于各个成员的分工一定要明确;但是只要有一两个开摆的队友,那你大三上就惨了。大数据方向(网络方向也差不多),在大三上需要小组开发的项目至少有5门,而且每一门的开发量都不算低;还有需要小组合作的项目(如面向对象)。这些项目都要开发+文档(没错,大三上文档也很多)。**我不否认有大佬可以一个人Carry,但对于大部分普通的同学而言,有靠谱的队友一起分担压力绝对是有益无害的。**另外有一点要指出的是,在选队友时靠谱更重要,有的时候友情只能被舍弃。言尽于此。

  3. 小组合作是一个很迷的东西,有靠谱的队友也不一定就轻松,如何分摊工作量、如何协调小组内成员都是很值得研究的。这就靠你们自己摸索了。

  4. 对于大数据方向的同学而言,最好还是要学一学docker、docker-compose/k8s、nginx这些技术,否则你会在配环境的过程中浪费掉很多无谓的时间。学会了docker,一些常用的环境直接拉镜像就可以了,网上也能找到很多资料。

  5. 北邮软工(其他专业不评价)老师的教学质量大家也都知道,就不要抱太多的希望了。大三上的课都可以自学(或者不学,主要看考核方式),上课还是干点其他的事吧,别浪费时间了。当然,这点很主观,主要取决于你自己的情况。

接下来总结一下这学期我选过的一些课,情况基于20级授课过程且比较主观,仅供参考:

  1. 软件项目管理(韩万江)

    • 内容硬核程度:水课
    • 考核方式:实现一个较为简单的项目(需要进行三次迭代,每次迭代都要有可运行的成品,强调迭代的过程);在mooc上进行考试。
    • 平常作业:没有作业,就是得刷一刷mooc上的网课(一个下午能搞定)和单元测试(答案网上都有)
    • 给分:挺好的
    • 评价:纯纯的水课,给分不错,压力也不大,最后的迭代开发项目别摆烂就行。但是20级是在早八且还要签到,这有点难受。不过内容可以不学。推荐选。
  2. 大数据原理与技术(孙鹏飞)

    • 内容硬核程度:中等
    • 考核方式:由于20级已经有”面向领域的实践“了,那个课的内容与这个课大幅重合,所以20级是以写一个小型项目作为最终的考核。
    • 平常作业:三次实验,分别是hadoop实现倒排索引、hbase表结构的设计及其JavaAPI的使用和spark rdd的使用。都不难。
    • 给分:一般(偏上)
    • 评价:孙鹏飞老师是个好人,课教的也好(虽然内容可能和尚硅谷差不多),平常也不点到(不去也行)。学还是得学一学的,hadoop、mapreduce、spark之类的用的还是挺多的。推荐选(其实也不得不选,这是大数据方向的核心课)。
  3. 面向特色化领域的实践——大数据方向(1)(孙鹏飞、李晶)

    • 内容硬核程度:中上
    • 考核方式:实践课,给一个学期的时间实现一个基于大数据、分布式技术和算法的项目
    • 平常作业:没有作业,但是在学期中间可能会安排几次验收检查(主要是看看进度,防止摆烂)
    • 给分:较低
    • 评价:总体来说比较锻炼小组合作能力,项目实现需要比较完整;用hadoop或者spark都行,我自己用的是spark。学期刚开始会签到,之后就不签了(其实孙老师不会考勤的,主要是李晶老师)。李晶老师的争议还是挺大的,有些同学很不喜欢她。**其实主要是因为她事儿比较多(要求签到,中期安排检查),而且有的时候(主要是你项目实在没什么进展的时候)说话比较伤人,而且给分较低。**还是那句话,别摆烂,问题就不大。此课程是大数据方向的必修课。
  4. 数据挖掘(牛琨)

    • 内容硬核程度:水课
    • 考核方式:20级期末因为疫情原因提前返乡,而改成读两篇指定论文(纯英文,可以自己找工具翻译)并分别总结为不超过10页的ppt。之前都是考试的,但考的内容也就是ppt里那些。
    • 平常作业:4次实验,分别是数据预处理、聚类、分类、关联规则,以ppt形式提交结果。都比较简单,可以用weka(一个开源工具)或spss(IBM的一个工具)做,也可以用pandas、sci-kit之类的python库做,甚至可以用excel(据我所知应该没有人这么干),三种方法难度依次递增。实验给的时间比较紧,一般只有三天;但和助教说一声晚一点也行;学期末压力大的时候大家和牛琨反映了一下情况也很大方的延期了。
    • 给分:挺好的
    • 评价:纯纯的水课,ppt做的好看比内容更重要;可以不用听课,牛琨自己也说不来上课不要紧,甚至鼓励你如果不听就别来浪费时间,内容简单自学一下就行;ppt做得好看点,给分就高一点,但总体来讲都给的挺高的。推荐选。(培养方案上本课程是安排在大三下,但实际上是在大三上授课的)
  5. 计算机网络(雷友珣)

    • 内容硬核程度:中上
    • 考核方式:期中考试+期末考试。20级的期中考试由于各种原因最终没考成,改成了大作业(手写!)的形式;期末考试考了,时间只有一小时,时间很紧,需要对知识比较熟悉才能及时完成。
    • 平常作业:4次作业,每次十几道题,有计算、论述、分析,而且要求手写(真是奇了怪了,怎么都这么喜欢手写呢?);3次实验,分别是使用wireshark抓包、网络层实验、传输层实验。第一次实验比较简单,不用编程;后两次实验比较难,都有需要编程实现的内容且难度不低;但老雷的实验指导书写的很详细。
    • 给分:一般(偏上)
    • 评价:老雷真的很负责,有问必答,而且经常大段大段的回复。但是他嗓子有点问题,声音很小,线下上课第二排之后就基本听不清了。所以,还是自学吧。湖科大教书匠、王道都行。计网是门考试课,考多考少都在自己,给分也只能看你自己了。不过,这门课还是得用点心,尤其是实验一定要自己写,老雷人肉查重不是吹的。抄代码、实验报告的很容易翻车。必修课。
  6. 运筹学(帅天平)

    • 内容硬核程度:中等
    • 考核方式:20级由于疫情改成了限时大作业的形式,题目也比较简单(而且有开放题,基本就是送分)。不知道以后会不会接着保留这种考核方式,但之前都是开卷考试的。
    • 平常作业:每章布置一次作业,计算量挺大的(主要是单纯形法),你也可以用matlab写程序算(甚至可以列出每一步中间结果,模拟单纯形法)。时间给的挺宽的,一般都是两周交一次。
    • 给分:一般偏上且方差很小
    • 评价:本课程与数值分析与计算(漆涛)二选一即可,我选的是运筹学。运筹学相对而言简单一点,主要是计算比较繁琐,但都是有套路的。**两门课都可以选,给分都差不多。**你也可以咨询软工的学长们关于数值分析的情况。需要指出的是,软工20级第一次可以选运筹学,之前都是数值计算和并行计算二选一的。
  7. 软件工程理论(王安生)

    • 内容硬核程度:水课
    • 考核方式:期中就是第二次大文档。期末是考试,一个半小时,部分内容考的很偏,复习没有抓手,挺折磨的。怎么说呢,一千多页ppt每页都可能出个奇怪的地方来考你,这复习我觉得也没啥用。也有比较固定的题目,主要是测试和体系架构设计,重点都在第二部分。
    • 平常作业:每章基本都有作业,有的简单有的比较麻烦,绝大部分要求手写(就一章不用手写)。而且,一共有三次大文档,第一次要求20页,第二次和第三次都要求至少30页。其实写这个文档挺有意义的(需求分析、体系架构设计之后都用得到),但是写这个文档的过程实在是太痛苦了。还好,有模版和前人智慧可以参考。
    • 给分:一般
    • 评价:好消息是王安生马上就退休了,之后可能不会这么折磨;坏消息是另一个老师继承了王安生的理念,也要求30页文档,还是挺折磨的。上课听不听随便你,反正听了还是得再学一遍,复习也得从头开始。必修课。
  8. 面向对象的分析与设计(修佳鹏)

    • 内容硬核程度:中等
    • 考核方式:期中考试+期末考试(20级因为疫情改成了大作业,但这个大作业也很折磨,我觉得还不如考试)。期中考试挺简单的,大家都八九十分。
    • 平常作业:每次课都有作业,而且挺麻烦的。主要是文档和设计图。不过我们的助教改的挺松的。
    • 给分:不错
    • 评价:我个人认为ooad是一个很主观的课,反正我是实在学不懂。期末大作业的验收真的很折磨,每个组验收都很久(接近一个小时),修老师提了很多问题(其实确实是有问题,但还是很折磨,有点压力面的意思)。当然,修老师人还是很好的,上课很认真(教课水平和教课是否认真是两件事,一定要区分开。事实上,软工的老师人都挺好的,但授课水平是真的一言难尽),给分也还不错。必修课。
  9. 编译原理与技术(修佳鹏)

    • 内容硬核程度:难(但是考试还好)
    • 考核方式:期中考试+期末考试。期中考试很简单,期末考试也不难,有很多书上的题目和例题(并不全是作业原题,有书上的例题和书上没有布置作业的题)。每年的题目形式都会变,往年题作为参考就行了,具体怎么考还是要听老师的。
    • 平常作业:每次课都有作业,难度都不低;但是最好还是得搞明白,原因上面已经说清楚了。有两次实验,一次词法分析一次语法分析,都不算很难。今年开始用头歌平台(一个类似于OJ的东西)进行验收,但也可以直接找助教验收。
    • 给分:不错
    • 评价:我们ooad和编译原理都是修佳鹏老师,结果五节课一起上,而且还是下午。反正我是真的困,实在听不下去。平常多看看书吧,书讲的还是不错的。这课内容挺抽象的,但考试比较简单,不太难为你。必修课。
  10. JavaEE程序设计实践(孙艺(男) 孙溢(女))

    • 内容硬核程度:主要是Java开发,你会就不难,不会就得学。
    • 考核方式:这课是小学期实践课,用Javaweb技术做一个web项目就可以了,最后到任意一个老师那里验收并评分。
    • 平常作业:小学期课,就两个星期,没有作业
    • 给分:一言难尽。强烈建议不要找孙艺(男)验收,一定一定要找孙溢(女)验收。当然,如果你和他的脑电波能重合(挺困难的),也可以找他。但求稳还是孙溢(女)吧。
    • 评价:这课首先会讲几天课,都是孙艺(男)来讲。讲的都是十年前的技术,纯纯的垃圾,真应该直接扫进历史垃圾堆。我知道很多同学会vue、前后端分离之类的技术,但孙艺什么都不懂,这些都不会,你和他讲他也听不懂(别奇怪,是真的,他真的没有水平)。所以,我建议不要炫技,老老实实jsp吧,因为孙艺只会这个。如果用vue,可以找孙溢(女),她比孙艺好不少,至少脑子正常。必修课。
  11. 数据库系统原理课程设计(刁婷 李晶)

    • 内容硬核程度:中等
    • 考核方式:课设,最后交实验报告就行。实验的内容见附件吧。
    • 平常作业:课设,就是中间会要交一次中间文档(李晶老师的传统艺能,之前说过了。主要是怕你摆烂)。数据库和操作系统课设都只上半个学期。
    • 给分:方差极大
    • 评价:此课程与本学期的操作系统课程设计和大三下学期的编译原理课程设计三选一即可。编译原理课设就算了吧,编译原理本身就够抽象的,课设我也不知道干啥。一般都是在操作系统和数据库课设里面二选一,20级同学大部分都是选了数据库课设。操作系统课设也挺好的,内容应该是用Linux系统库实现点东西(不太清楚,差不多吧),不会让你自己写操作系统的(但赵方说过了,如果有同学真的写出操作系统,她给99分)。**最好还是不要选数据库,除非你对你的文档和运气有充分自信,否则很容易阴沟翻船。**数据库课设的话,也得学点技术,主要是索引及其优化、主从复制之类;但重点还是文档。最后,还是要强调一下,李晶老师的课还是不要摆烂为好。
  12. 云计算技术(崔毅东)

    这课我没选,所以说不出什么,可以问问20级其他同学。但我知道的是,如果想分高一点,就别选老崔的课,老崔自己都说了想高分别选他的课了(此处还是提一下:20级云计算、21级Java给分相当不错,有理由怀疑是老崔的课被劝退太多、选的人太少而刺激到他了,他怕再给低分的话以后课都没人选开不起来了,所以给了高分);而且老崔的课是出了名的事多。不过这课教的东西(nginx、docker,还有Saas、Paas、Iaas之类,不太清楚)还是很有用的,就算你不选,还是最好自学一下。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published