
Technical Books for a High School Library? 43
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."
O'Reilly (Score:3, Informative)
Re:O'Reilly (Score:1)
Get the advanced books (Score:2, Insightful)
Here's a couple off the top of my head (Score:3, Informative)
Code Complete
Both should be easy enough for high schoolers to follow.
The art of computer science (Score:4, Insightful)
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.
The Art of Computer Programming... (Score:2)
here [amazon.com]
Mayhaps this is what you meant?
Re:The art of computer science (Score:1)
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.
Good ole O'Reilly (Score:3, Insightful)
K&R (Score:4, Informative)
I wished I'd learned C back in high school...
Re:K&R (Score:1)
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
Excellent C Textbook (Score:1)
O'Reilly series of books... (Score:4, Informative)
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).
Internet Core Protocols (Score:1)
Amazon [amazon.com]
Knuth (Score:1)
Re:Knuth (Score:3, Informative)
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.
The one, the only (Score:1)
Absolutely, without a doubt... (Score:3, Informative)
RIP Mr. Stevens!
Electronics books. (Score:2)
(from amazon)
Bebop to the Boolean Boogie: An Unconventional Guide to Electronics [amazon.com]
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 [amazon.com]
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.
Re:Electronics books. (Score:2)
Might I also suggest for the library list the Rosch, Mueller, Minasi, and perhaps Norton hardware books.
And anything by Don Lancaster.
The Existential Pleasures of Engineering... (Score:2)
Just Java by Peter Van Der Linden... (Score:2)
How about "How to Think like a Computer Scientist" (Score:2)
I'm told that this is being used as a HS CS text somewhere, so it seems apropriate.
-Peter
Anything but what is taught (Score:1)
Non-programming books (Score:3, 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
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.
The Bibles: (Score:1)
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
Not too specialistic (Score:1)
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.
A Short List... (Score:3, Informative)
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.
Philosophy/Logic books (Score:2)
PHP Essentials? (Score:2)
Highschoolers are uneducated, but not stupid (Score:3, Informative)
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 [awl.com] 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".
Do you have CD's in your library? (Score:1)
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...