一个程序员要学哪些方面的知识

如题所述

如果你是学生,或者如果你有充足的时间。我建议你仔细的掌握下面的知识。我的建议是针对那些希望在IT技术上有所成就的初学者。同时我还列出了一些书目,这些书应该都还可以在书店买到。说实在的,我在读其他人的文章时最大的心愿就是希望作者列出一个书单。

大学英语——不要觉得好笑。我极力推荐这门课程是因为没有专业文档的阅读能力是不可想象的。中文的翻译往往在猴年马月才会出来,而现在的许多出版社干脆就直接把E文印刷上去。学习的方法是强迫自己看原版的教材,开始会看不懂,用多了自然熟练。吃得苦下得狠心绝对是任何行业都需要的品质。

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

计算机操作系统原理——我们的开发总是在特定的操作系统上进行,如果不是,只有一种可能:你在自己实现一个操作系统。无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也很多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。

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

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

Windows 程序设计——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。

在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。

上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。

对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。如果不是,请参照计算机系的课程表。如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实践一种理论或者算法。

你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书。
温馨提示:内容为网友见解,仅供参考
无其他回答

想要成为一名程序员需要具备什么基础知识?
想成为一个程序员,需要掌握一系列基础知识,包括但不限于以下几个方面:计算机科学基础:这是编程的核心,包括算法、数据结构、计算机组成原理、操作系统、计算机网络、数据库等。编程语言:至少熟练掌握一门编程语言,如Java、Python、C++等,并了解其他常用的编程语言。理解编程语言的语法、语义、以及如何利...

初级程序员需要具备什么知识
初级程序员需要掌握的技能与知识:一、计算机基础知识,包括操作系统的使用、文件管理、网络应用等。二、程序设计方法,至少掌握一种编程语言,如C、C++、Java、Python等,并能够编写简单的程序。三、数据结构与算法,理解基本的数据结构(如数组、链表、栈、队列、哈希表、树、图)和常用算法(如排序、查...

程序员第一步学什么
1. 学习编程语言:首先,学习一门广泛应用的编程语言,比如JavaScript、Python或Java,这将帮助你快速入门。在学习的过程中,可能需要掌握一些基础知识,例如数据结构和算法,这些基础知识对于理解编程语言至关重要。2. 编写简单程序:通过练习编写一些基础程序,如计算器或打字游戏,可以让你更深入地理解编程...

学写代码需要学哪些
1. 编程语言基础 选择一种编程语言,如Python、Java、C++等,学习其语法、关键字、变量、数据类型、运算符等基础知识。这是构建代码大厦的基石,只有掌握了这些基础,才能进一步学习编程的高级特性和算法。2. 数据结构与算法 数据结构如数组、链表、栈、队列、树、图等是编程中处理数据的重要方式。算法则...

程序员考试要求掌握哪些?
根据软考程序员考试大纲,程序员考试要求掌握的内容如下:1、掌握数制及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;2、理解计算机的组成以及各主要部件的性能指标;3、掌握操作系统、程序设计语言的基础知识;4、熟练掌握计算机常用办公软件的基本操作方法;5、熟练掌握基本数据结构...

要成为一个C\/C++程序员要学哪些东西
1.语言 我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习,而学习语言最关键的莫过于选好一本书,学校的教材就算了,根本没有写 得好的。在此隆重推荐《C++ Primer》,这本书很厚,内容也很丰富,对知识的讲解不仅仅停留在表面。如果这本书能有耐心看完,语言方面基本就...

程序员要学什么
程序员要学编程语言,数据结构与算法,前端开发,后端开发,数据库管理等。1、编程语言。选择一门或多门编程语言,如Python、Java、C++、JavaScript等。掌握一种或多种编程语言,可以让您能够开发各种类型的应用程序或网站。2、数据结构与算法。学习基本的数据结构如数组、链表、栈、队列、树等和常见算法如...

自学程序员的学习顺序和课程都是什么?
编程语言可以根据需要选择,底层开发人员必学:汇编语言、c、c++;web应用表示层开发人员:html、xml、javascript、jsp(或asp,php)等;普通应用程序开发:c++、vb、.net(其中包括多种语言,可根据现有基础选择)、java等。如果你是学生,或者如果你有充足的时间。我建议你仔细的掌握下面的知识。我的建议是...

我想成为一名程序员需要哪些知识?
2、逻辑思维能力的培养。程序员必须要有一定的逻辑思维能力,逻辑思维能力的培养更需要长时间的实践锻炼。在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己...

it 学习哪些技术
一、编程语言 编程语言是IT学习的核心。程序员需要熟练掌握至少一种编程语言,如Java、Python、C++等,这些语言具有不同的特性和应用场合。Java用于企业级应用开发,Python则在新兴领域如大数据和机器学习中有广泛应用,而C++在系统级开发和游戏开发中表现优秀。二、数据库管理 数据库是存储和管理信息的重要...

相似回答