Domain: pearsonhighered.com
Stories and comments across the archive that link to pearsonhighered.com.
Comments · 7
-
Starting Out with Java: From Control Structures...
Starting Out with Java: From Control Structures through Objects 6th edition by Tony Gaddis.
I feel like this book more than any other is the one that really took me into the world of computer science in a clear, methodical, easy-to-follow way and has opened my mind to whole new realms of thinking. Another great book is "Starting out with Python" which is very similar, and I'm finding that reading them both together is helping me even more in understanding how different languages approach different things.
Some may find the methodical approach to perhaps be tedious as some points, but it is exactly this kind of gradual building chapter after chapter that gives you a strong sense of deliberate progression and certainty about your increasing knowledge that is so necessary when undertaking the monumental task of learning computer science.
-
Re:Yeah...whatever you believe today...
Yep, it's long been known that extremely high protein diets are bad for humans.
Hmmm....Have to disagree with you there, to some extent. Rabbit starvation is really about the lack of fat in the diet, not the amount of protein (wild rabbit being very lean meat).
Most people with good renal function (and without liver disease) will have a hard time doing a lot of harm. The funny thing is, and the reason there is some science behind Atkins, is that carbohydrates are the one food source you can omit the most. Protein and to some extent fat are very difficult to synthesize from carbohydrates. Most proteins are easily converted to glucose, lipids, or more specifically the glycerol backbone of trigylcerides can also be converted to glucose..
-
Publishers' web page
Pearson have a page for the book at http://pearsonhighered.com/educator/product/Linux-Kernel-Development/9780672329463.page
-
foundations and attitude
In my experience the biggest problems are caused by self-taught programmers who lack the humility to realize that computer science and computing a large field, in which they are not domain experts of all of it. Seriously, I'm saying this not to be an insult, but as a plea for self-taught programmers to take their blinders off, and admit to themselves there is a lot of knowledge about computer science and computing (or IT), which has a rich if relatively short history. The ones who get pass the chip-on-their-shoulder defense often become very good to great programmers. The ones who don't tend to become isolated, confrontational, unable to handle constructive feedback or criticism, and tend to be poor team players.
The other big weakness they can have, is they seem more apt to have problem with NIH-syndrome (not invented here). Anything they didn't do or create is crap. Again this seems to be a self-defense mechanism gone astray.
If these two psychological factors are dealt with, the technical knowledge gaps are in comparison trivial to deal with.
In your case, exposure to higher education including post secondary mathematics, helps with the building the experience of abstract thinking which is a excellent trait or training for programmers, to deal with programming in both the concrete and abstract terms.
A programmer who knows and understands the fundamentals of computer science, including data structures, algorithms, number systems, boolean logic, at least a basic understanding of computer architecture in my experience tends to be more flexible and adaptable to change in computing / IT in general as well as able to less stressful to change development environments including languages. Structure and Interpretation of Computer Programs, Structured Computer Organization, and Introduction to Algorithms are excellent resources for any self-taught programmer looking to fill gaps in the knowledge.
Also professional computing / IT society memberships might be worth considering (especially if your employer will pick up the tab), for example the ACM, and the IEEE Computer Society. Both have a bent towards academia, but they largely due to the self-interest of authors in academia to publish (for their own career success), as opposed to a conscience focus away from the "real-world" programming in the trenches.
For any new professional programmer, texts like The Pragmatic Programmer, Code Complete, Peopleware, and The Mythical Man-Month are strongly recommended reading matieral.
-
Some tech books I enjoyed a lot
- Thinking in C++ by Bruce Eckel http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
- Computer Networks by Andrew Tanenbaum http://www.prenhall.com/tanenbaum/details2.html
- Structured Computer Organization by Andrew Tanenbaum http://www.pearsonhighered.com/educator/academic/product/0,,0131485210,00%2Ben-USS_01DBC.html
- Producing Open Source Software by Karl Fogel http://producingoss.com/
- Design and Implementation of the FreeBSD Operating System by Marshall Kirk McKusick and George V. Neville-Neil http://www.mckusick.com/books.html
- Code Quality by Diomidis Spinellis http://www.spinellis.gr/codequality/
-
Two books
First: Programming Erlang: Software for a Concurrent World
by Joe Armstrong
http://www.pragprog.com/titles/jaerlang/programming-erlangThe Erlang programming language is well suited to develop concurrent programs with.
The second book I'd recommend is
Distributed Systems: Principles and Paradigms, 2/E
by Andrew S. Tanenbaum
http://www.pearsonhighered.com/educator/academic/product/0,,0132392275,00%2Ben-USS_01DBC.htmlNot specific to any programming language, but a very good introduction to the concepts and methods used developing distributed systems, as all multi-threaded programs are.
-
Re:answers
A DSL router will allow you to connect all three computers to the internet at the same time. It seems like it would be very slow with three sharing but it is not. This is your best answer if you can do it. Is your provider cellular though? That is trickier because a router won't work with cellular. It is much easier to connect your Linux computer to a router than to the DSL modem.
About Dosbox I can't help you. When I want a DOS box, I build a DOS box. It's been a long time since I felt the urge to do that though.
Linuxquestion.org has forums tutorials and many other helpful things. You can also get help at Ubuntu forums.
For programming C++ I think the best reference is the book by Stroustrup. You might want to combine that with the C standard library tutorial and reference. These are mostly references to have when you really need to do something. When you master these books you will have a good understanding of C++.
For an easy introduction or to meet specific fields of interest you might try C++ In-Depth Series.
As you learn C++ you will want a good editor or integrated development environment. I like Eclipse. Don't download it from there though. Get it from the Add Programs in your menu -- that one has other stuff you can add to your C++ environment too and they're customized for your specific version of Ubuntu. Always look there first.
It was the helpful people on the comment forums that got me started on my way oh so long ago. I wish you luck. When you see how free you are to do stuff with it I think you'll see why people are so enthusiastic about it.