计算机专业经典著作
国外计算机专业必读的经典教材:
1. Introduction to Algorithms (3rd Edition)
《算法导论(原书第3版)》
2. Thinking in Java (4th Edition)
《Java编程思想(原书第4版)》
3. Computer Systems:A Programmer's Perspective (2nd Edition)
《深入理解计算机系统(原书第2版)》
4. The C Programming Language (2nd Edition)
《C程序设计语言(新版•第2版)》
5. C++ Primer (5th Edition)
《C++ Primer中文版(第5版)》
6. TCP/IP Illustrated,Volume 1: The Protocols (2nd Edition)
《TCP/IP详解 卷1:协议》
7. Design Patterns:Elements of Reusable Object-Oriented Software
《设计模式:可复用面向对象软件的基础》
8. Compilers:Principles, Techniques, and Tools (2nd Edition)
《编译原理(原书第2版)》
9. Code Complete: A Practical Handbook of Software Construction (2nd Edition)
《代码大全(第2版)》
10. Learn more,Study less!
《如何高效学习》
软件人员推荐书目(一) 大师篇
一、 科学哲学和管理哲学
【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary Edition)
【2】 "系统化思维导论"(An Introduction to Systems Thinking, Silver Anniversary Edition)
【3】 "系统设计的一般原理"( General Principles of Systems Design)
【4】 "质量?软件?管理(第1卷)—— 系统思维"(Quality Software Management:Systems Thinking)
【5】 "成为技术领导者——解决问题的有机方法"(Becoming A Technical Leader:An Organic Problem Solving Approach)
【6】 "你的灯亮着吗?-发现问题的真正所在"( Are Your Lights On? How to Figure Out What the Problem Really Is)
【7】 "程序员修炼之道"(The Pragmatic Programmer)
【8】 "与熊共舞:软件项目风险管理" (Waltzing With Bears: Managing Risk on Software Projects)
【9】 "第五项修炼: 学习型组织的艺术与实务"( The Fifth Discipline)
二、 计算机科学基础
【10】 "计算机程序设计艺术"(The Art of Computer Programming)
【11】 "深入理解计算机系统"(Computer Systems A Programmer's Perspective )
【12】 "算法导论"(Introduction to Algorithms, Second Edition)
【13】 "数据结构与算法分析 —— C语言描述(原书第2版) "(Data Structure & Algorithm Analysis in C, Second Edition)
【14】 "自动机理论、语言和计算导论(第2版)"(Introduction to Automata Theory, Languages, and Computation(Second Edition))
【15】 "离散数学及其应用(原书第四版)"(Discrete Mathematics and Its Applications,Fourth Edition)
【16】 "编译原理"(Compilers: Principles, Techniques and Tools)
【17】 "现代操作系统"(Modern Operating System)
【18】 "计算机网络(第4版)"(Computer Networks)
【19】 "数据库系统导论(第7版)"(An Introduction to Database Systems(Seventh Edition))
三、 软件工程思想
【20】 "人件"(Peopleware : Productive Projects and Teams, 2nd Ed.)
【21】 "人件集 —— 人性化的软件开发"( The Peopleware Papers: Notes on the Human Side of Software)
【22】 "人月神话"(The Mythical Man-Month)
【23】 "软件工程 — 实践者的研究方法(原书第5版)"(Software Engineering: A Practitioner's Approach, Fifth Edition)
【24】 "敏捷软件开发-原则、模式与实践"(Agile Software Development: Principles, Patterns, and Practices)
【25】 "规划极限编程"( Planning Extreme Programming)
【26】 "RUP导论(原书第3版)"(The Rational Unified Process:An Introduction,Third Edition )
【27】 "统一软件开发过程"(The Unified Software Development Process)
四、 软件需求
【28】 "探索需求-设计前的质量"(Exploring Requirements: Quality Before Design)
【29】 "编写有效用例"(Writing Effective Use Cases )
五、 软件设计和建模
【30】 "面向对象方法原理与实践"
【31】 "面向对象软件构造(英文版.第2版)"(Object-Oriented Software Construction,Second Edition )
【32】 "面向对象分析与设计(原书第2版)"(Object-Oriented Analysis and Design with Applications,2E )
【33】 "UML面向对象设计基础"(Fundamentals of Object-Oriented Design in UML)
【34】 "UML精粹 —— 标准对象建模语言简明指南(第2版)"(UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition))
【35】 "UML和模式应用(原书第2版)"(Applying UML and Patterns:An Introduction to Object-Oriented Analysis and Design and the Unified Process,Second Edition )
【36】 "设计模式精解"(Design Patterns Explained)
【37】 "设计模式:可复用面向对象软件的基础"( Design Patterns:Elements of Reusable Object-Oriented software)
【38】 "面向模式的软件体系结构 卷1:模式系统"( Pattern-Oriented Software Architecture, Volume 1: A System of Patterns)
【39】 "软件设计的艺术"(Bringing Design to Software)
六、 程序设计
【40】 "编程珠矶"(Programming Pearls Second Edition )
【41】 "C程序设计语言(第2版?新版)"(The C Programming Language )
【42】 "C++ 程序设计语言(特别版)"(The C++ Programming Language, Special Edition)
【43】 "C++ Primer (3RD)"
【44】 "C++语言的设计和演化"(The Design and Evolution of C++)
【45】 "C++ 编程思想(2ND)"(Thinking in C++ Second Edition)
【46】 "Effective C++" & "More Effective C++"
【47】 "C++编程艺术 "(The Art of C++ )
【48】 "Java 编程思想:第3版"( Thinking in Java, Third Edition)
【49】 "Effective Java"
七、 软件测试
【50】 "测试驱动开发(中文版)"(Test-driven development:by example )
【51】 "面向对象系统的测试"(Testing Object-Oriented System: Models, Patterns, and Tools)
【52】 "单元测试之道Java版 —— 使用Junit"/ "单元测试之道C#版——使用NUnit" (Pragmatic Unit Testing:In Java with JUnit / Pragmatic Unit Testing:In C# with NUnit)
八、 软件维护和重构
【53】 "重构-改善既有代码的设计"(Refactoring: Improving the Design of Existing Code)
九、 配置管理和版本控制
【54】 "版本控制之道 —— 使用CVS"(程序员修炼三部曲第一部:Pragmatic Version Control Using CVS)
十、 领域专题(网络、平台、数据库相关)
【55】 "TCP/IP详解"( TCP/IP Illustracted)
【56】 "Unix网络编程"(UNIX Network Programming)
【57】 "UNIX环境高级编程"(Advanced Programming in the UNIX Environment)
【58】 "UNIX 编程艺术"(The Art of Unix Programming)
【59】 "数据访问模式 —— 面向对象应用中的数据库交互"
软件人员推荐书目(二) 拾遗篇
【1】 "系统思考"( 第五项修炼的核心,经理人处理复杂问题的利器) (Seeing the Forest for the Trees: A Manager's Guide to Applying Systems Thinking)
【2】 "模式分析的核方法"(Kernel Methods for Pattern Analysis)
【3】 "计算机科学概论:第8版"(Computer Science : An Overview (8th Edition))
【4】 "计算机科学导论"(Foundations of Computer Science: From Data Manipulation to Theory of Computation)
【5】 "编码的奥秘"(CODE)
【6】 "具体数学:计算机科学基础(英文版.第2版)"(Concrete Mathematics A Foundation for Computer Science(Second Edition))
【7】 "数据结构与算法分析 C++描述(第2版)(英文影印版)"(Data Structures & Algorithm Analysis in C++(2nd ed.))
【8】 "数据结构与算法分析 —— Java语言描述"(Data Structures and Algorithm Analysis in Java)
【9】 "数据结构、算法与应用:C++描述"(Data Structures, Algorithms and Applications in C++)
【10】 "数据结构与算法分析(C++版)第二版" (Practice Introduction to Data Structures and Algorithm Analysis (C++ Edition) (2nd Edition))
【11】 "数据结构 C++语言描述"(Data Structures C++)
【12】 "图论简明教程"(A Friendly Introduction to Graph Theory )
【13】 "操作系统概念(第六版)"(Operating System Concepts,Sixth Edition)
【14】 "操作系统:设计与实现(第二版)上册、下册(新版)"(OPERATING SYSTEMS:Design and Implementation(Second edition))
【15】 "分布式系统-原理与范型"(Distributed Systems:Principles and Paradigms )
【16】 "4.4 BSD操作系统设计与实现(中文版)"(The Design and Implementation of the 4.4BSD Operation System)
【17】 "莱昂氏UNIX源代码分析"(Lion' Commentary on UNIX 6th Edition With Source Code)
【18】 "Linux内核设计与实现"(Linux Kernel Development)
【19】 "编译原理及实践"(Compiler Construction: Principles and Practice)
【20】 "数据与计算机通信(第七版)"(Data and Computer Communications, Seventh Edition)
【21】 "数据库系统概念"(Database System Concepts, Fourth Edition)
【22】 "数据库管理系统:原理与设计(第3版)" (Database Management Systems(Third Edition))
【23】 "数据库原理、编程与性能(原书第2版)" (Database-Principles, Programming, and Performance Second Edition )
【24】 "最后期限"(The Deadline:a novel about project management)
【25】 "死亡之旅(第二版)" (Death March, Second Edition )
【26】 "技术人员管理 — 创新、协作和软件过程"(Managing Technical People:Innovation,Teamwork,and the Software Process)
【27】 "个体软件过程"(Introduction to the Personal Software Process)
【28】 "小组软件开发过程"(Introduction to the Team Software Process )
【29】 "软件工程规范"(A Discipline for Software Engineering)
【30】 "快速软件开发——有效控制与完成进度计划"(Rapid Development)
【31】 "超越传统的软件开发 —— 极限编程的幻象与真实"
【32】 "敏捷软件开发-使用SCRUM过程(影印版)"(Agile Software Development with Scrum)
【33】 "解析极限编程:拥抱变化(影印版)"(Extreme Programming Explained:Embrace Change)
【34】 "敏捷软件开发工具——精益开发方法"(Lean Software Development:An Agile Toolkit )
【35】 "敏捷软件开发(中文版)"(Agile Software Development )
【36】 "特征驱动开发方法原理与实践"(A Practical Guide to Feature-Driven Development )
【37】 "敏捷建模:极限编程和统一过程的有效实践"(Agile Modeling:Effective Practices for eXtreme Programming and the Unified Process )
【38】 "敏捷项目管理"(Agile Project Management: Creating Innovative Products)
【39】 "自适应软件开发—一种管理复杂系统的协作模式" (Adaptive Software Development:a collaborative approach to managing complex systems)
【40】 "Rational统一过程:实践者指南"(The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP )
【41】 "CMMI精粹--集成化过程改进实用导论"(CMMI Distilled: A Practical Introduction to Integrated Process Improvement )
【42】 "CMMI——过程集成与产品改进指南(影印版)"(CMMI : Guidelines for Process Integration and Product Improvement )
【43】 "领域驱动开发"(Domain-Driven Design:Tacking Complexity in the heart of software)
【44】 "创建软件工程文化"(Creating a Software Engineering Culture)
【45】 "过程模式"(More Process Patterns : Delivering Large-Scale Systems Using Object Technology)
【46】 "软件工艺"(Software Craftsmanship)
【47】 "软件需求"(Software Requirements)
【48】 "软件需求管理:统一方法"(Managing Software Requirements:A Unified Approach)
【49】 "软件复用技术:在系统开发过程中考虑复用" (Software Reuse Techniques Adding Reuse to the Systems Development Process )
【50】 "软件复用:结构、过程和组织 "(Software Reuse Architecture,Process and Organization for Business Success )
【51】 "分析模式:可复用的对象模型" (Analysis Patterns :Reusable Object Models )
【52】 "Design by Contract原则与实践"( Design by Contract by Example )
【53】 "UML 用户指南"(The Unified Modeling Language User Guide )
【54】 "UML参考手册"(The Unified Modeling Language Reference Manual)
【55】 "系统分析与设计(第5版)"(Systems Analysis and Design, Fifth Edition)
【56】 "软件构架实践(第2版)" (Software Architecture in Practice,Second Edition)
【57】 "企业应用架构模式"(Patterns of Enterprise Application Architecture )
【58】 "软件体系结构的艺术"(The Art of Software Architecture:Design Methods and Techniques)
【59】 "软件构架编档"(Documenting Software Architectures:Views and Beyond)
【60】 "OO项目求生法则"(Surviving Object-Oriented Projects)
【61】 "OOD启思录" (Object-Oriented Design Heuristics)
【62】 "对象揭秘:Java、Eiffel和C++"(Objects Unencapsulated: Java, Eiffel and C++)
【63】 "软件开发的科学与艺术"(The Science and Art of Software Development)
【64】 "程序设计实践"(The Practice of Programming)
【65】 "代码阅读方法与实践"(Code Reading: The Open Source Perspective )
【66】 "代码大全"(Code Complete)
【67】 "重构手册(中文版)"(Refactoring workbook)
【68】 "程序设计语言——实践之路"(Programming Language Pragmatics )
【69】 "高质量程序设计指南--C++/C语言"
【70】 "C程序设计(第二版)"
【71】 "C++程序设计"
【72】 "C++面向对象程序设计"(Object-Oriented Programming in C++ Fourth Edition )
【73】 "C++ Gotchas(影印版)"(C++ Gotchas: Avoiding Common Problems in Coding and Design )
【74】 "Essential C++ 中文版"(Essential C++)
【75】 "C++经典问答"(C++ FAQs (2nd Edition) )
【76】 "C++ Templates中文版"(C++ Templates: The Complete Guide )
【77】 "C++标准程序库—自修教程与参考手册"(The C++ Standard Library)
【78】 "C++ STL(中文版)"(C++ Standard Template Library )
【79】 "泛型编程与STL"(Generic Programming and the STL: Using and Extending the C++ Standard Template Library )
【80】 "C++多范型设计"(Multi-Paradigm Design for C++ )
【81】 "C++设计新思维(泛型编程与设计模式之应用)"(Modern C++ Design : Generic Programming and Design Patterns Applied)
【82】 "C++沉思录"(Ruminations on C++)
【83】 "Accelerated C++ 中文版"(Accelerated C++)
【84】 "Advanced C++ 中文版"(Advanced C++ Programming Styles and Idioms )
【85】 "Exceptional C++(中文版)" "More Exceptional C++(英文版)" (Exceptional C++, More Exceptional C++)
【86】 "C++编程惯用法 —— 高级程序员常用方法和技巧" (C++ Strategies and Tactics )
【87】 "深度探索C++对象模型"(Inside The C++ Object Model)
【88】 "Applied C++ 中文版——构建更佳软件的实用技术"(Applied C++: practical techniques for building better software )
【89】 "C++高效编程:内存与性能优化"(C++ Footprint and Performance Optimization)
【90】 "提高C++性能的编程技术"(Efficient C++: Performance Programming Techniques)
【91】 "代码优化:有效使用内存"(Code Optimization: Effective Memory Usage )
【92】 "大规模C++程序设计" ( large-Scale C++ Software Design)
【93】 "Java编程语言(第三版)"(The Java Programming Language,Third Edition )
【94】 "UML Java程序员指南"(UML For Java Programmers)
【95】 "最新 Java 2 核心技术"(Core Java 2)
【96】 "Java编程艺术"(The Art of Java)
【97】 "J2EE核心模式(原书第2版)"(Core J2EE Patterns: Best Practices and Design Strategies, Second Edition)
【98】 "应用程序调试技术"(Debugging Applications)
【99】 "软件测试"(Software Testing A Craftsmaj's Approach(Second Edition)
【100】 "软件测试求生法则"(Surviving the Top Ten Challenges of Software Testing:A People-Oriented Approach)
【101】 "功能点分析—成功软件项目的测量实践"(Function Point Analysis:Measurement Practices for Successful Software Projects)
【102】 "走查、审查与技术复审手册—对程序、项目与产品进行评估(第3版)"(Handbook of Walkthroughs,Inspections,and Technical Reviews:Evaluating Programs,Projects,and Products,3rd ed. )
【103】 "配置管理原理与实践"(Configuration Management Principles and Practice)
【104】 "软件发布方法"(Software Release Methodology)
【105】 "Lex 与 Yacc(第二版)"(Lex & Yacc,Second Edition )
【106】 "用TCP/IP进行网际互联"(TCP/IP网络互联技术)(Internetworking With TCP/IP)
【107】 "TCP/IP路由技术"(Routing TCP/IP)
【108】 "Windows 程序设计(第5版)(上、下册)"(Programming Windows (Fifth Edition) )
【109】 ".NET构架技术与Visual C++编程"(.NET Architecture and Programming using Visual C++ )
【110】 "Microsoft .NET程序设计技术内幕" (Programming Microsoft .NET)
【111】 "Microsoft C# Windows程序设计(上、下册)"
【112】 "基于 C++ CORBA 高级编程"(Advanced CORBA Programming with C++)
【113】 "计算机图形学"(Computer Graphics)
【114】 "计算机图形学:C语言版(第2版"英文影印版)"(Computer Graphics: C Version, Second Edition )
【115】 "计算机图形学(第三版)"(Computer Graphics with OpenGL, 3e)
【116】 "Windows游戏编程大师技巧(第二版)"(Tricks of the Windows Game Programming Gurus, 2nd)
【117】 "顶级游戏设计:构造游戏世界"(Ultimate Game Design: Building Game Worlds)
【118】 "汇编语言编程艺术"(The Art of Assembly Language )
【119】 "软件剖析――代码攻防之道"(Exploiting Software:how to break code)
【120】 "编写安全的代码"(Writing secure Code)
【121】 "应用密码学(协议算法与C源程序)"(Applied Cryptography:Protocols,Algorithms,and Source Code in C)
【122】 "网络信息安全的真相"(Secrets and Lies:Digital Security in a Networked World)
【123】 "数据仓库项目管理"(Data Warehouse Project Management)
【124】 "数据挖掘概念与技术"(Data Mining:Concepts and Techniques)
【125】 "人工智能"(Artifical Intelligence: A new Synthesis)
【126】 "神经网络设计" (Neural Network Design)
【127】 "网格计算"(Grid Computing)
【128】 "工作流管理—模型方法和系统"(workflow management:models,methods,and systems)