
许诺给刚开始大一的小彭宇指点一下,所以让我在这里简单地谈一谈. 有些积木读了荒谬的话,请不要发表过高的评价. 谢谢.
首先,我仍然推荐胡锦涛的《胡侃》(点击转移),这在将近20年后仍然是经典. 然后,我对各种课程的理解是这样的:
首先简短地说英语. 大学里没有人教你英语. 英语课很废话. 英语取决于自学. 幸运的是,高中已经完成了所有教授语法的地方. 大学基本上是关于词汇,实际应用等方面的. 英语的重要性在于: CET-4和CET,和原始书籍. 原始的书籍是最重要的. 将来计算机是学什么的,您将获得更多的英语计算机信息,而不是中文.
接下来是数学. 数学与计算机课程同样重要. 从某种意义上说,它比某些课程更重要. 大学计算机科学中可能有几门数学课程: 高级数学,线性代数,概率与统计,离散数学和数值分析.
高等数学: 大学数学的基础,其重要性也可以从学分中看出. 绝大多数学校工程的学生学习大量数字,而科学(尤其是数学)则学习数学分析. 两者的内容相似,它们都是极限演算之类的东西,但是高数字的关键是找到公式的解,而数字点的关键是证明公式. 换句话说,高数字的应用是部分的,而数字理论是部分的. 很难说哪个更重要. 两者有不同的思维方式. 我认为这件事的重要性在于运用自己的逻辑思维. 从这个角度来看,两者同等重要. 因此,有空时可以看看. 推荐高等教育出版社(普通高等学校教材)《高等数学》,北京大学出版社张竹生的《数学分析新讲义》,资深爵士推荐南京大学出版社的《数学分析课》 Jimidovich的“数学分析练习”(这太可怕了!)和李永乐的厚实的数学手册(我忘了我所说的).
线性代数: 另一个数学基础,与高中之前的数学不同. 它作为一个大的平方决定因素出现. 但是,如果您学习,就会发现它实际上在外观上有所不同,并且仍然是一组定理和公式. 真无聊如果您不想感到无聊,可以看看高级代数. 根据高级爵士的说法,高代是线性代数加上一点多项式理论,但他推荐的书相当有力(摘自吉米多维奇的两个自然段落,我不会摘录).
概率和统计: 它仍然是一组公式,并且与高数量和行代相比,它更具机械性,并且更易于设置,只要可以区分出它是xx分布即可. 但是,我希望记住学习后的这些分布,因为在将来,如果您深入研究计算机,这是一个障碍. 例如,用贝叶斯同志命名这些算法后,例如贝叶斯网络,贝叶斯分类器……在接触数据挖掘时,模式识别,人工智能,概率和统计将或多或少地发挥作用.

