如果做一个专业的程序员:
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
4.看你感兴趣的学习一个方向:图形学。windows应用程序开发。Linux程序开发,数据库方面 网络编程,等等
----------------------------------------------------------------------
如果只是想快速编软件:
敬告:这样不会成为一个真正的高手!
比如windows平台的编程:
学习C语言(熟悉结构化编程)->《windows程序设计》(学习windowsAPI知识) ->可以用API进行编程了。
但是现在用纯API编程几乎绝迹。不是淘汰,因为商业用要尽快成为软件好卖,API开发会消耗程序员大量时间,但是API是基础。
或者
学习C++语言(熟悉面向对象技术)->《MFC程序设计》(学习MFC编程)->MFC开发 ->MFC应用比较广
.net技术我没有接触过。现在正流行这个,等楼下的给你介绍吧!
------------------------------------
相比较而言,用DELPHI最省事。但是你要了解Object Pascal语言,这个编程工具是以这个语言为基础的。Delphi开发也是很不错的。
-------------------------------------
以上只是一个建议,学习不可能简单,而且路子不一样,上边提到的两windows书,是微软出版社,在这个方面最权威的书。
程序员(英文Programmer)是从事程序开发、维护的专业人员。
一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力 团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。
独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯 文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。
作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯 知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力 程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力 作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。
模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。 6:测试习惯 测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。
程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。 7:学习和总结的能力 程序员是很容易被淘汰的职业,所以要善于学习总结。
许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。
这样才能逐步提高,从程序员升级为软件设计师、系统分析员。 作为高级程序员,除了应该具备上述全部素质之外,还需要具备以下素质: 1、需求分析能力 2、整体框架能力 3、流程处理能力 4、模块分解能力 5、整体项目评估能力 6、团队组织管理能力 1,激情。
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。
激情是一个优秀程序员的重要指标。2,自学好学 编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。
他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。
实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。3,聪明 聪明包括很多因素,情绪和社会交际只是其中之一。
好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。4,隐性的经验 —好的程序员通。
常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。5,技术多样性 由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书 资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。
但相信这些对大多数真正的程序员都适用。总结而言,优秀的程序员通常有一下特点:n 对技术充满激情;n 将编程作为一种爱好 n 如果你允许会滔滔不绝地跟你谈论技术 n 有过个人的开发经历(与4意思相同) n 坚持认为某种技术最好 n 如果让他用他认为不好的技术他会非常别扭 n 聪明、健谈、兴趣广泛 n 在大学。
呵。
要看你想往哪方面的程序方向发展了。现在程序员也分很多种的啊。
有WEB程序员,嵌入式程序员,有C/S程序员。我就给你一份.net程序员的规划吧!呵。
希望对你有帮助!一份.Net的学习规划 一、研究方向 智能信息处理实验室.Net小组的主要研究方向是“.Net平台下软件开发技术及相关应用”,其研究内容包括.Net框架、.Net语言、面向对象的设计、软件工程学方法以及以上理论在实际中的应用。小组将以.Net为开发平台,着眼于软件体系结构,特别是面向对象的软件设计方法,学习软件模块化、系统解耦合和设计模式等相关的理论知识,并结合实验室“Web语义”、“工作流”等已有的课题点,讨论以上技术在实际生产中的应用。
在更高层次上,小组将系统的学习目前较为常见的软件工程学方法,包括瀑布模式、螺旋模式和敏捷模式等。并在项目中尝试采用这些方法,分析这些模式的特点和适用范围,使小组成员掌握基本的软件项目管理能力。
二、研究阶段 对于.Net下软件的开发的研究分为以下四个阶段:第一阶段:.Net开发环境的掌握和相关开发技术的学习。这一阶段主要是掌握一门.Net语言(推荐C#);掌握.Net开发的基本技能,包括熟悉.Net框架中的核心类、用于数据访问的ADO.Net和用于Web应用的Asp.Net等;掌握Web开发的相关技术,包括数据库、HTML、JavaScript、CSS和服务器的配置等;熟悉Visual Studio .Net、Visual Source Safe等开发工具。
该阶段完成后小组成员将有能力阅读.Net系统的代码,并在已有的基础上进行改善的能力。第二阶段:掌握基本的面向对象设计。
在这一阶段,小组成将继续学习.Net框架的相关知识,了解包括反射、XML、ORM和Ajax等较为深入的内容。同时,应该注重对相关原理的理解,包括IL语言、Asp.Net运行时和Http协议等。
在软件结构体系方面,小组成员开始学习使用面向对象的方法进行思考,使用继承、引用和多态等面向对象的思路来描述系统的设计,掌握UML等系统设计工具。这一阶段将加大实践的比例,使小组通过开发实际项目,掌握相关的技术和面向对象设计能力。
在这一阶段,随着项目实践的展开,小组成员开始接触软件工程学方法,了解不同的开发模式,掌握团队协作能力和相关协作工具的使用。第三个阶段:掌握初步系统架构设计。
在这一阶段,系统地实现已经不是重点,而该是如何设计出一个良好的系统结构。这要求深入的理解面向对象的思想,并且具有一定的开发经验。
在这一阶段,小组将学习软件构架的相关知识,包括系统的模块化、模块间解耦合、面向对象的设计原则、设计模式、测试和重构等,并且学习使用这些知识对不同的系统进行设计,掌握各种模式的特点和使用范围,从而对于给定的系统要求能够设计出较为完善的架构。第四阶段:掌握完善系统架构设计。
这一阶段着眼于如何对系统的需求进行深入的理解,以及此基础上,设计出完善的系统架构。完善的系统架构应该重视并准确的反映系统的业务逻辑,并考虑需求变化的应对,兼顾系统的灵活性、健壮性、复杂度、开发效率和运行效率等诸多方面。
小组成员在这一阶段将学习大量现有的优秀系统设计,并结合实验室相关项目,充分理解不同系统所应该采用的构架模式,并尽量能够拥有自己独到的设计见解和设计风格。附:参考书目1,第一阶段:a) 《C#高级编程》b) 《Asp.Net高级编程》c) 《HTML&XHTML权威指南》d) 《JavaScript权威指南》e) 《数据系统概论》2,第二阶段:a) 《.Net Framework高级编程》b) 《Asp.Net 技术内幕》c) 《C# XML高级编程》d) 《JavaScript高级编程》e) 《Ajax基础教程》f) 《代码大全2》g) 《面向对象开发实践之路——C#版》h) UML书籍一本3,第三阶段:a) 《重构——改善既有代码的设计》b) 《敏捷软件开发——原则、模式及实践》c) 《Head First Design Patterns》d) 《设计模式——可复用的面向对象设计》4,第四阶段:a) 《企业应用构架模式》b) 《测试驱动开发》c) 《程序员修炼之道》。
数学基础(高中够了) 英语基础(初中够了) 计算机常识 操作系统:windows dos Lilx 原理(不是简单的复制粘贴"原理") 计算机语言:汇编和C/C 软件方向 或 java网络方向之一 再加上其他语言如Pascal或Visual Basic。
软件工程`知识产权`安全知识`计算机原理`数据库`多媒体常识`这都是软件设计师的考纲(上午题)此证由国家人事部发,比重点本科证值钱(注意:等级上比不上,但在现在的现实社会足以)。 若是普通程序员,至少在深圳人才市场看来都是直接T(踢),除非你是高级程序员。
建议去参考一下北大青鸟集团的培训,有基础的一年半即可拿到此证(呵呵~有基础~但是中国还是不多)。祝你成功。
程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”
如果做一个专业的程序员:
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
程序员的考试要求:掌握数制及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;理解计算机的组成以及各主要部件的性能指标;掌握操作系统、程序设计语言的基础知识;熟练掌握计算机常用办公软件的基本操作方法;熟练掌握基本数据结构和常用算法;熟练掌握C程序设计语言,以及C++、Java、Visual
Basic中一种程序设计语言;熟悉数据库、网络和多媒体的基础知识;掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;了解常用信息技术标准、安全性,以及有关法律、法规的基本知识。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.761秒