第一讲:毕业设计题目的设计
本讲用于讲解如何做毕业设计的题目设定。
一、态度上的重视
我每次参加新员工面试的时候,如果是应届生,首先看的就是简历上毕业设计的描述,然后再到简历上的项目栏,因为毕业设计是大学生在大学期间所学核心技能的体现,所以毕业设计是简历上的一个非常重要的闪光点。面试官没有那么多时间看你的资料的,如果你的毕业设计题目很普通,基本上你的简历被忽视的概率非常大。你自己把别人发现你的成本垒高了的话,吃亏的还是你自己,毕竟,社会上不缺乏人才。
所以,要提高对毕业设计的重视态度。不要为了毕业设计而设计,而是要静下心来思考自己的未来就业方向。尽可能让自己的毕业设计所需要的技能符合未来就业岗位所需要的技能。并且尽可能让毕业设计贴近实战(真是可以长期运行的项目),这样的作品才有意义,才能出众。
二、毕业设计作品所需技能预估
未来所需要岗位的技能,最简单的就是去招聘网站查询,比如智联招聘或广西人才网,下面就是广西人才网的一条招聘信息,如果你期待的工作是大数据分析师:
我对上面的图的某些部分进行了下划线标注,我们分析下:
1、“熟练掌握Java或python”,那你的毕业设计最好是Java语言或python语言作为主要的编程语言。
2、“熟练掌握mysql数据库”,那么你的毕业设计最好是采用MySQL数据库作为数据库。“熟练使用SQL”,那么你的设计里面可以加入一些SQL函数或存储过程或事务等的设计。将SQL采用硬编码的方式写入系统里面是不可取的方式,这显得你的代码素养比较低,因为这样会让你的代码维护起来很麻烦。
3、“具备清晰缜密的逻辑思维能力”,那么你的毕业设计里面最好采用的是面向对象的设计或分析方式,不要采用面向过程的方式,毕竟Java和python都是面向对象的语言,具体面向对象的学习可以看我的腾讯课堂,链接https://ke.qq.com/course/1740383。另外你的程序代码要尽可能多的做类、函数的划分,让你的代码有层次感、耦合度降低。另外你的程序有没有很好的异常处理机制?没有异常处理的程序是健壮性很差的程序,逻辑很容易一塌糊涂。
4、“有较强的数据分析能力”,那么你的毕业设计里面应具备一些数据工具或插件的调用,或者在算法层面体现出来。或者在数据可视化方面下功夫,尽可能让你的图表与图表之间逻辑更严密,而不是简单的图表的堆砌,最笨的方式就是很多图表内容都是重复的。
5、“熟悉hadoop相关技术,包括Mapreduce,Hive,Storm,Spark等”,那么你的毕业设计最好涉及到hadoop相关的技术,这些标注出来的用得越多越好。
那么,我们汇总下所需要的技能:
1、使用Java或python作为主要开发语言
2、使用mysql语言并创建sql存储过程或函数
3、采用面向对象的编程思想、有异常捕获
4、科技感的数据可视化
5、采用Hadoop框架,比如简单的hdfs存储,yarn分析
三、毕业设计题目设计
技能我们汇总了,题目最好能让人一眼就可以知道:
1、毕业设计的主要技术是什么?
2、毕业设计这个作品是干嘛的?
3、你这个毕业设计的意义是什么?
最重要的是第三个,你的毕业设计的意义是什么,如果你的毕业设计是为了解决你身边的一个实际问题,或行业的一个实际问题,或弥补现有系统的一些缺陷的,那么说明你这个人很有发现问题的眼光,是一个非常有创新意识的人,而不是简单的随大流。毕竟像很多“学生管理系统”、“教务管理系统”等等,这些都是烂大街的程序,网上代码一查一大堆。面试官不是傻子。
最简单的方式就是:专业术语+系统名称。
这里的“专业术语”是指具有你大学所学专业的明显特征的。
比如你的专业是“大数据技术与应用”,那么下面的两个是适合的,红色的是对应的专业术语:
基于python网络数据采集的个性音乐推荐系统、基于HDFS的校园云盘管理系统。
但是如果是改成:“基于python的音乐系统”,那么这个题目的名称就没有专业术语了,python是一个很广泛的编程语言,不能作为大数据专业很有特征的术语来使用。
大数据专业术语可以有哪些?比如下面这些:
Hadoop、Hive,Storm、爬虫、数据采集、个性推荐、分布式存储、分布式计算、MapReduce、YARN、数据挖掘、SPark、数据可视化、云存储、智能。
四、最后
一定要先让导师审核题目,题目通过后再做其他的,没有导师首肯的这个“1”,后续做的什么工作都是“0”。
一开始不要把根据自己目前所掌握的技能去框定自己的毕业设计只能做什么。绝大部分的大学毕业生的90%以上的技能都是在做毕业设计的过程中掌握的。你首先要思考的不是技术,而是你的毕业设计所需要的技能是否符合你的就业岗位需求。技术是可以百度解决的,重要的是你的毕业设计的意义。