高数跟编程没太大关系吧……
我是计算机专业的,不敢说编程很在行,但还是了解一二。我们的课程包括:计算机组成原理、微机原理、数据结构、操作系统、数据库原理、计算机网络、计算机系统结构。从上面看,硬件占了很大部分。因为程序说到底都是在和硬件打交道,了解硬件的工作原理是必需的。涉及编程的大概只有数据结构课程,这是编程的基础的基础,是一个程序员的“内功”。
自学编程的话,看你的发展方向,是桌面应用程序的开发,还是嵌入式的程序员,还是做WEB的开发。可能WEB开发和硬件没有很大关系,但了解一二还是有好处的。嵌入式的开发就不用说了,和硬件关系最密切。桌面程序的开发算是二者之中。
自学的话,从了解计算机的系统结构方面上讲,要学习组成原理,和汇编语言,现在很多微机原理的书籍实际上都在讲汇编;从实际软件开发说,要学习数据结构,数据结构的数学基础是离散数学,但不是必须在这之前学习,有基础最好;然后操作系统,可以帮助你了解程序在系统环境下的运行等等。
至于书籍,很多很多,网上可以找到不少优秀的。贴一下我们的教材吧~
《计算机组成与设计,硬件/软件接口》是外文书,有中译本,讲MIPS的结构;
《数据结构》是夏克俭的,是我们系的老师~公认不错的是清华出版社严蔚敏那本,但我觉得入门我们这本更好,因为严蔚敏那本事用C语言的伪代码,初学者不好理解;
还有数据库,现在大型的程序都要用到数据库。《数据库系统概念》也是外文书,有中译本。
可以学习计算机组成原理、微机原理、数据结构、操作系统、数据库原理、计算机网络、计算机系统结构。
自学的话,从了解计算机的系统结构方面上讲,要学习组成原理,和汇编语言,现在很多微机原理的书籍实际上都在讲汇编;从实际软件开发说,要学习数据结构,数据结构的数学基础是离散数学,但不是必须在这之前学习,有基础最好;然后操作系统,可以帮助你了解程序在系统环境下的运行等等。
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
算法与数据结构,然后再看你具体想往哪个方面发展吧。反正看这本书错不了。
顺便还可以看看操作系统原理、编译原理等书籍
硬件原理方面的知识其实也是需要了解的 而且如果是做一些比较专业的软件 对硬件需要非常熟悉 软件方面 如果单纯想做编程 接着学习语言就可以了 另外应该向网络编程方向发展 这个是以后的潮流方向 不过要做软件研发需要系统的学习编程原理 不是只学数学和计算机语言那么简单的
这个要看你底层开发还是想往高层开发发展,底层就是跟操作系统,硬件,驱动有关的东西,比如开发个嵌入式系统(这个方向未来很吃香)。高层的话,像网站开发,一般应用程序的开发。比较好学,但是薪资待遇没底层的高
反正无论选啥方向,学c/C++之后就得把数据结构学好,这个是学计算机软件最重要的课程。