COMPUTER SCIENCE BOOKS

 

THE MOST RECOMMENDED COMPUTER SCIENCE BOOKS IN THE UNIVERSITY


The Open Syllabus is a curious initiative that seeks to collect and analyze all the curricula of English-speaking universities (so far they cover the United States, United Kingdom, New Zealand, Australia, and Canada, although the second version of the dataset promises to be much broader).

At the moment they have focused on the analysis of the books that each university the course recommends as reading. For example, if we focus on computing, the ten most commonly recommended books are the following:

i.         Artificial Intelligence: A Modern approach.  Stuart Russell and Peter Norvig.

ii.         C: How to Program . Paul Deitel and Harvey Deitel.

iii.         Starting Out With C ++: From Control Structures through Objects. Tony Gaddis

iv.         Introduction to Algorithms. Thomas Comment et al

v.         Fundamentals of Database Systems . Ramez Elmasri and Shamkant Navathe

vi.         Discrete Mathematics and its Applications. Kenneth Rosen

vii.         Operating System Concepts. Abraham Silberschatz

viii.         Modern Operating Systems . Andrew Tanenbaum and Herbert Bos

ix.         Computer Networks.  Andrew Tanenbaum and David Wetherall

x.         Computer Organization and Design: the Hardware / Software Interface. David Patterson and John Hennessy

So far nothing out of the ordinary. Many classics (which I already had to read in my student days) that cover fundamental concepts and stand the test of time (and yes, this includes the "winner" as much as it seems to us that artificial intelligence has advanced recently, its fundamentals They are still the same). In addition, many of them have been updated with new editions.

But I have gone a little further and I have reviewed the top 200 of the most recommended books in computing and I have had quite a few surprises. Most not very good. Some of my impressions.

Books


VERY LITTLE PRESENCE OF "MODERN" PROGRAMMING LANGUAGES ​​IN PROGRAMMING COURSES

C / C ++ and Java remain the "safe" option for teaching introduction to programming. There is only one book on python, although it seems that at least the best computer science departments are introducing Python in introductory programming courses.

Interestingly, there are more books on Perl than on Python. And there is no JavaScript.

Keep in mind that here we are talking about recommended books. That there is no JavaScript does not necessarily mean that JavaScript is taught in so few universities that it does not appear in this ranking. There could be many professors teaching JavaScript programming without recommending any JavaScript books. Or that the variability of JavaScript books that is recommended is so high that there are none with enough citations to get their head in the ranking. Although being honest, it seems unlikely that this is the case 😉. I believe that there is a clear correlation between what this ranking says and what happens in reality (but I wanted to remind you of the context so that no one draws hasty conclusions).

MODELING, WHO SAID MODELING?

More than a surprise, this is simply a confirmation. Despite the great importance ( for me ) of software modeling, the presence of modeling books in this list is reduced to the classic books of the founders of the UML language, which in my opinion are not the best option to learn UML.

 

Nothing that talks about domain-specific languages ​​or other modeling languages ​​(like SysML, business process modeling, ..).

AND DON'T TALK TO ME ABOUT SOFTWARE ENGINEERING ANYMORE

Something as basic as software engineering seems to be less of a priority in computer science studies, which only include the classic  The Mythical Man-Month: Essays on Software Engineering in the top 100 books.

The absolute absence of development method books is also surprising. Not even the all-powerful agile methods have managed to appear in this top 200. It seems that for some, computing is reduced to programming, and above all programming operating systems and databases 🙂

CLEAR ABSENCE OF EVERYTHING ELSE

Everything is written on the score, except the essential - Gustav Mahler

Perverting a bit of the original meaning of this phrase by Mahler (but I love it), I also miss books about everything that accompanies programming in development the process from the collection of requirements to software tests. Not to mention continuous integration systems. And much less of the social or economic aspects.

We don't even talk about free software at the university, when most of our systems are either developed as open-source or depend on open source projects.

And yes, I know there are so many exceptions to all these complaints. Fortunately!. But it is that I believe that ALL students deserve to be exposed to these topics as part of their basic education in computer science. With forgiveness of the theoretical computer scientists, but I have not built a compiler in my life (and I did two entire courses dedicated to this) and it would have been much better for me to dedicate fewer compilers and more to testing (on which I did zero courses the grade).

Or as Antonio Vallecillo masterfully summarizes, it seems that at the university we train programmers, and when not, we train scientists but not engineers.

 

 

 

Top 10 Recommended Books on the Computer Industry

This list originally published by The Enquirer in 2006 is thinking of the "nuts" for reading everything about the history of the computer industry, companies and their protagonists.

It is a selection that combines some fairly recent titles with other classics, although I would definitely say that the list is more "modern" than "classic". It is arranged backward and I have added the links to Amazon, where you can buy the books directly (most of them are in English and have never been translated, surprisingly):

 

  • 10. Accidental Empires, by Robert X. Cringely. The history of the glorious years of the computer science companies.
  • 9. Start-up, by Jerry Kaplan. The Go Corporation Failure Story.
  • 8. High Stakes, No prisoners, by Charles Ferguson. The history of the company that created FrontPage.
  • 7. Just for fun, the autobiography of Linus Torvalds, creator of Linux.
  • 6. The Cathedral and the Bazaar, by Eric Raymond. Essays on programming. It can be read online .)
  • 5. Revolution in the Valley, by Andy Hertzfeld. The story of Apple was told by one of its first engineers. In Spanish: Revolution in Silicon Valley. (Wicho posted a review ).
  • 4. In A search of Stupidity, by Merrill Chapman. Marketing stupidities applied to the computer industry.
  • 3. The Maverick and His Machine, by Kevin Maney. The history of IBM.
  • 2. The Search, by John Battelle. (Available in Spanish: Search ). The history of Google.
  • 1. Only the Paranoid Survive, by Andrew Grove. The history of Intel.

 

Of the list, I have more or less half and I am missing the other half, which I will try to add to La Pila ™ ... Although the other day, when reviewing it, I saw that this pile is already too long (for example, of the four that I have from this selection I've only read two; another two are on the stack and one on Amazon's wish list ).

This type of the list can always be nuanced or can be improved and also for personal tastes (and editors) there are a lot. Perhaps it will encourage Wicho to propose a vote for geek books that we have long wanted to mount, continuing the tradition (see geek movies and geek series we organize around here, or geek novels according to The Guardian ).

 

Personally, and without having read them all, I think that Hackers or The Cluetrain Manifesto for their influence are classics that should be; maybe also The Soul of a New Machine, which was a Pulitzer Prize winner. Regarding the Apple world, it could be said that Apple Confidential is more complete and precise than Revolution in the Valley (and even From Pepsi to Apple could be given a chance.)

 

No comments

Powered by Blogger.