Computer Textbooks For High Schoolers? 361
wetdogjp writes "I recently became a high school teacher, and I've inherited three classes with no textbooks! While two of my classes are introductory in nature, one for computers in general and the other for networking, the third class should prepare juniors and seniors to enter the workforce and start a career in computers. We have some older textbooks by Heathkit available, but the newest of them are four years old. Do Slashdotters have any favorite textbooks that can help kids on their way to becoming junior sysadmins, programmers, networking professionals, etc.? Would you suggest books to prepare students to take certification tests such as A+, Network+, or others? Any textbooks we use would need to cover quite a breadth of material, such as PC hardware, operating systems, networking, security, and more."
what languages? (Score:5, Informative)
Dietel & Dietel publish a bunch of intro books (c++, java, a few others) that have a bunch of supplements/coding examples/etc. on their website. They're very newbie friendly and cover a good deal of information. Actually, so do some of the AP comp sci review books (my Baron's AP Java book has a lot of clear examples.)
Look at other high schools and community colleges that teach the same thing you do and see what books they're using.
Certification prep is a double edged sword. The books may be accessible, but they also may be too focused on the test and therefore teach to it rather than teach general skills.
Also, you don't need to use a book for everything. All my intro programming books do a brief overview of hardware, and my profs add when needed. I didn't even have a textbook for my high school computer hardware class (basically a build your own computer thing, but we also learned about karnough maps, logic, and other basics.)
Books (Score:5, Informative)
Talk to the people at O'Reilly, especially their Safari bookshelf. They might be able to cut you a deal for educational use.
http://oreilly.com/ [oreilly.com]
http://safari.oreilly.com/?cid=orm-nav-global [oreilly.com]
Re:High School Graduate Computer Careers? (Score:4, Informative)
Re:Think Python (Score:3, Informative)
A good supplement (and stand alone if the students already have some programming experience) is Dive Into Python [diveintopython.org], one of the best python books around. It's free and available in print form. Its' a great intro book 'cause it's really well organized such that the chapters really build on each other for the most part. It's also awesome 'cause the author walks through every example program, explaining what each part does and how it all works together.
Re:High School Graduate Computer Careers? (Score:3, Informative)
Are any employers anywhere willing to hire high schoolers in any tech jobs in today's economy?
My first computing job was after I'd dropped out of a 1st year B.Sc. I worked for a year based on just high school certification for less than I could have earnt if I held a job at McDonalds. This was in 1994, and the job involved programming, phone support and on site customer installations. My boss only hired highschoolers so he could pay like that. I was able to get into a B.Sc. in Computing the following year and use that year of underpaid work as my industrial experience year (so in the end I only lost the year I spent on that first degree). So while the pay was awful and I'd have been a fool to stay it actually worked out well for me in the long run. Well 14 years have passed, but I bet my old boss is still engaged in the exact same hiring practices.
Don't use textbooks (Score:2, Informative)
As a former High School InfoTech student and current College Programming Student, I really don't find textbooks that useful at all. Truthfully, the only use I ever get out of textbooks (other than reading the questions the teacher's assign) is reading the examples and the using the reference section.
Not only do examples and references exist on the web, but it is SO much easier to use a reference with hyperlinks than to have to jump between pages of a book
If you really need some good ideas I have a list of resourses:
- CodeSyntax [netfirms.com] - Basis syntax for Java,C,Python,etc
- JavaBat [javabat.com] - different levels of Java puzzles (ajax handles compiling/etc, no software required)
- Eddie's Basic Guide to C Programming [essex.ac.uk]
- ANSI Dictionary [aol.com] - unbelievably nice ANSI dictionary, fully cross-referenced.
Consider setting up a wiki-book full of information, labs, excersies and tutorials. This is a computer class after all and information should be easy to find without needing to pack yet ANOTHER heavy book around. To make your job easier, you could allow the students to add stuff to the wiki (log activity of course), even setting up a page where they can add useful websites they've found.
Re:High School Graduate Computer Careers? (Score:2, Informative)
If you've got an IT/Programming/Engineering degree you probably will not work at Best Buy, Circuit City or Apple stores. Chances are the people you were talking to are high school grads with a few tech courses under their belts, exactly the same as the ones the article was talking about.
How about two more free texts? (Score:2, Informative)
Two more free (as in b... uh... orange soda) one is a python textbook...
"A Byte of Python
Introduction
"A Byte of Python" is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you...."
That's one's in 5 different formats and 16 different foreign languages
http://www.swaroopch.com/byteofpython/ [swaroopch.com]
The other is "Lessons In Electric Circuits
hosted by ibiblio
A free series of textbooks on the subjects of electricity and electronics
http://openbookproject.net/electricCircuits/ [openbookproject.net]
Re:Learn Shell Scripting! (Score:4, Informative)
don't fall into the trap of using Java as your core language. [...] the result is a bunch of students who [...] only know how to program in a language that almost nobody in the industry actually uses,
[...]
If you have access to a Mac lab, you might consider teaching them Objective-C.
You're joking [google.com], right [google.com]?
I googled 'free computer books' ... (Score:4, Informative)
Re:the real question: should you use a textbook (Score:2, Informative)
Sort them out.... (Score:2, Informative)
Buy the books for CCIE and MCSE (or whatever MS call it now), one copy of each book for the entire class. Tell them if they don't pass both by the end of the year they get sent to the frontline in Iraq. If they pass that test they will be setup for a lifetime in IT.
The best "books" for a sysadmin are... (Score:3, Informative)
Re:paper is overrated (Score:3, Informative)
Many books are old and irrelevant, some are timeless [wikipedia.org]. Reading how to program (as opposed to how to code) will help make sense of what you find on the net. This isn't to say there are no good sources on the net but it's silly to ignore the classics.
"I'm glad this summary was posted as News, and not AskSlashdot, because discussing the root of the challenge is much more interesting, than 1000s of people suggesting any particular book they've read themselves."
The question itself is too broad, it's hard to tell if the aim is to teach a particular industry recognised skill, give a general introduction to computer science, create an army of code monkeys, create an army of admins,....
MIT OCW (Score:2, Informative)
Re:Gypsy270 (Score:2, Informative)
Computer Science Teachers Association (Score:2, Informative)
The CSTA is a great source of curriculum and materials for teaching computer science:
http://www.csta.acm.org/ [acm.org]
I'd recommend joining (it's free for you!) and making use of their resources.
Re:paper is overrated (Score:2, Informative)
I've been having my students read these comments, and this one jumped out at them. They're pretty interested in creating a class wiki, so I think we'll give it a go. Thanks for the suggestion!