7

The fundamental question is, whether your goal is to learn programming (in which case the language doesn't matter at all … theoretically at least) or to learn Java. If you want to learn programming, the programming language and the version doesn't really matter. It only matters insofar as to understand the examples, and to understand the concepts behind the ...


4

I think you first need to decide what your goals are. Are you interested in computer architecture because: You want to design computer hardware and so need to understand it at a fundamental level? Or because you want to write software whose performance is enhanced by an above-average understanding of computer architecture? Or because you are just mildly ...


4

For a student, any recent edition will be fine. Don't overthink it. The first task is to become thoroughly familiar with the mental model required of a Java programmer. Or even, for the very experienced, the mental model of a programmer in general. Most, but not all of the recent changes in Java are in the libraries, but even the more fundamental additions ...


4

I'll try to give a few actual textbook recommendations. If the goal is to learn Java for regular programming, I would avoid like the plague any Java book that doesn't at least go through Java 5, at which point it practically became a different language. I have always found David Liang to be quite a clear writer, and his most recent text (finally) introduces ...


3

A lot has been done since 1973. But for an introduction, the earlier books should be fine. For a more advanced treatment, choose a modern book, of course. Another book that I like a lot is On Pascal Compilers by Brinch Hansen from 1985. While it is written in Pascal, it is one of the true pieces of CS Literature. It restricts itself to Recursive Descent ...


2

At my school we do use Carrano and Henry, Data Abstraction & Problem Solving with C++: Walls and Mirrors. The Walls and Mirrors series has been in publication since 1986, and over the years has seen editions in Pascal, Modula-2, C++, and Java. (Most recent editions in C++.) In 2018 it won the McGuffey Longevity Award ​for​​ ​textbooks whose excellence ...


2

You might find Data Structures and Algorithm Analysis, by Clifford A. Shaffer, to be helpful. There are versions for C++ and Java available. (The 3rd edition is old already [2013], and the prior editions were titled A Practical Introduction to Data Structures and Algorithm Analysis.) It does get very in-depth into the field, including the mathematics ...


2

I agree that Introduction to the Theory of Computation by Sipser is good text, but I also recommend taking a look at the Stanford CS103 course page archive, which has a lot of great supplementary resources, including handouts, problem sets, and lecture notes.


2

I would recommend you to rely more on online tutorials. They are updated as fast as the language itself. Buy one good latest book. That will help you set the foundation (not that you cannot set foundation from online tutorials.) I left programming in Java more than 7 years ago but I have still managed to stay up to date on it through OTLs like Pluralsight, ...


1

Although it is not quite what you are asking, I deprecated these two books when teaching compiler design as many otherwise capable students are finding them tough going. I started to focus on more practical based books. Its a matter of top-down versus bottom-up approaches to the material (not the parsing). I now prefer Grune: "Modern Compiler Design&...


1

The standard text is probably the Sipser book. It's fantastic, and the problem sets are quite intellectually rich.


1

Database Systems Concepts by Silberschatz, Korth and Sudarshan comes with a comprehensive instructor/student resources web site provided by the authors. You can find slides, assignments and even a web based tool to practice SQL at https://www.db-book.com/db7/index.html If you are an instructor in a qualified educational institution, you can contact the book ...


Only top voted, non community-wiki answers of a minimum length are eligible