本文目录一览:
- 1、要做程序员需要学会什么?
- 2、c++程序员需要学什么?
- 3、程序员必备知识有哪些
- 4、Java程序员都需要学习什么?
- 5、要做程序员需要具备哪些基础才能开始学习程序员课程的?
- 6、一个标准的程序员需要学习哪些知识?
要做程序员需要学会什么?
首先要学习什么?
我觉得可以先选一门简单的语言进行学习,这样可以先对编程有一个初步的认识,我学习的第一门语言是c,学得不精,简直就是入门中的入门。我觉得c、java、Python都是不错的入门语言,书籍可以直接百度 ----入门书籍。
然后这样一边认识编程,一边去了解自己想开发的东西需要什么技术,比如开发安卓要用java,网站要或php。详细的了解之后需要的就是不断地去补充这些自己不懂的东西。我觉得没有必要在第一门语言选什么上纠结太久,就我个人而言,才学编程对时候连什么是面向对象编程都不知道,根本无法知道自己真正需要的技术是什么,又怎么选呢?
我认为最重要的就是尽快选一个语言开始学习吧!
给自学成才的新手程序员的六个建议
1、让编程成为一个习惯
想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。
对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!
接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的做法更容易长期坚持,且不会被其它因素所轻易干扰。
同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。
2、把工作拆分成小块
对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。
不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。
另外要向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,因此推荐各位认真了解。
3、阅读别人的代码
经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。
4、寻找良师益友
5.写技术文章
如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。一来可以提高自己的编程水平,二来也能提高自己的知名度,将来找工作也会比别人多一个机会。
6.保持耐心
对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。
在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~
c++程序员需要学什么?
c++程序员需要学以下9点主要知识:
1. 语言基础
我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习。
学习语言的目的就是打好基础,特别是自学的,一定规划好自己的学习路线,一步一个脚印学习下去。学习语言最关键的莫过于多读书,但不能随便找一本C++书籍就去读了。
2. GUI
C++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。
这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库。
需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。
MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。
3. 数据结构和算法
很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好;几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。
但是,当我们想让我们的程序跑得更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。
最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。
4. 数据库
学习数据库的基础知识,并且掌握一种数据库使用。
推荐使用Oracle,而且最好不要用一些封装好的接口。
而应该直接用Oracle提供的数据库API,可能对数据库了解的会更深入。
5. 并行
CPU主频已经不能遵循摩尔定律了,现在CPU发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好地利用CPU的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。
6.网络编程
这里所指的网络编程是指socket编程。
现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。
7. 设计模式
设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。
8. 库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。
其它也有一些专注于某一方面的库,比如ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。
9. 操作系统的知识
程序员需要了解的操作系统知识和普通用户是不一样的一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。
至于应该了解哪些知识,Windows上的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该可以知道自己应该学什么了。
以上都是学习C++游戏开发的前期准备,也就是打好基础。上面都是基本功,看起来有点多,但是磨刀不误砍柴工。这对于你后面学习游戏开发有非常大的帮助。总而言之,道路还是很艰辛的,且行且珍惜!!!
程序员必备知识有哪些
根据软考程序员职称的考试内容,我们可以得出,程序员需要具备以下的知识。但这些只是基础,还要不断扩展。
计算机硬件基础知识。
1. 计算机科学基础。
1.1数制及其转换。
二进制、十进制和十六进制等常用数制及其相互转换。
1.2数据的表示。
数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)。
校验方法和校验码(奇偶校验码、海明校验码)。
1.3算术运算和逻辑运算。
计算机中二进制数的运算方法。
逻辑代数的基本运算和逻辑表达式的化简。
1.5常用数据结构。
数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和操作
1.6 常用算法。
算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)
2. 计算机系统基础知识。
2.1计算机基础知识。
2.1.1计算机系统的组成,硬件系统、软件系统及层次结构。
2.1.3 中央处理器CPU。
运算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控
处理机性能。
2.1.4 主存和辅存。
存储器系统。
存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)。
主存储器的组成、性能及基本原理。
Cache的概念、虚拟存储的概念。
辅存设备的类型、特性、性能和容量计算。
2.1.5 I/O接口、I/O设备和通信设备。
I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)。
I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)。
I/O设备控制方式(中断控制、DMA)。
通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)。
2.2 软件基础知识。
2.2.1 操作系统基础知识。
操作系统的类型和功能。
操作系统的内核(中断控制)和进程概念。
处理机管理、存储管理、设备管理、文件管理、作业管理、汉字处理。
2.2.2 程序设计语言和语言处理程序基础知识。
汇编、编译、解释系统的基础知识。
过程(函数)调用。
2.3 网络基础知识。
网络的功能、分类、组成和拓扑结构。
网络体系结构与协议(OSI/RM,TCP/IP)。
2.4 数据库基础知识。
数据模型,ER图。
数据操作(关系运算)。
数据库语言(SQL)。
2.5 多媒体基础知识。
多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型。
3.软件开发和运行维护基础知识。
3.2 软件需求分析、需求定义及软件基础知识。
结构化分析概念(数据流图(DFD)、实体关系图(ER))。
面向对象设计、结构化设计基础知识。
模拟设计、代码设计、人机界面设计要点。
3.3 程序设计基础知识。
结构设计程序设计,程序流程图,NS图,PAD图。
程序设计风格。
面向对象设计基础知识、可视化程序设计基础知识。
3.4 程序测试基础知识。
黑盒测试、白盒测试、灰盒测试基础知识。
4. 安全性基础知识。
安全性基本概念。
加密与解密基础知识。
5. 标准化基础知识
标准化基本概念
6. 信息化基本知识。
有关的法律、法规要点。
7. 计算机专业英语。
考试科目2:程序设计。
1. 内部设计
1.1 理解外部设计。
1.3 物理数据设计。
确定数据组织方式、存储介质,设计记录格式和处理方式。
2. 程序设计。
2.1 模拟划分(原则、方法、标准)。
3. 程序实现。
3.1 编程。
编程方法和标准。
程序设计语言的使用。
4.程序设计语言(C语言为必选,其他语言可以任选一种)。
4.1 C程序设计语言(ANSI C标准)。
程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针。
4.2 C++程序设计语言(ANSI C++标准)。
C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态。
4.3 Java程序设计(Java 2)。
语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)。
4.4 Visual Basic程序设计(Visual Basic 6.0)。
Java程序员都需要学习什么?
据我所知java编程需要学习面向对象、基本语法、JSP、WebServer以及常用的Java开发工具和常用框架等知识。学习java编程可以使用JBuilder、IDEA、Eclipse等工具。
如果有C++等面向对象语言的开发经验,可以简单的翻看一下介绍JAVA的相关书籍就可以了。如果是新手就需要花时间好好研究一下Java的语法了
做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果再熟悉一下JS和CSS就更好了,那会使得制作的页面更友好。
熟悉了以上这些已经可以制作出来JSP页面了,但是页面总要跑起来才能看到它的效果,这就要求必须熟悉一种WebServer,比如:TOMCAT,RESIN等。要学会如何发布应用,如何利用WebServer的数据库资源等。
想要创维一名优秀的Java程序员,建议找一家专业软件培训机构学习,我推建AAA软件教育集团,AAA教育集团(隶属于深圳市漫动者教育科技有限公司),成立于2007年,专业从事高端计算机职业教育工作,是国内知名的教育品牌。集团创立以来,依托先进的办学理念,AAA培养出数万名专业性、实战型高端技术人才,被业界誉为“互联网金领生产基地”。
要做程序员需要具备哪些基础才能开始学习程序员课程的?
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
一个标准的程序员需要学习哪些知识?
第一,深刻理解操作系统体系结构。程序设计是构建在操作系统之上的,所以对操作系统的理解对一名程序员来说是非常重要的。不少计算机专业的学生在大学时就会阅读Linux系列操作系统的源代码,这对未来编程会有非常大的帮助。
第二,具备扎实的数学基础。程序设计说到底就是数学问题,所以程序员要熟练掌握各种常见算法的实现,以及不同的场景应该使用什么算法来实现。