离散数学: 这是正统的计算机数学. 所谓“离散”的意思是“不连续的”,因为计算机中的数字都是不连续的,所以离散数学中的算法更像是计算机的发明(当然这句话是胡说八道,但是两者在某种程度上是不连续的)类似地,许多计算机算法仍然是离散的,数据结构中的树和图几乎遵循图论. 离散数学是一个集合,包括集合论,图论,代数,组合数学,数论和谓词逻辑. 实际上,每个数学都可以被深入研究. 对于离散数学计算机是学什么的,我建议北京大学出版的“离散数学课程”,以及机械工业出版社翻译的“离散数学及其应用”和“特定数学”(本书仅提供英文版本). 以下是分别对每门课程的简短讨论:
集合论: 相对简单(除了经典集合论之外),我做了简短的介绍,无需进一步研究;
图论: 图论非常困难. 高级爵士说: “在该国,真正了解图论的人不到30人. ”在过去的20年中可能更多,但不应少于100. 图论很难有一个固定的概念,似乎每个主题都有独特的证明方法,有些还没有得到证明,例如旅行商问题. 推荐王书和的“图论及其算法”.
代数: 群环的模块化域的性质非常有趣. 有时它是抽象的且不可预测的,但是仔细研究会发现这件事很有趣. 我较早学习的高等代数只是一小部分代数. 不建议某些代数过早接触. 像李代数,交换代数等,很容易被附魔.
组合数学: 是安排并组合一堆东西,但是要深入得多. 很少提及本科生的离散性. 有权力看看. 推荐清华大学陆开成,卢华明撰写的“组合数学”,以及机械工业出版社翻译的“组合数学”(推荐阅读为英文原版,应该达到第五或第六版,中文翻译仍是第三版.
数论: 第一次接触是很久以前的,它应该是在小学,学习除法,也有素数,最大公约数等. 这在数论中称为基本数论. 另外,除了数论之外,还有代数数论,不建议过早联系. 推荐陈景润的“基本数论”(几天之内就可以读一本薄书,小学生也可以阅读)和北京大学的“小学数论”的潘承东.
谓词逻辑: 这比较简单,我是在初中学习的. 推荐科学出版社的“计算机科学的数学逻辑”.

数值分析: 实际上,我不知道如何介绍它. 刚开始我学习得并不好,到现在为止它并不是很有用. 高级爵士写了《计算方法》,介绍比较简单,也许计算机用得更少.
阶段也有两门数学课程: 随机过程和功能分析. 这是一个可怕的过程. 我听说哈尔滨工业大学计算机科学的毕业生人数首先是一个随机过程,其次是一个函数. 有人说“随机过程是随机的,功能分析是冷的”……
除了上面推荐的书之外,还强烈建议为美国准备一套GTM教科书. 一系列涵盖各种数学的书籍超过200本. 像“线性代数”,“线性代数和抽象代数”,“代数”,“图论”,“概率论”等一样.
但是...您需要硬着头皮吃英语.
现在让我们讨论一下计算机(最后是主题).
外面的“ xxx是世界上最好的语言”的疯狂,您不必听. 您专心学习几种基本语言: c,java,c ++. 就个人而言,就语言难度而言,c和java都比c ++简单得多. C是一种低级语言,面向过程,并且专注于对内存的细粒度控制. 学习时,应该让自己从记忆的角度考虑问题. Java是一种标准的面向对象语言,可以教您从对象的角度看问题. c自上而下编程,java自下而上. 学完“禅”后,可以理解很多计算机. C ++无所不包,它既可以用C面向过程的方式编写,也可以用Java面向对象的方式编写. 它很灵活. 但是,这种“包罗万象”的想法破坏了语言. 它太复杂了,无法控制. 说“ destroy”有点夸张,但是它的复杂性确实在c和java之间无与伦比. 推荐“ c入门”,“如何编写c程序”,“ java核心编程”,“疯狂的java讲义”,“ c ++入门”,“ c ++入门”,有效系列,“ c陷阱和缺陷” .....严重不推荐谭浩强的书,容易误入歧途.
顺便提一下编译器. C / c ++推荐Visual Studio. 如果太大,则可以使用MinGW,DevC ++,代码块,并拒绝TC2 / 3和VC6. Java建议不要使用Intellij Idea,Eclipse,Netbeans和MyEclipse.

如果有人推荐另一种语言,那是对的,但是不听. 例如,C#获得了Visual Studio(宇宙中最强大的编译器)的支持. 语法类似于Java,但是编写起来很舒服. 图形界面非常易于开发; js是一种动态语言,不会说任何类型,并且可以适应各种平台; PHP可以轻松地编写网站,如果需要任何功能,只需转到搜索功能即可; go可以轻松编写并发,并丢弃java中的大量冗余内容;我正在编写通用语言python,并且开发效率非常高. 有哪些可用的库...不,打基础是最重要的. 许多学习python的人无数次仍然在老实地看待内存分配的原理. 如果他们已经见过c,那么这些都是儿科.
语言是一个条目. 进入后,进入后,不用担心,还有另一扇门. 您将遇到的第一件事是数据结构和算法. 数据结构是如何在内存中表达数据,算法是如何在CPU中处理数据. 两者是互补的. 因此有一个著名的表达式: 程序=数据结构+算法. 我个人认为,数据结构和算法应该是计算机科学的学生最重要的课程. 我希望当我学习时,我不会在纸上写很多伪代码,基本上是徒劳的. 有必要实现用语言描述的数据结构和算法,以便将其视为精通. 推荐清华出版社闫为民的《数据结构(C语言描述)》,《算法简介》和《算法》,如果您已经读完,可以尝试看一下令人恐惧的《计算机编程艺术》.
数据结构和算法之后,它是计算机课程. 可能有一些东西,例如: 编译原理,操作系统,,信息论和编码论,计算机网络,计算机组成原理,计算机体系结构,嵌入式,计算机图形学,软件工程,计算机安全. 这就是针对大学生的一切. 如果还有其他课程,它们基本上是讲座,并且是级别的主要研究方向.
编译原理: 有一门叫做形式语言和自动机的课程,可以看作是该课程的前提课程,并且它与数学的计算方法也有一定的关系. 我们正在谈论的是一些语法,如何将我们的自然语言逐步转变为计算机可以理解的逻辑和过程. 我很say愧地说我听不懂这节课. 但是,经过学习,编译原理的前半部分非常容易. 推荐蒋宗礼先生的《形式语言和自动机》和《汇编原理》(龙书),由机械工业出版社翻译.
操作系统: 不仅仅是Linux和Windows. 有四个主要的操作系统块: 进程,内存,IO和文件. 这是我们需要学习的. 当然,建议您在学习时安装linux系统,从开发的角度来看,您会发现使用的散热器越多,它比Windows更舒适. 现在流行的是centos和ubuntu,据估计两年后几乎没有变化的可能性. 推荐书机械工业出版社“现代操作系统”,高等教育出版社“操作系统概念”和两个大型的“ Linux内核源代码场景分析”. 读取类似linux的操作系统的源代码对熟悉操作系统很有帮助. 如果您想实际阅读源代码,则可以直接阅读一些小型操作系统,例如Minix和Stanford的教学操作系统Pintos.
计算机网络: 本课程与科学的Internet访问以及如何使用百度神马无关. 它是关于Internet协议的概念,原理和内容. 例如,网络级别的概念,每一层的作用,当前层的主要协议以及协议的内容,如何传输等. 我推荐由清华大学翻译的“计算机网络”. 作者是Andrew S. Tanenbaum(我刚才提到的Minix也是由他编写的),以及一组三个“ TCP / IP协议的详细说明”. 还有日本作家写的一组“插图xxx”系列,据说简洁明了.
: 谈论ER图,关系,范例等,当然还有SQL. 如果只是SQL,则不称为. 但是当涉及到SQL时,最好安装一个进行练习. 建议您使用mysql或postgresql,当然,如果您以统一的方式使用其他,请加入我们. 我用的是sql server. 因此,我对这个总是有不好的印象(明显的个人偏见). 推荐机械工业出版社的“操作系统概念”.

信息理论与编码理论: 这门课程应该是算法课程在一定程度上的延伸,也是计算机网络和密码学的前提.
信息安全和网络安全: 这两个课程通常由“信息安全”的学生修读. 说的是不同的. 信息安全主要是密码学和可信计算,它们谈论“什么样的数据和计算方法是可靠的”,并且具有大量的数学知识;网络安全主要关注协议,漏洞,入侵等. 对计算机网络更加熟悉.
计算机组成原理: 现在学校基本上不再只谈论编译,而全都遵循了计算机组成原理. 这两件事真让人恶心呕吐. 你们中间有我,你们之间有我. 可能是这种情况. 计算机体系结构可以被视为其后续课程,而在内存分配方面,它也可能与操作系统有关. 推荐“计算机系统结构: 定量研究方法”和“对计算机系统的深入理解”.
软件工程: 在大学中,基本上是一个故事课. 没有代码,没有IQ测试. 但是,将来了解整个项目非常有帮助. 从需求,设计,开发,测试,,操作和维护,您将对项目过程有完整而清晰的了解. 从那时起,该软件不再是您编写的三到两行充满错误的小玩具,而是许多团队的工作.
我不理解其他课程(嵌入式课程或图形课程),因此不介绍它们. 所有人都可以肯定. 我不想介绍高端课程. 首先,我无法获得学,其次,我对此并不了解. 在课程中,有几个非常受欢迎的领域: 人工智能,数据挖掘,机器学习,模式识别,云计算,物联网,自然语言处理,搜索等. 您需要对本科数学和计算机知识.
我总是发现很多课程难以解释的内容,包括大学物理,模拟电路和数字逻辑(数字电路). 完成学习后,我觉得它没有被使用过. 这里没有计算机的入门知识,诸如编程基础之类的课程,不应该提供给那些专门从事计算机的人,只需随便听一听即可. 还有一些政治历史课程,必须学习. . . 我能说我很厉害吗? . . 好吧,它很远.
这篇文章可能是这样写的. 当我再次想到某件事时,可以随时添加.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-222412-1.html
厂家找了这么多水军发帖
为何这位这样说