毕设日记(一)
希望用一些文字来记录下毕业设计的整个过程,而不是只留下一篇并不属于自己的毕业论文。
前言
不论处于高等教育的哪个阶段,毕业论文/毕业设计都是必须要过的一道关,或许有些朋友并不把它看得很重要,只求能通过即可,不过作为一个对项目开发有一些执念的人,我希望能够做自己感兴趣的项目,并且做出一些成效,所以毕设在我的心中还是有份量的。
那为什么我没有提前联系导师表达希望自拟题目的意愿呢,这其中是有一定自私的成分在“作祟”,因为像对于各种大作业学校都是要求将包括源代码在内的所有材料刻录进光盘与纸质的报告一起提交的,而我对自己酝酿的独立项目有一个主观的限制,就是我可以接受它被我主动开源,但不希望项目是被迫地交给别的单位作为支撑材料,所以也可以说是有些功利的成分,我希望项目的最终解释权还是在我手里。
鉴于此,脑海中酝酿的点子便不再有很高的优先级,我也希望能够更加灵活地去规划和实现所有的设想,而在毕设这块,但愿能够在题目候选表中遇到我感兴趣的选题。
选题过程
在选题范围这块,系里没什么限制,一共4个专业中所有的题目都可以选,双选制度,三轮填报,每轮三个志愿,也可以不填满。
浏览了4张选题表,发现信管系统和机器学习项目是占比最大的两个类型。客观地来说,信管系统的重点在于对业务需求的精准把控和基础架构的构建,而不是各路导师都嗤之以鼻的所谓CRUD,恰恰相反,AI类题目才是最容易被认为是“缺乏新意”的,对大多数题目来说,其实都能够找到大量的论文,而那些方向非常新颖的项目通常难度也极高,所以导师们也很少会选择,因此想要做出创新是不小的困难。由于选题关系到后续的所有阶段,这样的现状让我很难提起对以上两类题目的兴趣。
当然,排除这两类后其实也有得选,对于游戏开发,我看过游戏工作室的流程,也见过独立开发者的视频,我认为游戏开发是一个学习和开发周期都非常漫长的过程,毕业设计的三四个月时间并不能使游戏效果达到比较可观的程度;还有一些服务平台、信息平台、APP/小程序开发,算法研究,也有小部分的系统开发,以及一些特色的行业研究等等,但总体来说依然可以给出与上述相同的评价,要么不容易做出特色,要么对精力和能力要求极高,而毕设不是生活的全部,我想找到一个尽量折中的选题。
最终把目光锁定在两个方向:(目前一切还不够稳妥,后续再公开选题)
之后也是按这个顺序填报了选题志愿,将▮▮▮▮▮作为首选的原因很简单,一是它和我正在酝酿的点子都需要一个代码编辑器,二是它比较符合我的初衷:『希望开发一些能帮助开发者改善工作的产品和帮助新人降低编程学习门槛的产品』,所以我也并不在乎这个选题是导师的教学建设任务。
后来比较戏剧性的是我差点以为自己没有被一志愿导师L老师选中,简而言之就是『导师选完之后并没有主动通知学生导致我一直以为自己要寄了,加上二志愿导师W老师因为看到选择L老师的学生太多而主动来找我,就在我们相得谈甚欢以至于我真的以为就要跟着他时,我得知我完美地被L老师写进了毕设组里』,比较离谱,权当是个小插曲吧。
准备开题
在我的认知中我以为我的选题是没有太多可参考的,因为纵观我多年的网上冲浪经验,遇到的合适的参考项目极少,而事实上当我收集了一波文献之后……
事态发展并没有改观,只是确有大牛真的找到了不少外国的古老的相关项目,可以用来写综述但不可能去参考它们的实现方案,所以我遇到的“极少”的可参考项目还是能够发挥作用的,这将是我人生中第一次从源码级别去了解一个项目的设计理念和实现方案……