【CSDN私信:即将大二毕业,看您博客文章,心有疑问】
我在看您的关于“IT学子成长指导”的文章,其中您说道“说向前看,是接近大三了,你需要大致确定未来两年在技术方向以及能力结构的需求,并以此为依据,设计学习路线”。我想按您说的来,但是我实在不知道应该定什么方向。我先介绍下我自己的学习,学校大一学C++,大二学JAVA,暑假会去参加编程大赛,就是编一个软件去比赛。还有个机会去免费参加一个视频教学的录制,内容是android。不知老师有何建议?
【回复】
就凭你给我的简介,我还不能给你说点什么。到我的专栏中再挑一些文章看,看与你同时期的大学生提出的类似问题,以及我的建议。再有必要的话,请给我写信sxhelijian@163.com,较详细地谈谈你的想法,我再做评论。你知道,这样的事情,没有标准答案,需要结合你的认识、兴趣,以及其他实际的情况。
【来信】
由于CSDN私信字数限制,上次不能详细描述自己的情况。
我在看您的关于“IT学子成长指导”的文章,其中您说道“说向前看,是接近大三了,你需要大致确定未来两年在技术方向以及能力结构的需求,并以此为依据,设计学习路线”。我想按您说的来,但是我实在不知道应该定什么方向。
我先介绍下我自己的学习,我从小就非常喜欢电脑,初中开始就帮助身边的亲戚朋友“修电脑”,装个系统什么的,自己也爱折腾,自己电脑上的操作系统换来换去,虽然也只是看着网上教程照做,但是当时心中觉得自己已经很牛了。后来如愿大学选了软件工程,来了学校才知道我自己折腾的这些完全没有用。
学校大一开设C++,但也仅限C++,MFC都没,在同学中我C++算好的,但是也只能编个控制台小程序跑跑。下半学期开了数据库,但是现在感觉非常浅,课设的时候因为需要,自己看了HTML和asp,用网页调用数据库,但都是自己网上边看边做,也是非常浅。
大二学了数据结构,软件工程,网络安全,UML,java。数据结构当时学的不错,但后来练习较少,许多经典算法,现在已经不能随手写出。java自我感觉还不错,课设写了即使通讯、贪吃蛇、屏幕监控、但每个中都有一些是参考过百度上找的别人的,然后自己看懂,再敲到我的代码中,我也不知道这算不算copy,是否有帮助。网络安全,基本上就学DES、AES和RSA了,课设也是这三个,我用JAVA自己编了一遍(没用JAVA提供的)。
这个暑假,有个老师喊我去参加编程大赛(省内),打算做一个微信公众平台,据我了解应该是使用sina的云服务器,可能会用到java或者php来写服务器,觉得是个学习机会与经历,就打算去了。还有个我自认为挺好的机会,某培训机构要录制android教学视频,需要学生,我被学院推荐去了,应该这暑假会学完。
我的学校不是很好,刚上一本线的学校,在班里的成绩让我变得自满,导致自己变得懒惰,很讨厌这样的自己,逛逛CSDN又感到自己什么都不是,想努力却不知道该往哪个方向努力。
啰嗦了这么多,我是想表达我学的杂,学的不精,而且自己没有方向,同学都说C++和JAVA要分方向,我也不知道该选什么,如果不是发现您的博客,或许我就因为这个android培训而向这方面发展了,由于经济问题,我是打算大四就业的,希望老师能在百忙中抽空看下这封文笔很烂的邮件。
【回复】
我带着一种欣赏的心情读完你的信。在我看来,你的学习经历的确没有从路线、策略什么的方面去想,但这是一种自然的探索过程,这样的学习自有其价值所在。
装机之类的本事,是从感性上认识计算机的必要的途径,单就从其曾给你带来的自信方面,已经值了。再不论在此过程中,你接触过的话题,埋下了以后再学习的“种子”,他们还能成为你现在和日后将学到的各种知识形成关联的“编织带”。这种折腾不是你的主业,但可以继续折腾下去。
你大一大二的学习,做好了按课程要求完成的学习,也进行了拓展。大学的课程体系,有其阶段性的特点,并不是开一个C++课,就将涉及C++的所有知识作为对所有学生的要求,谈应用开发,就MFC一种选择。从你的描述看,你们学校的方案,还是非常注重让学生尽早能实践的。MFC之类的,可以作为以后深入学习中多种选择中的一种,不应该在课程中体现太多,尤其在大一。
你的课设和平时的自主实践,很好地利用了互联网资源,只要是自己有进步,有新的体会,采取何种方式,并不是问题。抄袭指的是自己不动脑子,将别人的直接拿过来用,还声称是自己的原创。难道做不下去,就那样干等着直至放弃才是正途吗?进入大三后,你还需要有更个性的安排,“不择手段”更要发挥作用。选定方向之后,在这个方向上,一边学习,一边找一些小的“项目”,保证自己有能力完成相关的技术工作。
最后说选方向的事情。从知识体系和行业中的工作内容角度讲,你的专业是软件工程,软件分系统软件和应用软件,首先确定自己希望在哪个大的领域中做事。就你所学,我认为应该是希望从事应用开发的(并不是说你不能考虑系统软件方面的事情),至少是需要从应用入手,再进入到相关方向底层的。于是桌面应用、Web应用、移动应用,或者是嵌入式系统方向都可以作为考虑。这只是一个大致的分类,再具体的,你可以通过网络再多了解一些。说到你前两年学习中的问题,大概是没有从这个角度收集一些信息。
你的方向选择可以结合你校的培养方案(可以找导师或班主任咨询培养方案)进行考虑,会有一些课程对此提供支持。用好这些学校提供的条件。一旦方向选定,在大家都学的知识的基础上,可以自行进行拓展,主要以实践学习的形式,多给自己一些体验的机会。
我不同意按语言进行分类的标准,例如做移动开发,主流的有Android,也有iOS,分别基于Java和Objective-C。这或许只是同学们方便表达的一种形式,你不可掉入这个圈子里。语言必须要选定,这是基本的因素,而更关键基本的功夫,在语言之外。这也要求你在选定方向之后,与后两年要学的课程也能搭起线来。
选定方向,需要你自己了解后自行做出,我只能先给你如上的思路。至于这个假期要做的事情,无论怎么定,你将其作为再次深入体验的机会即可。这件事情对你的影响,远不是要定下方向的事,再者初步确定了方向,还可以有再调整甚至改变的时候。假期里认真体验所要做的事,并且将了解各个专业方向作为一个目标完成。
就写到这里。未尽之事,可以后续再交流。
=================== 迂者 贺利坚 CSDN博客专栏================= |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==| |== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==| |== 我写的书——《逆袭大学——传给IT学子的正能量》 ==| ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 ===== |