1.程序员必备知识有哪些
程序员的考试要求:掌握数制及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;理解计算机的组成以及各主要部件的性能指标;掌握操作系统、程序设计语言的基础知识;熟练掌握计算机常用办公软件的基本操作方法;熟练掌握基本数据结构和常用算法;熟练掌握C程序设计语言,以及C++、Java、Visual
Basic中一种程序设计语言;熟悉数据库、网络和多媒体的基础知识;掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;了解常用信息技术标准、安全性,以及有关法律、法规的基本知识。
2.计算机基础知识包括什么
操作系统、文字处理软件Word、电子表格软件Excel、演示文稿PowerPoint、计算机网络基础、网页制作软件Frontpage、常用软件的使用、Access数据库
计算机的基础知识包括10章:
1. 信息技术与计算机文化
2. Windows 2000操作系统
3. 字处理软件Word2000
4. 电子表格系统Excel2000
5. 演示文稿软件PowerPoint2000
6. 数据库管理系统Access2000
7. 计算机网络基础
8. Internet基础
9. 网页制作
10. 网络信息安全
3.我想学习电脑软件知识
软件设计师考试大纲
一、考试说明
1.考试要求:
(1) 掌握数据表示、算术和逻辑运算;
(2) 掌握相关的应用数学、离散数学的基础知识;
(3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5) 熟练掌握常用数据结构和常用算法;
(6) 熟悉数据库、网络和多媒体的基础知识;
(7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言;
(8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9) 熟悉掌握软件设计的方法和技术;
(10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(11) 了解信息化、计算机应用的基础知识;
(12) 正确阅读和理解计算机领域的英文资料。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平
4.计算机基础知识
全国计算机等级考试一级机试,内容包括选择题、Windows基本操作题、汉字录入题、Word操作题、Excel操作题、PowerPoint操作题以及因特网操作题。
计算机一级考试内容提纲基本要求 1.具有使用微型计算机的基础知识(包括计算机病毒的防治常识)。 2 了解微型计算机系统的组成和各组成部分的功能。
3,了解操作系统的基本功能和作用.掌握Windows的基本操作和应用。 4.了解文字处理的基本知识,掌握文字处理软件"MS Word”的基本操作和应用,熟练掌握 一种汉字(键盘),输人方法。
5.了解电子表格软件的基本知识,掌握电子表格软件"Excel”的基本操作和应用。 6.了解多媒体演示软件的基奉知识.掌握演示文稿制作软件"PowerPoint”的基本操作和应用。
7 了解计算机网络的基本概念和因特同(Internet)的初步知识. 8. 掌握IE浏览器软件和“OutlookExpress”软件的基本操作和使用。 考试内容 一、基础知识 1.计算机的概念。
类型及其应用领域;计算机系统的配置及主要技术指标。 2.计算机中数据的表示二进制的概念,整数的二进制表示,西文字符的ASCll码表示。
汉字及其编码(国标码),数据的存储单位(位、字节、字)。 3 计算机病毒的概念和病毒的防治。
4 计算机硬件系统的组成和功能:CPU、存储器(ROM、RAM)以及常用的输入输出设备的功能。 5 计算机软件系统的组成和功能:系统软件和应用软件,程序设计语言(机器语言、汇编语言、高级语言)的概念。
二、操作系统的功能和使用 1.操作系统的基本概念、功能、组成和分类。 2.Windows操作系统的基本概念和常用术语,文件、文件名、目录(文件夹)、目录(文件夹)树和路径等。
3.Windows操作系统的基本操作和应用: (1)Windows概述、特点和功能、配置和运行环境。 (2)Windows“开始”按钮、“任务栏”、“菜单”、·图标”等的使用。
(3)应用程序的运行和退出。 (4)熟练掌握资源管理系统“我的电脑”和“资源管理器”的操作与应用。
文件和文件夹的创建、移动、复制、删除、更名、查找、打印和属性设置。 (5)软盘的格式化和整盘复制,磁盘属性的查看等操作。
(6)中文输入法的安装、删除和选用;显示器的设置。 (7)快捷方式的设置和使用。
三、文字处理软件的功能和使用 1.文字处理软件的基本概念,中文Word的基本功能、运行环境、启动和退出。 2.文档的创建、打开和基本编辑操作,文本的查找与替换,多窗口和多文档的编辑。
3.文档的保存、保护、复制、删除和插入。 4 字体格式设置、段落格式设置和文档的页面设置等基本的排版操作。
打印预览和打印。 5.Word的对象搔作:对象的概念及种类.图形、图像对象的编辑,文本框的使用。
6.Word的表格制作功能:表格创建与修饰,表格中数据的输入与编辑.数据的排序和计算。 四、电子表格软件的功能和使用 1.电子表格的基本概念,中文Excel的功能、运行环境、启动和退出 2.工作簿和工作表的基本概念.工作表的创建、数据输人、编辑和排版。
3.工作表的插入、复制、移动、更名、保存和保护等基本操作。 4.单元格的绝对地址和相对地址的概念,工作表中公式的输人与常用函数的使用。
5.数据清单的概念,记录单的使用、记录的排序、筛选、查找和分类汇总。 6.图表的创建和格式设置。
7.工作表的页面设置、打印预览和打印。 五、电子演示文稿制作软件的功能和使用 1.中文PowerPoint的功能、运行环境、启动和退出。
2.演示文稿的创建、打开和保存。 3.演示文稿视图的使用,幻灯片的制作、文宇编排、图片和图表插入且模板的选用。
4.幻灯片的插入和删除、演示顺序的改变.幻灯片格式的设置,幻灯 5.幻灯片的插入和删除、演示顺序的改变.幻灯片格式的设置,幻灯片放映效果的设置.多媒体对象的插入.演示文稿的打包和打印。 六、因特网CInlernell的初步知识和应用 1.计算机网络的概念和分类。
2.因特网的摹本概念和接人方式。 3.因特同的简单应用:拨号连接、浏览器(1E6.o)的使用,电子邮件。
5.软件工程师必备知识
软件工程师考试(高级)大纲 一、考试说明 1.考试要求: (1)理解软件工程管理的概念和任务; (2)理解软件生存期过程; (3)理解软件工程标准; (4)掌握需求分析、测试、维护基本技术; (5)掌握软件度量、软件配置管理方法; (6)理解软件复用概念; (7)理解软件质量保证的手段; (s)理解软件项目对人员的需求; (9)理解软件知识产权的基本知识。
2.通过本级水平考试的合格人员具有从事软件系统分析与工程系统分析员、工程管理员的实际工作能力和业务水平。 3.本级水平考试范围包括三个模块,即模块1、模块2和模块3。
题型为单项选择题十多项选择题十综合题。每个模块考试时间为90分钟。
二、考试范围 模块1:软件工程技术 1.1软件生存期过程 1.1.1软件工程过程和软件生存期 1.1.2软件生存期模型 1.1.3国际标准:ISO/IECI2207信息技术一软件生存期过程 1.2软件需求分析 1.2.1需求分析的任务 1.2.2需求分析过程 1.2.3需求的类型。 1.2.4需求分析的原则 1.2.5需求分析人员和用户的责任 1.2.6需求文档 1.2.7需求说明技术的选择 1.3软件复用技术 1.3.1软件复用的概念 1.3.2软件开发过程 1.3.3构件技术 1.3.4分层式体系结构 1.3.5实施软件复用开发单位的组织结构 1.4软件测试技术 1.4.1软件测试的基本概念 1.4.2测试用例设计 ●白盒测试 ●黑盒测试 1.4.3性能测试 1.4.4软件测试策略 1.4.5软件测试工具 1.5软件维护 1.5.1软件维护的概念 1.5.2软件维护活动 1.5.3软件维护的实施 1.5.4软件可维护性 1.5.5软件再工程 1.6软件工具与软件开发环境 1.6.1软件开发工具的分类、作用和功能 1.6.2软件开发环境的概念 模块2:软件质量管理与软件质量保证 2.1软件质量 2.1.1什么是软件质量 2.1.2软件可靠性 2.1.3软件质量问题的根源 2.1.4软件产品质量与软件过程质量 2.2软件质量保证 2.2.1软件质量保证的概念 2.2.2软件质量保证体系 2.2.3质量保证的实施 2.2.4软件质量设计 2.2.5软件容错技术 2.3软件工程标准与软件文档 2.3.1什么是软件工程标准 2.3.2软件工程标准化的意义 2.3.3软件工程标准的制订与推行 2.3.4软件工程标准的层次 2,3.5软件工程国家标准 2.4ISO9000国际标准 2.4.1质量管理、质量认证与质量审核 2.4.2ISO9000标准概要 2.4.3ISO9000族标准构成 2.4.4质量体系 2.4.5ISO9001的主要内容 2.4.6ISO9000_3实施指南概要 2.5软件过程能力评估CMM 2.5.1软件过程评估的意义 2.5.2软件过程能力成熟度分级及其关键过程域 2.5.3软件过程评估的国际标准 2.6软件度量 2.6.1软件度量的概念 2.6.2功能点方法计算软件的大小 2.6.3程序环路复杂度计算 2.6.4Halstead程序工作量计算 2.6.5程序风格度量 2.7软件配置管理 2.7.1什么是软件配置管理 2.7.2配置管理计划的制订 2.7.3变更管理 2.7.4版本管理和发行管理 模块3:软件工程管理 3.1软件工程管理和软件项目管理 3.1.1软件工程管理的任务与意义 3.1.2软件工程管理的范围 3.1.3软件文档管理 3.1.4软件成本估算 3.1.5软件风险分析 3.1.6软件项目进度计划与监控 3.2软件人员管理 3.2.1软件开发组织结构 3.2.2软件人员能力成熟度模型 3.2.3软件工程师道德和职业活动规范 3.3软件知识产权保护 3.3.1什么是知识产权 3.3.2计算机软件著作权 3.3.3计算机软件著作权登记管理 3.3.4计算机软件著作权侵权与法律保护 3.3.5计算机软件的商业秘密与反不正当竞争================================= 高级软件工程师哪些必须精通2007年09月26日 星期三 下午 05:31程序员的七种武器 信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。
程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。 信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。
本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具 至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。
其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,。
6.常见的系统软件都有哪些
一、LINUX
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
二、DOS
dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。家族包括MS-DOS、PC-DOS、DR-DOS、PTS-DOS、ROM-DOS、JM-OS等,其中以MS-DOS最为著名。虽然这些系统常被简称为"DOS",但几乎没有系统单纯以"DOS"命名(只有一个毫无关连的1960年代IBM大型主机操作系统以此命名)。
三、WINDOWS
Microsoft Windows操作系统是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
四、Access
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。
Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。
五、Oracle
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
7.软件开发一般要学习什么知识
如何成为好的程序员?How To Become a good Programmer?首先问你一个问题:你们在学校都学些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。
如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。
用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。
又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。
只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有:1。
扎实的基础知识;2。很强的解决问题的能力;3。
熟练的编程调试能力;4。创新能力;5。
团队合作能力;6。持续的自学能力;7。
好奇心 这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。
学习C语言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。
但是,写程序的时候是否想过如何把程序写得更加精炼,高效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。
但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。
很多学生都能够回答这是一个广度遍历的问题。但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。
所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
举了这么多例子,我想说明的事,想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够一蹴而就的。
当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。我觉得要提高编程的能力,有一位良师很重要。
这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。
所以,当学会了书本上的基本知识以后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。这个项目可以在学校找,也可以到校外找。
一开始不要计较报酬,甚至如果能够寻到高手指点,白干也行。其次是读好的源代码。
多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。
将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。再次是看一些编程方面的好书。
Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。
在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。
看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和操作系统,可能在某些方面会遇到一些障碍。
所以,如果有精力和条件的话,可以同时了解这些方面的知识。最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。
对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。
我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。
计算机专业修炼和武侠小说中功夫修炼都是一样的:金庸先生小说中提到高手习武包括内功和外功,其实这个道理在计算机专业同学中一样适用!内功包括:基本心法和高级心法 基本心法需要每个习武者必须修炼,包括:数据结构、编译原理、计算机组成原理、高等数学、线性代数以及外语等。高级心法根据个人需要定,比如:网络类需要学习包括TCP/IP原理等;软件工程需要学习包括软件工程的基础课程。
外功包括:基本招。