Slashdot Mirror


Technical Books for a High School Library?

Doug Penny asks: "Our High school librarian has ask me to compile a list of computer/technical books for our library. I've seen references to this on Slashdot before, but all seem to be more college or professional related. Does anyone have some good suggestions for curious high school students? Thanks."

43 comments

  1. O'Reilly by zhar · · Score: 3, Informative

    Learning books from O'Reilly are pretty good for just about anyone who is interested in programming.

    --


    DRINK DUFF (responsibly) DRINK DUFF (responsibly) DRINK DUFF
    1. Re:O'Reilly by btornado · · Score: 1

      Yeah, O'Reilly books are always nice. My school library just bought Learning Perl and Programming Perl, both of which I have checked out.

  2. Get the advanced books by Anonymous Coward · · Score: 2, Insightful

    If they're curious enough to go to a library, they'll appreciate you not talking down to them through your book selection.

  3. Here's a couple off the top of my head by one9nine · · Score: 2, Informative
    The Design of Everyday Things
    Code Complete

    Both should be easy enough for high schoolers to follow.

  4. The art of computer science by sshack · · Score: 4, Insightful

    Donald knuth's the art of computer science.
    I go this in grade 10. I can't tell you how usefull it was. Now i'm in 3rd year and i've still not learnt anything knew that wasn't already in TAOCP.

    1. Re:The art of computer science by jmt9581 · · Score: 1

      Donald knuth's the art of computer science. I go this in grade 10.
      I can't tell you how usefull it was. Now i'm in 3rd year and i've still not learnt anything knew that wasn't already in TAOCP.


      You probably mean the Art of Computer Programming. I'm pretty sure that it would be over the heads of most high school students. While it's a great set of books on theory (especially the stuff on algorithms), I doubt that many high schoolers (or their teachers) would have the necessary math background to get a lot of use out of it.

      --

      My blog

  5. Good ole O'Reilly by lexarius · · Score: 3, Insightful

    How about Practical C Programming and Practical C++ Programming? They're written like textbooks that coders-to-be would enjoy. Plus, they're funner than most books about C.

    1. Re:Good ole O'Reilly by Anonymous Coward · · Score: 0


      Yuck. As much as I like most O'Reilly books, I found these two books severely lacking. To some degree, I've blamed my incomplete knowledge of C and C++ on these books. While I wouldn't leave them out, be sure to back them up with something more "referency", so when you need to figure out to make a rand() call, you aren't totally lost.

    2. Re:Good ole O'Reilly by Anonymous Coward · · Score: 0

      a good C and C++ reference is Bruce Eckel's "Thinking in C" and "Thinking in C++", they're both free (as in beer and as in speech) as ebooks (PDF, HTML, TXT, palmdoc etc.) and they're only like $40 for a print copy (not bad for a text book).

  6. K&R by pizza_milkshake · · Score: 3, Informative
    The C Programming Language by K&R

    I wished I'd learned C back in high school...

    1. Re:K&R by Anonymous Coward · · Score: 0

      And the C++ white book as well.

    2. Re:K&R by GavK · · Score: 1
      NO NO NO!


      That should only be read *after* people learn modern C, unless you mean the updated ANSI compliant version (Which isn't quite right either)


      My 0.02

      --

      Gav

      "There's no such thing as data that can't be manipulated"

  7. Excellent C Textbook by TwistedKestrel · · Score: 1

    IPC144 Notes by Evan Weaver ... too bad it's only a Seneca textbook and hard to find. Don't let the name fool you, it's a solid introduction to C, and it is very simple to understand! In other words, it doesn't make you feel like an idiot while you're reading it.

  8. O'Reilly series of books... by HaloZero · · Score: 4, Informative

    Espicially for Perl. Pretty much all of them belong in a good tech library. Programming Perl, and the Perl Cookbook are literally ESSENTIAL. I can not stress that enough. If you have to buy any two perl books, get those. The other OReilly perl books, working with system administration, web administration, writing CGI scripts, and so on and so fourth, are good resources for more specialized applications.

    A good non-OReilly alternative for Perl is Holzner's 'Perl Black Book'.

    Enough about Perl, though (and more about OReilly): Practical C Programming, Running Linux, and any of their other 'Programming [insert language name here]' books.

    Another good thing to have would be (printed) copies of the official Linux/UNIX/all-related-material manuals from their offical sources. The RedHat 8.0 manuals are espicially useful.

    Throw in a book or two about python, C++, any of the sea of web-languages, and MAYBE JAVA. Only because (too) many people use it (for too many things).

    --
    Informatus Technologicus
    1. Re:O'Reilly series of books... by LogicFlow · · Score: 0

      Is 'Practical C Programming' still in print?
      I've found 'Practical C++ Programming', but C isn't at any of the bookstores here and they can't order it. I just assumed it was out of print :/ I'll go check I suppose, I'll be rather ticked if it has been available all this time.

      Anyway, to resemble being on topic, the FreeBSD handbook. It's wonderfull, it's free. I'm not sure if it's ok to just print and bind it yourself, but you can order copies.
      'Special Edition Using Linux' was of infinit help when I was getting familiar with Slack 4.0
      It's full of how to config without relying on front ends. Particularly learning my way around printcap, it made it painfully obvious.

    2. Re:O'Reilly series of books... by Anonymous Coward · · Score: 0

      There are a number of free (beer and speech) books about Python, I know "How to think like a computer scientist (python version)" is pretty good. You can get print copies of that book I know, it's on the Python Website under "documentation"

  9. Internet Core Protocols by mcowger · · Score: 1
    Internet Core Protocols by David Hall is pretty incredible.

    Amazon

  10. Knuth by PD · · Score: 1

    The Art of Computer Programming, vols 1-3. and more when he writes them.

    1. Re:Knuth by littlerubberfeet · · Score: 2, Informative

      I would have to agree, especially with the upcoming release of Vol. four. This series tends to be quite dense in some parts, but it is a great reference.

      Also, one might want to look at some of Knuth's TeX stuff. It is a good example of how successful an open standard can be.

      The afore mentioned O'Reilly books are almost priceless, but to balence them, some introduction to computers books, like the TimeLife should be included. Not everybody checking out computers is going to know why C++ is to be prefered over C#. People might want to know what goes on inside, explained simply.

      --
      Sig (appended to the end of comments you post, 120 chars)
  11. Qbasic for Dummies by Anonymous Coward · · Score: 0

    This was the first programming book I ever got, and it really got me interested and was easy to understand.

  12. The one, the only by ffsnjb · · Score: 1

    The Complete FreeBSD. And get the FreeBSD Handbook too.

    --
    "Why do you consent to live in ignorance and fear?" - Bad Religion
  13. Absolutely, without a doubt... by btlzu2 · · Score: 3, Informative
    ...any book by W. Richard Stevens. The Stevens books are awesome references for learning TCP/IP, Unix Programming, etc. If I had those books in high school I would've kicked ass by now! Instead I'm just a hacker wannabe... :(

    RIP Mr. Stevens!

    --
    Zed's dead baby. Zed's dead.
  14. Electronics books. by Hollinger · · Score: 1

    Let's see... which ones didn't involve strange calculus and complex numbers...
    (from amazon)
    Bebop to the Boolean Boogie: An Unconventional Guide to Electronics
    by Clive Maxfield
    Paperback: 500 pages ; Dimensions (in inches): 0.89 x 9.34 x 7.36
    Publisher: Butterworth-Heinemann (Trd); ; 2 edition (December 2002)
    ISBN: 0750675438

    Bebop is an absolutely stellar electronics guide and overview. It takes you through the full gamut of electrical engineering, from K-map minimization to high-level circuit design and operation. Stellar! Oh, and the index has entries for things like "Blind -obediance of fools" next to "BJT's". It's a great read, and really will get someone interested in the field.

    Basic Electronics
    by Bernard Grob
    Hardcover: 1010 pages ; Dimensions (in inches): 1.46 x 10.27 x 8.18
    Publisher: Glencoe McGraw Hill; ; 8th edition (December 1996)
    ISBN: 002802253X
    Other Editions: Paperback (4th) | Textbook Binding (4th) | All Editions

    This one's more serious, and provides more in depth information, but will get someone to the point of being able to run to radio shack and cobble together a nice little circuit / project.

    I would say get both of these, as Bebop will lead logically to Electronics.

    1. Re:Electronics books. by Anonymous Coward · · Score: 0

      Also, the Art of electronics, it's pretty dense, but good all the same.

    2. Re:Electronics books. by unitron · · Score: 1
      Ah, yes, the Holy Grob.

      Might I also suggest for the library list the Rosch, Mueller, Minasi, and perhaps Norton hardware books.

      And anything by Don Lancaster.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

  15. The Existential Pleasures of Engineering... by aquarian · · Score: 1

    ...by Samuel Florman. All young people interested in engineering or applied science of any kind should read this book.

  16. Just Java by Peter Van Der Linden... by aquarian · · Score: 1

    As a beginning programmer and long time technical writer, I've read all the basic Java Programming books looking for the silver bullet. This one's by far the most readable, and the most useful for a beginning Java programmer without previous programming experience.

  17. How about "How to Think like a Computer Scientist" by pete-classic · · Score: 1

    Get your library to support a Free book! Check it out at http://greenteapress.com/thinkpython.html.

    I'm told that this is being used as a HS CS text somewhere, so it seems apropriate.

    -Peter

  18. Suggestion by Anonymous Coward · · Score: 0

    Dont laugh but I'm gay boy and I've inserted my little pinky in my gay asshole.

  19. Anything but what is taught by abartlett_219 · · Score: 1

    Students in HS's today see the same software (windows, office, VB, photoshop) every day. Any student who wants to learn about Linux, C, Perl, openoffice.org, GIMP is left out in the cold. When I graduated in 2001, my high school only had books on MS-DOS still. Basically, students need access to books on stuff other than what they see in the classroom. The best way to find this out is by going and asking a couple of knowledgable computer students (not the script-kiddie croud, the future CS majors) what they need access to. Buy that kind of stuff. That will help more than anything.

  20. The Art of Computer Programming... by aztektum · · Score: 1

    Is the only book by a Donald Knuth I can find...

    here

    Mayhaps this is what you meant?

    --
    :: aztek ::
    No sig for you!!
  21. Non-programming books by Scarblac · · Score: 2, Interesting

    Almost everybody seems to be suggesting programming language books. Useful for programmers, but not quite enough for a complete "tech" library, nor very useful for people who don't program yet and don't think they should.

    Also, anyone who says the Knuth Bible isn't academic but high school level is totally out of his mind.

    I think they should have books that inspire people, and be very readable and not purely technical. Unfortunately I don't own that many of them myself, but how about

    • Ed Regis - Great Mambo Chicken and the Transhuman Condition
    • Godel, Escher, Bach, an Eternal Golden Braid (perhaps not a "tech" book though - but any library should have it)
    • Oliver Sacks - Uncle Tungsten: Memories of a Chemical Childhood

    And hrm... I too know more about programming :-). I can't imagine a student learning programming these days without heavy use of the Internet. References are online and quickly outdated. I'd say get a few books that teach the first steps - "Learn to program using Python" by Alan Gauld is one. It shows most examples in three different languages (Python, TCL, QBasic iirc), and starts with the very basics.

    Code Complete is also very good, but not for beginners - it describes what makes good code good code. If you get any Java books, also get "Effective Java - Programming Language Guide" by Joshua Bloch.

    I guess there's little chance of getting a Linux box there on which people can get accounts to try programming a bit? :-)

    Most people won't want to dive into programming right away, I think. Get a book about making web pages. HTML, JavaScript, PHP perhaps. Or Flash. Actually, from what I hear Flash may be perfect to start in as it's easy to make cool looking things - but I don't have experience with it.

    I'll stop rambling.

    --
    I believe posters are recognized by their sig. So I made one.
    1. Re:Non-programming books by Anonymous Coward · · Score: 0

      The problem with PHP is that it kind of sucks when you just have it installed on your personal computer, you really want to have it on a webserver, but a lot of the people that want to learn PHP wouldn't be able to setup their own server. I learned PHP as one of my first languages and I loved it, but I would have never learned it if my brother hadn't setup a server for me. I know a couple people wanting to learn PHP and I've given them accounts on my server (that _I_ set up) because I know how much that helps.

  22. The Bibles: by GavK · · Score: 1
    Get TCP/IP Illustrated 1/2/3 (Stevens) (AKA The Bible)

    Any Oreilly books, particularly the nutshells

    If you can persuade them to spend the cash a copy of the ANSI C and C++ standards.

    Also get the book "Introduction to Algorithms" by Thomas H. Cormen (Editor), Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    I really recommend the Algorithms book, coz it'll stop people re-inventing the wheel, and give them an idea of what computers can actually do, not to mention teach them how to do it...

    HTH

    --

    Gav

    "There's no such thing as data that can't be manipulated"

  23. Not too specialistic by meldir · · Score: 1

    Your main goal should be to get them interested, and to accommodate a broad audience with very different interests. Focus on books with practical use (either to catch their interest, or to allow them to practice what they learn), and on books that link different disciplines.

    About computing science: a little programming is good, but I don't think most high school kids would pick up Knuth, let alone understand it. Make sure they have a chance to use those languages at school, even it those languages are Javascript and Basic. *Do* buy books on networking and computer architecture; I would have been very happy to learn more about this black box, the Internet, in high school. Something on making webpages is an easy way to get them interested.

    There are plenty of interesting books on minds, brains and computers that link psychology, neuroscience, philosophy and artificial intelligence. This will be completely new to most students and a lot more interesting than some advanced A.I. algorithms. You want them to discover new things; if they want to specialize, they can always find a real library.

    1. Re:Not too specialistic by Anonymous Coward · · Score: 0

      I think the Knuth books are good because those are books that are great books that kids aren't likely to pick-up, even if they've heard how good they're supposed to be, simply because they're so expensive. There ARE kids in high school who will already know how to program some and will be ready for Knuth and I think it's great to have them available.

  24. A Short List... by Big+Sean+O · · Score: 2, Informative
    Think UNIX by Jon Lasser (ISBN 0-7897-2376-X)

    IMHO, it's the best introduction to UNIX geared toward the perspective of a Windows or Mac user first coming to UNIX.

    PYTHON by Chris Fehily (ISBN 0-201-74884-3)

    This is a Peachpit Visual Quickstart Guide. It's actually quite good and better than the (now quite dated)

    Learning Python.

    Code Complete by Steve McConnell (ISBN 1-55615-484-4)

    It's a little dated (examples are in Pascal, that's sooo 1989!) but the concepts of good code construction are still relevant.

    The Little Schemer by Friedman and Felleisen (ISBN 0-262-56099-2)

    It probably makes sense to introduce young geeks to a Lisp-y language early, before their brains solidify and it takes them years to grok it. This one pretty much assumes you have no knowledge, but it doesn't assume you're an idiot or a dummy.

    Finally...

    HTML & XHTML: The Definitive Guide by Musciano and Kennedy (ISBN 0-596-00026-X)

    This is the O'Reilly Koala Book. It's quite good and is revised regularly. Older editions are still useful because, vanilla HTML hasn't changed much since 4.0.

    People may clamor "Writing HTML isn't coding!". It doesn't matter. The fact is, the internet is pervasive in the life of a young techie. Like "build your own radio" in the 1930s and "mess around with a jalopy" in the 1950s, building your own website is a similar challenge.

    Plus, HTML is a gateway drug. First you're writing webpages by hand, then you add a form, then you're copying a CGI script to process the form. Then you're learning Perl so you can write your own scripts. Or you're writing a Python script that scrapes websites. When you think about it, HTML is a gateway to networked computing...

    Things to avoid...

    Anything by Dietel & Dietel. Those funny ants on the cover hide the fact that these are overblown college textbooks that drain any fun out of learning the language.

    Anything that has a version number after it. No kid wants to read a book about "Microsoft Word 97". It's already 6 years out of date.

    --
    My father is a blogger.
    1. Re:A Short List... by Anonymous Coward · · Score: 0

      I'm going to confirm that. HTML is a gateway drug and Deitel books are terrible.

  25. Re:How about "How to Think like a Computer Scienti by Anonymous Coward · · Score: 0

    I've read most of that text, it's really good. The guy that wrote it adapted it from a book of the same name that used Java instead of Python. Python is a great first language, immediately once I started learning Python I realized that and I became even more bothered that the introductory programming class in my school was VB.

  26. Philosophy/Logic books by funkman · · Score: 1

    As many as possible. The better foundation in logic, the better.

  27. PHP Essentials? by hether · · Score: 1

    A book like Julie Meloni's PHP Essentials gives a very easy place to start with the web programming end of things. It starts off very basic, but provides examples that are cool enough to make you want to learn more.

    --

    Most people would die sooner than think; in fact, they do.
  28. Highschoolers are uneducated, but not stupid by DarkVein · · Score: 2, Informative

    Highschoolers haven't had the kind of education in the 12 years of school they've had that you get in the first semester of college. :P

    That said, highschool books have certain requirements. College books tend to assume extensive knowledge of materials usually covered in lecture. The higher level text books build on this assumption.

    Except for college computer/technical books, which start dumb and end dumb. You want O'Reilly.

    I can give you some recommendations for those interested in Web Design, though.

    Lie, HÃ¥kon Wium, and Bert Bos. "Cascading Style Sheets: Designing For The Web". 2nd ed. [die MLA!] http://www.awl.com/cseng ISBN 0-201-59625-3

    Zeldman, Jeffrey. "Taking Your Talents to the Web". Indiana: New Riders, 2001.

    Strunk, William JR., and E.B. White. "The Elements Of Style". 4th ed. Massachusetts: Longman Publishers, 2000.

    O'Reilly has volumes of text books good for introduction. They're thurough, don't skimp, and don't suffer from being stuffy or making bad assumptions about the reader's knowledge, other than stated in the preface.

    Honest to god, in Highschool, I'd be more concerned about bringing the standards of the core courses up a fucking decent level.

    Let's try science. Quantum Physics. I've got two books on my desk here that are good enough for twelve year olds.

    Wolf, Fred Alan. "Parallel Universes". New York: Touchstone, 1990.
    ---. "Taking The Quantum Leap". New York: Harper & Row, 1989.

    For English, that "Elements Of Style" book cited above is tiny. It's 105 pages, index and contents included. It's also 5"Ã--8.25"Ã--0.5", or 13cmÃ--21cmÃ--1.5cm, to use metric. Allow students to use it on tests, carry with them everywhere. It's gold. That's your text book for English grades 9â"12.

    And what the fuck is with George Orwell's 1984 and Fahrenheit 451? They weren't even allowed in the library when I left Highschool. Ridiculous.

    For creative writing, I highly recommend:
    Burroway, Janet. "Imaginative Writing: The Elements of Craft". New York: Longman Publishers, 2003.
    Best creative writing book I've ever seen. It'll even blend in with your stuffy brown and black books, cleverly camouflaging a book with good content.

    Stop talking down to your students. They're not dumb, they're just told they are by the tone of their teachers and told by their peers that's cool enough. Their parents and their teachers demand obediance, and abhor rebelious or independant thought, so their children are extremely vulnerable to suggestion by anyone who pretends authority. A good student questions. A good teacher admits their limits, knows that some of their students will be better than them, and hopes the student can surpass them, or fill in the gaps in the teacher's knowledge.

    (tangent)
    I had a memorable discussion with a counselor in highschool. A teacher had been wrong, and had pretty much told me to shut up when I tried to correct her. Then she sent me to the principal for "distruptive behavior". He couldn't make me understand that "she's the teacher, so she's in charge" etc, so he sent me to a counselor. She informed me about the "pecking order" and that I was at the bottom, so I should just be pecked, because she "worked hard to get where she was". Obviously, she was superior to me, and I should "grin and bear it".

    I aquired my G.E.D., and I've been very happy since I started College. Opening the G.E.D. to non-vets was one of the best things the Government has done. Can you possibly imagine how much of a relief it was, to suddenly be met as a peer by the test instructor, and ever since?

    Public education is not failing because it isn't offering the latest technology. Public education is failing because administrators are considered more important than teachers. Public education is failing because teachers become teachers just to be superior to 400 students for a year. Public education is failing because education is only a byproduct of the atmosphere among the staff. The pecking order comes first.

    Public education would never have produced "The Elements of Style".

    --

    I'm as mimsy as the next borogove but your mome raths are completely outgrabe.

  29. Do you have CD's in your library? by CBravo · · Score: 1

    Because a good set of current distro's should be there since high speed internet access is not always available, but a cd burner is. Maybe also a version of Knoppix so they can start learning linux without f'ing up their parents computer.

    May I also add that a lot of data can also be spread via CD rom. Datasheets are not interesting in paper form, but in pdf form they are cheap to distribute.

    Books that I wished I had read earlier:
    -K&R: small but powerfull
    -computer architecture, a quantative approach: gives a definition of a computer platform HW wise
    -something about assember. I read "assembly language programming" by Giles. It is a thorough book but it was a bitch to get through (there must be easier ones). I never had any problems learning those pesky risc isa's after that though.
    -a book about computer security and viruses. Security and the damage viruses can do, and not do, and why, can make youngsters aware of the problem.

    Something that should be solved is the choice people make when they start reading a book "about computers". Maybe an overview of what technologies are available today can be a great book as an introduction to the rest of your library.

    Something else is that some tech books contain mistakes. If you want to learn but you have no way to solve a mistake from the book, you can not continue learning. One way to solve this is to get a good mentor. Maybe a little OT...

    --
    nosig today