Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education Books Media

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."
This discussion has been archived. No new comments can be posted.

Computer Textbooks For High Schoolers?

Comments Filter:
  • paper is overrated (Score:4, Interesting)

    by Brain Damaged Bogan ( 1006835 ) on Tuesday September 02, 2008 @02:27AM (#24839079)
    The internet has all the information they need to know. Just teach them how to search effectively for the information they want.
  • Write your own (Score:2, Interesting)

    by fyrewulff ( 702920 ) on Tuesday September 02, 2008 @02:35AM (#24839123)

    Do your job for once and write a curriculum like every homeschooling parent must do? Because your teacher's union has blocked the aftermarket sale price of all textbooks?

    My C++ teacher had a big book on C++, but all of his lessons were obviously custom written. He just used the book as a foundation.

  • by Apple Acolyte ( 517892 ) on Tuesday September 02, 2008 @02:36AM (#24839129)

    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?

  • by dgatwood ( 11270 ) on Tuesday September 02, 2008 @02:42AM (#24839159) Homepage Journal

    I feel like being a BOFH and suggesting this one:

    Shell Scripting Primer [apple.com]

    :-D

    But seriously, I've never much liked any of the textbooks I've read, so I can't suggest anything specific. All I can give is one piece of general advice: whatever you do, don't fall into the trap of using Java as your core language. I understand why some schools do so---the ability to ignore such things as pointers and memory management is tempting---but the result is a bunch of students who don't understand memory management or pointers and only know how to program in a language that almost nobody in the industry actually uses, is fundamentally contrary to performance (at least where GUI apps are concerned), and is nearly impossible to force to integrate well with the OS the apps are running on. It's even worse than Pascal was in the 90s---at least Pascal skills transferred fairly easily to C....

    If you have access to a Mac lab, you might consider teaching them Objective-C. There seems to be a shortage of good ObjC programmers out there, and the Xcode/Interface Builder combination makes it relatively easy for students to get their hands dirty and start writing interactive visual apps without having to resort to an abortion like Visual Basic or clumsy programmatic UI widget systems like [insert most GUI libraries here]. :-D

  • Professor and Pat (Score:5, Interesting)

    by tkosan ( 1160327 ) on Tuesday September 02, 2008 @02:44AM (#24839175)
    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/ [professorandpat.org]

    The programming books are designed to work with a free development environment called MathRider:

    http://mathrider.org/ [mathrider.org]

    Some of your students may find these to be useful.

    Ted
  • Abandon A+ (Score:1, Interesting)

    by Anonymous Coward on Tuesday September 02, 2008 @02:47AM (#24839185)

    I am on the advisory board for the Computer Technology program for a vocational school Maine, and we are trying to suggest moving on from A+ and teaching something else like Cisco or whatever. The market is way too competitive now for anyone with an A+ certification to survive. Example, why take a computer to a repair shop when you can get a brand new tower from Dell for $200? In my area, there are virtually no computer repair shops left. The only one left solely relies on support to companies and providing classes for its income. Really, who needs to know the base address for a parallel port anymore? Even a PS/2 port at that now.

  • Think Python (Score:5, Interesting)

    by atrus ( 73476 ) <`atrus' `at' `atrustrivalie.org'> on Tuesday September 02, 2008 @02:51AM (#24839215) Homepage
    Your class topics seem so wide and varied, but if you're going to do an introductory programming class, try this book:

    http://www.greenteapress.com/thinkpython/ [greenteapress.com].

    Its a great introductory programming book, focused on Python. Its coming out in print form soon, if that is a requirement.

  • Re:Write your own (Score:3, Interesting)

    by rtb61 ( 674572 ) on Tuesday September 02, 2008 @02:53AM (#24839221) Homepage

    Well, it makes much more sense to create a 'open' education program, where schools from around the globe and through the various levels, primary, high school and university create a series of open text books for 'free' use within the education system. Obviously students in university could gain credit for digital texts written and corroborated on for use in high school and primary school.

    Doesn't solve the current problem but certainly makes sense for the future and to ensure that acceptable standards are achieved and graded against. Custom written tends to produce wildly variable results with often archaic out of date content or even just totally wrong information, not much point getting it marked right if it is wrong. An easy start is to do what most students do and start with wikipedia and go from there (follow the links they are generally pretty good), just don't reference it ;).

  • by Nymz ( 905908 ) on Tuesday September 02, 2008 @02:53AM (#24839223) Journal

    It has a problem with presenting facts in an orderly manner and often won't elaborate on some of the more advanced topics.

    Without dismissing your points, I don't think they outweigh the value of the parent poster's suggestion. What good is a perfected worded book that is four or more years old, and irrelevant compared to internet resources, as the summary informs?

    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.

  • by eean ( 177028 ) <slashdot@monrTIGERoe.nu minus cat> on Tuesday September 02, 2008 @02:55AM (#24839239) Homepage

    If your teaching a non-academic programming class, I don't really see the point in using a textbook. Decide on your language and find a good introductory book for it.

  • by holophrastic ( 221104 ) on Tuesday September 02, 2008 @03:37AM (#24839483)

    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.

  • by Nymz ( 905908 ) on Tuesday September 02, 2008 @03:46AM (#24839533) Journal

    Maybe we need an IT-wiki-ebook.

    Make it the class project! ;-)

  • Re:Write your own (Score:1, Interesting)

    by Anonymous Coward on Tuesday September 02, 2008 @04:01AM (#24839615)

    For info, when I was doing instructional design work (writing Technical courses, including the presentation material, exercises, tests etc..), we based our timeframe on typically 8-10 days work/research per 1 day of class training.

    (Posting anon to preserve mod points)

  • by spotmonk ( 781716 ) on Tuesday September 02, 2008 @04:11AM (#24839669)

    The internet has all the information they need to know. Just teach them how to search effectively for the information they want.

    I almost agree with this. With such a wide range of topics that a textbook would need to cover, it would almost make more sense to break your semester or whatever into the topics you need to cover, then find a reputable website that will teach the topic as detailed as you would like. If it's not as detailed as you would like, find another website to support it. It's a lot cheaper than finding multiple textbooks that explain everything you want in what detail you want. Also, it's a lot easier to find websites that are up to date with changing hardware/software/security practices than textbooks.

    Someone mentioned making a wiki textbook, and someone else mentioned making that a class project. I had a math class in which we had to all find our own individual web page about functions and then read all the others. I thought it was completely useless in math, but in the everchanging world of technology it makes a lot of sense to just collect a lot of information and sort through what is useful.

    Your first year teaching the class might not learn as much as they might from brand new textbooks, but your fourth year will learn more than they would from four year old textbooks. And maybe by that point more than they would from new textbooks. Especially if the class is designed to prepare them for some sort of job market, the instruction in the class would have to be as changing as the demand of the market.

  • Re:FAIL (Score:2, Interesting)

    by rohan972 ( 880586 ) on Tuesday September 02, 2008 @04:16AM (#24839693)

    .. the third class should prepare juniors and seniors to enter the workforce and start a career in computers.

    The point of high school is not (or should not be) to prepare kids to be mindless worker drones. The point of high school is (or should be) to give them a good, basic education.

    Got to back up plasmacutter here, that is quaint and starry-eyed.

    The reason we have so many mindless worker drones is partly ascribable to the schooling system being specifically designed to produce them. Have a read of "The Measurement of Intelligence", by Lewis Madison Terman, it should be enough to cure any scepticism regarding that claim. A look at the role of schooling proposed in "The Communist Manifesto" as a method of bringing about social change ought to challenge your thinking about the purpose of compulsory government schooling too. In case you think I'm just on a right wing rant though, I quote: "Communists have not invented the intervention of society in education; they do but seek to alter the character of that intervention, and to rescue education from the influence of the ruling class." [emphasis mine]

    The ruling class (communist or not) always seeks to control the thinking of the population in order to produce people who act for the benefit of the ruling class. The main tool to do this used to be religion, it has now been largely replaced with schooling. The west is largely ruled by government bureaucracy and corporations. School is controlled by government bureaucracy and corporations. We have a population that in general doesn't like to think too much and is very susceptible to propaganda. To think either that school doesn't have a role in producing such people or that it is somehow an accident strikes me as being overly trusting.

    If school was really for your benefit and not someone else's, why did it need to be made compulsory? I can understand the desire for free education, but why compulsory?

  • I have a suggestion (Score:4, Interesting)

    by 2Bits ( 167227 ) on Tuesday September 02, 2008 @04:39AM (#24839809)

    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.

  • by WillKemp ( 1338605 ) on Tuesday September 02, 2008 @05:12AM (#24839963) Homepage

    that the basics have changed so much recently that four-year-old computer textbooks are obsolete?

    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.

  • Re:Sort them out.... (Score:3, Interesting)

    by ledow ( 319597 ) on Tuesday September 02, 2008 @07:13AM (#24840597) Homepage

    Sadly, that's a very blinkered view of education. Teaching to a particular company's product... Urk. I'd rather my kid just bunked off school than do that. There's a difference between gaining a particular certification (I hesitate to call an MCSE a qualification because it's more a memory test of unnecessary trivialities than anything else) in a limited area and actually TEACHING a subject. Teacher's should not ever be teaching towards a particular product in any area. Bad teacher's do ("Today, we'll be doing computers. The thing we'll use is Word. The only other things that exist are Excel and Powerpoint. Don't ask me how Air Traffic Control works because that's probably just a very complicated Word macro."). Good teacher's don't.

    If anything along those lines had been true of when I was at school, I would now be the proud owner of a BBC BASIC qualification, a Logo diploma and a Wordstar certification. Completely bloody useless. That's what the teachers thought we "needed" to know back then and fortunately they were soundly overruled and told to teach generics instead.

    You'd flood the market with MCSE's (and thereby making that qualification even less use than it is now) and not provide them with anything else, thus within five years, when things inevitably move on, there'd be nothing to distinguish those who "can" and those who "did once under enormous by-rote instruction when they were a kid". What a horrible idea. You wouldn't help the kids ANY because I wouldn't touch someone who only has an MCSE without either relevant experience or some sort of relevant qualification (not a memory test), and certainly not a school-leaver. Plus, on a large-scale, MCSE's are pretty much out of date by the time they are awarded, let alone as something for the future (I swear MS change certain options just to push the MCSE takeup the next year).

    By all means have vocational qualifications in computing - I always argue that there should be more of them. PC Repair. Communications cabling. But don't stick any vendor-specific nonsense into them, don't target them at a single use of commercial software, don't claim that they'll form a career for you, and for god's sake don't pretend that "certifications" are somehow a replacement for an academic or vocational qualification in the same area.

  • by halcyon1234 ( 834388 ) <halcyon1234@hotmail.com> on Tuesday September 02, 2008 @08:31AM (#24841165) Journal

    Maybe we need an IT-wiki-ebook.

    Make it the class project! ;-)

    I was going to suggest the same thing. Even if you can't get webspace from your school's IT department, it'd be a trivial matter to set up a LAMP computer on your classroom's LAN and install MediaWiki on it-- or shell out ~$50 and get yourself a economy hosted website somewhere that offers a LAMP stack.

    Then put up a skeleton structure for the course. Add some pages about what the course is, the curriculum and goals, time line, etc.

    As each lesson comes around (or even a few in advance) post your notes to the wiki. Encourage students to elaborate or expand upon the wiki in any positive way. That can be anything from adding some links to educational sites, to updating out-of-date information, to fixing spelling & grammar.

    Then, as a class project, break your class up into teams of 2-3 people. Assign each of them a course topic. Have them research the material, and for a deliverable, they need to create the wiki page for that topic. Give them some guidelines (must have 3 sources that will be [cited], must contain at least 3 useful links to other intra-wiki pages, etc). Maybe even have them present their findings. Future classes might have the same requirements, but instead must find 2 new facts about their topic that aren't currently in the wiki.

    Make sure you have a nice index page, set up the Random page, and the thing will build itself. It's something that each student will have had a hand in making. Limit editing to Registered Only, and make sure you approve accounts (or pre-generate them for your students). This will cut down on vandalism. It will also give you, the person who will be grading their work, a full snapshot of who did what work, as well as a complete revision history.

    At the end of the semester, not only will you have a really good completed project, but it will also be extremely useful for future classes. You effectively have all your notes created and kept in a presentable manner. You can even put it on a public-facing computer, and open it up for other classes or teachers (even those beyond your own school) to use. (You might want to limit it to a public read-only, until you are ready to release the entire project into the wild...)

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...