• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 71,  comments - 41,  trackbacks - 0
            As you are working your way to a computer science degree, you start to collect books, or at least, you should start. Here's a list of books that you might want to have around. These aren't specifically related to computer organization, though.

            • The C++ Programming Language, Special 3rd Edition by Bjarne Stroustrup.

              Bjarne Stroustrup invented the original C++. Many people refer to the book, and though it certainly has its detractors. The book is not aimed for beginning programmers. Instead, it serves as a reference book to C++. You won't find data structures, nor software engineering in this book.

              Still, most people who program in C++ own this book.

            • C++ Primer by Stanley Lippman, Josee Lajoie

              For those who don't like Stroustrup, and even those who do, another very good reference book in C++.

            • Effective C++: 50 Specific Ways to Improve Your Programs and Design by Scott Meyers

              Advice on how to improve you C++. What's nice about it is that it's a thin book, and you should be able to read it without taking too much time. Meyers has also written two follow-ups: More Effective C++ and Effective STL.

            • Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.

              The authors are called the GoF (Gang of Four). This is supposedly the book on design patterns. Consider it a collection of ways to organize classes to deal with certain kinds of problems. The main gripe I have about the book is the application domain is a bit large (they talk about how to design a word processor). I would have preferred smaller examples, written in C++ and Java (it's mostly in C++). There are other books on Design Patterns, but none of them seem all that good, except for the following.

            • Effective Java Programming Language Guide by Joshua Bloch

              This book is written like Effective C++. It is a series of tips on writing good Java code. However, it also has advice on design patterns (not a whole lot). You can probably carry over some advice to C++, while you're at it.

            • C Programming: A Modern Approach by K. N. King

              This is the 106 textbook. While I have quibbles with this book for its pedagogy (it doesn't talk about tracing code, its treatment of nested loops is weak, it introduces arrays too late), it's a very good C reference book. King really knows his stuff, and he states things concisely. A great book if you want to brush up on your C.

            • Introduction to Algorithms: Second Edition by Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein.

              Before this book, perhaps the classic algorithm book was by Aho, Hopcroft, and Ullman. That algorithms book was pretty dense, written as if it were a math book for math majors.

              This book gave meaning to the "instant classic". Instant classics occur when someone writes a decent book so thick, no one else would actually write such a book again (although this hasn't prevented other authors from trying).

              The proofs in the book are sometimes wordy, taking up a few pages when one page will do, but is generally friendlier than most algorithms books. If you would prefer a more story-like approach to algorithms, read Algorithmics: The Spirit of Computing by David Harel. You won't learn how to solve algorithms, but you should gain some appreciation of algorithms, nevertheless.

            • Computer Organization and Design: The Hardware/Software Interface by David Patterson and John Hennessy.

              This book does some things well (MIPS assembly language) and some things poorly (digital logic design). At the very least, it acknowledges its weaknesses. You're probably better off with the original, Computer Architecture: A Quantitative Approach (3rd edition) by Patterson and Hennessy (the author's names are reversed), since it covers more advanced topics.

            • Computer Systems: A Programmer's Perspective by Randal Bryant and David O'Hallaron.

              West Coast hardware guys vs. East Coast hardware guys. Patterson and Hennessy were the founders of the RISC movement from Berkeley and Stanford, respectively. Bryant and O'Hallaron are from CMU in Pittsburgh.

              Like Patterson and Hennessy, this book does less digital logic than similar computer organization books. For some chapters, the writing is excellent. This book also covers some material that would normally be seen in compiler optimization, and talks about ways to make programs fast. Students learn the most if they can also do the labs associated with the book.

              One drawback (IMO) is the use of the IA32 ISA (dubbed "y86" since it's a subset of x86). While x86 dominates the CPU market and MIPS is non-existent, MIPS is easier to understand and is a modern RISC CPU. Still, if you have to learn a CISC ISA, it might as well be x86 based.

            • Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu

              OK, this isn't for the faint of heart. This kind of book is starting to approach expert level C++, and if you can learn the stuff in here, you're starting to be an ace C++ programmer.

            • Code Complete: A Practical Handbook of Software Construction by Steve McConnell

              Lots of snippets of advice on how to code. Not specific to any language. You should be able to take something from it, no matter what you read.

            • Types and Programming Languages by Benjamin Pierce

              OK, so not everyone should own this book, but if you were ever interested in type theory, this is the book to get. This explains the theory behind type-safe languages such as Java and ML. Of course, it talks about lambda calculus. You do have to like some math (say, math logic) to follow the book, but since most books on type theory are aimed at grad students, this book is the one to get because it should be readable by a reasonably mathematical undergraduate (that is, if you like math and intro algorithms, and 330, you should be able to read this book).

              posted on 2007-01-23 19:09 Charles 閱讀(838) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 拿來(lái)主義
              <2006年11月>
              2930311234
              567891011
              12131415161718
              19202122232425
              262728293012
              3456789

              決定開始寫工作日記,記錄一下自己的軌跡...

              常用鏈接

              留言簿(4)

              隨筆分類(70)

              隨筆檔案(71)

              charles推薦訪問

              搜索

              •  

              積分與排名

              • 積分 - 51397
              • 排名 - 449

              最新評(píng)論

              閱讀排行榜

              評(píng)論排行榜

              久久激情亚洲精品无码?V| 奇米影视7777久久精品人人爽| 77777亚洲午夜久久多人| 久久这里只有精品首页| 人妻少妇久久中文字幕一区二区| 国内精品久久久久久久涩爱| 囯产极品美女高潮无套久久久 | 狠狠综合久久综合88亚洲| 久久久精品国产sm调教网站 | 人人妻久久人人澡人人爽人人精品| 91精品国产91久久综合| 亚洲午夜精品久久久久久app| 91精品国产高清久久久久久国产嫩草 | .精品久久久麻豆国产精品| 亚洲国产成人久久精品99| 777久久精品一区二区三区无码| 精品久久人人爽天天玩人人妻| 91精品国产91久久久久久蜜臀 | 久久久国产视频| 韩国三级中文字幕hd久久精品| 久久久无码精品亚洲日韩按摩| 免费精品久久天干天干| 一本色道久久88综合日韩精品 | 久久99精品国产99久久6| 久久er国产精品免费观看2| 人妻无码αv中文字幕久久琪琪布| 亚洲精品午夜国产va久久| 青青青青久久精品国产h久久精品五福影院1421| 久久亚洲欧美国产精品| 亚洲中文字幕无码久久2020| 色播久久人人爽人人爽人人片AV| 中文字幕无码久久精品青草| 亚洲国产成人乱码精品女人久久久不卡 | 成人a毛片久久免费播放| 久久亚洲精品视频| 91精品国产91久久| 久久综合色区| 综合人妻久久一区二区精品 | 精品无码人妻久久久久久| 国内精品久久久久久久亚洲 | 色狠狠久久综合网|