Computer Textbooks For High Schoolers?
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."
The internet has all the information they need to know. Just teach them how to search effectively for the information they want.
-- Sex is the antonym of pringles. Once you pop it's time to stop.
the third class should prepare juniors and seniors to enter the workforce and start a career in computers.
Are any employers anywhere willing to hire high schoolers in any tech jobs in today's economy?
Part of the hardcore faithful who believed in Apple long before it was cool again to do so
I am in the process of writing a series of free ebooks for high school age students which teach the detailed fundamentals of how a computer works:
http://professorandpat.org/
The programming books are designed to work with a free development environment called MathRider:
http://mathrider.org/
Some of your students may find these to be useful.
Ted
http://www.greenteapress.com/thinkpython/.
Its a great introductory programming book, focused on Python. Its coming out in print form soon, if that is a requirement.
I've never been a fan of textbooks -- especially in scientific fierds. They tend to be notoriously out-of-date, and wildly inaccurate even when new. Too much effort is spent making things seem easy, or otherwise dumbing down the content to the point where it becomes meaningless.
But computer disciplines come with a natural advantage: documentation. All of the avenues that you are exploring have solid documentation. Not only is this documentation accurate, it's almost always up-to-date.
I'd suggest skipping the textbooks and giving your students the real experience. Teach them how to handle reams and reams of documentation across multiple avenues.
The good thing, from your side, is that you don't have to give them the most complicated advanced stuff off the top. There are a lot of small steps to be taken with any documentation -- from the equivalent of a "hello world" program and configuring routers all the way up to more complicated yet still manageable aspects like protocols and cross-interactions.
So I'd suggest that you select a few disciplines as you have, grab real live official documentation -- lots of it -- classify them according to complexity -- and by complexity I mean the requirement of additional working systems -- and take your students through actually doing something small.
Small things can be incredibly simple when you read the instructions. Documentation is nothing more than that. I can think of no better skill-set in the computer world than to gather three-thousand pages of documentation on your topic, locate the six pages that apply to your current project, follow them precisely, and then explore their surroundings to see the magic possibilities of yoru new-found power.
That kind of skill easily propegates itself as one bit of knowledge allows you to explore the next. And since it's real actual documentation, it's all 100% (well, let's pretend) correct and useful. Your students will be able to legitimately list things that they've done with little more than quality supervision.
If you are a high school teacher, may I put in my suggestion here?
For me, if you really want to teach about programming (and I think teaching high schoolers to get certification is plain wrong), a high school teacher should inspire students to want to go into that field (or other scientific fields, as a matter of fact). High schoolers can learn the language syntax just fine, any language, and do the debugging too. You can give an introduction to most languages, and they will pick up and do it. The issue here to make them pick up the interest in doing it, and that's the hard part.
I remember when I was at high school, we had that programming course (optional class), where the teacher was teaching us programming Logo on those 8086 machines without hard disk. We needed to have a boot floppy to boot up, then another floppy for loading the program. The teacher thought he was God, we were a class of 40, and the class lasted one hour and half. He refused to create more boot disks so that everyone can boot at the same time, he just had one, gave it to one student at a time, and waited behind the student until the machine boot up, and passed the floppy to the next student. By the time the last student finished booting up, the class is almost over. None of us had computer at home, that's the only place we had access to computer programming.
Not only that, his moto was "Can't do", you can't do this, you can't do that. A few of us came up with some nice tricks to do things, and he threatened to fail us if we don't program his and his only way. For example, to draw a polygon, you must use his method, can't have anything else. We used the math learned in high school, including sin(), cosin(),etc, to program some fun stuffs, like creating a cube and move it inside a bigger cube, with proper perspective and angle and all that. 3D stuff. Yeah, you can do this with just high school math. Guess what, we would have failed the class, if we didn't accept to draw stupid picture by creating points and link the points together with stupid lines. All he wanted was the pictures so that he can print them, stick them on the walls, so that the principal could see his "achievements".
In that class of 40, all of us hated programming by the end. Only two got into computer science at University, I was one, and that's because I wanted to program a computer that can talk to me, like HAL in "2001 : Space Odyssey" (yeah, I read that book at the time).
A high school teacher can do much more than that, and don't underestimate the intellect of high schoolers, if you can rouse their interests.
I think a competitive project between teams would be great, you not only teach programming, you also teach teamwork at the same time. You don't need fancy textbooks, just some introductory materials. Don't limit their imagination, encourage them to go beyond what you teach.
In contrast, we had a great math teacher. Yeah, Mr. Belleau, if you are reading this, I'd like to say, thank you, although it's more than 20 years ago now.
The basics haven't changed much in the 30 years since i did my first programming course (as part of maths at tech college).
The hardware's changed a lot - and the languages have evolved a bit. But the fundamentals of understanding the subject are still the same.