自学编程和计算机科班出身是否存在差别?
谢谢邀请!
在2000年以前从事计算机程序设计的大部分都算是科班出身,这里有相当一部分是计算数学专业、计算机科学与技术专业以及计算机应用专业的占到了绝大多数。这一时期的程序开发任务多集中在单机和硬件编程上,互联网程序设计的需求远远没有现在这么多,这一时期的程序设计也相对比较专业,技术普及度也不高。由于当时计算机硬件成本较高,技术资料有限,所以程序设计还是专业人士的事。
随着2000年以后,互联网爆发式增长,出现了体制内培养的科班生远远满足不了市场的需求,随着计算机的普及以及获取知识的渠道逐步拓宽,这时候就有不少工科的学生选择了从事计算机软件编程的行业。最近几年伴随着大数据技术的应用,人才缺口增大到100万以上,这里面有相当一部分就是程序员的缺口。
作为一名程序员,同时也带学生做项目,发现有不少非计算机专业的学生考研选择了计算机专业。我就说一说我遇到的这些情况,本科是计算机专业和非计算机专业区别在哪些地方:
科班出身的学生知识结构完整,在概念理解上和实验动手能力上在初期有明显优势。通常科班出身的学生经过一个学期的准备工作,就能参加到实验小组,进行独立任务开发了。在交代任务的时候,基本上能一次就了解大部分的任务内容,其中优秀的学生还能独立进行一些课题的深入研究中。比如能自己搭建Hadoop平台的实验环境,能完成集群的部署,知道缓存、负载均衡等概念。
大部分本科是计算机专业的学生对算法有一定的了解,知道不同算法的时间复杂度,在解决问题的时候有多种选择。通常也都接触过Linux操作系统,部署过数据库、基本的web应用等等。这些在学习的初期表现的尤为突出,非计算机专业的学生在这个阶段基本上还处于补学阶段。
科班学生在课题的选择上更加灵活,甚至兼修两个方向。因为有完善的知识结构,所以在精力够用的情况下,不少科班学生都会辅修一个方向。比如大数据方向的学生会辅修一个移动互联的方向,或者辅修一个行业应用方向,比如HIS(医院信息系统)等。
非计算机专业的学生在初期会比较辛苦,我通常会给非计算机专业的学生布置更多的课程内容,比如要修几门课程:操作系统、计算机体系结构、网络通信、数据库、编译原理、算法分析,这几门课程对于以后的程序设计都是有很大帮助的,所以一般我都会要求。到后期基本上差别没有那么大了,非计算机专业的学生也能通过自己的努力查缺补漏,大部分都能达到要求的标准。
总的感觉,如果是工科的学生,比如物理、化学、材料、机械等专业的学生在初期好好于其他专业,当然如果你是数学专业的学生,那基本上和计算机专业没有太大区别。
不管是哪个专业的学生,只有通过自己的努力能够顺利完成答辩,走到工作岗位上,就证明你是合格的软件人才,起点并不能决定终点,所以对于软件编程感兴趣的非计算机专业学生,也可以放心选择!
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有