编程的初学者应从什么开始学

编程的初学者应从什么开始学,第1张

想学编程,不能急,要慢慢来,有耐心,(千万别下网上的电子书,那简直是浪费时间,自己花钱去买书回来看)相信你能成功!下面是一些书和要求:

1、《计算机组成原理》(熟悉)

2、《数据结构》(掌握)

3、《 *** 作系统》(了解->熟悉)

4、《The C language》(掌握)

5、《编译原理》(了解原理)

6、《汇编语言》(了解)

7、《计算机网络》(了解)

8、《软件工程》(了解)

9、《关系数据库》(熟悉)

10、《The C++Languege 》(掌握)

11、《面向对象设计》(掌握;结合C++学习)

1、《The C Programming language》 (Keinighan & Dennis Ritchie 1988)

2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)

3、《Inside The C++ Object Model》 (lippmans)

4、《Effective C++》 (同上)

5、《More Effective C++》 (同上)

6、《Exceptional c++》

7、《C++面向对象高效编程》

8、《设计模式》

9、《Thinking In C++》

10、《The Standard C++ Bible》(一般推荐)

11、《The Art of Computer Programming 》

12、《Programming Windows》 (Charles Petzold)

13、《VC++50技术内幕》

14、《MFC 深入浅出》

15、《软件需求》

16、《Advanced Windows》

17、《C++ primer》

18、《win32程序员参考手册》

19、《用TCP/IP进行网际互连》

20、《COM 本质论》

学编程就是这样,我今年30岁了,五年里跳了五次槽,不知道和大家比算不算多J,没有什么太多起伏,但我想很多朋友可能会和我有类似的经历,不知道能不能引起你们的共鸣。30岁,开始实现我的程序员梦,从一个编程爱好者,从一个业余的程序员,一个水平不高的程序员,一个半道出家的程序员 我想对我上面所说的话给一个总结:

如果你不是科班出身,想要转行而不知该怎么开始的话,建议你先看两类书:(1)计算机原理;(2)数据结构和算法。(看数据结构之前先看C语言)。

如果你还是在校的学生,英语很差,专业课也很差。没关系,想怎么学计算机就怎么学计算机吧。其它地只要能混到毕业证就行了。除非你对自己的未来没有信心。(当然,如果你的理想不仅仅是要做一个程序员,那你别丢掉英语。)

不要因为自己年轻就找理由挥霍时间,少玩一点SC、CS、魔兽3、传奇、魔力或者……,多看点书,多练练题。

Java、net、C++、PB、VB、Delphi、汇编到底应该学哪个?我的经验,哪个最简单就先学哪个、公司用哪个你就学哪个、哪个和你有缘(比如刚好你认识一个愿意帮助你的Delphi高手)你就学哪个,如果你都学,或者三天两头的换,我可以告诉你结果肯定是什么都不会,不要心浮气燥,他们都只是工具,学精一门其它的就相通了,重要的是掌握编程的思想。如果你问我面向对象(好像现在已经是面向需求了)、UML、WebLogic、WebService、软件工程、XML……应该怎么学呀,对不起,这些我也确实不是都会,但请相信,你先实实在在的写上十万行以上的代码以后,那些东西你自然就慢慢会了。 什么时候努力都不晚,关键是你明白要努力了,大器晚成总比一事无成要好的多。

大家不要误会,这里的假于物可不是指抄袭别人的源代码,而是指通过学习别人的源代码把他的思想扩展到自己的思想里去。

注:上面的十大“精华”纯属我个人的“谬论”,您自己看着消化,有用的收下,没用的请拖入“回收站”。如果你觉得这些总结不过是一些浮华之词,那请你先问问自己:“是不是在行动上都真正做到了。”

如果你觉得自己应该追求什么,不管遇到什么困难千万不要放弃,一定要坚持下去。

这就是我,一个不算优秀,不算勤奋;玩能玩通宵,学也学能学通宵;对梦想的追求很执着;到了30才开始真正写程序;一个很平凡但又不甘于平凡的人……我的经历相信很多朋友都有过的,我现在也不能算是一个成功人士,但我相信我的经历却是值得大家借鉴的,因为我终究代表了一类人。

最后我还想说一点:现在很多朋友都抱怨中国的软件业环境太差,前途渺茫。确实是这样,我有同感。最后:希望所有的程序员和拥有成为程序员梦想的朋友们在新的一年里心想事成,万事如意。请相信我:明天不一定更美好,但美好的一天一定会来!

