学编程科班
1. 自学编程和计算机科班出身的差别在哪
科班出身的往往更加的系统,自学编程往往更加注重于实用性。
2. 学编程的报什么专业
想学编程就要读软件工程.我也是中山人,在孙文学编程应该一般般吧.
计算机科学系
计算机科学与技术专业 培养具有良好综合素质和开拓创新能力,系统掌握本专业的基本理论、基础知识和基本技能与方法,具有实际应用和科学研究能力的计算机及其相关技术与产业领域的复合型应用技术人才。
主要课程:数学分析、高等代数、数理逻辑、集合论与图论、计算机科学导论、程序设计基础、数字电路与逻辑设计、计算机组成原理、数据结构与算法、操作系统原理、汇编语言程序设计、数据库系统原理、编译原理、软件工程导论、计算机网络、计算机体系结构、并行与分布式计算、计算机图形学、信息安全技术、多媒体技术、Linux原理与应用等。专业课程还将安排相关的实验(实习)、课程设计或社会实践,以加强学生的实践能力与开拓能力。高年级同学还可以选修本学院其它专业的相关课程。
网络工程专业 培养具有实际运用先进的工程化方法和工具从事网络规划、设计、开发和维护等工作,具备工程项目的组织与管理能力的实用型、复合型网络工程技术与管理的高级人才。
主要课程:数学分析、高等代数、数理逻辑、集合论与图论、计算机科学导论、程序设计基础、数字电路与逻辑设计、计算机组成原理、数据结构与算法、计算机网络、操作系统原理、计算机体系结构、计算机接口技术、通信原理、网络系统设计、密码学与网络安全、无线通信与网络、Linux原理与应用等。专业课程还将安排相关的实验(实习)、课程设计或社会实践,以加强学生的实践能力与开拓能力。高年级同学还可以选修本学院其它专业的相关课程。
信息安全专业 培养具有扎实的数理基础,较好的外语和计算机技术运用能力,掌握信息安全的基本理论与技术、计算机与网络通信及其安全技术以及信息安全法律法规等方面的知识,能运用所学知识与技能去分析和解决相关的实际问题,具有较高的综合业务素质、较强的创新与实践能力,可以在政府、国防、金融、公安和商业等部门从事信息安全产品研发、信息系统安全分析与设计、信息安全技术咨询与评估服务、信息安全教育、信息安全管理与执法等工作的高级专业人才。
主要课程:数学分析、数理逻辑、集合论与图论、信息安全数学基础、计算机组成原理、程序设计基础、数据结构与算法、数据库系统原理、软件工程导论、计算机接口技术、计算机网络、通信原理、信息论基础、操作系统安全、Linux原理与应用、网络协议与验证、移动计算、计算机密码学、网络安全技术、计算机病毒、信息隐藏技术、电子商务技术、信息安全法律法规等。专业课程还将安排相关的实验(实习)、课程设计或社会实践,以加强学生的实践能力与开拓能力。高年级同学还可以选修本学院其它专业的相关课程。
上述专业的毕业生适合在计算件软硬件企业、网络公司、电信企业、金融、交通、银行等各类企事业单位就职,从事计算机技术管理、计算机控制、软件和信息安全产品的生产、开发、应用和维护工作,也可在政府管理部门、金融和经济管理部门从事计算机应用、网络信息管理和维护工作,还可在高等学校和研究部门从事教学、科研工作。
电子与通信工程系
电子信息科学与技术专业 培养基础扎实、知识面较宽、素质高、能力强,有一定创新能力、科学研究能力和解决实际问题的能力,适应21世纪社会和经济发展的需要,能从事电子信息科学与技术领域的科学研究、教学与应用技术等工作的复合型人才。
毕业生具有坚实的数理基础,掌握电子学与信息系统的基本理论和方法。熟悉电路与系统、电磁场与电磁波理论、微波与射频技术、计算机网络以及通信和计算机应用等技术。具有较高的实验能力和一定的分析和解决实际问题的能力;了解电子学与信息系统的新发展并具有一定的科学研究、应用研究、技术开发及教学等方面的能力。较为熟练地使用一种外国语阅读专业书刊及外文资料。
学生毕业后适合在通讯、银行、企业、机关等部门,从事电子技术和计算机技术管理、生产方面的开发应用,以及在高等学校和研究部门从事教学、科研工作。
主要课程:高等数学、概率论与数理统计、大学物理及实验、高级程序设计、电路基础理论、模拟电子技术及实验、数字电路与逻辑设计及实验、微型计算机原理及实验、高频电路、信号与系统、电磁场与电磁波、集成电路设计、信息论、微波技术与实验、数字信号处理、计算机通信与网络、通信原理、EDA原理及应用、单片机原理及应用、数据结构与算法、现代通信技术、数据库系统原理等,学生还可选修学校及学院其他专业的相关课程。
自动化专业 自动化是以电子技术、计算机技术、检测技术、通信技术和控制理论为基础,研究自动控制系统的组成结构、控制规律及其应用的学科。该专业培养德、智、体全面发展,注重德、智、体、美、劳,具有健全的心理素质和健康的体格。基础扎实、知识面宽、综合素质高、实践能力强,适应适应21世纪社会和经济发展的需要,能从事自动化和计算机网络控制工程领域的先进技术研究、设计、应用开发及教学等方面的高级复合型人才。
毕业生应具有控制科学与工程学科扎实的基础理论、基本技能和方法;具有对电子电气电路、控制系统进行分析、设计和研究开发的能力;掌握信号自动检测、数据处理的基础知识与技能;掌握计算机与网络控制技术;有严谨的科学作风和创新能力;具有独立进行科学研究、应用研究、分析和解决实际问题的能力。
学生毕业后适合在各类企业、国家政府部门、事业、通信、银行、军事等部门从事电子技术、计算机技术、通信技术及生产过程自动化方面的应用研究、产品开发及行政管理工作,以及在高等学校和研究等部门从事教学、科研及管理工作。
主要课程:高等数学、概率论与数理统计、工程数学、数值计算、高级程序设计、大学物理及实验、电路基础理论及实验、模拟电子技术及实验、数字电路与逻辑设计及实验、电力电子技术、电机及拖动基础、微型计算机原理及实验、自动控制原理及实验、信号与系统、现代控制理论、计算机控制技术及实验、计算机通信与网络、数字信号处理、电气与可编程控制器、过程控制工程、单片机原理及应用、自动测量技术、电力拖动自动控制系统、虚拟仪器技术、数据结构、操作系统、数据库系统原理、科技信息检索等,学生还可选修学校及学院其他专业的相关课程。
通信工程专业 培养基础扎实、知识面较宽、综合素质高、实践能力强,适应21世纪社会和经济发展的需要,系统掌握电路分析与信号处理理论、通信原理、网络理论、电磁场理论、传输原理、现代电信交换等专业基础理论;掌握各类通信网、通信系统及其主要设备的构成原理、技术性能、设计、调试、运行维护和管理的基本知识;对国内外通信工程及相关学科的现状和发展趋势有一定的了解;有严谨的科学作风和创新能力;具有独立对一般的通信系统和网络进行分析、设计和研究开发的能力。能从事现代通信工程和电信网络先进技术研究、设计、开发及教学等方面的高级复合型人才。
学生毕业后适合在电信企业、邮电管理部门、银行、交通等部门从事通信、电子技术和计算机应用等方面的管理和技术开发工作,也可以在高等学校和研究部门从事教学和科研工作。
主要课程:高等数学、概率论与数理统计、高级程序设计、大学物理及实验、电路基础理论、模拟电子技术及实验、数字电路与逻辑设计及实验、微型计算机原理及实验、高频电路、信号与系统、电磁场与电磁波、微波技术实验、通信原理、计算机网络、数字信号处理、信息论、操作系统、数据库系统原理、数字通信系统及实验、无线通信原理、现代电信交换、光纤通信、数字图象处理、数据结构、单片机原理及应用、计算机视觉等。学生还可选修该学院其他专业的相关课程。
3. 我想学习编程,是自学好还是去培训机构学好呢
这个我也不建议去的,在我所在的研究所里,就有一毕业之后去了培训机构的,但是作用不大,不如在实践中学习收益大,更有时效性。而且一般的技术机构会给你时间和老工程师学习的,那是就靠你的努力啦。
4. 从零开始学编程需要多久
如果你只是想玩玩,想做点小东西的话。就学学Java,然后买几本实例教程,慢慢练。
如果你想系统的学习。说说我的想法啊。你要有一个目标,学到什么样,你变成才算入门。精通啥的就不说了,文无第一,你说你自己精通,总会有大牛站出来鄙视你。
那什么叫做入门呢,我的理解是,你看到一个现有的程序,用脑袋想想,大体能明白他是怎么实现的。当然不用完全明白,这不太可能,但是让你照着这个程序写一个差不多的程序不会毫无想法。到了这个程度你就差不多入门了。说白了就是学习的第一阶段模仿,不用创新,你只要能看着现存的东西去模仿就好了。会了模仿才能更进一步。不过这个模仿可不是让你照着code抄,而是黑箱。不求一模一样,只要有个大体的思路,可以去实现就行。
那么为了实现这个入门,你需要一系列的系统学习。像那种用实例来学习的,也只能学习表面,总有你没有见过的事物,所以你需要学习的是本质,是原理。当然通过实例由浅入深是可以的,但是你不能舍本逐末。
编程与理论是两条线,但是这两条线是伴随关系。很多初学者不知道该怎么学,所以说科班是很有必要的,起码实用。
那么我在说说这个学习的过程。首先你要选择一门编程语言,如果你是那种肯吃苦,耐得住寂寞的人,我建议你从C开始学。为啥这么说呢,因为C比较底层,你想用C开发点有意思的程序特别是带GUI的,不说痴心妄想吧,起码很累。但是C的好处是语法简单,学好C以后,上可以实现数据结构,算法,下可以用来研究OS,算是学习期间比较全能的一套语言了。如果你比较急于求成,想短期内做点有意义的小程序,那就学Java。Java的库比较多,比较容易写一个带GUI的程序。而且OO的思想你早晚都要有。
与此同时,去把理论学习了,什么离散数学,计算机结构,数据结构,算法,一个一个来。
这时候你可以学学汇编和机器语言,这个不是说要你用汇编去干啥,而是为了让你明白CPU的工作原理,然后试着自己用or,and,xor这类的原件自己设计一个CPU。不是让你真的去做一个实体CPU出来,只是画画电路图。当你明白CPU工作原理之后,你会有一种豁然开朗的感觉,原来计算机是这么精巧的。
之后你可以开始学习操作系统原理的。这时候你可以去装一个Linux,然后熟悉熟悉那些system call。研究研究文件结构什么的。羡慕那些天在shell里面敲命令的前辈们吗?其实这些一点都不难,等你熟悉了,你就会觉得windows太不适合编程了。很多人都说Windows写程序好,VS是IDE神器什么的。可是假如没有VS还有人用Windows写程序吗?所以他们与其说Windows好还不如说VS好,Windows只是附属品。Linux随意的多,想C这类的语言,没啥lib可用的时候,有没有IDE都差不多。但是像Java这个变态语言,我反正不会用VIM这类软件去写,累死了。
学习系统的时候,你就要学平行处理和线程控制了,parallel和concurrent这些。计算机的CPU就那么几个核,甚至是单核。但是计算机同时运行这么多程序,就是靠OS的平行处理功能的。学好这些很有用。
在向上一层可以学的东西可就多了,Network这一块可以学学那些协议比如TCP,UDP或者HTTP之类的,然后尝试着用C写一个简单的服务器,监听一个端口发点信息啥的。你也可以用Java写,Java做这些比C简单点。但是C更贴近系统,因为Java用的是虚拟机,毕竟隔着一层。
如果你对3D图像感兴趣就学学OpenGL。简单的小程序用C就够了。太复杂了就要学学C++。反正我是很不喜欢C++的。虽然功能强大,但是开发起来太累了,特别是学了Java之后,你会觉得C++这么能这么麻烦?可是想做底层开发你又不得不学C++。所以看你自己的定位了,如果不是很想深入,C就够了。学到OpenGL你就能体会到Linux的优势了,配置环境从网上找一些命令一敲就好了。当年我上graphics的课时,第一次作业,我都写完了,那些用Windows的同学们还在研究配置环境呢。他们本以为第一次配置好了之后就能体现出VS的优势的时候,才悲剧的发现这学期每个作业都要用一两个新的lib。所以他们只能忧郁的看着我那云淡风轻的一边喝咖啡一边敲代码。
计算机的分支太多了,你能学的还有很多,比如数据库。其实数据库语言很简单,学学MySQL你就能学个大概。与此同时你可以学学网页开发,html+css+js为前端,后端的选择太多了,比较传统的比如PHP,如果你Java学的好就学JSP。微软那些就不说了,Python什么的也不错。
说到这里,这个脚本语言你也是有必要学习一个的,Python是比较常见的选择。学完python你可以比较一下,C,Java,Python,你会发现越底层的语言功能越少但是很方便去实现那些基础结构,比如数据结果啥的。越是高级的语言功能越多,什么都是现成的,但是那些基础的东西都被隐藏了。这也是为啥10行的python,java要写30行甚至更多的原因。可是底层的语言却更快。当你习惯了Python的开发效率的时候,你可以能不会再去碰其他的语言,但是这并不代表你一开始就不用学,否则你怎么会理解其中的原理呢。
说的编程语言,你就不得不学一下编译器开发了,compiler可是一个很神奇的东西,但是一句两句说不清楚,买本书自己研究一下,这个也是非常实用的。
学到这里基本上基础的东西就学的差不多了,但是学无止境,CS既然是是一门科学,那就总也没有尽头,但是当你理解并明白了基础知识之后,一切新的知识学起来都不会太难。
5. 孩子去哪里学习少儿编程好
孩子在鲸桥少儿编程学了有一段时间了,学到了不少东西,动手能力,思维能力都提高了