‘壹’ 打算当程序员,上大学学什么专业
1、网络空间安全方向
所选专业:网络空间安全专业
网络空间是与陆、海、空、天并列的第五大主权空间,网络空间安全已经成为全球性的挑战。本专业是研究网络空间中的安全威胁和防护问题,为实施国家安全战略,加快网络空间安全高层次人才培养设立。国家相当重视并大力扶持此专业的发展。
就业职位:有Web安全工程师、渗透测试工程师、安全测评工程师、安全架构师、战略规划、安全运维工程师、技术支持、安全信息法律相关从业人员等。
2、云计算方向
所选专业:软件工程专业、计算机科学与技术推荐高校:北京航空航天大学、北京大学、清华大学、国防科技大学、哈尔滨工业大学、上海交通大学、华中科技大学、电子科技大学等
‘贰’ 想当程序员,大学应该学什么专业
想当程序员可以学这两个专业:
1、软件工程
软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。
2、计算机科学与技术
计算机科学与技术专业主要培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级科学技术人才。
选了这两个专业,会在大学中学习到c语言,c++,java,javaweb等等一系列编程语言,要注意的是,大学里一般一个学期结束一门语言课程的学习,进度会非常快,课程安排量也不会太充足,想要学好,还得靠自己课下努力才行,至少得掌握一门自己拿手的语言。
当程序员需要具备的能力
1、编程语言能力
作为合格的计算机程序员,精通一门语言是必须的。这种精通,不是说看了一本编程宝典,抄了几个程序就能说精通的,要靠长时间的积累。
2、编码能力
遵守编码规范,是一个程序员最基本的要求。另外一个就是注释,要注意不是为了注释而注释。对类,以说明职责为主;对方法,以说明意图为主;对方法体,以说明实现思路为主。对于大段大段的代码,要分段,使用空行隔开,并使用行内注释进行说明。
3、面向对象思维能力
多数编程语言都是面向对象的编程语言。而这些面向对象编程语言的共同精髓就是面向对象的思想。掌握这些比面向对象语言本身更重要,比如对继承,多态,重载的理解。对面向对象基本原则的理解,比如开闭原则,接口隔离原则,单一职责原则等。在此基础上,应该掌握常用的设计模式,比如工厂模式,策略模式,观察者模式,模板方法模式,命令模式等等。
‘叁’ 程序员是学什么专业
建议你可以选择计算机软件及应用专业。即使你不喜欢专门搞硬件,那也没有什么关系。因为计算机软件及应用专业毕竟还是以软件为主要的,虽然也会学习一些硬件课程(例如:微机原理、计算机体系结构等),但是软件课程居多。例如:数据结构及其算法、C 语言程序设计、软件工程等课程。但是另外还会学习一些理论课程。例如:高等数学、高等代数、概率统计、离散数学等。
总而言之,这个专业还是以计算机软件编程为重点。其中的数学课程虽然不是直接和计算机编程有关系,但是它们却是非常、非常重要的,因为如果你真的打算今后从事计算机软件行业的话,那么将来在编写一个功能非常复杂的应用软件时(例如:计算机语音识别系统、人脸识别系统、指纹识别系统等),具备扎实的数学基础是必不可少的,因为必须需要依靠所学的数学知识建立数学模型,只有数学模型建立起来了,你才能够胜任大型的软件开发任务。
‘肆’ 想当程序员,大学应该学什么专业
软件工程,计算机专业,计算机科学与技术。
计算机专业是指计算机硬件与软件相结合、面向系统、更偏向应用的宽口径专业。通过基础教学与专业训练,培养基础知识扎实、知识面宽、工程实践能力强,具有开拓创新意识,在计算机科学与技术领域从事科学研究、教育、开发和应用的高级人才。
计算机学科的特色主要体现在:理论性强,实践性强,发展迅速按一级学科培养基础扎实的宽口径人才,体现在重视数学、逻辑、数据结构、算法、电子设计、计算机体系结构和系统软件等方面的理论基础和专业技术基础,前两年半注重自然科学基础课程和专业基础课程,拓宽面向。
后一年半主要是专业课程的设置,增加可选性、多样性、灵活性和方向性,突出学科方向特色,体现最新技术发展动向。计算机科学与技术(ComputerScienceandTechnology)是一门普通高等学校本科专业,属于计算机类专业,基本修业年限为四年,授予工学或理学学士学位;2012年9月,教育部将新的计算机科学与技术专业取代旧的计算机科学与技术和仿真科学与技术两个专业
。计算机科学与技术是一个计算机系统与网络兼顾的计算机学科宽口径专业,旨在培养具有良好的科学素养,具有自主学习意识和创新意识,科学型和工程型相结合的计算机专业高水平工程技术人才。
‘伍’ 程序员需要学什么专业 程序员是学什么专业的
1、程序员在大学期间所学专业绝大部分为工科计算机类专业,最多的是:计算机科学与技术和软件工程。当然除了这两个专业之外,网络工程、信息安全、物联网工程、数字媒体技术、电子与计算机工程等专业也属于计算机类专业,在毕业后都有一定的可能去做程序员。
2、要遵守编码的规范。在公司里,对代码格式的要求是非常严格的。因为代码不是写出来能运行就可以,写出来的代码要能够让别人理解,同时能够方便地进行扩展和维护才可以。这就要求程序员写代码要遵守编码规范,并且养成写注释的好习惯。
‘陆’ 程序员需要学些什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
2、理解计算机的组成以及各主要部件的性能指标;
3、掌握操作系统、程序设计语言的基础知识;
4、熟练掌握计算机常用办公软件的基本操作方法;
5、熟练掌握基本数据结构和常用算法;
6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
7、熟悉数据库、网络和多媒体的基础知识;
8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
9、了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
10、了解信息化、计算机应用的基础知识;
11、正确阅读和理解计算机领域的简单英文资料。
程序员必备技能:
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。
另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。
要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式。
从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员。
一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能。
如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求。
要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
就业方向:
1、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面。
2、企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。
3、系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。
当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。
但所以在刚入门的时候,建议先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。
会编程、会计算机语言就能加入互联网发展大潮中,享受数字经济发展的红利,一时间社会上的程序员培训机构都变得格外火爆。
但是现在,专家的数据分析结果告诉你:若想跟上数字经济发展的步伐,光会编程可不行,这个行业现在紧缺高端的、综合型人才。
11月22日下午,清华大学经管学院互联网发展与治理研究中心与领英联合发布《中国经济的数字化转型:人才与就业》,揭示我国数字人才现状与趋势。
报告显示我国数字经济发展面临人才短缺的挑战,但这种短缺主要体现在拥有中高级专业技能数字人才的比例不高,拥有人工智能、智能制造等前沿技术的人才更是少之又少。
与美国、英国、加拿大等国家相比,中国的数字人才储备尚有很大差距。
此外,报告根据对人才需求的数据分析,结果显示我国数字人才的技能需求不再强调单一编程技能,更加看重技术、管理和领导力等综合技能。
2015年,我国从事信息传输、软件和信息技术服务相关工作的人数约350万,但其中中高端人才,特别是前沿技术的数字人才并不多。根据领英中国智库的研究,在人工智能领域,美国的从业者数量在85万人以上,印度15万,英国14万,中国只有5万多人。
报告负责人、清华大学经济管理学院副院长陈煜波教授表示,我国目前在大数据与人工智能领域人才缺口明显。
他解释说,目前中国85%以上的数字人才分布在产品研发类,而深度分析、先进制造、数字营销等职能的人才加起来只有不到5%,存在较大缺口,新兴技术人才和创新型人才培养方面存在滞后和不足。
这份研究报告的基础数据来自领英在中国的3600万个人用户,这些用户毕业于1.5万多所国内外院校,分布在36.4万家企业,拥有超过2.3万项技能。
陈煜波研究团队从中筛选了72万数字人才,多维度提取用户画像并跟踪其职业轨迹,以此预测不同地区的人才流向、雇佣率、受雇主欢迎的技能等人才趋势层面的信息。
陈煜波说,根据数据分析结果,整体来看,虽然编程技能和数据分析技能需求占据主导,然而随着数字产业走向成熟,企业除了强调编程技能,也逐步更加看重人才的技术、管理和领导力等综合技能。
近年间,项目管理、产品运营等“技术+管理”类技能的需求呈现出明显的上升趋势,懂技术、懂管理的人才被认为是“一将难求”。
领英中国代理总裁曾志恒也提醒,如果你有兴趣向数字职能转型,不能仅仅专注于自己的技术能力,沟通和领导力等软性技能将成为你脱颖而出的关键。
陈煜波希望这些研究结果能为教育行业和政府部门提供借鉴。他说,教育行业可根据职位的供需趋势更好地规划人才培养的方向,政府也可更好地了解人才流动方向、技术缺口等,以此制定有针对性的引才策略。
程序员岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
相关书籍:
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。
其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。
下面就按照各本书的推荐数排列。
1、《代码大全》 史蒂夫·迈克康奈尔
2、《程序员修炼之道》
3、《计算机程序的构造和解释》
4、《算法导论》
5、《重构:改善既有代码的设计》
6、《设计模式》
7、《人月神话》
8、《计算机程序设计艺术》
9、《编译原理》(龙书)
10、《活着》
‘柒’ 当程序员要学什么专业 当程序员要学什么专业的呢
1、人工智能方向,要学的专业:计算机科学与技术、自动化(研究生阶段叫控制科学与工程)、软件工程。
2、网络空间安全方向,要学的专业:网络空间安全专业,就业前景:网络空间是与陆、海、空、天并列的第五大主权空间,网络空间安全已经成为全球性的挑战。本专业是研究网络空间中的安全威胁和防护问题,为实施国家安全战略,加快网络空间安全高层次人才培养设立。国家相当重视并大力扶持此专业的发展;其次,如今社会上对网络空间安全十分重视,而且和大数据、人工智能等联系紧密,就业面非常广,而且人才缺口巨大。网络空间安全毕业生能够从事网络空间安全领域的科学研究、技术开发与运维、安全管理等方面的工作。
3、云计算方向,要学的专业:软件工程专业、计算机科学与技术,就业前景:云计算,可以简单理解为资源共享池,就是把数据、软件、服务等,放到“特定的地方”就是云,我们常用的网络云盘,就是云的一种——公有云。云计算产业已覆盖政府、金融、交通、企业、教育、医疗、信息消费等各领域,并且与通信、物联网、互联网产业相融合。预计云计算行业规模近两年有望达到3834亿美元,今后5年内,云计算人才缺口将超过130万,就业前景广阔。就业方向:Linux运维工程师、Linux高级架构师、运维开发工程师、数据库管理员、云计算架构师等。
4、大数据,要学的专业:数据科学与大数据技术、计算机科学与技术、软件工程、经济学,就业前景:大数据是近年来最受关注之一的技术,大部分的互联网企业都离不开大数据相关岗位的人才。从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。根据最新的大数据人才报告显示,未来3-5年大数据人才预估缺口高达150万,就业前景也很好。就业方向:大数据系统研发类、大数据应用开发类和大数据分析类等。相关的工作岗位:ETL研发、Hadoop开发、可视化(前端展现)工具开发、信息架构开发、数据仓库研究、OLAP开发、数据预测(数据挖掘)分析、企业数据管理、数据安全研究、数据科学研究等。
‘捌’ 程序员是学什么专业 程序员是学哪些专业
1、软件工程。软件工程专业基础主要为技术以及计算机两大学科,重点集中在软件开发方面,学生需要掌握技术以及计算机等学科方面的基础知识与技能,同时还要熟练操作各种软件,学会设计、测试、分析、维护以及管理各种软件,还要掌握基本技能与基基础方法,注重对专业技能与知识方面的培养。
2、计算机科学与技术。计算机科学与技术也是程序员需要学习的一门专业,有助于培养个人科学素养,掌握具体的技术与知识,主要包括计算机基本理论、软硬件以及相关操作技能与方法,毕业之后可以在企事业单位、行政部门以及科研部门等从事科学技术研究方面的工作。
3、程序员学习的专业主要包括以上两种,在报考的时候可结合个人情况选择其中的一种,然后重点进行学习,不断提升个人计算机知识与素养。
‘玖’ 我想做程序员,请问大学学哪些专业好
计算机科学与技术,其他的计算机专业像网络工程也有教,不过计算机科学与技术是一个大类,以后可以分专业方向,像网络工程就是一个专业方向,建议报计算机科学与技术
‘拾’ 想做一名程序员 大学可以报什么专业
提到“程序员”,很多人都听说过,但是感觉离自己很远,觉得这是一个高大上的职业。但是实际上并不是这样,想成为程序员,大学选对专业很重要,那么选什么专业合适呢?
首先值得一提的是大部分学校的“计算机学院”。“计算机学院”内的专业大多都是和计算机强相关的,比如计算机科学与技术、人工智能、信息安全,软件工程等。这些专业虽然名称不同,方向不同,但是对于这些专业来说,程序员都是一个不错的就业方向。
除此之外,有很多学校的计算机学院会有比如“物联网”,“网络空间安全”,“数字媒体技术”等等,这一类专业的同样可以选择程序猿作为未来的就业方向。
即使没有进入这些专业也没有关系。很多工科类专业多少都会有一些写代码的思维锻炼,想要从事程序员的职业,自学或者参加培训班,然后转行也是一个可行的选择。
至于选择学校,有很多学校的计算机和软件工程专业非常优秀。比如清华北大国防科大,以及华五、哈工大西交等都是非常优秀的学校。这个其实可以根据自己的分数再选择