免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 795 | 回复: 0
打印 上一主题 下一主题

理想化的计算机科学知识体系 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-28 09:48 |只看该作者 |倒序浏览
发信人: coolwc (小包), 信区: SoftDesign
标  题: 理想化的计算机科学知识体系
发信站: 北邮人论坛 (Wed Nov 25 10:59:10 2009), 站内

理想化的计算机科学知识体系:

-∞.Theory
   (Math, Number Theory, Graph, Automata, Geometry)
-3.Hardware
   (Processor Architecture, Memory Hierarchy, Cache,  System I/O)
-2.Machine-Level Programming
   (Assembly, Executable File Format, Linking & Loading)
-1.Operating System  
   (Process & Thread, Memory Management, File System, I/O, Kernel & Drivers)
0.Programming Fundamentals  
   (Data Structure, Algorithms)
+1.Programming Language
   (Compilation, C is a must,; C++ Java recommended; C# Python JS, etc, optional)
+2.Advanced Programming Frameworks and Libraries  
   (Windows Programming, Unix/Linux Programming; STL, MFC, Boost, TR1, Qt, GTK optional)
+3.Programming Design and Software Engineering
   (OOP Design Pattern is a must; Agile, RUP, Iterative, and other models are optional; Debugging and QA)
+∞.Applications
   (Computer Network, Database, Http & Web, Concurrent Programming, Distributed System )

理论是所有的基础 应用是最终的目标

搞计算机科学的需要会[-∞, +∞]
专注于软件开发的可以只管自然数
刚入门的同学一般都从第1关开始玩 第1关以前的都是隐藏关 通几关以后你就会自然而然的想玩隐藏关了

以下的是对应的书目(只限于我看过的 迫切需要大家补充)

书名缩写:
Advanced Programming in the UNIX Environment => APUE
Computer System: A Programmer's Perspective => CSAPP
The Art of Computer Programming => TAOCP
Introductin to Algorithms, 2nd => CLRS
The C Programming Language => K&R
Design Patterns => GOF

-∞.Theory
   (《TAOCP》vol.1,ch.1)
-3.Hardware
   (《CSAPP》)
-2.Machine-Level Programming
   (《CSAPP》,《Intel x86 Assembly Reference Manual》(工具书)《Linkers & Loaders》,有待补充)
-1.Operating System  
   (《CSAPP》,《Modern Operating System》)
0.Programming Fundamentals  
   (《CLRS》,《TAOCP》vol1.ch.2)
+1.Programming Language
   (《Compilers》(龙书),《K&R》,《C++ Primer》,《Effective C++》,《Thinking in Java》,有待补充)
+2.Advanced Programming Frameworks and Libraries  
   (《Programming Windows》, 《APUE》, 《深入浅出MFC》,有待补充)
+3.Programming Design and Software Engineering
   (《GOF》,知之甚少 有待补充)
+∞.Applications
   (《Computer Network》, 《MySQL Manual》有待补充)

后记
1 纸上得来终觉浅,绝知此事要躬行
  光看理论缺少实践就会变得跟包老师我一样只会忽悠, sigh~
  看低层就要动手写汇编和跟踪程序,看操作系统就要去读API的手册,学语言就要在实践中尽量把语言特性都用上

2 无剑胜有剑 Thinking Beyond Languages
  高级语言只是工具而已 作者这么设计必然是有他的道理的  
  不想当司机的厨子不是好裁缝 要像上帝一样去思考 Know How, then Know Why
  Concrete的书告诉你How Theoretical的书告诉你Why

3 好记性不如烂笔头 看书不做笔记等于没看
  这就好像是为每本书的内容做一个缓存 每次需要knowledge fetch的时候先查笔记cache  
  如果fault了就从书里把内容添加到笔记cache里

4 美国一位海军将军在总结中途岛海战时说,对手所用的语言不够精确是他们失利的原因之一。
  英语虽然没有汉语博大精深,但是在描述复杂问题上却可以化繁为简,避免语义模糊。
  不信你用汉语和英语分别表述一下int (*(*func_ptr[10])(int, int))(int)看看
  书尽量读英文版比较好 除非原书是中文写的
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100881/showart_2106097.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP