我开始从事软件开发时获得的是英语学位,而不是计算机科学或其他科学/工程背景。在我自学的基础上,我已经走了很长一段路,但在做了这么多年之后,我想回去填补空白,特别是在数学方面。
给自己一个比较科学教育的最明显的地方就是学习计算机编程的艺术。然而,由于我没有上过那么多的数学课,而且我上大学的最后一节数学课是在1995年,我需要一些温习和扩充,才能读懂TAOCP中的数学符号。
我的想法是去Khan Academy上学习一些必要的主题,作为阅读TAOCP的一个补习性前提。然而,在第22条军规中,我试图弄清楚我实际上需要通过哪些主题作为准备。
所以,我想知道的是,如果一个人基本上只有高中数学(我有更多,但我认为这是一个有效的问题,对于一些人来说,只有高中背景),一个人需要什么样的数学“课程”,从像可汗学院这样的地方开始,准备阅读和理解包含的数学?
发布于 2010-08-24 00:20:06
Knuth不是开始的地方。这是一个值得努力的地方。
所以,补习数学是很好的。但是,如果需要数年时间才能掌握阅读(并理解Knuth)所需的数学知识,请不要责备自己。
老了,但仍然很优秀:http://www.amazon.com/Fundamental-Structures-Computer-Science-William/dp/0201087251
查找像这样的标题:
http://www.amazon.com/Discrete-Mathematics-Computer-Science-Curriculum/dp/1930190867
或者像这样
http://books.google.com/books?id=b9nHPJvP7xgC&printsec=frontcover&dq=computer+science+mathematics&source=gbs_similarbooks_s&cad=1#v=onepage&q&f=false
你想从“离散数学”开始。
此外,您最终还需要
http://www.amazon.com/Computability-Computable-Functions-Foundations-Mathematics/dp/0534103561
或者类似的东西。
发布于 2010-08-24 00:26:39
苏珊娜·爱普的“Discrete Math with Applications”是一本非常容易理解的书。很好的书,很好的应用和有趣的。买二手的。它应该提供一个良好的基础。
发布于 2010-08-24 08:11:02
与其他数学课程相呼应的是,离散数学课程是我们的目标。Knuth的书的优点之一是在文本和练习中进行了广泛的算法分析。为了理解一些分析,需要一个微积分的本科课程。我认为“半数值算法”最好是本科生上的数论课程。加数理论本身就很有趣!
https://stackoverflow.com/questions/3549401
复制相似问题