二级就能当程序员。

一级(入门级水平,程序员级):这是最基本的一个级别,具备一定时间专业培训的人员都能达到。

二级(初级水平,中、高级程序员级或助理工程师级):需要较多的开发经验、熟悉本行业中常用的技术。

三级(中级水平,软件工程师级,助理架构师级)该级别是二级水平的升华,不但需要具备大量的实际开发经验,也需要具备一定的系统整体概念。

编程初级就能当程序员了。级别分别如下:

(1)高级资格:信息系统项目管理师、系统分析师(原系统分析员)、系统构架设计师;

(2)中级资格:软件设计师(原高级程序员)、网络工程师、信息系统监理师、电子商务设计师、软件评测师、多媒体应用设计师、数据库系统工程师、嵌入式系统设计师、计算机辅助设计师、信息系统管理工程师、信息技术支持工程师;

(3)初级资格:程序员(原初级程序员、程序员)、网络管理员、信息处理技术员、电子商务技术员、多媒体应用制作技术员、信息系统运行管理员。

编程三级能当程序员。

学习编程的基础:

1、英语基础

虽然对于初级程序员来说,英语只需要写简单的词汇就可以,但是如果想要走的更远,还是要去学习和掌握。我极力推荐英语是因为在学习IT技术上,没有专业文档的阅读能力是不可想象的,中文的翻译往往在猴年马月才会出来,而现在的许多出版社干脆就直接把英文印刷上去,学习的方法是强迫自己看原版的教材,开始会看不懂,用多了自然熟练,吃得苦下得狠心绝对是任何行业都需要的品质。相信只要有几年工作经验的人都会深有感触!

2、计算机体系结构和汇编语言

关于体系结构的书遍地都是,而且也大同小异,倒是汇编有一本非常好的书《80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著),你需要着重学习386后保护模式的程序设计。否则你在学习现代 *** 作系统底层的一些东西的时候会觉得是在看天书。

3、计算机 *** 作系统原理

我们的开发总是在特定的 *** 作系统上进行,如果不是,只有一种可能:你在自己实现一个 *** 作系统,无论如何, *** 作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也很多,我没有发现哪一本书非常出众,只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》。

4、数据结构和算法

这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的。很多人喜欢买C++版的,但我觉得没有必要,C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂,倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。

5、软件工程

这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。《实用软件工程》(**,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。

6、Windows 程序设计

我建议任何企图设计Windows程序的人在学习VC以前仔细的学完它,而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件,有的就是如何用原始的C语言来完成Windows程序设计。

在学完了它以后,你才会发现VC其实是很容易学的,千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰,我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。

初级程序员考试:考试科目1:计算机硬软件基础知识

1 计算机科学基础

11 数制及其转换

二进制、十进制和十六进制等常用数制及其相互转换

12 数据的表示

数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)

非数值表示(字符和汉字的机内表示、声音和图像的机内表示)

校验方法和校验码(奇偶校验码、海明校验码)

13 算术运算和逻辑运算

计算机中二进制数的运算方法

逻辑代数的基本运算和逻辑表达式的化简

14 数学应用

常用数值计算(矩阵、方程的近似求解、插值)

排列组合、应用统计(数据的统计分析)

15 常用数据结构

数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和 *** 作

16 常用算法

常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法

算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)

2. 计算机系统基础知识

21 硬件基础知识

211 计算机系统的组成,硬件系统、软件系统及层次结构

212 计算机类型和特点

微机、工作站、服务器、大型计算机、巨型计算机

213 中央处理器CPU

运算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控制、处理机性能

214 主存和辅存

存储器系统

存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)

主存储器的组成、性能及基本原理

Cache的概念、虚拟存储的概念

辅存设备的类型、特性、性能和容量计算

215 I/O接口、I/O设备和通信设备

I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)

I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)

I/O设备控制方式(中断控制、DMA)

通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)

22 软件基础知识

221 *** 作系统基础知识

*** 作系统的类型和功能

*** 作系统的内核(中断控制)和进程概念

处理机管理、存储管理、设备管理、文件管理、作业管理

汉字处理

图形用户界面及其 *** 作方法

222 程序设计语言和语言处理程序基础知识

汇编、编译、解释系统的基础知识

程序设计语言的基本成分(数据、运算、控制和传输)

过程(函数)调用

23 网络基础知识

网络的功能、分类、组成和拓扑结构

网络体系结构与协议(OSI/RM,TCP/IP)

常用网络设备与网络通信设备,网络 *** 作系统基础知识和使用

Client/Server结构、Browser/Server结构

LAN基础知识

Internet基础知识

24 数据库基础知识

数据库管理系统的主要功能和特征

数据库模型(概念模式、外模式、内模式)

数据模型,ER图

数据 *** 作(关系运算)

数据库语言(SQL)

数据库的主要控制功能

25 多媒体基础知识

多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型

简单图形的绘制,图像文件的基本处理方法

音频和视频信息的应用

简单多媒体应用制作方法

26 系统性能指标

响应时间、吞吐量、周转时间等概念

可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性等概念

27 计算机应用基础知识和常用办公软件的 *** 作方法

信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等概念

文字处理基础知识和常用 *** 作方法

电子表格处理基础知识和常用 *** 作方法

演示文稿制作方法

电子邮件处理 *** 作方法

网页制作方法

3. 软件开发和运行维护基础知识

31 软件工程和项目管理基础知识

软件工程基本概念

软件开发各阶段的目标和任务

软件过程基本知识

软件工程项目管理基本知识

面向对象开发方法基础知识

软件开发工具与环境基础知识(CASE)

软件质量管理基础知识

32 软件需求分析、需求定义及软件基础知识

结构化分析概念(数据流图(DFD)、实体关系图(ER))

面向对象设计、结构化设计基础知识

模拟设计、代码设计、人机界面设计要点

33 程序设计基础知识

结构设计程序设计,程序流程图,NS图,PAD图

程序设计风格

面向对象设计基础知识、可视化程序设计基础知识

34 程序测试基础知识

黑盒测试、白盒测试、灰盒测试基础知识

测试工作流程

35 软件开发文档基础知识

36 软件运行和维护基础知识

软件运行基础知识

软件维护基础知识

4. 安全性基础知识

安全性基本概念

计算机病毒的防治,计算机犯罪的防范

访问控制

加密与解密基础知识

5. 标准化基础知识

标准化基本概念

国际标准、国家标准、行业标准、企业标准基础知识

代码标准、文件格式标准、安全标准、软件开发规范和文档标准基础知识

标准化机构

6. 信息化基本知识

信息化基本概念

全球信息化趋势,国家信息化战略,企业信息化战略和策略常识

有关的法律、法规要点

过程教育、电子商务、电子政务等常识

企业信息资源管理常识

7. 计算机专业英语

掌握计算机技术的基本词汇

能正确阅读和理解本领域的简单英文资料

考试科目2:程序设计

1 内部设计

11 理解外部设计

12 功能划分和确定结构

数据流图、结构图

13 物理数据设计

确定数据组织方式、存储介质,设计记录格式和处理方式

14 详细输入输出设计

界面设计、报表设计

15 内部设计文档

对程序接口、程序功能、人机界面、输入输出、测试计划的描述

16 内部设计文档

2. 程序设计

21 模拟划分(原则、方法、标准)

22 编写程序设计文档

模块规格说明书(程序处理逻辑的描述、输入输出数据格式的描述)

测试要求说明书(测试类型和目标、测试用例、测试方法)

23 程序设计评审

3. 程序实现

31 编程

编程方法和标准

程序设计语言的使用

人工检查

程序文档化

32 程序测试

准备测试环境和测试工具

准备测试数据

写出测试报告

4程序设计语言(C语言为必选,其他语言可以任选一种)

41 C程序设计语言(ANSI C标准)

程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针

42 C++程序设计语言(ANSI C++标准)

C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态

43 Java程序设计(Java 2)

Java和面向对象程序设计

语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)

44 Visual Basic程序设计(Visual Basic 60)

用户界面设计

程序结构和语法

文件系统对象

访问数据库

复习材料(均为清华大学出版社):

978-7-302-20585-2,程序员教程(第三版),张淑平主编

7-302-12895-2,程序员教程(第2版),沈林兴主编

以上就是关于编程的初学者应从什么开始学全部的内容,包括:编程的初学者应从什么开始学、编程几级能当程序员、学编程需要什么基础等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9737944.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存