Slashdot Mirror


What 'IT' Stuff Should We Teach Ninth-Graders?

gphilip writes "I have been asked to contribute ideas for the preparation of a textbook for ninth graders (ages circa 14 years) in the subject of Information and Communication Technologies (ICT). Could you suggest material to include in such a text? More details below." Quite a few details, actually — how would you add to the curriculum plan outlined below? "Background: This is for the public school system of the state of Kerala, India. The state has near-total literacy (we achieved this goal in 1991 following a massive literacy drive), and the government is keen on achieving total e-literacy as well. This drive for e-literacy — and the school curriculum that is the subject of this question — is based entirely on free and open-source software; the school system uses a customized version of Debian for teaching purposes.

ICT is a subject that has been recently introduced into the school curriculum. Currently we have, for all intents and purposes, a 'first generation' of students (and teachers) in this subject. To be more precise, the general public is just beginning to use computers in a big way, and the goal now is to familiarize them with the use of computers, and more specifically, with FOSS. The ICT textbook for the eighth grade (native language version), therefore, focusses on introducing various GNU/Linux software and showing how they can help in learning the other, more traditional, subjects. This textbook introduces the following software: The Gimp, Sunclock, OOO Writer, Calc, and Impress, Kalzium, Geogebra, Marble, and Kstars. In addition, there are simple introductions to elementary Python (variables, the print statement, and if-else), networking, and the Internet.

What we need: In the ninth grade textbook, we would like to shift the focus a bit. We want to introduce concepts which give more scope for creativity, and form a basis for further studies and/or a vocation in the future. The student spends one more year (the tenth grade) in the school system, and so there is scope for developing further on the theme of the ninth grade ICT book when designing the textbook for the tenth grade.

Given this background, are there some other FOSS software that, in your opinion, it would be good to introduce to our ninth graders?

I am partial towards introducing more of Python : the two loops, and perhaps the notion of a function. Do you have suggestions/pointers on how to go about doing this in a way that is easy to learn and to teach?

I would also like to give a glimpse of some ideas from computer science — the idea of an algorithm, for example — so that those kids with a math/CS aptitude get to see that there are such things out there. Which algorithms would be good for this purpose? Binary search is perhaps a good candidate, given that it is easy to describe informally, relates easily to things with which the student is familiar (phone book, dictionary), and it is easy to bring out the contrast in running time with the more natural linear search. What other algorithms would be instructive and motivating? Which other notions from computer science can be introduced to this audience in this manner?

Any other ideas/suggestions about this are also welcome."

462 comments

  1. In 2010 by Anonymous Coward · · Score: 0, Funny

    Well, I think it would be appropriate to teach pupils how to get first posts. FIRST POST NIGGA!!!!!!!!!!!1 FROSTY PISS FTW!!!!!!!!!!!!

    1. Re:In 2010 by weicco · · Score: 2, Insightful

      Or first... Well, I think you know what. That thing which involves bees and flowers.

      --
      You don't know what you don't know.
    2. Re:In 2010 by dangitman · · Score: 1

      That thing which involves bees and flowers.

      Honey?

      --
      ... and then they built the supercollider.
    3. Re:In 2010 by weicco · · Score: 1

      Are you insinuating something? I'm a married man!

      --
      You don't know what you don't know.
  2. backups are important. by Anonymous Coward · · Score: 5, Insightful

    backups are important.

    1. Re:backups are important. by $RANDOMLUSER · · Score: 1

      Backups? We don't have to show you any backups! We don't need no stinkin' backups!

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    2. Re:backups are important. by paeanblack · · Score: 5, Funny

      backups are important.

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

    3. Re:backups are important. by Anonymous Coward · · Score: 0

      They're Hindus, you jackass. Only the Jews, Christians, and Muslims received divine guidance on how to backup their data.

    4. Re:backups are important. by Anonymous Coward · · Score: 0

      Backups for today's generation consists of uploading everything to Google Docs / Windows SkyDrive. At least it's progress, of a sort.

    5. Re:backups are important. by Anonymous Coward · · Score: 2, Funny

      and there was no backup ;-)

    6. Re:backups are important. by Anonymous Coward · · Score: 3, Insightful

      Backups are meaningless. Being able to restore is important.

    7. Re:backups are important. by pjt33 · · Score: 2, Interesting

      Ironically*, the two tablets of the Decalogue may well have each been a full copy, although not strictly backups. Standard practice with treaties was that one copy went in the king's palace and another in his god's temple. Since Israel was a theocracy, the king and the god were the same, and hence both copies went into the tabernacle.

      * Sorry, can't resist the opportunity to start a flame war :)

    8. Re:backups are important. by doug · · Score: 1

      And I bet that no one made a backup of that tablet.

    9. Re:backups are important. by Anonymous Coward · · Score: 0

      backups are important.

      "Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies." - Linus Torvalds

      Come to think of it, I guess that only works if your "stuff" is interesting enough for the world to want copies of it... Sadly, I don't think (un-captioned) pictures of my cat qualify.

    10. Re:backups are important. by noidentity · · Score: 1

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

      Ahh yes, the third tablet didn't survive...

    11. Re:backups are important. by jeremyp · · Score: 0, Redundant

      First time I've wished for mod points for 10 years. Fortunately, you are on 5 already.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    12. Re:backups are important. by Kozz · · Score: 4, Funny

      backups are important.

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

      Not to worry. You can rebuild the third tablet by XORing the odd bits on tablet one and even bits on tablet two.

      --
      I only post comments when someone on the internet is wrong.
    13. Re:backups are important. by INT_QRK · · Score: 2, Insightful

      How about: basic, block diagram level, computer architecture (x86, might as well); the components and functions of main memory, bus, registers, and long-term storage; stacks, the concept of machine language, then more abstractly represented in assembly, and then BASIC. Then, second half of the year, and only after demonstrating understanding of the above concepts, simple programming. Wouldn't hurt to avail the little tykes with foundational understanding that doesn't gloss over the the point that IT is not built on magic -- apologies to Harry Potter.

    14. Re:backups are important. by Anonymous Coward · · Score: 0

      Backups? We don't have to show you any backups! We don't need no stinkin' backups!

      Correct. We have the cloud to preserve our data.

    15. Re:backups are important. by JWSmythe · · Score: 1

          They had not read the doctrine of assured continuity. Exact duplicates in geographically diverse storage facilities would have helped. Hell, they didn't even have a solid order of succession. "Don't worry, I'll be back" doesn't really cut it. (blah, blah, Apostolic succession, blah, blah).

      --
      Serious? Seriousness is well above my pay grade.
    16. Re:backups are important. by Bill,+Shooter+of+Bul · · Score: 1

      That's somewhat Ironic, as the 10 commandments are already backed up in the bible/torah. They exist in Exodus 20:2-17 and Deuteronomy 5:6-21. So at least they followed it, even if they didn't write it down. http://en.wikipedia.org/wiki/10_commandments#Two_texts_of_the_Ten_Commandments

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    17. Re:backups are important. by FatdogHaiku · · Score: 2, Funny

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

      So, there was no backup of the tablet containing the "Backup Commandment"?

      --
      You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
    18. Re:backups are important. by Lord_Byron · · Score: 1

      Which no one made a copy of?

    19. Re:backups are important. by blackraven14250 · · Score: 1

      Being able to restore is meaningless if you don't have a backup to restore from.

    20. Re:backups are important. by Dekker3D · · Score: 2

      And thus, there shall be no backup!

    21. Re:backups are important. by DoofusOfDeath · · Score: 1

      Sorry, can't resist the opportunity to start a flame war :)

      Sorry, you're on the wrong site for a debate on that topic.

    22. Re:backups are important. by furbearntrout · · Score: 2, Funny

      I'd link to the Tao of Backup, although that is more for Buddhists.

      --
      Crap. What did the new CSS do with the "Post anonymously" option??
    23. Re:backups are important. by Lord+Kano · · Score: 3, Informative

      * Sorry, can't resist the opportunity to start a flame war :)

      There's nothing to fight over. You're wrong.

      Since Israel was a theocracy, the king and the god were the same, and hence both copies went into the tabernacle.

      If you actually KNEW the story that you're opining about, you'd know that Moses received the tablets before they reached Israel. They were wandering in the desert. There was no palace, there was no temple. Most importantly, there was no Israel.

      They had just fled Egypt, where the king was considered a God. The Israelites didn't believe that. God was God and the King was the King.

      If you took the time to get to know what the fuck you were talking about before opining, you'd know that.

      Full disclosure, I do not subscribe to any of the Abrahamic religions; however I do know and understand their beliefs.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    24. Re:backups are important. by JazzyMusicMan · · Score: 1

      while i admire your desire to teach 14 years all of this, most of them will not care about that level of detail. in my high school programming class, most kids couldn't remember basic control structures (if, else, loops, etc.), and when given problems to solve, would ask the teacher for the 'codes'. heck, even the universities don't start with architecture, hardware overviews, or assembly

    25. Re:backups are important. by Abstrackt · · Score: 1

      Being able to restore is meaningless if you don't have a backup to restore from.

      Which is why you should always test your backups regularly.

      --
      They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance. - Terry Pratchett
    26. Re:backups are important. by Anonymous Coward · · Score: 0

      hahaha that's funny.

    27. Re:backups are important. by kabloom · · Score: 3, Interesting

      You're history is a little bit wrong. Israel had a human king as well, but he did not have a copy of the tablets. He was commanded to write two torah scrolls for his own use in his lifetime (like the Torah scrolls we use today).

      As for the tablets, there is an opinion in the Talmud in Tractate Shekalim that there were 10 commandments on each tablet (as you say). There are other opinions that have even more copies (one copy on each of 4 faces of each tablet -- left, right, front, back -- for a total of 8 copies). And some say that one tablet had the version from Exodus, and the other had the version from Deuteronomy.

      I'd like to see the look on peoples' faces when we recover the tablets and they find that they don't look like the pictures the artists have made all these years.

    28. Re:backups are important. by IB4Student · · Score: 1

      My Arizona public school (what is Arizona? The 49th dumbest state or whatever?) taught all of those to its students.

    29. Re:backups are important. by arth1 · · Score: 2, Insightful

      Indeed, but to do that you have to have (at least) an extra set of disks to restore to. Good luck getting non-tech minded people to buy two drives instead of one (or four instead of two).

      Anyhow, back to topic, at 9th grade, kids should know both algebra and calculus, and be able to handle derivations if not yet being comfortable with integrals. I'd say that they should know Boolean algebra by heart, as well as how all the fundamentals for common CPUs and kernels including pipelines, stacks, interrupts, arrays, threading and other simple concepts.

      But don't tie them to specific kernels, programming languages and definitely not specific programs. They need to learn the fundamentals, or they'll just end up becoming users with a capital L, with "knowledge" that's outdated before they get their first job. But I fully expect the schools to jump into bed with specific vendors, and "teach" the students basically useless stuff.

    30. Re:backups are important. by srothroc · · Score: 2, Informative

      Algebra and trig, okay -- calculus? Integrals? I don't know what school you went to, but I haven't seen a public school that teaches that stuff earlier than, say, AP Calculus, which is usually a 12th-grade course.

    31. Re:backups are important. by blackraven14250 · · Score: 1

      Honestly, at 9th grade nearly nobody knows what they want to do yet when they get out of school, or whether they want to go to college at all. You're talking about teaching some stuff they don't normally teach in 12th grade to begin with.

    32. Re:backups are important. by arth1 · · Score: 1

      I remember being taught algebra and trigs in 7th-8th grade and simple calculus (derivation) in 9th grade. Elemental algebra and calculus were required as prior knowledge for high school physics and maths.
      Isn't this the case anymore?

      Anyhow, a 9th grader is much smarter (and lazier) than most people think. They should definitely be able to handle the basic fundamentals that IT builds on; giving them the background for further studies, should they choose them.

    33. Re:backups are important. by blackraven14250 · · Score: 1

      I remember being taught algebra and trigs in 7th-8th grade and simple calculus (derivation) in 9th grade. Elemental algebra and calculus were required as prior knowledge for high school physics and maths. Isn't this the case anymore?

      It never was the case for anyone other than the advanced students. Yet still, in my school, most of them didn't take any calculus courses until 11th. We're talking around 12 people in a class numbering around 750 that took calc before 11th grade (physics was in 12th); this is at a Blue Ribbon school in New Jersey, consistently rated among the best in the country. A few of them were bussed to the local county college to take courses at the end of high school, since they were up to the level of calc 3 by 12th grade.

      Anyhow, a 9th grader is much smarter (and lazier) than most people think. They should definitely be able to handle the basic fundamentals that IT builds on; giving them the background for further studies, should they choose them.

      Not everyone is up at the level of taking calc in 9th grade. There's a reason they overlap curriculum from the end of 8th grade into 9th grade, and do the same for every other grade before then.

      I can see them learning arrays and stacks, for sure. There's simple analogies for them in the real world: the weekly pill box, and a stack of dishes. I don't see them learning some of the other supposedly "simple" concepts, especially since they're going to have the attitude of "I'll never need this nonsense again after I'm done with this elective" at that age, if they're in the 95% of kids that fit the average curriculum.

    34. Re:backups are important. by onionman · · Score: 1

      * Sorry, can't resist the opportunity to start a flame war :)

      There's nothing to fight over. You're wrong.

      Since Israel was a theocracy, the king and the god were the same, and hence both copies went into the tabernacle.

      If you actually KNEW the story that you're opining about, you'd know that Moses received the tablets before they reached Israel. They were wandering in the desert. There was no palace, there was no temple. Most importantly, there was no Israel.

      They had just fled Egypt, where the king was considered a God. The Israelites didn't believe that. God was God and the King was the King.

      If you took the time to get to know what the fuck you were talking about before opining, you'd know that.

      Full disclosure, I do not subscribe to any of the Abrahamic religions; however I do know and understand their beliefs.

      LK

      Historically, the term "Israel" is often used for Jacob (son of Isaac and grandson of Abraham) and his descendants. So, in this context, the term "Israel" refers to the people (i.e. the Israelites), not the land that is currently known as Israel.

    35. Re:backups are important. by arth1 · · Score: 1

      Perhaps the difference is that for me this was in the mid 70s, and on the other side of the pond.

      I remember we were allowed to use calculators -- all of the two of us who had one -- simply because the school authorities hadn't gotten around to banning them yet, like they had slide rules. The rest of the students used sanctioned log tables for when accuracy was negotiable, or did things the hard way when it wasn't. Then calculators became against the rules for several years, before suddenly not just becoming unbanned, but required.
      And now calculators are advanced enough to do both calculus and basic algebra, but young adults don't seem to use them for that, but to do very simple calculations they should be able to do in their head.
      Personally, I think they should be required to know how the calculator does it before being allowed to use one.

    36. Re:backups are important. by the_womble · · Score: 1

      I do not subscribe to any of the Abrahamic religions; however I do know and understand their beliefs.

      If that is true (beyond the very superficial having a rough idea of stories from the Bible, which you obviously do), then you are VERY unusual.

    37. Re:backups are important. by Anonymous Coward · · Score: 0

      That should be suitable. Hindus are usually very receptive to Buddhist teachings, and often incorporate Buddha into their theology. linky.

    38. Re:backups are important. by the_womble · · Score: 1

      You are going to teach them all that with no hands on work? They will get bored to death and be unable to related it to reality.

      I would go with teaching Python, and suggest incorporating something like Snake Wrangling for Kids: it is CC licensed (code is GPL) so you could adapt stuff from it.

    39. Re:backups are important. by Lord+Kano · · Score: 1

      The best way to understand why someone lives life they way that they do is to understand where they think they're going after.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    40. Re:backups are important. by gphilip · · Score: 1

      Thanks for that link; we should be able to adapt it.

      The teaching plan consists of 1.5 hours of classes and 1.5 hours of practicals, and if at all we decide to teach more Python, the stress would be on doing a lot of hands-on stuff.

    41. Re:backups are important. by davester666 · · Score: 4, Funny

      How about:

      The 3-fingered salute to Microsoft
      The difference between a Windows Install disc and a Windows Recovery disc

      The beginning of a Microsoft help desk script, something along the lines of:
      Hello, may I help you? ...(person can say anything here)...
      Have you tried restarting your computer?
      Have you tried reinstalling Windows?
      Do you have the latest drivers for your video card, mouse, printer and any other peripherals?

      --
      Sleep your way to a whiter smile...date a dentist!
    42. Re:backups are important. by kimvette · · Score: 1

      Of course not. Mel Brooks dropped it. Didn't you see the movie?

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    43. Re:backups are important. by ultranova · · Score: 1

      backups are important.

      How do you suggest I backup a 1.5 terabyte hard drive?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    44. Re:backups are important. by riT-k0MA · · Score: 1

      Have You Tried Linux?

    45. Re:backups are important. by oliverthered · · Score: 1

      understanding and believing are mutually exclusive. you either understand or you believe. belief is without knowing.

      --
      thank God the internet isn't a human right.
    46. Re:backups are important. by Nevynxxx · · Score: 1

      Another 1.5TB hard drive? Differential backups. Sensible selection of what really needs to be backed up, rather than just the blanked coverage most people try....

      There are a few options..

    47. Re:backups are important. by Anonymous Coward · · Score: 0

      And they had no backups of the tablets, so once they lost the third...

    48. Re:backups are important. by Spacezilla · · Score: 1

      You're history is a little bit wrong.

      So is your English. :)

    49. Re:backups are important. by Lord+Kano · · Score: 1

      understanding and believing are mutually exclusive. you either understand or you believe. belief is without knowing.

      That's just as dogmatic as any revealed religion.

      With a few exceptions, I don't judge the merits of someone's beliefs. I just seek to understand them.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    50. Re:backups are important. by DragonWriter · · Score: 1

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

      More likely, it was implicit in the two tablets referred to in the text: as I understand it, the two tablets would have been understood by contemporary readers to be a reference to the practice of producing two identical copies of important documents, not to be 5 commandments per tablet.

    51. Re:backups are important. by hanshotfirst · · Score: 1

      You might want to look up the difference between a temple and the tabernacle before making yourself look as uninformed as you think the parent is. Parent post 1 - LK 0.

      --
      Why, oh why, didn't I take the Blue Pill?
    52. Re:backups are important. by h4rr4r · · Score: 1

      To LTO 5 or if you do not have that available to another drive. You can get a 2TB drive for ~$100.

    53. Re:backups are important. by pjt33 · · Score: 1

      Israel didn't have a human king until about 400 to 500 years later.

    54. Re:backups are important. by pjt33 · · Score: 1

      I don't get it. Why is a site which appears to be about news relating to Christianity the right site for a debate on the appropriateness or otherwise of using "ironically"?

    55. Re:backups are important. by gnapster · · Score: 1

      Given the placement of his asterisk, I think pjt33 was expecting some grammar Nazi to dispute their use of 'Ironically'. Ironically, that was the only part of the comment which has not been disputed. ;c)

    56. Re:backups are important. by pjt33 · · Score: 1

      If you actually KNEW the story that you're opining about, you'd know that Moses received the tablets before they reached Israel.

      The first Biblical reference I can find to the Hebrew people (as opposed to Jacob) as "Israel" is before they've even left Egypt. In Exodus 3:16, Yahweh tells Moses to assemble "the elders of Israel". The promised land is referred to in Exodus as "the land of Canaan". The land acquired the name from the people at a later stage.

      They were wandering in the desert.

      Not really. They were taking a circuitous route to pass via Horeb. The wandering begins later, as punishment for heeding the negative report of the spies.

      There was no palace, there was no temple.

      That's why both copies went into the tabernacle, as I said. To be precise, they went into the ark of the covenant[1] and the ark went into the tabernacle[2].

      They had just fled Egypt, where the king was considered a God. The Israelites didn't believe that. God was God and the King was the King.

      I'm not aware of any explicit statement of theocracy[3] in the Pentateuch, although some theologians see palatial influences in the design of the tabernacle. It is, however, quite clear that the concept of Yahweh as king existed later.[4]

      Full disclosure, I do not subscribe to any of the Abrahamic religions; however I do know and understand their beliefs.

      FWIW I'm a Christian who studied a bit of undergraduate theology (in particular with respect to the Pentateuch and Paul - that's how the timetables worked out) on the side while getting a degree in compsci.

      [1] Exodus 40:20 - cf 31:18, 32:15, 34:29 for evidence that it's referring to the tablets; Deuteronomy 10:5

      [2] Exodus 26:34, 40:21

      [3] A word, incidentally, coined by a Jew to describe Mosaic law.

      [4] Judges 8:23, 1 Samuel 8:17

    57. Re:backups are important. by david_bandel · · Score: 0

      You are an absolute embarrassment to humanity.

    58. Re:backups are important. by Hognoxious · · Score: 1

      Another 1.5TB hard drive?

      You could put it next to the other one, only slightly higher, to get a split-level effect with a little path running down the middle.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    59. Re:backups are important. by oliverthered · · Score: 1

      Yeh, I often find that people with beliefs are completely uncomprehending after a few sentences.

      but ultimately, god works in mysterious ways.

      --
      thank God the internet isn't a human right.
    60. Re:backups are important. by ackthpt · · Score: 1

      backups are important.

      Yes, the 11th Commandment: "Thou shalt make backups"

      Unfortunately, it was on the third tablet...

      Here, I backed-up your message for you.

      my work here is done

      --

      A feeling of having made the same mistake before: Deja Foobar
  3. Teach them how to communicate by kevinmenzel · · Score: 5, Insightful

    Teach them that the proper use of language is important, even when you're using a computer. It is almost guaranteed that at some point in their working life, they will use the computer as a communications tool, so it's an important thing to know (that most teens seem not to know)... additionally it would make comments on Facebook easier to decode. I know it's not strictly IT... but it's on a computer... wait... I smell a method patent coming... "Proper use of language... ON THE INTERNET".

    1. Re:Teach them how to communicate by sznupi · · Score: 3, Insightful

      ...it could certainly help those of them that will become an outsorced workforce.

      --
      One that hath name thou can not otter
    2. Re:Teach them how to communicate by ddillman · · Score: 2, Interesting

      Mod up! The biggest pain of outsourced tech support has got to be the language/accent barrier. Right after that would be heavily scripted workflow, forcing me to work through possibilities I've already eliminated just so the support worker can follow their script.

      --
      Little girls, like butterflies, need no excuse. -- L. Long
    3. Re:Teach them how to communicate by vlm · · Score: 4, Insightful

      The biggest pain of outsourced tech support has got to be the language/accent barrier.

      Best handled by the language arts / English department not "IT".

      This is a temporary problem anyway. Once all "desk" jobs are outsourced, they will be talking amongst themselves in their native language.

      Right after that would be heavily scripted workflow, forcing me to work through possibilities I've already eliminated just so the support worker can follow their script.

      Best handled by improving the "MBA" training here in the US, those decisions are not made by the script readers.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    4. Re:Teach them how to communicate by fysician · · Score: 2, Interesting

      Reason why they use internet language is to confuse those who do.not belong to the group they feel comfortable with, such ad parents or adults like you. Being understood is not so much of their concern.

    5. Re:Teach them how to communicate by Donniedarkness · · Score: 4, Funny

      I smell a method patent coming... "Proper use of language... ON THE INTERNET".

      That would work, as there is essentially no prior art.

      --
      Earn a % of cash back from Newegg, Tiger Direct, Walmart.com, and more: http://www.mrrebates.com?refid=458505
    6. Re:Teach them how to communicate by netsharc · · Score: 0, Flamebait

      This is pretty bigoted, IMO.. if the poster didn't mention "India", no one would be talking about "oh is that the training grounds for those outsourced maroons?".

      Of course, I can't imagine anyone hoping to talk about GNU/Linux to 8th graders in the west (to paint with a very broad brush), so at least India have the edge there.

      What I find embarrassing though is the number of people on forums and mailing lists who say "I want to do [something amateurish], can you provide me how to do this including complete source code?", which shows lack of self education and the inability to google, or even the lack of education on how to build things from parts, maybe because all they've learnt is rote memorization. Unfortunately these people have names which identify them to originate from one particular region of the world...

      --
      What time is it/will be over there? Check with my iPhone app!
    7. Re:Teach them how to communicate by flyneye · · Score: 1

      A bit of security would ensure an avenue for a useful and happy career as well.
      http://www.backtrack-linux.org/ has a distribution toolkit for security. Either a personalized tutorial could be constructed around it or Backtrack offers their own programs either online or live.
      Let's be secure out there with that information.

      --
      *Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
    8. Re:Teach them how to communicate by im_thatoneguy · · Score: 2, Insightful

      I would say though that beyond interacting as a team and other language skills I would actually add at least a small section on properly writing a design spec.

      The future of outsourced IT even is be able to clearly deliver your creative vision to a team of developers who might not be on your continent. A clearly written design doc is like a form of programming except that it is written in plain English. Yes it's less clear than something like C++ but it also approachable. Let the Chinese worry about performance and memory leaks at $0.50 an hour. 99% of code isn't groundbreaking innovation in algorithm design it's just competently executing a design doc.

      I'm not a full time programmer but it seems like offloading all of the menial development and bug bashing after the architecture is designed would be desirable. If I had a magic compiler which took some outlined code and a design doc and made a program I would think it was the greatest invention in computer science since the transistor--and yet we kind of have that in outsourced inexpensive development companies.

      As the students learn to write design docs the teacher should be competent in programming and always challenge the students to not have any 'holes' in their design that would be ambiguous and perhaps result in an undesirable solution. Just like code had compile errors, the teacher's role would be to 'compile' the design docs and report incomplete logic.

      You could do this completely outside of the specifications for IT. Maybe they aren't interested in computers yet. So write up design docs for ANYTHING. Play the Amelia Bedelia and tell fellow students to take everything incredibly literally--and try to follow their classmates' instructions without any intervention. See if they can get a classmate to recreate something using only their design doc. This would be entertaining and educational. And tell them they have to be specific. If they don't say to use scissors then don't proceed with the step that involves cutting. Very quickly the students will see where their peers are failing (and where they fail on other people's design docs) and get into the spirit of things.

      Also important in an IT program would be Troubleshooting. How many times do we have a family or friend call us and go "My such and such doesn't work. Do you know how to fix it?" The answer is almost always the same "No but...". People rarely know the answer to a problem. A mechanic often doesn't know what's wrong until they've gone through a process of elimination.

      There should be course material in playing 20 Questions. Where you use logic to whittle down a problem to a likely solution. Try it and then go back to the beginning. Again this isn't limited to IT or computers. Diagnostic problem solving is critical to every area of learning. It could be the most important skill a student learns period. It's the fundamental process of problem solving. Maybe have each student learn about two or three subject and then as a team of 4 give them a 'mystery' to solve. As a team they should work together to use their combined knowledge to solve the mystery. "Maybe it's a cougar." "No the cougar doesn't live in South America. Which of our animals live in South America?"

      It would teach diagnostic troubleshooting and team work simultaneously.

      Lastly I think we start teaching formal logic far too late in life. An introductory programming class is a good way to condition pure logic but other classes should get in on the act. Essentially logic is the formalized science of minimizing hypocrisy. Teachers should put a strong emphasis on encouraging students to formulate ideas that aren't self contradictory.

    9. Re:Teach them how to communicate by Anonymous Coward · · Score: 0

      Mod up! The biggest pain of outsourced tech support has got to be the language/accent barrier. Right after that would be heavily scripted workflow, forcing me to work through possibilities I've already eliminated just so the support worker can follow their script.

      No, the biggest pain about out-sourced workers is that most of the people who bitch about out-sourced workers have been supporting the corporations, and their crooked political buddies, for years. They have no one to blame but themselves for whatever they perceive to be the problem with out sourced jobs, as they have created the very environment where outsourcing jobs is allowed to happen, and is economically advantageous.

    10. Re:Teach them how to communicate by MysteriousPreacher · · Score: 1

      This! It seems that few of the people who complain about jobs being lost overseas go to much of an effort to buy things made or supported locally.

      --
      -- Using the preview button since 2005
    11. Re:Teach them how to communicate by Jaazaniah · · Score: 1

      Mod parent up!

      For all those people wanting their kids to excel and succeed beyond their parents, IT (real IT, not simply tech support) is a great avenue, and introduction early will foster aptitude in their adult life. The lowest rungs will be apt enough for stable tech support and the upper rungs will be developing FAT table hacks in grade 9.

      For the nationalists out there, this is how to cultivate technical prowess in a country without costing the school system in overly-burdensome licensing fees, and not insult the intelligence of our children by calling classes on MS Word an "IT" class.

    12. Re:Teach them how to communicate by Aczlan · · Score: 1

      I wish I had mod points. Excellent post

      Aaron Z

      --
      "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote
    13. Re:Teach them how to communicate by kabloom · · Score: 1

      I smell a method patent coming... "Proper use of language... ON THE INTERNET".

      That would work, as there is essentially no prior art.

      But then everybody except the patent holder would be forbidden to use proper language on the internet.

    14. Re:Teach them how to communicate by Anonymous Coward · · Score: 0

      this sounds like the design spec for the most boring class ever to hit a college campus. seriously? do you want designers who've never touched a line of code in their lives before employment? it'd be like the problem we currently have with management that cant seem to grasp remedial windows skills that their 5 yo children pick up in 20 seconds. software is already too big and inefficient as it is.. this kind of extreme abstraction just makes that worse. do you really want to be dependent on the chinese or the indians for 'optimization'? talk about short sightedness.

    15. Re:Teach them how to communicate by Runaway1956 · · Score: 1

      "This! It seems that few of the people who complain about jobs being lost overseas go to much of an effort to buy things made or supported locally" or to learn how to do things for themselves.

      Doing for yourself eliminates the need for outsourced services, which cuts into those corporate profits. Everyone should do their part to slow or reverse the globalization scheme which benefits no one except the corporate heads.

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    16. Re:Teach them how to communicate by Bing+Tsher+E · · Score: 1

      For all those people wanting their kids to excel and succeed beyond their parents, IT (real IT, not simply tech support) is a great avenue, and introduction early will foster aptitude in their adult life.

      Actually, IT is a custodial task. It's important for kids to learn some about it, but if they want to be successful, they should and will come to understand that the data janitors will take care of it for them. It's very important that they understand IT however. Young people should work at menial jobs for awhile before they start their careers.

    17. Re:Teach them how to communicate by cheekyjohnson · · Score: 0

      You'd be surprised at how many adults I see that don't type properly on the internet, either.

      --
      Filthy, filthy copyrapists!
    18. Re:Teach them how to communicate by ian_from_brisbane · · Score: 0

      But then everybody except the patent holder would be forbidden to use proper language on the internet.

      Which would be totally unfair to the 12 people left who don't have a Twitter account.

    19. Re:Teach them how to communicate by dnahelicase · · Score: 1

      Try teaching them to outsource work to the USA. Be careful to avoid creating an infinite loop.

    20. Re:Teach them how to communicate by the_womble · · Score: 1

      The underlying cause of both problems is paying too little, so you end up with people with the worst skills.

      When the outsourced workers are better paid, you probably do not even know whether it is domestic or onshore.

      Incidentally, outsourced does not necessarily mean offshore: you can move stuff to your own offshore employees (so it is not out-sourcing) or you can outsource to another company in the same country. Both are very common.

    21. Re:Teach them how to communicate by gphilip · · Score: 1

      This is, as i mentioned in the post, a first generation of teachers and students in this subject. A main goal of this exercise is to come up with a curriculum that does not scare people away.

      In the next iteration of this exercise (which will happen perhaps five years from now) we get to deal with a set of students and (more importantly) teachers who have "seen" these things for a few years and so are comfortable with the next level.

      Thank you, but I'm afraid most of your suggestions would be useful only a few iterations down the line.

    22. Re:Teach them how to communicate by Anonymous Coward · · Score: 0

      Seeing how MBA's have been messing up manufacturing in the US, those script readers could do a far better job in those positions.

    23. Re:Teach them how to communicate by im_thatoneguy · · Score: 1

      Well first of all these are 14 year olds not college students.

      Secondly design docs might be boring but that's why you don't tell them they're writing design docs. They're just writing instructions for their classmates to follow. Maybe it's a Lego set. Maybe it's your favorite soup. Maybe it's a puzzle. Whatever it is, it just has to be specific (to the point of silliness) and complete.

      These are also I assume students who have had no computer science experience. Dropping them straight into coding would be like dropping them into the ocean. Starting them with writing "instructions" is simpler. They can think extremely literally while not writing in a language they already can speak and write: English.

      Software often is bloated and inefficient because it has poor design docs. People just start writing features instead of figuring out how the program works. Any trained code monkey can write a standard application. The real magic happens in the concept and functionality specifications. Very few applications invent some new process or algorithm.

      Considering very few of the students will ever actually go into Computer Science I think it would be prudent to teach them more generic skills which will actually be valuable wherever they end up. Creating a new process or solution and then presenting it to other people to implement is an important skill that all jobs require. If you have an idea you have to be able to communicate it to your teammates or coworkers.

    24. Re:Teach them how to communicate by sznupi · · Score: 1

      Well, the idea was to be a bit "funny"; it does get insightful here sometimes... (most memorable one: when I described how to, essentially, accept being bullied by older employees / start acting, by yourself, in a way an office bully would want; in one "ask slashdot" about what to remember in new job environment or smth)

      BTW, Linux usage in education seems to pick up steam also in the "west" - at least in some parts of it. And about those people asking "silly" questions - apart from "that's what you get after wanting hard for you language to become lingua franca", it's probably largely a selection bias; you notice & remember more easily people who can be round up mentally into one distant culture (nvm how many of them would object / would consider themselves mortal enemies). Throw in some amount of colonial mentality mixed with greater admiration of authorities.

      --
      One that hath name thou can not otter
    25. Re:Teach them how to communicate by Anonymous Coward · · Score: 0

      Best handled by the language arts / English department not "IT".

      Not necessarily. There is certainly room for some light focus on linguistics, specifically in reference to acronyms which are commonly used in IT, programming, networking, etc. If nothing less, there should at least be some effort made to familiarize the students with the standard "Roman" alphabet, as an example the basic ASCII chart would be a good bit of material to at least give an overview. They should at least be able to recognize letters, numbers, basic punctuation, and mathematical operators, and to reproduce them.

      Understanding the actual words, grammar, sentence structure, etc. isn't really necessary at this point, and those portions should certainly be addressed by the linguistics departments.

      This is a temporary problem anyway. Once all "desk" jobs are outsourced, they will be talking amongst themselves in their native language.

      No, English has become/is becoming the de facto common world language for IT and computer-related fields in general, as well as business. It's starting to move that direction just in general, but those two general fields are extremely English-centric.

    26. Re:Teach them how to communicate by Silverlock · · Score: 2, Insightful

      In defense of support people everywhere, there is a reason for the scripting. Yes, you may know what you are doing. Unfortunately, most people SAY they do even when they know nothing.

      I don't have to work with a script, thankfully, but I always start at the beginning. People rarely define the problem they're having correctly. "I can't get on the Internet." can be (and has been, in my experience) the result of the computer not being plugged in. Also, I can't tell you the number of times people will say, "Yeah, I tried all that already. The cables are all plugged in. Nothing has changed." *An hour later* "Oh, this cable isn't plugged in, could that be the problem?" In fact, "Nothing has changed" is a running joke in my office.

      My favorite was the guy who started the conversation by yelling at me that he had a master's degree in computer engineering, so there was absolutely no way the problem could be on his end and I better fix it right now. I explained that others were not having the same problem, so I had to check a few things on his side anyway...

      "Please open up the control panel."

      "What's that?"

      *face hits desk*

    27. Re:Teach them how to communicate by Anonymous Coward · · Score: 0

      Kevin,

      E-literacy is one of the instructor's goals. Stop using facebook.

    28. Re:Teach them how to communicate by david_bandel · · Score: 0

      I haven't yet found an algorithm or human process capable of decoding facebook comments written by teenagers.

      I think what you're looking for is something that would make comments on Facebook possible to decode. For it could be made many orders of magnitude easier than it currently is and still be indecipherable.

    29. Re:Teach them how to communicate by ddillman · · Score: 1

      Stipulated, there are a lot of people who really do need the scripted flow. However, the language barrier makes it harder for the support worker to determine when that script can be dispensed with. If we're having difficulty with basic communication, how can you tell if I'm saavy enough to move past the script?

      --
      Little girls, like butterflies, need no excuse. -- L. Long
  4. Teach 'em the basics by mikein08 · · Score: 5, Insightful

    I know, this is old fashioned thinking, but people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically, what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc. You know, all the stuff we learned 40 years ago. Make 'em learn a programming language too. MK

    1. Re:Teach 'em the basics by Anonymous Coward · · Score: 0

      Yes and while your at it toss out the mouse and the graphical UI. Learn how to use the computer first. Then learn how to enjoy the computer later. For example go learn old school SMTP at the protocol level. You would be surprised how many programmers I know that do web day in and day out and cannot even start to troubleshoot a problem cause they have not idea what a HTTP post is supposed to look like!

    2. Re:Teach 'em the basics by jasonjas · · Score: 2, Insightful

      I agree with this, learning about the basics of how a computer reads data is important. Anybody can learn a programming language if they are taught how, only half of those same kids probably still will not understand how the computer reads it and interprets it. Without that knowledge it's like teaching a person words but not how to complete a whole sentence.

    3. Re:Teach 'em the basics by dove-young · · Score: 1

      +1. Yes, it's a very good idea. Since they talk about vocation, then people must to know what behind the screen, and mist be able to make things by hand instead of just use the existing ones .

    4. Re:Teach 'em the basics by Anonymous Coward · · Score: 0

      people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically,
      what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc.

      I agree with this a million percent. Simply understanding the basics will be invaluable for the rest of their lives, especially as GUIs take over our computer interactions and less and less people have any idea of how anything in their computers or the internet works. It is painfully obvious when you are dealing with someone who has had no basic computer training; even though they may know how to perform somewhat complex tasks they are completely lost when the first thing goes wrong.

    5. Re:Teach 'em the basics by Anonymous Coward · · Score: 0

      No they absolutely do not need to learn all that stuff in order to use a computer.

      It seems that this is intended to teach computing basics, to prepare students to encounter computers in the real world. In order to use a computer you don't have to know how to write programs or even understand tons about memory.

      First of all in the real world people use Microsoft Windows, yeah it sucks and it's not the greatest, and it's not free but it is reality so teaching everyone IT on Linux is just going to lead to failure.
      1.) Need to use and learn the file systems of Microsoft Windows 95 & XP & 7
      1a.) Installing new programs, from assessing system requirements pre-installation to starting the program the first time.
      1b.) Maintenance, cleaning up after uninstalls, dumping internet cache, etc.
      1c.) Linux, use a Non-Windows OS for the purpose of fumbling around.
      2.) Basic familiarity with a number of common programs: Text Editor, Photo Editor, Spreadsheets (databases optional), Calender Application, Email Client, Internet Browser, IM Client, Skype/Videochat (businesses really use these), and a Media Browser (Windows Media Player, MPlayer, Audacity, VLC whatever).
      3.) Some kind of external device Read/Writing/Usage needs to be taught whether it be an Apple iPod/iPad, Windows OS Cell Phone, or regular MP3 Player, also proper use of external media including Flash, CD/DVD, CD/DVD-RW, and some sort of disk. People need to know that there is other stuff that works with computers and it's not hard. Also installing some new hardware like a printer or special input device.
      4.) Network connection, at minimum take the computer and plug it into a wired router and make it go online. At best network 3-4 computers for basic file sharing and then share a printer between them, for variety in one instance connect the printer through a computer (shared printer) and in another connect the printer to the network independently. Bonus points if you include network storage devices.

      5.) Learn to READ the help files, find information on new hardware, find information on new software, find how to fix problems.

      #5 is what would help every computer user the most. Nearly every program in existence has a help file, and that includes the OS. 90% of the problems people have can be solved independently if they just take 5 minutes to find the information and read the help files. I do computer repair on the side and I have yet to see a serious problem that was self-inflicted by the user, and also I am self-trained yet haven't found a problem to stump me yet, my troubleshooting process so far has proved infallible and it is:
      1.) Verify it's really broke (is it supposed to be doing that?)
      2.) After verification read the included help file
      3.) If that fails go to Google
      4.) Drink 2 cups of coffee, read information
      5.) If that still fails to yield the information I need, go to internet forums
      6.) Between Help Files, Google and Internet Forums you have found a solution or else you are an idiot.

    6. Re:Teach 'em the basics by geophizz · · Score: 1

      Why? Most of these kids aren't going to be programmers, they are going to use the computer as a tool to get their jobs done. If I'm going to drive a nail, why should I have to know how the hammer is made? If they are interested in being programmers, they'll learn on their own, like many of us did. The education should be more general, even leaving out the big three Microsoft Office products. Not everyone uses Microsoft Office at home, so why teach them the specific keystrokes, etc. Teach them some rudimentary troubleshooting and the concepts of how the computer works, so that they're not helpless when something goes wrong. Beyond that, teach them the general techniques that they can adapt to whatever software they have.

    7. Re:Teach 'em the basics by Gaffod · · Score: 2, Interesting

      You could expand this to include concepts and the more obscure (but important) terms regarding computers. There is no point teaching what a CPU does and the rough differences between single and multi-core: That is trivial for a motivated, observant person to learn on their own; they have access to the thing and can play around with it all they want. What they don't have access is the inner workings of large networks (both corporate and the Internet itself) as well as the history of computing.

      Again, it is irrelevant whether they have a good grasp of history at the end of it, and there is probably little reason to go for that. Just 9th grade is a short time and students have other classes to worry about. What matters is giving them exposure to the history, so that they hear about things they probably wouldn't have heard of reading on their own. The key is to have students recognize that there is a long history of the field which is, for lack of a better term, "history" which can tell us much about why things in computing today are the way they are.

      With regard to the programming language, I'd suggest the same strategy. Explain the basics, don't go in details. Really teaching a language is a 2-3 year long dedicated course for undergrads, you would underwhelm ninth-graders if you tried to teach everything.

    8. Re:Teach 'em the basics by Anonymous Coward · · Score: 0

      I agree, and would add fundamental usage like: Shares & Exports, wireless setup, basic TCP/IP, security, virus protection, disk basics, file system, defragmenting, formating . OS Install and configuration, Win7, MAC, and Unbuntu. Bluetooth & Cel phone integration, loading drivers, mapping printers, installing & removing apps, ext....

    9. Re:Teach 'em the basics by skids · · Score: 1

      These skills are needed for "rudimentary troubleshooting." As soon as you get past whatever the GUI is able to tell you about a problem, you are going to end up with log messages that are at best confusing even to those who know the nuts and bolts. I can't tell you how much workplace time is wasted calling back on trouble tickets for typo corrections because even first line help desk employees don't know basic things like "MAC-addresses don't contain the letters g-z."

      In addition we are really remiss if we do not teach at least spreadsheet-level programming concepts at this point. That includes data formats, parameters, and functions.

      Finally while most people may never write a line of code in their life, there's a better chance that they will need to manage programmers as a customer or even boss. Understanding the general scope of what computers can and cannot do helps build reasonable expectations, and also an appreciation of what goes into software development. This is an increasingly necessary building block of a basic world-view for the decades to come, which is what school is there to give you. Walking around the outskirts of the subject also can be the point at which a person first discovers they might actually like to become a coder. I know I would have lost several years jump start on the learning curve if I had not been introduced to it in high school.

      As to self-taught coders, while most programmers these days are self-taught, that's actually not a good thing. People who take the up the mantle of being a programmer should have the option of receiving professional training. Informal self-teaching is good enough for some jobs, but there are some subjects that are necessary for good coding on an advanced level which tend to be glossed over by the amateur self-learner, no matter how fond they are of the subject. The result tends to be perpetual wheel re-invention well past the point of diminishing returns. That's OT for the purpose of a 9th grade textbook, however.

    10. Re:Teach 'em the basics by CAIMLAS · · Score: 1

      I bet that if you took a random sampling of IT programmers and administrators, you'd be hard pressed to find 50% who can do half of what you mention.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    11. Re:Teach 'em the basics by humblecoder · · Score: 1

      I think it is a fine line. On the one hand, you want to teach something that is useful for the students, regardless of where they end up. However, you don't want it to be too specific as to make what they learn obsolete in 5 years.

      Personally, I think there are two directions you can go. First, you use a pre-CS syllabus where you teach programming basics like bits and bytes. Second way is that you can use a syllabus where you stress computers for non-CS people which might include the Internet, file systems, etc.

      I think the general syllabus that they have chosen with stressing free and open source products really doesn't accomplish either of these goals. If you are aiming for the pre-CS philosophy, the basics are technology-agnostic and it should stress theory over specific platforms at least at the begining.

      If you are aiming for a general computer awareness type of class, then while open source is all good, it unfortunately doesn't apply to 99.9% of the real world. If anything, the class should be more a survey of the existing tools. For instance, if there is a section on using browsers to access the internet, then the class should touch upon all of the existing ones, maybe pointing out pros and cons, with the acknowledgement that Internet Explorer is, for better or worse, the dominant browser. Not even touching upon non-open source products which happen to be prevalent creates a serious blind spot on the student's education. It is akin to not even mentioning evolution in biology because of religious biases.

      Now some of the open source people might grouse at this suggestion. However, if you are looking to gain mind-share, isn't it better to do so by comparing open source to non-open source and let the chips fall where they may, rather than by just ignoring the non-open source and hope that they go away?

    12. Re:Teach 'em the basics by CharlyFoxtrot · · Score: 1

      I know, this is old fashioned thinking, but people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically,
      what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc. You know, all the stuff we learned 40 years ago. Make 'em learn a
      programming language too.

      MK

      I agree but I'd start more basic :

      First trimester: what's a computer, explain cpu's, difference between a disk and memory (seems like I'm always explaining that one to people), etc. The goal is to have the student understand what makes up his computer and to be able to read & understand system requirements or ads.
      Second trimester: what's an OS, how do I interact with the computer, basic GUI components radiobuttons, checkboxes,etc. The goal is to easily locate and recognize visual elements in an application and interact with them.
      Third trimester: binary, programming languages, how do I get to the computer to do something I what to do. The goal is to have the student write a little program or shell script (even VB script or something.)

      --
      If all else fails, immortality can always be assured by spectacular error.
    13. Re:Teach 'em the basics by gphilip · · Score: 1

      I would think that such details as words, longwords, binary/octal/hex, OS, IO etc. more properly belong to a more advanced course in computing.

    14. Re:Teach 'em the basics by gphilip · · Score: 1

      Personally, I think there are two directions you can go. First, you use a pre-CS syllabus where you teach programming basics like bits and bytes. Second way is that you can use a syllabus where you stress computers for non-CS people which might include the Internet, file systems, etc.

      We are aiming for a mix of both.

      By the way, are bits and bytes "programming basics" or "implementation detail"?

    15. Re:Teach 'em the basics by gphilip · · Score: 1

      If at all Python would be taught, only very basic (but Turing-complete) stuff would be taught. Most of the details of syntax would be left for them to discover by themselves if they so please.

    16. Re:Teach 'em the basics by gphilip · · Score: 1

      That's sad!

    17. Re:Teach 'em the basics by gphilip · · Score: 1

      This would severly tax all but the hardiest of the students, and put tremendous pressure on the teachers. Our aim is to introduce the subject, not to scare people away from it!

    18. Re:Teach 'em the basics by The+Solitaire · · Score: 1

      people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically, what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc.

      No, they don't. Especially not at age 14. I live in a first world country, and none of those topics were covered before the final year of highschool (age 18) or the first few years of university. There's a good reason for that - most of those topics are completely useless unless you have something to actually apply them to. Having something to apply them to would require trying to teach C/C++ or assembler to your average 14 year old. That's just not going to end well.

    19. Re:Teach 'em the basics by Anne+Thwacks · · Score: 1
      Teach them Computer history 101:

      The PDP8 was the first computer that sold more than 12 units. Over 12 MILLION PDP8's were sold. The architecture of the PDP8 is VERY HARD TO PROGRAM compared to others of its generation but it was 1,000th of the price.

      The PDP11, which came after, was a hardware Fortran machine. Its assembler was redesigned as a language called C. The Intel architecture is essentially a PDP11 clone.

      Before the IBM PC, there were over 100 computer architecture being made. After the PC there were less than 12. The architecture of the IBM PC is VERY HARD TO PROGRAM compared to others of its generation, but it had the IBM brand recognition. (The PS2 architecture had IBM brand recognition, but by then there were 10 million users who did not want to learn a new architecture.) The original PC had 320x240 resolution using the Crap Graphic Adaptor. There were loads of different screen resolutions until VGA (800x600). For the next 20 years, VGA was good enough. Over 100 million PC compatibles have been sold.

      Before digital mobiles there were only about 10,000 mobiles world wide. Now there are over 1 billion.

      The original phones had loads of different screen resolutions until 800x480. For the next 20 years, this will be good enough. Before Android there were over 20 different software platforms for mobiles. Soon there will be less than 5.

      Volume is the big deal in electronics. It does not matter if the design is good. If it works, and you can sell it to suckers, you have won.

      --
      Sent from my ASR33 using ASCII
    20. Re:Teach 'em the basics by stewbacca · · Score: 1

      Make 'em learn a
      programming language too.

      MK

      I disagree. 9th graders need to be learning to figure out what they like to do, not have Python shoved down their throats before they've even completed Algebra I. I understand TFA is about India, but that sort of system will never fly here in the US. Diversity is a good thing, and not every kid is a going to grow up to be a programmer.

    21. Re:Teach 'em the basics by judithh · · Score: 1

      Agreed. I taught a similar course here in the US, and I taught binary/octal/hex math, understanding packet flow, how to take apart and rebuild a computer, etc. Don't make this so abstract that there is no physical reality to it all - not all 9th graders think very abstractly. And don't forget HTML, which is at least fun to play with. Floating point (if they have the math background) and sorts are nice, too, for getting a sense of how computers operate.

    22. Re:Teach 'em the basics by nhaehnle · · Score: 1

      Perhaps the most powerful idea of computer science is that computation is computation is computation. This should be obvious to anybody already working in IT, but to outsiders it is a total mystery.

      The concept of an algorithm with input and output, where the input can be anything from a bunch of numbers, to a book, to an image, etc. is extremely powerful. Of course, along with it you need to understand that ultimately, any kind of input ends up being represented as a bunch of numbers or as a bit string anyway.

      Whether you are manipulating images, or adding numbers, or serving websites, you always have the same theory of computation underlying it. This idea is so fundamental that we inside the profession usually don't even realize that this is a major revelation to anybody not accustomed to it. As a consequence, it's the kind of thing that really needs to be taught in schools.

    23. Re:Teach 'em the basics by yuna49 · · Score: 1

      I didn't know where to put this comment, so I'm attaching it here.

      Someone earlier mentioned things like being cautious about posting photos, etc. I'd like to expand that suggestion to include some discussion of policy issues as well. I don't know how Internet services are offered in India, but a consideration of notions like "common carriage" (much better than "net neutrality") and copyright issues ought to be included as well. How should we regulate the Internet since it spans national boundaries? What types of policies might India pursue to expand Internet access? What role should the government play? Perhaps a bit on computer security and spying as well? You're not just training future geeks here, but future citizens as well.

    24. Re:Teach 'em the basics by Warbothong · · Score: 1

      ...people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically,
      what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc.

      I think there's a careful distinction to be made in such a discussion, between fundamental concepts and implementation details. For example, I think knowing binary is an important skill for a casual (non-professional) programmer, whilst hex isn't so much since it's just used as a more compact form to displaying binary in for humans*. Similarly bits are important, bytes not so much since the notion of 8 bits in a byte is just an arbitrary standard. Knowing things like the distinction between float and double, short and long, etc. isn't IMHO suitable for such an age group. This is because learning such things enough to be second-nature is often difficult since they're arbitrary and thus will probably rely on rote-learning (ie. they're boring) but more dangerously, since they would always be in the student's mind when they're taking the course it would distract them from the actual concepts being taught.

      At University every computing course I took was based in Java (though I learned C and C++ from my Physics classes too), and it showed: Masters level students would struggle to grasp important steps in straightforward algorithms, yet their incorrect coursework implementations would show a clear appreciation for such irrelevant details as serialise versions (in code destined to never have a subsequent version), extraneous exception handler definitions (most of which would actually leave the state in a broken way) and elaborate layering of objects for streams, readers, writers, buffers, builders, factories, etc. to get data into and out of their wrong, one-method implementation of the algorithm, in a text-book-exact way (sometimes not even changing the variable names).

      My recommendations for things to include:

      Message-passing Object Oriented programming; no throwbacks from structured programming like if/then/else, for/foreach/while/dowhile, etc. Stick to one concept that has no special-cases, and languages with as few reserved keywords as possible (since lots of keywords implies that some things need to be achieved via some non-pervasive concept, usually hard-coded into the compiler/interpreter). Here I would recommend Smalltalk ( http://www.smalltalk.org/main/ ), since it's been taught to children for years all over the world, so there's lots of experience to build on. It's based on objects with classes which send and receive messages, and essentially defined OO programming as it's known today. There's very little syntax to learn, if/then/else are messages sent to objects (eg. myCondition ifTrue: myTrueCode ifFalse: myFalseCode), loops are also messages (myListOfObjects do: myLoopBody) and so on. The distinction between classes and instances might be unnecessarily confusing, so you *may* want to look into languages like Self ( http://selflanguage.org/ ) which use prototypes in a similarly pervasive way. Smalltalk also has Etoys ( http://www.squeakland.org/ ) to play with, which is a prototype-based 'ultimate LOGO' and really makes the message-passing concept of OO explicit via the menu structure. DrGeo ( http://community.ofset.org/index.php/DrGeo ) runs in Smalltalk, which provides an incentive to kids to learn the system (since it would give those students who learn it an advantage in Maths classes, since they'd have access to a really sophisticated geometric calculator). Scratch ( http://scratch.mit.edu/ ) is built in Smalltalk too, but bears little relation to the underlying system (whereas with Etoys it is a simple step to pure Morphic, then to classes/instances, then t

  5. Document Your ... by WrongSizeGlass · · Score: 1

    Document your cheat codes! Only proper documentation will help the later generations when the XBox 'Retro Edition' is released and they need the cheat codes. ;-)

    Seriously, document your code, your processes, etc. You never know when you'll need to go back to it ... or someone will accuse you of 'misappropriating' your data or ideas and you'll be able to prove them wrong. You can't teach these good habits too early.

    1. Re:Document Your ... by Anonymous Coward · · Score: 0

      that's a really good idea. Having kids document things they value (cheat codes) would be an excellent start.

  6. Bandwidth, Cells, Broadcast, Caching. by RichMan · · Score: 3, Interesting

    Discuss the mediums they use.

    The difference between text and email routing and voice routing. Store and forward vs streaming. Caching.
    How Cell provisioning works in wireless networks.

    How search works, how the electronic maps work with overlay data. How an electronic store works. How bank/cash machine networks and cash registers work securely. How the bank card system works.

    1. Re:Bandwidth, Cells, Broadcast, Caching. by Anonymous Coward · · Score: 0

      +1 on this as being what the title of the class suggests it should be and for bonus points add in magnets, and how they frickin work

    2. Re:Bandwidth, Cells, Broadcast, Caching. by skids · · Score: 1

      The basics of caching gets my vote, because it's a core meta-concept for which the consequences are far-reaching in a large number of fields.

      Also the general user-level need-to-knows about public key cryptography are a high priority item. That's one technological leap we'd be a lot better off if the general public understood what had happened.

  7. Focus on logic and algorithm development by Anonymous Coward · · Score: 5, Insightful

    Programming can be thought of in two different aspect

    1) algorithm development - the part of the solution that requires the most logic, problem solving, and creativity.
    2) code development - taking an algorithm and translating that into code.

    I would focus more on the first. It's problem solving capabilities that are going to get children somewhere, not the ability to write code. (not that this part is unimportant!).

    So maybe you could present this in several stages. Work together to solve a problem of some sort, then make the whole class responsible for developing a program.

    In on of my college c++ classes, there was no individual assignments. EVERY assignment was broken down into parts that several groups had to complete, then a different group would be responsible from "compiling" all of our functions/source code and actually compiling it into a program. Talk about group dynamics. Through a bunch of noob programmers together and grab the popcorn!

    It was a learning experience for sure.

    1. Re:Focus on logic and algorithm development by Anonymous Coward · · Score: 0

      I think you're confusing IT literacy with computer science. You don't need to know recursion from iteration to be IT literate. What you do need is experience with IT tools that will accelerate your learning process in other subjects in high school. Something like:

      *Make groups of students. Put each group member in a different room and give them access to email, IM, broadcasting, social networking, voice chat and video chat.

      *Assign each group with a subject to work on.

      Let the groups:

      *Use search engines and other resources to find information about the subject.

      *Use a word processing template to create a document about the subject. The document should follow a fictitious organization's document style.

      *Solve a problem using spreadsheets.

      *Use a bitmap based image editing software to edit existing images and to create new images.

      *Use a vector based image software to create a logotype and other visual content (and insert that into your word processing documents).

      *Find out what terms of use applies to images that you've downloaded and take appropriate actions.

      *License your own images under a suitable license.

      *Start a web page for your fictitious organization and communicate your progress via that.

      *Use book search to find more information about your subject. Find a book in a nearby library and visit the library to borrow or read the book.

      *Make a slide presentation that explains how you did all of the above.

      *Hold a video conference where each group remotely presents their work to the other groups.

    2. Re:Focus on logic and algorithm development by quanticle · · Score: 2, Insightful

      Wait, you didn't get to compile you own code? Then how did you learn from your mistakes? Moreover, how did this experience prepare you for programming on anything besides a circa 1970 mainframe environment?

      In my experience, the best way to learn programming is to experience your mistakes. If someone else is responsible for compiling your code you're not being exposed to your mistakes, hamstringing your ability to learn.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    3. Re:Focus on logic and algorithm development by BotnetZombie · · Score: 1

      I understood it such that "compiling" (quoted in OP's comment) meant assembly of program parts, i.e. the compiling group was connecting the dots made by the other groups. Says nothing about those groups not compiling and testing their own program parts.

    4. Re:Focus on logic and algorithm development by Anonymous Coward · · Score: 0

      Well, of course you would compile your own code stubs for testing purposes. It was the task of the main group to make sure all functions behaved nicely together, clean up unneeded code, an so on..

    5. Re:Focus on logic and algorithm development by quanticle · · Score: 1

      I see. I guess that's not the accepted definition of "compiling", though. That's more like "integration" in my experience. If that is what the grandparent is posting about, then it is valuable programming experience. Its easy to write code when you're the only person who has to read and work with said code. Its considerably more difficult to write code that's understandable by other people.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    6. Re:Focus on logic and algorithm development by Anonymous Coward · · Score: 0

      Teach robotics. Then you cover hardware design, drivers, sensors, software, data checking, small systems busses and communication. Etc and kids always love building a robot.

    7. Re:Focus on logic and algorithm development by gphilip · · Score: 1
      This analogy would perhaps help get my point through:

      Mathematics can be thought of in two different aspects:

      1. Proving theorems - the part of the solution that requires the most logic, problem solving, and creativity.
      2. Solving specific problems - Correctly applying known results to solve the problem at hand.

      In the 9th and 10th grade math, (2) gets the priority, with occasional glimpses of (1) to spark the interest of the kid with an aptitude for math.

      We would like our IT curriculum to take a similar approach as math in this respect.

    8. Re:Focus on logic and algorithm development by gphilip · · Score: 1
      Thanks, that helps.

      Many of these points are already covered by the activities in the 8th standard textbook. We can probably integrate most of the rest of them in the next textbooks.

      Thanks once again!

    9. Re:Focus on logic and algorithm development by Anonymous Coward · · Score: 0

      I agree - my brother is a very good programmer, but only when it comes to modiying existing code. Ask him to create a program from nothing and he's helpless. Algorithm development is essential.

  8. why not by convolvatron · · Score: 2, Interesting

    teach them some fundamentals...what is a bit, what is a tube, how the tubes get plugged together,
    maybe how dns works at a high level just to give them some example of a simple distributed system,
    and give some meaning to web addresses.

    what a trivial von-neumann machine looks like

    what a program is at a high level, how images are represented and manipulated.

    how to write a simple game in something like scratch.

    what you describe seems pretty tortuous for a 9th grader (learning gimp, ooo), even for one that
    has an interest

    actually give them some semantic reference for dealing with computers, rather than teaching them
    about the details of the current crop of open source menu-driven applications

    1. Re:why not by AliasMarlowe · · Score: 1

      what you describe seems pretty tortuous for a 9th grader (learning gimp, ooo), even for one that has an interest

      I'm not so sure about that. Our 8th grader has been using Gimp for almost 2 years, and can do quite a lot with it, including working with masks and layers. She knows where to search on the web for gimp tutorials when she wants to do something new, and has mastered many techniques. She also uses OOo for assignments (nothing too complicated, of course), and can use Inkscape for basic vector graphics. FWIW, she started doing these things in 7th grade, and her proficiency keeps increasing with these and other tools.

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    2. Re:why not by vtcodger · · Score: 1

      All that may be true -- and good for your eighth grader. Nonetheless, presenting a class of anything other than budding geniuses with the most notoriously user unfriendly interface in the Open Source world seems imprudent. Maybe Kolourpaint instead of the Gimp?

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    3. Re:why not by convolvatron · · Score: 1

      sure, i'm not saying no 9th graders can use gimp

      but i would hate to be a 9th grader with no clue stuck in a class during the week
      that someone was trying to teach me gimp

    4. Re:why not by Anonymous Coward · · Score: 0

      GIMP is something you learn on your own, if you're interested. For a general computers course, it could be mentioned as an example, but it'd be pretty useless to torture an entire class with anything approaching useful instruction in GIMP.

      It's more important for them to learn the paradigms that would allow them to make effective guesses as to how things might work, than it is to learn a specific way of doing a specific thing.

      A lesson I continually get to learn with a certain family member whose notebook full of step-by-step instructions taken whenever I've been asked for help and told, "I just want to do X, I don't have time to learn ..." is now so full that this family member no longer consults the great computer task recipe book anymore. I just get a call.

    5. Re:why not by jedidiah · · Score: 1

      Don't be a moron.

      Gimp is an art creation program. Despite all of your whining about it's interface, the artistic
      ideas behind those interfaces are still far more technical than the interface itself. What you're
      really whining about how Gimp is not a Photoshop clone.

      The problem with Gimp isn't that it is "user hostile" but that it represents a more advanced
      skill level in the underlying subject area.

      It's probably unwise to shove it at art-n00bs of any age.

      Although a 9th grade artist should have no problem with it.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    6. Re:why not by dbIII · · Score: 1

      You are underestimating them and misrepresenting the interface just because it isn't photoshop. In 9th grade I was doing stuff in 6502 assembly and I wasn't even the brightest kid in the class in a fairly ordinary school. Working out how to use a simple drawing program designed for multiple windows instead of a single one is not going to be beyond any of them that pay attention.

    7. Re:why not by gphilip · · Score: 1

      Yeah, kids are lot smarter than we think they are, when it comes to these things.

  9. The greatest IT lesson we can teach them by rshxd · · Score: 1, Informative

    They have to spend $30,000 for a degree and 2 or 4 years of their time so they land a job making $9-10/hour to reboot/put a server online so that an outsourced IT employee who makes $4.54/hour (saw a quote on WebHostingTalk for this) can do your job.

    1. Re:The greatest IT lesson we can teach them by Daniel_Staal · · Score: 1

      He's in India. He wants to make sure when the job is outsourced to these kids they can do it correctly.

      --
      'Sensible' is a curse word.
    2. Re:The greatest IT lesson we can teach them by JWSmythe · · Score: 1

          That's why I include 10 cover sheets, each with their name in large letters at the top. Really though, I've seen it where multiple bosses want the same information provided in a different fashion. It's particularly annoying when one dictates a particular method, and each time you give it to them, they say "No, I wanted it this way..." Even if you ask for the specific format and an written example of it, and you replicated it precisely, yours will be wrong.

      --
      Serious? Seriousness is well above my pay grade.
  10. It's to bad in the usa we don't have time for this by Joe+The+Dragon · · Score: 2, Interesting

    It's to bad in the usa we don't have time for this as we need to teach the test (not talking about a IT One) and even in a IT field we need to move away from the MS type tests and text books and look at real world stuff like

    *Dealing with old software and hardware mixed in with new stuff.
    *How bad it can be with super locked down systems and why people need to work around the lock downs.
    *Why long and complexity password setups don't work when you need to change it each 30 days.
    *Why you should not buy the cheapest hardware out there.
    *Building your own systems vs buying cheap dells and others.
    *GNU/Linux working with windows systems / software
    *Networking
    and more.

  11. moar python by tcjohnson · · Score: 2, Interesting

    I'm all for teaching programming... but I'm not sure you can do a respectable job of python in the time you'd have in a course like this. If you did, I'd teach a small subset, like python's turtle library.

    1. Re:moar python by Anonymous Coward · · Score: 0

      ICT == programming. Focus on elementary algorithms like sorting and the 'Towers of Hanoi'. The best thing would be to create little programs that cover problems they study in mathematics and science classes. I hope boolean logic is included somewhere.

      If you can put in a little explanation of how computer hardware and networks work.

    2. Re:moar python by muckymeba · · Score: 1

      Snake Wrangling for Kids taught both my cousin and I how to use python. I'm 25, he's 12. It uses the turtle graphics library to teach the basics and it's fun and friendly and is a good starter -- and really, once you get past the first hurdle of wrapping your head around how programming languages work, the rest is a lot easier.

    3. Re:moar python by gphilip · · Score: 1

      We aim to teach only a small, but Turing-complete, subset.

    4. Re:moar python by gphilip · · Score: 1
      That was helpful.

      Since we have to teach "if", I guess we will have to teach elementary boolean logic as well.

    5. Re:moar python by gphilip · · Score: 1

      Thank you, that helps.

  12. Database Introduction by Anonymous Coward · · Score: 4, Informative

    This might be a good time to begin introducing the basics of data storage and retrieval. SQLite is already available from a standard Python installation, it might be a good candidate for introducing the subject while building on the Python foundation from the prior grade.

    1. Re:Database Introduction by scrib · · Score: 1

      Wish I had the points to mod parent up!

      The basics of simple, relational databases would be a great thing to introduce. I learned sort and search algorithms when I was going through school, but those wheels have long since been invented and probably ought to just be tools.
      "SELECT x FROM y WHERE z ORDER BY x.a" is a much better real-world sort and search lesson than implementing a binary tree or a hash table. Databases make you think about types, data structures, and iterating through returns values.

      A post below this one mentioned creating a contact list application which I agree is a great idea (but I only wanted to reply to one post...)

      --
      Help! Help! I'm being repressed!
    2. Re:Database Introduction by Phil06 · · Score: 0

      Set theory and other basic data concepts. They should be taught to make a database before they are taught to make a spreadsheet.

      --
      "...and yet, I blame society" Duke - Repo Man
    3. Re:Database Introduction by OrangeCatholic · · Score: 1

      We made a contact list app in HS. Probably for the in-house class before we took AP Comp Sci.

      It's a good exercise but very string/file IO oriented. Also can be replaced with a spreadsheet. I always liked simple math programs that display graphics.

      How about...make mandelbrot. Not really complicated at all. But also not something you would learn without help.

    4. Re:Database Introduction by gphilip · · Score: 1
      Thank you.

      Introducing simple DB concepts in the 10th grade was on my mind as well, but I didn't know about the SQLite+Python part. This is useful!

    5. Re:Database Introduction by gphilip · · Score: 1

      Thank you.

    6. Re:Database Introduction by gphilip · · Score: 1

      Thank you, especially for that last suggestion.

  13. Inkscape, and others by AliasMarlowe · · Score: 1

    Inkscape is an excellent FOSS vector graphics program. We use it all the time, and our 8th-grader also uses it.
    Teaching some simple shell scripting might also be useful to complement the Python course.
    You could also think about one of the FOSS mind-mapping programs, such as View-Your-Mind. Kids should be encouraged to break down concepts in this way at an early age.

    Scribus might be something to introduce in a later class, after they have mastered the ideas of material creation and entry, and wish to focus more on presentation/formatting of publications.

    If the idea is to support learning of other subjects, then there are also several FOSS chemical structure drawing tools available. Similarly, Scilab or Octave could be used with any subject requiring numerical analysis of plotting. And don't forget about a decent scientific/statistical calculator and a text editor (not necessarily vi or emacs, even mousepad would be OK).

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:Inkscape, and others by gphilip · · Score: 1

      Thank you. This list of software will come in handy when we want to think about what more software to include in the course.

  14. I blame Kanya by magusxxx · · Score: 5, Insightful

    I think it would be very important to include a section on ethics. Yes, it can be funny to anonymously include funny messages in your code...until your boss reads them. Yes, it's sometimes considered appropriate to do a half-ass job of fixing a coding error...until you realize that code controls someone's pacemaker. Ethics, like good manners, haven't followed us into the 21'st century as much as I would have liked.

    --
    Care killed the cat, but satisfaction brought it back.
    1. Re:I blame Kanya by Steauengeglase · · Score: 1

      While I completely agree (and I've hoped for such a thing for a long, long time; it just seems so obvious), I wouldn't be surprised if there were contingents who find simple ethics far too altruistic to deserve of a government dime.

    2. Re:I blame Kanya by AmElder · · Score: 1

      Any good technical education should include discussions about ethics. In classes for teenagers, I say this is especially important. I'd think the larger moral questions raised by technology would be the most interesting and give students the most to think about. The use, creation, distribution, and limits on computer technology raise all sort of moral problems. Kids should at least be exposed to the ideas of intellectual property, the ethics of sharing (code, commercial music), expectations of privacy, and I'm sure other issues that don't come to my mind quickly.

      Using Open Source should make starting this conversation easy. There are ethical ideas in the Debian Social contract, in the Open Source Definition, and of course in the Free Software Definition. I imagine it would be hard to test for, because it's not good if you just teach them to parrot a set of principles. You need to get them thinking about the hard questions. if you're purpose is to educate the future citizens of your democracy, the leaders, voters, and engineers, it's vital they recognize that there's a moral dimension to technology.

    3. Re:I blame Kanya by DoofusOfDeath · · Score: 1

      Yes, it can be funny to anonymously include funny messages in your code...until your boss reads them.

      That particular example would probably fall more under "code of conduct" or "professional standards" than "ethics", I think.

      As Oscar on The Office put it, ethics is the reasoned debate about the good. Funny messages in your code is more about how to not get fired.

  15. cat gut sung by Anonymous Coward · · Score: 2, Interesting

    What's fascinating right off the bat is I don't think many public schools here in the U.S. would institute lesson plans involving free and open-source software.. most use and/or are funded by commercial software. Good for you!

    I would suggest a foray into properties of electricity and something step-by-step about how computers are designed to work, and in particular the physical topology of interconnectedness and internet. Something beyond 'This is the RAM, this is the CPU', while not transmuting into a seven-plus-step networking layer. It's surprising the amount of language programmers/coders I've run into that just don't quite 'get it' about how fast a world's worth of computers network & the dynamics of the magic box that can speak to another magic box halfway around the world in 1/10th* or less of a second!

    * INCREDIBLY broad margins** here. It still bamboozles me though. And that's why passing on accurate knowledge is so important, for the world of today and tomorrow. Because it bamboozles me.

    ** Also has something to do with the ISP semipoly throttling traffic rates because they want more money? Discuss.

    1. Re:cat gut sung by vtcodger · · Score: 1

      ***What's fascinating right off the bat is I don't think many public schools here in the U.S. would institute lesson plans involving free and open-source software.. most use and/or are funded by commercial software.***

      No so actually, but there is too much software required by teachers, staff etc that runs even worse under OSS than it does under Windows for OSS to really be viable. Programmers and their managers have created an utter shambles because of their inability to promulgate meaningful standards and -- if they actually manage a coherent standard -- to adhere to it. As a result, school IT people stumble along using the least unacceptable common element -- Windows XP -- and Internet Explorer or maybe Firefox and trying, with varying degrees of success, to work around the very numerous problems resulting from the use of this ill-crafted junk.

      About the best you can say today for OSS vs Windows is that at least the OSS folks don't have the audacity to charge for their product.

      Will all this change? I used to hope so. I'm beginning to suspect not. ... Maybe when personal communication devices eventually replace PCs on school and office desktops. But I doubt it. IT folks and their bosses apparently were created by God with lots of brains but no common sense. I don't see that changing unless and until the entire IT world implodes because the software and interfaces thereto have become either unmaintainable and/or too insecure for serious use. (And yes, I think that either or both could happen)

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
  16. web course by ralphdaugherty · · Score: 4, Interesting

          Your course should be online and continuously developed, in part driven by responses / challenges from the students.

          It is ironic that a course on using computer communications would be thought of as being taught from a textbook. There are no good reasons to publish a textbook and many bad ones.

      rd

    1. Re:web course by Anonymous Coward · · Score: 1, Interesting

      Agreed. Start here : http://www.w3schools.com/

    2. Re:web course by nine-times · · Score: 1

      It is ironic that a course on using computer communications would be thought of as being taught from a textbook.

      I also think you should have them learn by doing. Let them get their hands dirty trying to accomplish a specific goal.

      I know it's problematic and potentially expensive, but if I were teaching about computers, the first thing I'd do is give a student a bunch of computer parts and an install CD. Make a project out of screwing the motherboard into the case, installing RAM and the video card, and hooking up all the drives. Troubleshoot any problems that arise, actually explaining how you figure out what the problem is. Then have them install something a little hairy, like an old version of Gentoo (I'm assuming the new versions are easier, but I haven't used it in a long time). Let them experiment.

      An ideal education isn't all theory from textbooks.

    3. Re:web course by next_ghost · · Score: 1

      I did a stage3 Gentoo installation last month and it hasn't changed since the last time (4 years ago) at all.

    4. Re:web course by Anonymous Coward · · Score: 1, Insightful

      There are no good reasons to publish a textbook? Really? Are you assuming that the Indian public school system has 100% students owning laptops? Or even computers at home? Because that seems very unlikely to me. So how are students that aren't online to do homework? Print out the text, use it (or not) and toss it?

      If they can only use it at school, it's like saying 'why bother with any documentation when the teacher is there to help them?'

    5. Re:web course by Anonymous Coward · · Score: 0

      Have you been in a nith grade class lately? I teach 10th grade students (first year of high school), and they still need the teacher to tell them that they have to start working. If my students were told to follow a web course, then they wouldn't start asking questions in the forum. They would wait for an opportunity to switch to facebook. Web based education may work in college, but it doesn't work in ninth grade

    6. Re:web course by gphilip · · Score: 1

      One good reason is: for a large majority of these students, the only computers they get to use are the ones in their school labs. Without a computer to read it on, how would they access the material at home?

    7. Re:web course by gphilip · · Score: 1

      Exactly!

    8. Re:web course by ralphdaugherty · · Score: 1

      There are no good reasons to publish a textbook? Really? Are you assuming that the Indian public school system has 100% students owning laptops? Or even computers at home? Because that seems very unlikely to me. So how are students that aren't online to do homework? Print out the text, use it (or not) and toss it?

      If they can only use it at school, it's like saying 'why bother with any documentation when the teacher is there to help them?'

            The "textbook" documentation is online. Lab computers should be available throughout the day for course completion for those who have no internet access from home.

            You gloss over the many bad reasons for publishing a textbook on this subject to start with for a student to have, especially to allegedly learn about computer communications without a computer as you suggest.

        rd

    9. Re:web course by Anonymous Coward · · Score: 0

      I realize that there are many ways that online documentation is superior to printed. But those are all moot when a student can't access them outside of school. A student without a computer at home is the one in most need of 'hands on' lab time yet they are the ones who will lose a good portion of this time, instead using it to read the online text.

        And if the rate of students with computers at home is as low as I suspect, that may mean most of the class needing to use their lab time just reading on the computer, instead of actually utilizing the knowledge from the reading.

        At any rate the OP asked for a textbook. He lives and works and knows what's going on there, and seems pretty up on things. If an online text was better suited I'm sure that's what he would've asked for.

  17. Practical usage. by Anonymous Coward · · Score: 5, Insightful

    Teach them practical computer usage; all the knowledge of BASIC in the world won't help if you can't make spreadsheets etc.

    Also teach them internet etiquette- why tone of voice isn't as easily conveyed, why grammar matters, and why there's no such thing as a free lunch (even if you forwarded it to 50 friends).

    1. Re:Practical usage. by BangaIorean · · Score: 2, Insightful

      MOD parent up. While not all the ninth-graders will opt for a career in IT, almost all of them will have to deal with computers in some form or the other! Much better to teach them spreadsheets, how to use the power of the WWW effectively and safely, basic and simple databases and task automation, etc. In my view, teaching such young kids these things is far better than teaching them programming.

    2. Re:Practical usage. by Dadoo · · Score: 1

      all the knowledge of BASIC in the world won't help if you can't make spreadsheets etc.

      Baloney. It might be true, if you're training office workers, but if you read the summary, you'd see he's trying to give students a more in-depth knowledge of IT. I have nearly 30 years of experience in IT, and I've never used a spreadsheet. I wouldn't even know where to begin. In my area of expertise, sed and awk are much more useful.

      Also teach them internet etiquette- why tone of voice isn't as easily conveyed, why grammar matters

      This I'd probably agree with.

      --
      Sit, Ubuntu, sit. Good dog.
    3. Re:Practical usage. by stewbacca · · Score: 1

      Also important is the ability to distinguish between good and bad sources on the web.

  18. Walk before you run? by $RANDOMLUSER · · Score: 0

    Before you start with Python, how about some time describing what the hardware actually does: register arithmetic & logical operations, branching & subroutines, memory addressing modes, etc. Before you start showing them the abstract machines, show them the real hardware and what their abstractions are being converted to.

    Also, for fun, how about something like Context Free Art, which will show block structure, the importance of syntax, and the joy of getting (non-threatening) output.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    1. Re:Walk before you run? by takowl · · Score: 5, Insightful

      Before you teach someone to drive a car, how about some time taking it to pieces, then showing them how to reassemble it, with a detailed explanation of what each bit does. Then, once it's working again (and they really understand it) they can start actually learning to use it.

      The basics of how something works are often not the best place to start learning about it. Those details are largely irrelevant to most people. Learning a high-level language means they can get things done, while learning to think in a logical fashion. For those that want to go into more detail, they can go 'under the hood' to see things like "memory addressing modes" later. Just like we don't expect people to learn the basics of a fuel injection system before starting a car.

    2. Re:Walk before you run? by Entropius · · Score: 1

      It was far easier for me to learn to drive once I understood what the parts of the car do. Once I understood what a clutch is and why there is a gearbox, it was easier to learn how to use the stickshift.

    3. Re:Walk before you run? by Anonymous Coward · · Score: 0

      Actually I think it would be great to spend the first week of drivers ed at least watching a tear down and reassembly. Perhaps then people would see how fragile the cars really are and respect oil changes and brake maintenance. It's just those 4 little lines keeping you from certain death.

    4. Re:Walk before you run? by ObsessiveMathsFreak · · Score: 1

      When I was learning how to drive, one of the first things the instructor showed me was a diagram of the clutch plate. He explained what the clutch pedal was doing, how it related the wheels to the engine, and why connecting those two components was a delicate operation which could lead to the engine cutting out. He then got me to start the car, and I cut out the engine a few times before I finally got it started. But I did understand _why_ the engine was failing, instead of the entire experience being a frustrating mystery.

      --
      May the Maths Be with you!
    5. Re:Walk before you run? by Anonymous Coward · · Score: 0

      Before you teach someone to drive a car, how about some time taking it to pieces, then showing them how to reassemble it, with a detailed explanation of what each bit does. Then, once it's working again (and they really understand it) they can start actually learning to use it.

      I knew basic vehicle maintenance (oil and filter changes, tyre changing, how to clean and check/adjust the gap, change a headlight bulb, etc) and the difference between 2 stroke, 4 stroke and diesel engines before I was big enough to drive. However, I had circumstances not available to everyone because our family business used machinery which I had to help maintain from a young age and operate not much later. You can get a very young child to fetch tools etc so they are learning before you ever entrust the work to them.

      For society though, yes, everyone should learn how an internal combustion engine works. They don't need to be able to build one, but our economy is largely powered by those engines and most of us use them in our daily lives (cars, lawnmowers and more). If you don't understand the basics of how they work you probably shouldn't consider yourself to have a basic education, regardless of whether you intend to get a drivers license or not.

    6. Re:Walk before you run? by Anonymous Coward · · Score: 0

      After an car mechanic learns about how the car works, he is also taught how to diagnose problems based on the symptoms the car with the problem exhibits. With regards to computer hardware the basic methods to repair a problem are: (1) swaping suspected damaged component with a new component(e.g. cable), (2) add/upgrade a component(e.g. memory card), and (3) use a device/tool to "read" the status of a device to make a more detailed determination of the problem(e.g. power supply tester). Computer networking and software seems to use the same diagnostic methodology as well. While not considered as *technical* as other IT branches Software testing is a key component to ensuring the stability of large or complex IT projects. Knowing boolean logic and basic number theory can help when testing logical systems. HTH

    7. Re:Walk before you run? by prodigyx · · Score: 1

      This makes me think of the movie "Idiocracy" where they feed Gatorade to their crops because Gatorade "has electrolytes, and thats what plants need". When they were asked what electrolytes were, all they knew was its "what plants need". Everyone who ever knew the "details" of how plants worked was dead, there was no one to explain that plants needed water, because they stopped teaching the "details" to people long ago. I have to agree that teaching people how to get things done is the best way to introduce the subject, and hopefully it will spark enough interest in some people that they actually care about the details and we all dont starve to death 1000 years in the future.

    8. Re:Walk before you run? by jackbird · · Score: 1

      The flip side is that I once had to diagnose my future wife's flat tire over the phone while she was driving. The whole idea of responding to an anomalous situation with a mental model of how a thing is supposed to work is totally foreign to a shocking number of people.

  19. Logo by Ecuador · · Score: 1

    Why is this even a question. There is an entire language designed for education. Give the kids a logo textbook!
    Well, ok, I am joking, but I would not be if logo got some decent upgrades! For example instead of a triangular "turtle" you could have a cool 3d photorealistic turtle of unspecified gender and ... wait for it ... four elephants on top of it, holding a disk!

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
    1. Re:Logo by Klync · · Score: 1

      As a member of my school's logo team from grades 5 through 7, I wanted to thank you for bringing back some really fond memories. They only taught it for one week in class, but for those of us who kept playing with it outside the classroom, it taught so many skills - and things like geo-spatial visualization are valuable outside of strict IT.

      Even if they updated the code, though, I don't think many computers these days have a cassette deck for loading the program anyway. :P

      --

      ----
      Not to be confused with Col.
  20. Discrete math? by vlm · · Score: 1

    My CS degree's discrete math curriculum? Despite being called "math" it didn't really fit into the stereotypical algebra-geometry-trig-calc sequence, and most (all?) of it could be handled by a high school student.

    Sorting, info theory (Well, OK some calculus will have to be glossed over), logic, set theory, graphs, game theory...

    Yes I know you're trying to each them "IT" as in password reset and pulling and terminating cables, but "CS stuff" like discrete math provides an excellent background, and encourages logical thinking, etc, etc.

    I'm not sure if there's any real point in teaching future "IT folks" how to think or how the world works, when all HR currently demands is ten years of experience with MS Server 2008 and experience with C, C+, and C++. You're going to have to fight hard to educate them as opposed to train them.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    1. Re:Discrete math? by Animats · · Score: 1

      My CS degree's discrete math curriculum?

      I'm not sure how useful discrete math training is today. I have a lot of it, because I've done proof of correctness work and went through Stanford CS in the mid-1980s. Number theory and combinatorics, beyond understanding "big-O" notation, hasn't been that useful. Automata theory I've never had a use for. But I've needed to get up to speed on number-crunching, which Stanford CS totally ignored back then. (That was when the "expert systems" crowd was in power. I had the frustration of going though just as expert systems were being discredited but the department hadn't caught up. CS at Stanford was transferred from Arts and Sciences to Engineering to get them some adult supervision.)

      In recent years I've needed linear algebra, dynamics, differential equations, matrix algebra, and tensors. If you're into graphics or game engines or robotics or machine learning today, you need that math. Realistically, most of the stuff in Knuth is now in low-level libraries you just use. Nobody writes their own sorts or searches any more.

      So what should kids get? Perhaps an intro to Matlab or Octave. They've already met graphing calculators. Introduce Octave as a graphing calculator, but far more powerful. Show what it can do on bulk data. You can run audio through Octave, so kids can try out filters, as an example. Do a Fourier transform and display a spectrum analyzer. Show how to do the trick that changes speed without changing pitch. Write something in Octave to extract the beat from two audio tracks, sync them, and cross-fade, to create an automatic DJ. That's about a page of code.

  21. Office software by airfoobar · · Score: 2, Interesting

    I'm all for teaching kids programming, and I'd love to see them applying what they learn to solve problems in other courses as well. For instance, it would be great if they were encouraged to use their programming skills to solve maths or physics problems from their other courses. This implies programming is turned into a useful tool rather than some theoretical thing that they forget the day after the exam. Imho, it's better to show them how to solve simple, practical problems than to try to cram in their heads how qsort works, for example.

    OpenOffice is nice, however I really recommend you teach them some LaTeX, which is also a very useful tool to know.

    1. Re:Office software by Anonymous Coward · · Score: 0

      He wants them to learn IT related things, not pr0n-- oh, wait..

    2. Re:Office software by gphilip · · Score: 1

      Thank you. In our system, LaTeX (as of now) comes quite a little bit later in the studies, for (some of) those who decide to pursue a degree in the sciences. I think it is better to keep it that way for at least a few more years, till the number of people who know LaTeX is sufficiently large : it is always easier to teach kids things that many adults have some inkling of.

  22. We don't need no stinking IT! by Anonymous Coward · · Score: 1, Funny

    We don't need no stinking IT! - Sent from my iPad

  23. HTML by Anonymous Coward · · Score: 0

    It's easy, no need to worry about libraries, and it's visual.

    P.S. What is this 9th grade of which you speak of?

  24. automation by swanriversean · · Score: 4, Insightful

    Whatever route you take, at the end, make sure the students have actually automated some task, understand the value of it, and can do it again.

    Give them some big piece of tedious work, and make sure they can write a little program to do it for them.
    Better make sure they understand how to work iteratively and test their results too.

    A society filled with regular office workers who can use a computer to automate their tasks will be much more productive, and consequently richer.

    --
    Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind. - Dr. Seus
    1. Re:automation by martin-boundary · · Score: 1

      A society filled with regular office workers who can use a computer to automate their tasks will be much more productive, and consequently richer.

      Or maybe it will die of hunger when the Ramen noodles run out.

    2. Re:automation by l0b0 · · Score: 1

      Bingo! This must be swallowing up billions or trillions of work hours every year. If we could just teach for loops, if statements and GNU tools (grep, find, rename and a DVCS would be a good start) to the office workers, we could save so much...

  25. Teach them about honesty by countertrolling · · Score: 1, Insightful

    That it will only get them into trouble, and to report all vulnerabilities anonymously

    --
    For justice, we must go to Don Corleone
  26. Accountability by LifesABeach · · Score: 1

    One of the finest lessons any incoming Freshman/woman could ever learn. And also the best sites for downloading Monga.

  27. History by pinkj · · Score: 1

    Which other notions from computer science can be introduced to this audience in this manner?

    I think an introduction to the history of computer science would be worthwhile. Knowing the history of a subject helps with understanding the present state of it and helps give context for the content to be learned.

    1. Re:History by vlm · · Score: 1

      Knowing the history of a subject helps with understanding the present state of it and helps give context for the content to be learned.

      Also, "everyone knows" the average IT career is about as long as a pro football linemans career and marketing takes advantages of that. Knowing that everything "new" is just a rehashed version of something "old" is an insight that can help them throughout their life, not just in decoding IT marketing trends. Especially when they predict how it will turn out this time, based on knowing how it turned out last couple times. Once you know the cyclical nature of trends, you can position yourself to be ahead of the curve, more or less.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  28. Teach them about operating systems by Anonymous Coward · · Score: 0, Troll

    You would be doing them a great service to teach them to evaluate and select operating systems so their future lives won't be full of wasted time with antimalware/antispyware/antivirus, constant reboots, things that don't work for no particular reason, the need to wipe and reinstall every 6 months, etc...
    While you're at it, teach them techniques for maintaining their privacy on-line.

    1. Re:Teach them about operating systems by Anonymous Coward · · Score: 0

      Teach them to get Windows 7 so they don't have to deal with the above - Good idea.

  29. One Word by Anonymous+Admin · · Score: 0, Redundant

    Hindi

    1. Re:One Word by Anonymous+Admin · · Score: 0, Redundant

      Redundant? I dont think that word means what you think it means.

    2. Re:One Word by Anonymous Coward · · Score: 0

      Why the fuck must they be taught Hindi, sonofabitch? They speak Malayalam out there in Kerala. Or maybe you're one of the Northie bastards who can't get a job in your own BIMARU region and come flocking to progressive places like Bangalore, Chennai, Kerala, etc. and then bitch that the locals don't speak YOUR language?

    3. Re:One Word by StoatBringer · · Score: 3, Insightful

      Vi

      --
      Cress, cress, lovely lovely cress
    4. Re:One Word by Anonymous Coward · · Score: 0

      ed

    5. Re:One Word by Anonymous Coward · · Score: 0

      + one letter for the second half of the course 'm'

    6. Re:One Word by Anonymous Coward · · Score: 0

      ... or vim.

      Start with ... "In the beginning was Microsoft ..."

      No, that's not right. Let us back up a few years.

      "In the beginning was Unix ..." That's better.

      Actually, I think for a 9th grader, throwing strictly IT stuff at them maybe a bit much to begin with. I think start with some computer history (i.e. Charles Baggage's difference engine), how computers work (architecture), maybe simple coding (not too complex like OOP), something like BASIC and teach simple algorithms like linear search or bubble sort in classic "hello world" fashion, then if you have time, simply teach how the internet works as a network of computers.

      I think it might be to much to teach 9th graders about information management, leave that for the upper grade levels when kids become more interested in IT stuff and want to learn more about computers.

  30. Social Engineering by Anonymous Coward · · Score: 0

    A bit of a spy game should help people understand threats and scams online (spam, phishing, etc) as well as, prepare those students who will develop/run systems with some background in what they will be up against.

    It could be used as a way to dip their toes into the IT water without diving off the deep end.

    At the very least, Social Engineering should get students receptive enough to start thinking.

  31. How to type...... by cervo · · Score: 3, Insightful

    When I was in 9th grade I took typing class and I turned out fine. Typing is actually useful for instant messaging, web surfing, programming, doing homework assignments, etc... I would say if they don't already know how to type that is the point to teach them....

    After that something similar to QBasic where you can have fun and learn programming concepts would be good. As has been mentioned Python is a good choice. Although you need a nice fun graphic library similar in scope to the QBasic graphic libraries to go with it. People like to make for loops, while loops, and various shapes.....watching the special effects, and cheesy sound effects........

    1. Re:How to type...... by John+Marter · · Score: 1

      This is the post I was looking for. In 9th grade, students should start developing good keyboarding skills if they have not developed them already. Certainly not the only thing to be concerned about when you are thinking about an IT curriculum, but is is a worthwhile skill.

    2. Re:How to type...... by Crazy_CorranH · · Score: 1

      While I agree that Keyboarding skills are important to have (in my experience at least) Keyboarding classes are a boring PITA that didn't really help me improve my typing skill or accuracy at all. What did help was taking a Programming class in High School where being able to type quickly and accurately was useful, that is when I developed those skills, not Keyboarding class. So give them something that would hopefully encourage them to learn the proper way to type with maybe a intro to Keyboarding week so they learn how they are supposed to hold their hands to prevent bad posture and other such things, and let the fun things actually improve their skills.

      (I hope that was coherent, posting while half asleep isn't a good idea ;) )

    3. Re:How to type...... by Hatta · · Score: 1

      In 9th grade students should have had good keyboarding skills for about 5 years already. I had good keyboarding skills well before that without any instruction, and most kids growing up today will have even more reasons to use the keyboard than I did. 3rd and 4th grade were about when they taught us cursive, which is entirely obsolete. Schools should devote that time to keyboarding, which will be much more useful, and get kids from all socioeconomic backgrounds on the same page for later education.

      --
      Give me Classic Slashdot or give me death!
  32. Wrong angle. by Steauengeglase · · Score: 5, Insightful

    While I'd love to see every 9th grader leave with at least some general competency in my field, I also have to remind myself that 'IT' is just as much a lifestyle choice as it is a career path.

    Looking at new hires, these new so-called, 'digital natives', I see bigger, glaring problems. They can't compose a simple e-mail. You can make all the arguments that the-times-they-are-a-changin', but doesn't make your company look like any less of an ass when an employee sends a client or customer an e-mail saying something like: HEAR R UR TAX DOX 4 2010, HOPE ITZ N TEH RITE FORMAT! LOL!

    I'm sick and tired of seeing JeffKs come through the door.

    1. Re:Wrong angle. by Steauengeglase · · Score: 4, Insightful

      OK, now that I've spent out some nerd rage, forget basic programming; just teach them Discrete Math (and/or Logic). I didn't get this until college and it is a real shame that we don't teach it in every High School in the nation, not just GT programs or whatever they call it these days. It is almost a shame, we teach chemistry to millions of students who never use it after finishing the course (excluding SI), but we don't teach them something they should know every time they pick up a newspaper.

      If there is still some time at the end of the year, let them try their hand at something like Karel the robot.

    2. Re:Wrong angle. by Anonymous Coward · · Score: 0

      While you're at it, please ensure these children can educate their parents as well. Young children having difficulty writing is far less disturbing than some of the tripe I have seen in the office.

    3. Re:Wrong angle. by Anonymous Coward · · Score: 0

      This may apply to potential future IT work, but does not qualify for an IT syllabus.

  33. Re:Stickam by Anonymous Coward · · Score: 0

    Yeah, teach them how to stalk 14 year old girls and get to see their tits. That's what Stickam seems to be for nowadays.

  34. ABSTRACTION PHYSICS by Anonymous Coward · · Score: 0

    http://abstractionphysics.net/pmwiki/index.php for a wiki on the topic of Abstraction Physics

    http://threeseas.net/vic/IQ-ID/knmvic.iq for an overview of functionality use in regards to dealing with organized or structured or functional information.

    To understand the unavoidable action constants of abstraction would be a very good foundation.

    regarding python, Eric4 is a good IDE that allows stepping through code

    There is python code for two of the small command set as stand alone programs. IQ provides the functionality for the general concept of Abstraction Physics.
    Python code is also there for an integrated set though the two stand alone commands and have yet to be integrated and one yet to be written. .

    This may seem new but it's a straight forward approach to be able to look up the meaning, description, instruction for the use of any functionality in the same way you apply it and even create new functionality provides a streamlined learning curve for the actions you cannot avoid, in using abstractions. Abstractions of which is what programming and information mapping is all about.

    1. Re:ABSTRACTION PHYSICS by 3seas · · Score: 1

      Abstraction Physics wiki provides a brief summary of the why of abstraction use in programming. The recursive nature of programming and automation of complexity into a simplified user interface. The IQ command itself includes pythons urllib to enable students to share their work with each other in a manner consistent with "building upon the works of others before you" via network access. And if the students need something interesting to associate with, the topic and specifics of abstraction physics can easily use the metaphors found of the movie "The Matrix" as the main characters each represent either basic concepts (three agents of input, processing and output) or of specific action constants.

      Explore the short wiki and links within it.

      And if there is interest, perhaps even some programming to do as a class project (grade 10 perhaps), to complete the Virtual Interaction Configuration of Abstraction Physics implementation in python. (integrating two stand alone commands into the integrated whole and writing the last commands of the set)

  35. Databases by dalhamir · · Score: 1

    I think everyone in the 21st century should be familiar with databases. It might be a bit beyond the level of the ciriculum, but if you could fit it in it would be great. There is almost job anymore where you don't interact with a database in some fashion, from inventory, to customer dbs, to web-based dbs. This is because there is almost no activity that a good database can't help with. If you want to build creative, innovative buisness men and women, having a rudimentary knowledge of databases can be a huge stepping stone in developing a succsessful, efficient business. It also would be something that is very easy to build into the python ciriculum and base completely on FOSS. A little bit of basic boilerplate python code and the kids and build and interact with databases, maybe have them build their own contact database of friends? Maybe give them a fake inventory and sales and they need to track sales and make some queries of what they have left, where to order new items, etc.

  36. Discrete Mathematics + C/Assembly by Anonymous Coward · · Score: 3, Interesting

    Getting the kids closer to the bare metal will accomplish two things:

    First, it will establish a clearer connection between the hardware itself and the algorithms used in CS. Using heavily abstracted languages like Python or Java is a good hook to pique their interest and show them what's possible, but there is no substitute for learning the ins and outs of registers, memory allocation, pointers, and how machine code works. Assembly has no rival in teaching how to write clean, efficient code.

    Second, by teaching kids about math not covered in standard math classes, you will improve their critical thinking skills and problem-solving approaches. Fields like formal logic, set theory, and boolean algebra have many uses beyond the classroom and teach a way of thinking that is lacking in other curricula, at least in the US.

    Just as an aside, when I was in college they changed the track for CS majors from C->C++ to Alice->Java. I could clearly see a difference in how the C kids went about troubleshooting/debugging as opposed to to the Java kids. The C set tended to read their code more carefully and put more time into pseudocode and stub functions etc. The Java kids just tended to pound out the code and trust the compiler to save them. Not saying that's the case everywhere, just my 2 cents.

    1. Re:Discrete Mathematics + C/Assembly by Anonymous Coward · · Score: 0

      You want to teach 13 and 14 year olds assembly. And discrete mathematics, probably before they've learned basic algebra. Really?

      Did you even read the post or did you just see "IT" and "teach" and go off on some rant about how bad programming students are today? Or are you just that horribly disconnected from reality?

  37. Crypto by beaker8000 · · Score: 1

    I think you could do an introduction to cryptography. Cover some basic ideas like trapdoor functions and public keys. The general concept can be understood with very basic math (it's easier to multiply numbers than divide them). Moreover, I think the topic would motivate students to further study.

  38. Too long. Did not read. by thatskinnyguy · · Score: 0

    But to answer the title question: What should be taught to 9th graders is how to use the internet responsibly and not infect a computer. This will, in turn, not piss off their parents (Assuming the parents care).

    --
    The game.
  39. dos by bakamorgan · · Score: 2, Insightful

    They need to know dos commands. I knew this student that was in a cisco glass and asked him to use ipconfig to find the ip address of the machine. The first thing he did was go to google and type in ipconfig because he didn't know what it was. He said he didn't know what that was and they havn't taught him that since hes only in the first year of his cisco class....WTF!!!

    1. Re:dos by Anonymous Coward · · Score: 0

      you mean ifconfig?

    2. Re:dos by Anonymous Coward · · Score: 1, Insightful

      that falls under the realm of enrollment testing and prereq's. Also being able to find out how to accomplish your task with research is a much more valuable skill then memorization.......

    3. Re:dos by Tanuki64 · · Score: 2, Funny

      Both is correct. Or incorrect. Depending on what OS you are. ;-)

    4. Re:dos by Nethead · · Score: 2, Informative

      They need to know dos [sic] commands.

      DOS never had an ifconfig, ipconfig, or any network interface command. It was only through an add on or a TSR program that it could talk over a network. The closest thing DOS had was the LapLink type commands added on very late to bring up a point to point network with another host via a serial or printer port.

      There were programs such as MS Network Client that would run in conjunction with DOS but DOS itself never understood networks.

      --
      -- I have a private email server in my basement.
  40. "IT" shouldn't be a class, it should be wholistic by davidwr · · Score: 3, Insightful

    Correction, basic IT skills should be integrated througout the curriculumn in school grades. If there needs to be a "class" in a particular skill it should be well before 9th grade.

    "Basic" IT is a life skill not an academic discipline or a career skill. We're talking everything from using a mouse and a keyboard up to how to type up and format a letter or use a basic spreadsheet using any common word processor or spreadsheet. We are also talking the basic, platform-agnostic skills of email and social networking.

    Now, some students will want to learn IT as a career skill or they will want to learn various aspects of computers such as linguistics, higher maths, etc. as an academic discipline. Others will teach themselves various aspects of computing and IT for pure enjoyment. More power to them. But as for school, everyone should be learning the basics as soon as they are old enough for the skill to be valuable, and schools who offer trade/vocation skills classes or college-prep computer classes should offer them as electives.

    In the Untied States, good career-training classes include anything that leads to a certification like CompTia/Microsoft/RedHat or that leads to an immediately marketable job skill, such as web design, web server operation, programming in the language-de-jour, basic electronics. These all prepare students for jobs immediately after graduating high school. Pre-college classes would include programming or electronics that have a heavy theory or history emphasis, and other more-theory-less-practical classes.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  41. As you'll be introducing programming... by kev.lee.wright · · Score: 2, Interesting

    You could do a *lot* worse than Kojo (http://www.kogics.net/sf:kojo) Which has already had great success in India, and should me more approachable than Python for absolute novices.

    1. Re:As you'll be introducing programming... by gphilip · · Score: 1

      Thank you! That looks interesting, and I think Scala would not be hard to learn as well.

  42. Networking by Fractal+Dice · · Score: 1

    I tend not to think of programming at all any more when I think of "IT". To me, IT is more about assembling networks, clients and servers, databases/storage and firewalls. I'd teach the ecology of an OS rather than how to write one.

    I would make algorithms should be part of a math class - to me the natural place is to teach it is alongside algebra and logic (where teach the difference between a=b the statement, a==b the question and a:=b the action).

  43. Stop skipping the fundamentals... by Assmasher · · Score: 3, Insightful

    ...teach them how basic computers work, then teach them the principles behind how software works, THEN teach them about things like IT.

    --
    Loading...
    1. Re:Stop skipping the fundamentals... by shish · · Score: 1

      ...teach them how basic computers work, then teach them the principles behind how software works, THEN teach them about things like IT

      What possible benefit does this have to any career path other than programming? Bare in mind that time in school is limited -- the more time you teach the lower levels, the less is left for the higher. While I agree that it's good to know everything in detail, someone who only had time to learn word processing skills will have many more opportunities than someone who only had time for basic use of pointers.

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    2. Re:Stop skipping the fundamentals... by Assmasher · · Score: 1

      Give a man a fish and you have fed him for a day, teach a man to fish and you have fed him for a lifetime...

      --
      Loading...
    3. Re:Stop skipping the fundamentals... by shish · · Score: 1

      Give a man a fish and you have fed him for a day, teach a man to fish and you have fed him for a lifetime...

      Exactly, we should be teaching people to fish -- not teaching them the inner workings of fish psychology (as much as that might be useful to them, it will only be useful when placed underneath a more general practical understanding)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    4. Re:Stop skipping the fundamentals... by Assmasher · · Score: 1

      Sorry, I don't think that sentence makes any sense at all. You want to teach something more specific in order for them to get "a more general" practical understanding?

      Ignoring the reversal of what "general" implies, this is akin to suggesting people learn how to balance their checkbooks before learning how to add and subtract.

      --
      Loading...
    5. Re:Stop skipping the fundamentals... by shish · · Score: 1

      this is akin to suggesting people learn how to balance their checkbooks before learning how to add and subtract.

      No, it's more akin to suggesting learning to balance checkbooks before learning the esoteric theories of our number system, the formal proof that 1+1=2, etc -- one can do the mid-level perfectly well without understanding the lowest-level

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  44. Encryption by Frequency+Domain · · Score: 1

    Teach them that e-mail is like sending a postcard, and encryption is required to give it a protective envelope. Teach them that all network connections and authentication should be done with SSH/SSL/VPNs - show them what can be done with a packet sniffer. Teach them about checksums and digital signatures, and how they should be used to confirm download integrity and confirm that sources for files or e-mail are who they say they are - show them man-in-the-middle attacks. Teach them to secure their hard drives, or at least their personal files.

  45. Pascal by Anonymous Coward · · Score: 0

    Pascal is the successor to BASIC, although that may not have been the intention of its creator.

    A good early classroom assignment would be to create a table of factorials. Then the teacher can explain why the students' programs don't work past 16 or so rows, which would be a good segue into the next topic.

  46. Assertiveness by billybob_jcv · · Score: 1

    Teach them how to deal with bean-counting CFOs who second guess every critical system upgrade, every technology project and every additional head you need to add to support the new systems *they* asked for. Teach them how to say NO to the bonehead Sales executive who thinks everything can be delivered faster if you just make enough phone calls. Teach them how to tell the business users that you can NOT successfully automate an undocumented ad hoc process.

  47. Agreed, good data redundancy is very important. by Anonymous Coward · · Score: 1, Informative

    Agreed, good data redundancy is very important.

    1. Re:Agreed, good data redundancy is very important. by Yvan256 · · Score: 5, Funny

      I agree, good data redundancy is very important.

    2. Re:Agreed, good data redundancy is very important. by Stupendoussteve · · Score: 0

      I agree, ##[A\A]0X83E88DD2#AVA very important.

      Crap. I now have a wonderful backup of my corrupt filesystem.

    3. Re:Agreed, good data redundancy is very important. by Anonymous Coward · · Score: 0

      I agree, good data redundancy is very important.

      I agree, good data redundancy is very important.

      I agree, good data redundancy is very important.

    4. Re:Agreed, good data redundancy is very important. by Hylandr · · Score: 1

      In in this this vein vein,, any any book book published published must must have have each each and and every every word word printed printed twice twice..

      -- Dan Dan..

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
    5. Re:Agreed, good data redundancy is very important. by Nazlfrag · · Score: 1

      II pprreeffeerr tthhee dduupplleexx mmeetthhoodd ppeerrssoonnaallllyy.. TThhoouugghh HHTTMMLL ffoorrmmaattttiinngg ccaann ssccrreeww uupp tthhee ssppaacceess..

    6. Re:Agreed, good data redundancy is very important. by jonaskoelker · · Score: 1

      Also, good data redundancy redundancy is very important.

    7. Re:Agreed, good data redundancy is very important. by Hognoxious · · Score: 1

      Still wastes less space than all that unicode shit.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  48. Password hygiene by Anonymous Coward · · Score: 0

    Chosing hard passwords and not using the same password in different places.

  49. Force someone to define "ICT" first by jgrahn · · Score: 1
    Force someone to define "ICT" first. Wikipedia says it's a buzzword for companies saving money by using VOIP phones, and I doubt this is what the course is about.

    Possibly it's a new name for "IT" ... but then noone seems to know what that means, either.

  50. Sikuli by Anonymous Coward · · Score: 0

    I would use Sikuli in stead of plain Python. It would give kids a lot more power for what they would want to do at 0 hour, and still let you introduce programming concepts in a short timeframe.

  51. Crossing Cultures by b4upoo · · Score: 1

    Kids in India may be more serious about school than in the US. I have no way of knowing. But any class lesson that can be made into a game or contest is more likely to get kids attention. Perhaps setting up small groups and having them compete to complete some sort of task for a reward might get them deeply involved.

  52. BASIC, literally by Anonymous Coward · · Score: 0

    Alright, maybe not Basic, but definitely programming. How about writing simple graphics games in Python?

  53. When I was 14... by Anonymous Coward · · Score: 0

    I learned C++ off cprogramming.com, failed to understand it, then switched to Perl, then went back and learned some C.
    Also, I read Computer Science Illuminated (Dale & Lewis). It helped a lot when I was just starting out, and I would recommend it as a good beginning in anything related to computer science.

  54. Time's arrow by westlake · · Score: 3, Informative

    Yes and while your at it toss out the mouse and the graphical UI. Learn how to use the computer first. Then learn how to enjoy the computer later.

    The child of five who began with Win 95 is twenty years old with a child of their own.

    You are not going to hold the attention of a ninth grader with tech that they will never see in use outside your classroom.

    Learn how to enjoy the computer later?

    I would be interested in knowing what books you would assign as requited reading in "English Lit."

    1. Re:Time's arrow by Redlazer · · Score: 1

      I agree with GP, but PP has a very important point that must be balanced against the GP.

      --
      Guns don't kill people, "with glowing hearts" kills people.
    2. Re:Time's arrow by MadMorf · · Score: 2, Informative

      You are not going to hold the attention of a ninth grader with tech that they will never see in use outside your classroom.

      Then this person should not work in IT.
      And won't need the training the OP is talking about.

      If they don't work in IT, they only need to learn how to use a mouse and keyboard.

    3. Re:Time's arrow by nacturation · · Score: 2, Funny

      I would be interested in knowing what books you would assign as requited reading in "English Lit."

      I would assign Romeo and Juliet, though that would be on the unrequited reading list.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    4. Re:Time's arrow by raving+griff · · Score: 1

      But we are talking about a 9th grade course, not a college course or a senior-level IT program. These students have not yet begun to specialize their educations according to the career they wish to pursue, and, indeed, most will likely change their idea of a dream job by the time they leave college.

    5. Re:Time's arrow by westlake · · Score: 1

      Then this person should not work in IT.

      And won't need the training the OP is talking about.

      Your definition of IT - and of careers in IT - strikes me as too narrow for the ninth grade classroom. I am not even sure it is the proper focus of study.

      In 1999 the NRC made a useful distinction between teaching "computer skills" and "fluency with technology" - inspiring critical thinking about the uses of technology. Information Literacy Competency Standards for Higher Education

      The GUI based server is still a server.

      Is teaching command line skills really more important than teaching what a server does - how it is used and abused?

    6. Re:Time's arrow by Anonymous Coward · · Score: 0

      I have an authors list..

      Homer, Dumas, Fitzgerald, Steinbeck, Hemingway, Twain, Shelley, Stoker (yes---Frankenstein and Dracula), Hawthorne, Jane Austen, the Bronte sisters, Dickens, Kipling, Melville and Stevenson.

      That should keep them busy for a year.

    7. Re:Time's arrow by the_womble · · Score: 1

      I disagree - any non IT job involving using computer is still done more efficiently by people who have a clue about how computers actually work.

      It would be even better if management understood computers.

    8. Re:Time's arrow by ultranova · · Score: 1

      If they don't work in IT, they only need to learn how to use a mouse and keyboard.

      Bullshit. Like it or not, computers are everywhere, and will only become more ubiquitous in the future. Programming is th art of making them do what you want; if you can program, you can make them obey you, if you can't, you can't. Therefore you should learn to program, whether or not you plan on being a professional programmer. Otherwise you'll be helpless and at the mercy of those who can.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:Time's arrow by Anonymous Coward · · Score: 0

      He would say skip English Lit. until a course in grammar, and another in vocabulary are completed.

    10. Re:Time's arrow by Hatta · · Score: 1

      Learn how to enjoy the computer later?

      I would be interested in knowing what books you would assign as requited reading in "English Lit."

      Learn how to enjoy reading later? That sounds exactly like the approach English Lit teachers actually take.

      --
      Give me Classic Slashdot or give me death!
    11. Re:Time's arrow by stewbacca · · Score: 1

      You are not going to hold the attention of a ninth grader with tech that they will never see in use outside your classroom.

      Then this person should not work in IT.
      And won't need the training the OP is talking about.

      If they don't work in IT, they only need to learn how to use a mouse and keyboard.

      EXACTLY. We should not assume that ALL 9th graders are going to work in IT? So why, then, should we teach all 9th graders IT?

      The summary makes it sound like all 9th graders in India will take this curriculum. That can't be good.

    12. Re:Time's arrow by stewbacca · · Score: 1

      I disagree - any non IT job involving using computer is still done more efficiently by people who have a clue about how computers actually work.

      You don't actually have to know a single line of code to understand how computers work. Seems like immersing immature 9th graders into a field they aren't interested in is a lot of wasted effort for something that can be learned as an interest, or can be taught in one semester of junior high school.

    13. Re:Time's arrow by stewbacca · · Score: 1

      Like it or not, computers are everywhere, and will only become more ubiquitous in the future. Programming is th art of making them do what you want; if you can program, you can make them obey you, if you can't, you can't. Therefore you should learn to program, whether or not you plan on being a professional programmer. Otherwise you'll be helpless and at the mercy of those who can.

      Like it or not, cars are everywhere. Automotive engineering is the art of making cars do what you want; if you can engineer, you can make them obey you, if you can't, you can't. Therefore you should learn to engineer automobiles, whether or not you plan on being a professional engineer or a mechanic. Otherwise you'll just pay somebody who is.

    14. Re:Time's arrow by NevarMore · · Score: 1

      I would be interested in knowing what books you would assign as requited reading in "English Lit."

      Whoa. Whoa. Whoa. Books? Are you insane?

      You can't possibly enjoy a book until you understand all of the Latin and Greek roots of English and compare those with more symbolic forms of writing like heiroglyphs or Mandarin.

      Books. Jesus are you trying to ruin the next generation?

  55. Concepts, not software by fermion · · Score: 1
    Young kids who use the computer seem to have a grasp of how to use it for games and social media, but don't really seem to understand it is as a tool. There is no abstractions. They associate a program with a purpose, and that is that. There was a time when the internet was AOL, then IE, then Facebook. To fight this we much teach concepts.

    For instance, any word processor can be used to teach to write a paper. The only reason people get fixated on a specific word processor is because we teach how to change fonts and use pretty colors instead of how to write. For english and social studies one hopes the kids will be graded on writing, not the fonts or colors they use. The literacy comes in when they solve problems using these tools, like why can't I print or email a document, how do I convert between formats.

    For programming I would use python and C. Python fulfills their need for immediate results, while C forces them to slow down and think. In both languages variable develop the abstract thought they need for math and science. If the kids are still using pre algebra, a web program can be written that allows the kids to guess and check. For science a collaborative effort to build a periodic table with all the facts. If algorithms are to be taught, that is best done in C. The swap function, the sort function, etc. Kids at that age need to learn process, need to learn how that things have steps, and to follow those steps. C enforces the rules because the programs will not run if the rules are not followed. Use of an IDE is optional. If an IDE is used, the teaching of the IDE is separate from the teaching to code.

    If we are to teach literacy, the license of the software cannot be first concern. For instance, while there is free and open source geometry software and calculator software, there is no open source mechanical design software. OTOH, sketchup, autodesk, and solidworks have no cost licensees for students. If we are talking about building skills and literacy, such software is a must have for the future.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    1. Re:Concepts, not software by stewbacca · · Score: 1

      For english and social studies one hopes the kids will be graded on writing, not the fonts or colors they use.

      They don't have to be mutually exclusive. Integrated-Interdisciplinary (I2) curriculum requires both. Teaching children the art of visual communications can be as important as good writing skills. Therefore, teach both.

      This is really bothersome in my professional life (I'm a tech writer and computer-based training developer). So many highly intelligent engineering types--can write brilliant code--can't communicate its purpose to non-techies if their lives depended on it. This stems from the focus you described...focusing on the art of writing and not caring about the "fonts and colors".

  56. Teach them how to setup their own FOSS system by Idou · · Score: 1

    Oh, and how to submit bugs to projects!

    What a wonderful initiative!

    I know, some of my fellow US countrymen will lament how our schools wasted billions on technology. And they are right, you know, if you look at the average US worker who is barely competent in technology (MS=PC/Internet) and could easily be replaced by a very short shell script.

    You are already way ahead by focusing on FOSS. Add a short section on how to install a FOSS system and how to submit good bug reports, and I would say you are light years ahead of the average US technology education programs (again, US citizen here, to the flaming patriots among us).

    --
    Sdelat' Ameriku velikoy Snova!
  57. Teach Scheme, Reach Java by SaXisT4LiF · · Score: 1

    You may be interested in the Teach Scheme! project. The idea is to teach the programming fundamentals with Scheme where the syntax is simple and use those experiences as a scaffold for more complex languages. The project offers both a LGPL Scheme interpreter, Racket, and an online textbook, How to Design Programs. Follow up with How to Design Worlds, and students could be making games in no time! An intro course to game design might give that touch of creativity you were looking for.

    --
    Fight or flight its all the same
    Live to die another day

    --Ryan
    1. Re:Teach Scheme, Reach Java by gphilip · · Score: 1

      Ryan, Thanks. I myself learned Scheme back in the day using DrScheme. For the learning/teaching populace that we are talking about, I feel this would be a bit over the top.

    2. Re:Teach Scheme, Reach Java by Ksevio · · Score: 1

      I had scheme as an intro class in both High School and College. I don't think there was anyone in either class that enjoyed the language, and it needs a good teacher to teach it, or it doesn't make sense. I've also found that a lot of the concepts were a bit abstract and not so applicable to real world tasks (like the push towards recursive functions to solve problems).

      Much more enjoyable was a class that used python, as it's less of a fight with syntax and more learning how different things work.

  58. teach base 2 and base 16 numbers by Simonetta · · Score: 1

    Be sure to teach them how ordinary base10 numbers are turned into base 2 (binary) and base 16 (hexidecimal) numbers. Then show them how base two numbers can be represented as electrical levels. Digit one as a voltage level (traditionally +5 volts in microprocessor electronics) and digit zero is ground (0 volts). Then show how a binary number can be transmitted over a wire by spacing the voltage levels at precise intervals and having start/stop bits. Explain how alphabet letters can be represented by numbers using ASCII and UniCode and then be converted into base2 numbers, transmitted, or stored.

        Teach how ordinary values like light levels, colors, and temperatures can be turned into binary values using sensors. Show how a waveform like a sine wave or a sound wave can be turned into a series of binary numbers using an Analog-to-Digital converter.

        It is astonishing how many people working with computers don't have any idea about how numbers and symbols can be represented by voltage levels and binary digits. I believe that these concepts can be understood by 14-year-olds if presented in a clear and comprehensive manner. When these concepts are grasped, it becomes easy to understand how computers work. Computers go from being near magical devices to being ordinary machines.

        In my case, my teacher (when I was eleven in 1966) told us about base2 numbers. I thought that it was the most ridiculous thing that I had ever heard of. Then as a casual aside, she mentioned that computers worked on base2 numbers and went on to another topic. Years later, when studying digital electronics and microprocessors, reading about how a number could be stored and represented as a byte in base2 'transported' me right back to the 1966 classroom, as if a thirty year gap never happened.

  59. Re:Stickam by Rallias+Ubernerd · · Score: 0

    thats what facebooks for

  60. LOL by Grey+Loki · · Score: 1

    Most importantly - teach them that 'LOL' is not punctuation.

  61. Basics People by Anonymous Coward · · Score: 0

    As some other people have said, don't teach them how to use programs, thats a little limited use, but teach them about computers, how they work(memory, cache, swap, bytes, bits, pointers(okay, maybe not pointers), etc.) Linux is a good platform for that, and it allows them to understand why things are the way they are, instead of telling some employer when they go for a technical job, "Look, I can use GIMP!" but not knowing how to write a program, or anything people look for in a technical field. They need to know more than basic computer skills to work in an IT field, so start them off at the ground level, and NEVER, tech someone a false reason of why something happens, or an improper way of doing something, that they will have to unlearn at some point, just to speed up the class.

  62. Real skills by Anonymous Coward · · Score: 0

    Teach them Hindi.

    1. Re:Real skills by Anonymous Coward · · Score: 0

      Why the fuck must they be taught Hindi, sonofabitch? They speak Malayalam out there in Kerala. Or maybe you're one of the Northie bastards who can't get a job in your own BIMARU region and come flocking to progressive places like Bangalore, Chennai, Kerala, etc. and then bitch that the locals don't speak YOUR language?

      I'd much rather have my kids learn English AND our native language so that they are fluent in both. Who wants to learn that fuckin' language of the most backward people in the country, Hindi? Heh - thank you, one Bihar and one UP is too much to handle already! Can't have the civilized parts of the country getting overrun by fuckin' BIMARUs.

  63. In what country? by hsmith · · Score: 3, Funny

    In the USA, we teach to the standards tests - so that "outside the box" thinking that programming requires is a no go. Hey, nice dream world though.

  64. Game Programming For Teens by Anonymous Coward · · Score: 0

    I hate to sell out but this book introduced me to programming when I was 13.
    http://www.amazon.com/Game-Programming-Teens-Maneesh-Sethi/dp/1592000681
    It's simple enough for absolute beginners to understand yet covers an engaging area of programming, 2D video games.

  65. Teach them to program! by Anonymous Coward · · Score: 0

    Enough of this namby-pamby new age crystal-worshipping virtual GARBAGE! Sit them down in front of any computer with a command line interface with access to a BASIC interpreter and teach them about statements, variables, output, input, conditionals, and for those that grok it, go into data structures and algorithms, memory, and reading and writing disk files. At age 14, they are old enough for proper computer science, not this watered-down microsoft-funded nonsense of teaching them how to type, navigate a Windows (tm) computer, how to run Word and Excel and and and EAAAAAYYYYYAGH! The United States has had it! We're through! Software development and the exportation of war is the *only* thing we've got left, and we've blown both of them. Our Universities are cranking out nothing but pathetic feebs who couldn't code their way out of a paper bag much less write a device driver in assembly language. Our 20-somethings tweet and drool while blithering about fad languages and crap that is essentially frontpage for programming. In my day, we wrote programs that had to detect and patch on the fly another memory-resident program that had hooked the timer vector but was just doing a return from interrupt instead of jumping to the previously installed vector in the chain, and we LIKED IT.

  66. Version control by Anonymous Coward · · Score: 0

    Basic version control for school projects may go a long way.
    It goes in hand with a previous suggestion "backups are important" message.
    I'm not mentioning any particular Version Control Software on purpose.
    Don't know enough about circumstances, Subversion may be good if there is a reliable central server and there is a good connectivity and/or learning is focusing on in-classroom activity.
    Git or Mercurial may be more appropriate for situation with no connectivity or poor connectivity and/or with focus on out-of-classroom activities.

    There should to be some integration layer like TortoiseSVN so version control can be easy for all students.

  67. Re:It's to bad in the usa we don't have time for t by kevinNCSU · · Score: 1

    I don't know where you went to school but my HS had a computer engineering/networking classes where we got to take apart and fix computers and components, learn the basics and even try to get A+ certified as an optional extra if we were interested. "Teaching the test" is a mantra all to often repeated by lazy teachers that don't want to risk teaching he subject as they see fit and people who have been out of the education system for so long they don't know whats going on in there anymore. The teachers I had in HS didn't give a crap what the test was on or what conditions applied during it, they were going to have us know the subject so well it wouldn't matter. I still remember being surprised as hell when I found out 5 minutes before the AP Calc test from a student in a different school that One: You could solve integrals easily using a graphing calculator and Two: You could use a graphing calculator on the test. We hadn't been allowed a calculator in class the entire year, cause she didn't give a crap about the test, she wanted us to know calculus. Best teacher I ever had. She also had a class size of 50.

  68. barHeight++; by kaoshin · · Score: 1

    If the only learning options we present students by high school are "Introduction to Computers" and beginner programming languages, then we are only catering to the uninitiated and lowest common denominator. Schools need to raise the bar for all students, parents need to be more present and supportive of their kids, school boards need to be eliminated of corruption, and kids need to stop bullying and acting like a bunch of wannabe gangsters.

    While on the subject of improvement in schools, I think high school needs to be reformatted. By the time students reach higher learning institutions, they do not have any experience in a lecture hall taking notes. It is no surprise that they adapt very poorly when thrown into a class with 400 students.

    Hand raising is also ridiculous for both high school and college students. Students should be learning when it is appropriate to speak and to respectfully communicate like adults without having to raise hands. I can't help but wonder if this poor foundation is why all of my conference calls are complete chaos.

    1. Re:barHeight++; by Belial6 · · Score: 1

      This is one of the reasons that many colleges like home schooled kids, as well as why so many people call home schooled kids 'weird'. By the time they are 12 or 13, there is generally an effort by their parents to teach them to interact in an adult world. They are generally not told that 'this is an adult conversation' and to be quite. They are not told that they have no valid input or questions. Yes, in the general population a 14 year old that can communicate like an adult is 'weird'. It also means that they are well prepared for the independent initiative that is necessary to do well in college.

      As for hand raising, I'm not sure that my 6 year old is completely convinced that public school kids have to raise their hand and ask permission to go to pee when they have to go. Even less believable is that they would be told no. He takes my word for it because he knows I wouldn't lie to him, but he clearly has this nagging question in the back of his head how something as preposterous as telling someone they are not allowed to go pee actually happens.

    2. Re:barHeight++; by bsDaemon · · Score: 1

      Every home schooled person I've ever met was home schooled because their parents believed that water fluoridation was a UN plot and that gubmint education was something satanic. They had incredibly poor social skills, very little idea how to interact with people of the opposite sex, and a slew of really weird beliefs. And you know what, that's why people think home schooled kids are weird, NOT because they can communicate in adult conversations.

      I'll agree that public educations is pretty messed up, but for every health-food-eating water-drinker in home schooling, I've met 5 people who would not need any incentive to join a militia.

      And frankly, all the "independent thought and initiative" in the world isn't going to amount to a hill of beans in the work place compared to knowing when it is and is not OK to go pee. Sucks, but that's the world we live in.

    3. Re:barHeight++; by Belial6 · · Score: 1

      Hi, how do you do, let me introduce myself. I am a homeschooling parent that is unconcerned with water fluoridation, knows the proper pronunciation of government, and I am an atheist, so there is no chance of me thinking that public education has anything to to with evil magic creatures. So, now that you have met me, (albeit online) anytime you ever make that claim again, you can know that you are a complete liar.

      Personally, I think your isolated world has lead to to just make things up, particularly, give that your description pretty well describes the bulk of public school kids, except that the 'gubmint education was something satanic' would need to be changed to 'It's the gubmints job to feed and raise my child.'

    4. Re:barHeight++; by bsDaemon · · Score: 1

      Well, congratulations on being a one-in-a-million. But trust me, its not an isolated world view that's led me to make things up. Hopefully your kids will turn out well, but every person I've met in the real world who was a victim of home schooling turned out really messed up, and I've met at least 100 or so, with extended contact over a matter of days to months with around 10. Not exactly a sample worthy of a scientific study, but enough anecdotal evidence to take off the likelihood of chance.

    5. Re:barHeight++; by OrangeCatholic · · Score: 1

      As a homeschooling parent, how many other kids does your child interact with on a typical day? Because when I think homeschooling, I think zero. Do they at least go in afterward and play sports?

      You can teach them all the facts you want, but if they're not meeting other children, they're not being "schooled."

      Oh, and fluoride is the waste product of the aluminum industry. No militia card required to know a good business strategy.

    6. Re:barHeight++; by Belial6 · · Score: 1

      You think wrong. This isn't rural 1920's Kansas. There are people everywhere. Kids everywhere. Too many playdates is more the problem than not enough. No, my child doesn't go to school after school to play sports. School sports do not teach kids to be well adjusted. They teach tribalism, and are part of why we see thing like people that feel they must dedicate themselves to one political party and support it right or wrong.

      There is plenty of physical activity and games to play with plenty of kids that enrolling them into a tribal game isn't necessary.

      I have a counter question though... how many other children from outside your little community does your child meeting in a typical month? When I think public schooled, I think zero. I would wager that my child has played with more different children in the last 2 months than most public schooled kids do in several years.

    7. Re:barHeight++; by Ksevio · · Score: 1

      Hand raising makes sense for large groups, and it can help a teacher include more people that may have been pushed out of the conversation with more aggressive students.

  69. Step by step process breakdowns by mveloso · · Score: 1

    After thinking about it for years, one of the most useful things in I did school was geometry. Specifically, making geometric proofs was unbelievably useful. They required you to do two things:

    * think step by step
    * think about the person reading the proof, and what they needed to know

    When you're using computers you need to be able to, at a minimum, sequence your tasks. If you want to write good software, you need to be able to at some level understand what the person using your software is trying to do and the workflow that they have. So it works for the front and back end.

    So in summary, let your students perform step by step breakdowns of a workflow/process. It could even be something simple, like "how do you make a piece of paper." Just listing the inputs into that process would take a day or two, and it'd be fun for everyone involved. You could do that with everything, because everyone likes something. How would you make makeup, clothes, etc.

  70. Teach them about file systems... PLEASE. by Simulant · · Score: 1

    One of the most common end user problems seems to be people not knowing where their files are or how to tell which program opens which kind(s) of files. Most of us here take this stuff for granted but it's amazing how many people, including young people who grew up with PCs, don't know where their files are or how to organize them. MS tried and FAILED to address with their ridiculous "My This" and "My That" system which just obfuscates things further.

  71. The basics: by Toasterboy · · Score: 1

    #1 You teach people that software is usually deterministic; if I follow known sequence of steps A, result B will occur. If not, something is usually wrong and its time to ask an expert for assistance.

    #2 The way to learn technology is to play with it before crunch time. That means that when you get a new application in front of you, you should explore the menus, see what they can do and how the software behaves so that you can later on be creative when using it under pressure.

    #3 Basic computer architecture; e.g. RAM is temporary working space, the hard disk is where your files are saved, etc. How to identify which part of the computer needs to upgrade; e.g. when to add RAM, when to replace the video card, when to get a new machine. How to navigate directories so you actually know where you saved your files (people over 40 have issues with this).

    #4 Basic networking. What a NAT is, how to hook up a broadband router. How to determine how fast it really is and reason about whether you are getting what you pay for.

    #5 Basics of what kind of problems are done well by computers and what kind of problems computers suck at. Basics of why some algorithms are faster than others at doing the same job. One of the biggest problems with business using computers is that people do not understand anything that does not scale linearly. Examples of applications used for various common types of tasks.

    #6 How incredibly complex the stuff is under the hood....that when something is actually wrong with the software, it's extremely difficult to track it down.

    #7 Algebra. No, really.

  72. How to speak with by Anonymous Coward · · Score: 0

    a indian accent. It will give them the ability to blend in once all the entry level IT jobs have been offshored when they relocate.

  73. Logic and reasoning by bfwebster · · Score: 1

    Technology changes. I should know; it's been 40 years since I wrote my first program (in high school) using a limited form of BASIC by filling in ovals on computer cards. But logic and reasoning change much more slowly and underlie all of information technology. If the kids don't understand logic and reasoning, if they can't analyze and construct it, the rest won't matter. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
  74. Teach them that outsourcing IT will someday end. by Culture20 · · Score: 1

    Teach them that India needs a vibrant IT industry of its own, and that the call center people in India could (should) be the ones servicing Indian computers. Teach them that the jobs from the US will eventually dry up, because it will either become economical to use US personnel again, or the US companies will fold. Teach them hands-on skills to grow India's IT base. Teach them the fun of hacking hardware.

  75. bigger GBies by PrimordialSoup · · Score: 0

    tell them to always opt for bigger GBies and Wifys

  76. Don't teach, get him interested by francium+de+neobie · · Score: 1

    If he needs to be taught, he isn't good.

    Get him to play a mod-able game with you, and challenge him (or cooperate with him) to write a module. Make it good and popular so he can impress his friends. Once he appreciates the power of being able to create something from nothing, he'll never go back. Language or algorithm doesn't matter.

    1. Re:Don't teach, get him interested by bsDaemon · · Score: 1

      So, like... did you read the summary and see how this isn't the typical "how can i try and force my jock kid to be a nerd like me?" article? It's about adding to a school curriculum. Not sure writing WoW scripts in Lua to mine gold is what they have in mind.

  77. Basic. Electronics. by Vegeta99 · · Score: 5, Interesting

    When I was a high school student, we had to take either an Introduction to Computers class or Basic Electronics.

    I know we're talking India here, but the picture I'm getting is these kids can probably "operate" a computer just fine - enough to be an office lackey. But what about if it breaks? My parents used to go on and on about how "good" I was with computers, and they now do the same with my sister who's 10 years younger than I. Well, there's one difference. In high school, I took Basic Electronics instead of "Introduction to Computers".

    Intro to Computers was basically a how-to-use-Windows class (all the computers were Apple until this class). They taught you basic use, how to not "catch a virus" - you know, not click Yes without reading. Nothing exciting. In Basic Electronics, it was even less exciting. We had textbooks. We learned the basics of electronics theory, did fun little diagrams of circuits with an arrow, "What's the voltage and current HERE?" and by the end of it, we were building digital alarm clocks, strobe lights, etc. We learned first hand why you didn't use an underrated capacitor, and we learned what happened when you plugged one in backwards. We learned to solder (and do it correctly), we learned to use resist pens to make cheap-o circuit boards, and once the school had the money, learned how to do it with a laser printer and transfer paper.

    My poor sister has to come running to me when it's anything worse than a blue screen on her computer. She'll never be taking out the soldering iron. But what's that class meant to me? I'm a law student with a bachelors' in human development. It's certainly not going to be used by me at work. But:

    * When my dad's cursing about the damn car with a check engine light on, and how back in the old days they walked uphill both ways to the parts store and could tell what was wrong just by listening, I break out my scanner and a multimeter, and the car tells me more clearly than a good ear ever could.
    * I've never once had to pay for a repair man. When I was younger, I was shocked how much a family friend would want to pay for me to fix their VCR.
    * I have never had to hire a company to run the LANs at our student housing properties. In fact, I usually return over school breaks to fix whatever nonsense the students at Penn Tech thought would get their internet connection working again (torrents are blocked).

    I could go on, but you see my point. You could help your students greatly with just some bare-bones technical know how. They might find it a little boring at first, but it just may help out their employment prospects a little later down the road. The basics is where its at. Just like literacy. You don't teach them the alphabet and then throw a dictionary at them and tell them to get crackin'. You teach the alphabet, then a little bit of sentence structure, and you let them pull themselves up by the bootstraps.

  78. CS101 by Anonymous Coward · · Score: 0

    Take a look at Charles Petzolds book, Code. This should be the foundation of every CS course out there IMHO.

    http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319

  79. Start from the ground up by Donniedarkness · · Score: 1

    Seriously, teach them about things they're going to use daily. I'd personally start with the operating system, and make sure that they really know that the hardware that runs Windows XP is capable of running other operating systems as well (same goes for MAC OS). I couldn't tell you how many times I've had people tell me that they have a "Windows Vista" when I ask them about their processor.

    --
    Earn a % of cash back from Newegg, Tiger Direct, Walmart.com, and more: http://www.mrrebates.com?refid=458505
  80. Learn how to type... by Anonymous Coward · · Score: 0

    and learn that just because you cannot see the person doesn't mean that you can be rude to them.

    Penny Arcade FUQWAD theory and all that.

  81. Only Jesus Saves by mangu · · Score: 5, Funny

    the 11th Commandment: "Thou shalt make backups"

    Sorry, that was the OLD Testament. According to the NEW Testament, only Jesus saves.

    1. Re:Only Jesus Saves by JWSmythe · · Score: 1

          And the more recent rewrite said "Jesus saves at Bank of America". Damned corporations are using every chance they can to do a product placement.

         

      --
      Serious? Seriousness is well above my pay grade.
    2. Re:Only Jesus Saves by techno-vampire · · Score: 1
      only Jesus saves.

      That may be so, but Moses invests.

      --
      Good, inexpensive web hosting
    3. Re:Only Jesus Saves by Anonymous Coward · · Score: 0

      the 11th Commandment: "Thou shalt make backups"

      Sorry, that was the OLD Testament. According to the NEW Testament, only Jesus saves.

      Cron Jobs, Hand Jobs, Blow Jobs, Steve Jobs.

    4. Re:Only Jesus Saves by Anonymous Coward · · Score: 0

      Yeah, but it's pronounced Heysoos

    5. Re:Only Jesus Saves by Richard+Steiner · · Score: 1

      Jesus saves, but Gretsky scores on the rebound?

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    6. Re:Only Jesus Saves by Anonymous Coward · · Score: 0

      only Jesus saves.

      That may be so, but Moses invests.

      ...and Buddha makes nightly incremental off-site backups.

    7. Re:Only Jesus Saves by wwphx · · Score: 1

      And Buddha makes incremental backups!

      --
      When you sympathize with stupidity, you start thinking like an idiot.
  82. Re:"IT" shouldn't be a class, it should be wholist by gnalle · · Score: 1

    I wish I had mod points to mod you up, but i spend them all on the grub2 story.

    BTW. Students should also learn to find information on the internet, and they should learn what sources they can trust.

  83. 9th Grade = Start of Highschool by RingDev · · Score: 1

    Forget fancy programming and protocols. There will be plenty of time for that later.

    At the 9th grade, you should be teaching research, research, and more research.

    Teach kids how to find what they need to find. And show them that there are multiple sources with different points of view on almost every subject. Show them how to get around in your research library (assuming you do have access to an online digital library that allows students to search thought and read published peer reviewer journals). Teach them how to cite the documents they find. Teach them basic word processing. Teach them about spread sheets.

    Teach them the skills that they will need in virtually every other class they will ever take for the rest of their eductional career.

    And absolutely teach them about the threats. About scams and preditors. About annoniminity + audiance. And last, but definately not least. Make sure that they are all perfectly aware that what ever they put online will be accessable for anyone to look up for the rest of all time.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  84. Learning Objectives and topics by Anonymous Coward · · Score: 0

    Start with more advanced xonceptual basics. I do not know fully what is in 8th grade but... Remember we are not teaching IT experts, we are teaching use of computers supporting general skills and then teaching slightly more advanced introductory concepts. Remember the skill levels will vary dramatically.

    Learning Objective 1 - Proper use of computer systems in society. (Basic Skills)

    - Computer security and privacy principles, crediting prior work (and copyright). Use real world examples (EASY to find)
    - Reinforce language instruction with proper use of computer communications whether by e-mail or other on-line techniques.
    - Simple computer research and interpretation. Interpreting what you read and understand on the Internet and other online sources. What is the validity and credibility of the topic. Supports rest of the education system

    Learning Objective 2 - Online communications. Human interaction leading to computer interaction. (Precise communication network skills) This is a nice tie-in to the Internet topics above.

    - Human interaction online and how humans communicate, what they do well and what they do poorly
    - Simple computer communication skills. Simple media techniques that support communicationss (cables, simple networking such as Ethernet and WiFi, Simple wireless covering the concepts of isolation and intercommunications of wireless, concepts of open attachment and communication on networks (especially wireless).
    - Simple IP concepts for finding a computer on the network. Tie back to human methods.

    Learning Objective 3 - Programming Concepts with simple programming to support the concepts. Simple Python ties well into the communications topics above.

    Basic programming concepts on a more formal level than the previous year.

    = Data Types and variables,
    - Simple loop concepts
    - SImple conditionals

    Learning Objective 4 - Reinforce Learning Objective 3 and reinforce basic computer operations skills. Assuming the general concepts of a PC have been introduced, sample the basic portions of the above using incredibly simple machine language. Concepts of variables, storage registers, loops and conditionals only. Let the kids play a little. Don't teach machine language programmers, just simple concepts.

    Learning Objective 5 - Jump back to general programming. Variables loops and conditionals should now be understood in computer terms

    - Function concepts (extended section)
    - Predefined functions (review math covered in first semester of 9th grade and reinforce
    - Simple concepts of function libraries and using others code (Reinforce previous concepts of evaluating sources)
    - Include concepts of a random number and random number functions so you can use them in later sections for programming simple games.

    I will let you run further. The above is pretty much a semester.Probably start working through various simple algorithms. Very simple game programming (cards, Conway's game of life, simple puzzles...), sorting and searching... To close out the year and if affordable, fo a simple robot (kids love if). If not affordable and teaching skill is available, reinforce with a simple group project where different teams coordinate by writing different pieces and making it work together.

  85. Judging by the current direction of society by mysidia · · Score: 1

    Facebook MySpace Facebook Youtube Facebook Twitter Facebook But some other things to think about...

    • Characteristics of computers in the 21st century... Hardware, Software, Firmware; Desktops, Laptops, Netbooks, Pads, popular eBook readers
    • Characteristics of displays and monitors, what is "Standard definition TV" what is HDTV, 720p? 1080p? HDMI HDCP?
    • Keyboard and mice, touch screens, voice.. capacitive VS resistive, how do these work
    • Human audible range; what is a sound card, microphone, how do those work
    • What is binary? What is digital, analog?
    • What are the characteristics of VGA cables, DVI cables, HDMI cables, USB cables, Parallel cables, IDE Ribbon, RS232 Serial, eSata, Firewire, EIC Power cables and receptacles
    • What are the basic electrical components in a computer\
    • Discussion of devices that store data... hard disk drives; internal, external, USB flash drives; Interface technologies, USB, IDE, SATA, SCSI/SAS, ...
    • Computer sound card inputs and outputs, digital VS analog
    • What is a WAV file what is a MIDI file... what are codecs and encoded files; MP3, M4A/AAC, ALAC, FLAC
    • How to create MIDI and WAV files
    • Exercise using recording and sound playback software to record and keep some sound clips for later use.
    • Demonstration of loss of quality when recording analog sources
    • Explanation of compression; lossy VS lossless compression.
    • What are image files... BMP files.. pixel maps VS compressed files. What are GIFs, PNGs, JPEGs. Which use are each best for?
    • How to acquire images using a Scanner or Digital Camera
    • Converting between image formats.
    • Explanation of scanner DPI and required DPI to display an image on a computer screen or printer, screen resolution.
    • Scanner input VS output DPI, and how output DPI effects image size on a computer screen. e.g. What is the maximum DPI that should be used for scanning various types of prints or film, in order to achieve the best observable quality, what is the maximum scanning DPI that provides useful information for various types of sources, rather than a mere increase in image size without additional detail.

    • Stretching and skewing, how they effect human perception of image quality.
    • How inkjet and laser printers work... how much do they cost, how much do they cost to operate (use examples), what special "features" do models have that might increase cost, what consumables or periodic maintenance will be required other than paper and ink cartridge replacement; exercise involving calculating the cost of ownership of a certain printer model
    • What are parallel, USB, and network printers?
    • How computer video cards work... what is video memory
    • What are computer networks, clients, and servers; What are dedicated servers
    • What are hackers; whitehats, blackhats, grayhats?
    • What is DRM, what are some popular technologies that use DRM. What are the advantages and disadvantages (for you) of DRM?
    • Online safety and privacy concepts... overview the dangers and risks
    • Online safety and privacy + social networking websites what you should put in your profile.. how to keep secrets secret
    • Risks and longevity of things posted online
    • How to maintain security of your usernames, passwords, use a password manager, password practices, etc
    • What a virtual machine is, and how to use it
    • The principal of least privilege. How to setup and use a non-administrator account on your computer, and use that for your day to day activities. How to control administrator access to your equipment, and avoid giving friends/visitors/intruders access to your computer. (Use private Virtual Machine for an exercise regarding access control)
    • How to use an e-commerce website and fill out web forms
    • How to get a free e-mail account, send an e-mail, receive an e-mail
  86. Logo by Anonymous Coward · · Score: 0

    Logo is an interesting functional language, designed for young people. It goes 0 to graphics in 1 line of code, allows control of robots in about as quick, and most fascinatingly actually goes all the way towards functional programming. (ie, you can 'graduate' from Logo and go straight on to LISP and Haskell). I'm not entirely sure why the teaching of Logo was discontinued in many western countries. I suspect it was because the students quickly outperformed their teachers and showed them up ;-)

  87. Three different sets of class topics by GLOACAI · · Score: 1

    Is this class suppose to be ICT or Programming? The sample stuff you're thinking about all belong in a Programming class not an ICT class.

    Anyways here are some sample stuff I'd put in depending on what kind of class you are actually suppose to be teaching. Keeping in mind that these are high schoolers that haven't decided their careers and this class is to help them decide if they want to go in that field

    If ICT i'd say teach them a bit about below:
    1. History of how the internet came about (DARPA and telecoms and so on)
    2. Have them do a debate/essay on arguing for or against taking control away from ICANN
    3. Get them to know basic networking equipment (routers, switches, hubs, modems)
    4. the 7 layer communication stack {yah yah, i know I shouldn't have forgotten it's name} and how it applies to their computers and sending data across the internet (talk about email traffic since most kids are using email already by that age)
    5. Maybe a lab setting up a network, web server, file share system. network accounts
    7. Make them know the differences between WAN, LAN and so on
    8. If you want them to do a little scripting as part of ICT then have them learn Shell scripts for linux and batch files for windows (they'll come preinstalled on any OS so there is always something to fall back on if the nice ones aren't there)
    9. Give an intro to databases
    10. cover what a proxy is

    If you want basic CS
    1. History of computer evolution: World War 2, eniac, main frames, pc's, web apps
    2. Any single simple languague (Perl, Python, ...) to explain: loops, recursion, regular expressions, the benefits of commenting, psuedo coding (do not teach them algorithm analysis), discuss parallelism but don't make them do anything on it unless for extra credit
    3. Simple discrete math. "If P then Q" kinda stuff, set theory
    4. Simple databases and programmatic querying of them
    5. Software life cycle: have a class project where they have to go through all the steps of Request For Proposal, Proposal, Requirement gathering/Use Case building, coding, testing (mapped to use cases), delivery (with associated documents[test report, install guide, user guide])
    6. get them to debug other students code

    If you want basic Computer Usage (not really to get them interested in a career but to get them to know how to use comps)
    1. Setting up web searches (usage of "and"s, "or"s, "not"s and so on)
    2. Web applications, google docs, microsoft online office, ...
    3. Basic info on copy write law, GPL, and other licensing (aka they can make a rough idea if what they are about to down load or do is illegal or not), ethics
    4. Setup a personal webpage (use a gui creator and if you've got some really interested students ones show them html/javascript)
    5. Teach them to be careful about what they do online, I.e. get them to try to find out about as much information a random stranger can find out about them
    6. Chat clients, skype
    7. Anti-virus usage
    8. Email etiquette
    9. Backing up their data

  88. Security, security, security by TheGoodNamesWereGone · · Score: 1

    Emphasize security; how to protect themselves on the net. That's not only for their benefit, but everyone else's. Good luck

  89. IT as it relates to regular people by RulerOf · · Score: 2, Informative
    Language -- written and spoken -- should be taught in language classes, IMHO.

    People should really be taught a few things that relate specifically to using computers in business. The day when I no longer see a Word document that uses multiple, non-aligned TABs to put words on the right side of a page that are supposed to (but definitely do not) align with text a few lines above instead of using a hanging indent (or whatever they're called), the day when I don't go to fill out the underlined portions of a document and find that all I do create a separation in the underscores that were used to create it, the day when I don't royally fuck a spreadsheet because someone didn't lock a cell..... well the point is that such a day can never come soon enough.
    1. Teach people how to read domain names. Pretty much all the non-IT folks I know wouldn't understand that "google.images.com" isn't owned by Google.
    2. Teach them what a certificate error really means.
    3. Teach them how to identify when someone's trying to steal their shit.
    4. Don't teach good password policy; they won't remember their passwords. Teach them how to use a password manager instead. It could be a password manager that uses dictionary words and still be a gazillion times more secure than what they'd do otherwise.
    5. DO NOT TEACH TYPING. It is a waste of time. Typing is best as an acquired skill or one that is self taught. No one "learns" to type in the span of a lesson provided by a classroom environment.

    There's a multitude of items that could be added to this litany, but I'm sure anyone here could get the point.

    To say the least, kids won't acquire anything exclusively through the classroom if you teach them how to open up Word and write a letter. They already know how to do that shit. What will be useful to them is if you teach them about the features of the program that exist but that they'll forget how to use. Seriously. If they at least know that they can use hanging indents or track changes, then at least they'll know when to go hunting for how to do it again when they find a need for the feature at a future point.

    I've found that, over time, someone who knows what tools he could use to accomplish a task tends to be more adept at getting things done rather than the person who uses the same tool for everything just because he knows how to use it so well.

    --
    Boot Windows, Linux, and ESX over the network for free.
    1. Re:IT as it relates to regular people by techno-vampire · · Score: 1
      No one "learns" to type in the span of a lesson provided by a classroom environment.

      True. You can, however, learn the fundamentals of typing that way. Then, as you use them both in the classroom and at home (or work) you gradually become a good typist on your own.

      --
      Good, inexpensive web hosting
    2. Re:IT as it relates to regular people by OrangeCatholic · · Score: 1

      >No one "learns" to type in the span of a lesson provided by a classroom environment.

      I learned to type over the summer when I was about 25, so I don't see why a semester class isn't long enough.

    3. Re:IT as it relates to regular people by Anonymous Coward · · Score: 0

      I learned to type in summer school, in typing class. One very important skill in my lifetime.

      As for IT for kids:

      1. This is a cellphone. You use it every day to talk and text and browse websites and take and send pictures and to play games.

      2. This is a computer. Your parents use this quaint device to send something called email.

    4. Re:IT as it relates to regular people by lordlod · · Score: 2, Insightful

      I strongly disagree, typing should be learnt by everyone and it is possible to teach it. Saying that it should be learnt at home is great in theory but doesn't work in practice. You could make the same argument about reading but we still teach it in schools because people don't learn it at home.

      A proper typing course as part of the curriculum will get over 90% of the class up to at least 25wpm in a semester. That's touch typing and not looking at the keyboard. I know because I used to go to a school that ran them.

      Once people have the basics regular typing will increase their speed. Expecting people to just pick it up leads to people two finger typing at 20 wpm with multiple errors in every sentence. Imagine the productivity boost for society if everyone in an office could actually type properly.

    5. Re:IT as it relates to regular people by wonkavader · · Score: 2, Insightful

      "Don't teach good password policy; they won't remember their passwords. Teach them how to use a password manager instead."

      WRONG WRONG WRONG! Not on the password manager, but on not teaching password policy. Children need to understand that passwords should never be shared so as adults they'll see that as an axiom. If you went to college in the digital age (and worked in any support situation) you have seen the effects of couples sharing passwords and then breaking up. We all (as Slashdotters) know how that the best way to get someone's important banking password is to get their throwaway healthclub password -- they're usually the same. We know (from the movie wargames, and from real life, though in real life they're often far less hidden) that passwords are usually written down and close (very close) to the computer in question. The best place to find a password for the laptop you've just stolen is on a post-it note in the laptop bag.

      Kids don't need to be taught to make up good passwords (though that's not a bad thing), kids need to be taught what passwords are, why they're important, how people steal things using them, never to share them, assume people want them, etc.

    6. Re:IT as it relates to regular people by RulerOf · · Score: 1

      You're right on that, actually. I was being a little over the top just to make a point :D

      Though when I said "password policy," I was thinking more along the lines of "at least X digits long, at least Y unique characters, at least blah blah blah." I'm assuming that 'password policy' in the way that you mention above would simply be enforced through habit of any password management scheme that they choose.

      --
      Boot Windows, Linux, and ESX over the network for free.
    7. Re:IT as it relates to regular people by RulerOf · · Score: 1

      No one "learns" to type in the span of a lesson provided by a classroom environment.

      True. You can, however, learn the fundamentals of typing that way. Then, as you use them both in the classroom and at home (or work) you gradually become a good typist on your own.

      Right right. What I'm saying is that, considering all that there is to learn, wasting these kids' time with "typing classes" is akin to academic malfeasance.

      Knowing how to type never prevented someone from falling for a phishing scam. Nor has it prevented the typist from butchering the alignment on her resume. It might have taken her less time to type it though, of course!

      --
      Boot Windows, Linux, and ESX over the network for free.
    8. Re:IT as it relates to regular people by CronoCloud · · Score: 1

      It is. When I learned typing back in the 80's there were plenty of kids who only took the first semester of the full year Typing I course, which was also considered the "Basic Typing" course. Worked well.

       

    9. Re:IT as it relates to regular people by thesandtiger · · Score: 1

      Let's add another biggie to that:

      Assume that any writing, pictures or texts you send to anyone else WILL be made public. As a result, avoid sending things you wouldn't want your parents, co-workers, future employers, or anyone else to see.

      If you want to participate in the online world, use a pseudonym, don't have it directly linked to your real name, and then go for it, or be willing to be accountable for whatever you put out there.

      --
      Since I can't tell them apart, I treat all ACs as the same person.
    10. Re:IT as it relates to regular people by gphilip · · Score: 1
      Thank you.

      1. Teach people how to read domain names. Pretty much all the non-IT folks I know wouldn't understand that "google.images.com" isn't owned by Google.
      2. Teach them what a certificate error really means.
      3. Teach them how to identify when someone's trying to steal their .... .

      These are good candidates for inclusion. Thanks once again.

    11. Re:IT as it relates to regular people by Anonymous Coward · · Score: 0

      > "DO NOT TEACH TYPING. It is a waste of time. Typing is best as an
      > acquired skill or one that is self taught. No one "learns" to type in the
      > span of a lesson provided by a classroom environment."

      I learnt typing in the classroom. It took me about a semester to get up and running. I think the fact that I had this explicit training, and did so at an early age (early teens), is why I can type now a lot faster than most people (around 100 WPM).

    12. Re:IT as it relates to regular people by Compaqt · · Score: 1

      This.

      There's a misconception that people will just pick up typing by osmosis since they've been around computers since the age of 3.

      But the standard qwerty keyboard is a confusing and weird thing for people who haven't been taught touch typing. They'll hunt and peck and probably even get up to 15-20 wpm, but in the back of their mind, they'll still be wondering why the keys are layed out in such random order.

      To learn touch typing, you have to do drills. People normally don't do drills by themselves unless it's part of a class, team, or platoon.

      --
      I'm not a lawyer, but I play one on the Internet. Blog
    13. Re:IT as it relates to regular people by Anonymous Coward · · Score: 1

      DO NOT TEACH TYPING. It is a waste of time. Typing is best as an acquired skill or one that is self taught. No one "learns" to type in the span of a lesson provided by a classroom environment.

      That's a load of crap. I took typing my freshman year of high school, and started at approx 35 wpm. Two months later I was typing 120+. We had people that couldn't complete a sentence within the 3 minute timer we used, and by the end of the quarter could stumble along at anywhere from 25 to 50 wpm. There was only one person in my class of 50 who didn't show any improvement, and that had more to do with the fact that he drank at least a pint of Jack Daniels at lunch before coming to typing the next period.

      Typing isn't a knowledge skill, it's a muscle-memory skill, and as such the mantra "Practice makes better" is 100% true.

      I will agree that there are some issues with a lot of the typing curriculum, for example there is still an overly strong emphasis on not using 'correction' keys such as backspace and delete. (A throwback to the days of manual typewriters- most legal forms won't accept documents with correction fluid on them) But for simply developing the ability to type quickly and mostly accurately it does just fine. The only major drawback is that most teachers don't understand that they need to teach correct posture in addition to hand, wrist, and forearm position, as opposed to focusing solely on the finger placement. (People who complain that standard typing hurts their hands/wrists are almost always using bad posture, the exceptions being a few people using crap keyboards or who have unusually sized hands/fingers.)

    14. Re:IT as it relates to regular people by CeruleanDragon · · Score: 1

      ...If you went to college in the digital age (and worked in any support situation) you have seen the effects of couples sharing passwords and then breaking up....

      Oh damn, thanks for the reminder, I just broke up with my gf yesterday, I need to go change my passwords. Thanks!

      --
      ad astra per alia porci
    15. Re:IT as it relates to regular people by Chowderbags · · Score: 1

      Imagine the productivity boost for society if everyone in an office could actually type properly.

      They would be able to send out twice as many pointless memos!

    16. Re:IT as it relates to regular people by halfEvilTech · · Score: 1

      A few things to add.

      Teens this days seem to be more connected than ever before some basics I would teach along with basic use and internet deciphering. The web is OPEN thus you should not be posting your life story in all its minute details for the world to see. Also that once it is online you should assume it will be there forever. So in retrospect teach the following:

      1) Be mindful of what you put online.
      2) Understanding basic security practicies.
      3) Online professionalism
      etc

      Those along can help someone go further than those that open up their facebook profile for all to see while posting pictures of underage consumption as well. Future employers do look at this stuff.

    17. Re:IT as it relates to regular people by Anonymous Coward · · Score: 0

      I still remember my middle school typing class from 10 years ago:
      "a s d f semi [;] l k j ... a s d f ; l k j" and so on for half an hour. I hope typing classes have improved since then, because I can't imagine anyone actually learned to type from a rote thing like that. I learned to type from a typing teaching program (and not Mario Teaches Typing... I'm not sure anyone I watched play it learned touch typing from that, either.)

      That said, people probably won't pick it up "correctly" on their own. I have a friend studying CS who, last I checked, gets 40ish wpm hunt-and-peck.

  90. Programming is essential by Casandro · · Score: 4, Insightful

    Programming is essential. As a model language I would recommend an old BASIC with line numbers. This is close to how computers actually work, but still accessible enought for them. If you want to have an advanced course, teach Pascal.

    It is essential in our modern world that people, especially children, know how computers work and how to program them, in principle, at least. We also teach them how to do math, although they are very unlikely to multiply larger numbers without a calculator or solve an equation.

    The point is not to turn them into great programmers, but to give them a basic idea of how the things work. To make them able to estimate the limits of computers and how hard a certain task is for a programmer.

    The worst first language would probably be C(++,#, Java,whatever) or any of those new fancy languages, because they hide the machine to much and add lots of complicated concepts to get wrong.

    I find those "how to use application X" courses absolutely useless. Most of what you learn there will be found out equally fast by the children themselves. And everything will change at the next version of application X anyhow.

    1. Re:Programming is essential by Anonymous+Cowpat · · Score: 1

      I disagree (with BASIC\Pascal), Fortran is a good initial programming language.

      • Syntax is clear
      • there's less scope for indecipherable error messages or silly mistakes (like not linking the math library) than C,
      • it's sufficiently low-level to get a handle on some of the underlying processes necessary to achieve what a simple command in python does
      • it's not SO low-level that you have to write several lines of complicated code to achieve anything (like allocating an array)
      • It will teach them about the various data types
      • Fortran will force them to do things 'properly' (unlike BASIC) without becoming an exercise in frustration if they don't

      As for stuff to implement, a bubble-sort would be a good thing to warm up with. For the stretch exercise, give a rough outline of how a shaker-sort would work, and have them modify their bubble sort into a shaker-sort.

      --
      FGD 135
    2. Re:Programming is essential by OrangeCatholic · · Score: 1

      Any languages chosen should be practical, real-world tools. This throws out BASIC, Pascal, and Fortran. No "teaching-only" languages please.

      I would teach the first half of the class in C. "Silly mistakes" is the name of the game here. You need to learn compiling, linking, array bounds, file I/O, how to make strings. What C teaches you is that if you are willing to stack bytes one at a time, you can eventually build anything. This is my bone to throw to the architecture crowd. And when you link to graphics libraries, you can do some visualization. This will be the payoff for suffering through array hell.

      The second half I would teach PHP and web protocols. Get, post, making forms and passing variables. Urlencode and decode. Database connections and some basic SQL. I've seen this stuff taught in 3 weeks, and it's extremely practical. Making selectboxes. If you can make a selectbox, you're a fucking pro.

      This would cover a whole class imo. Installing linux and using apps can be another class. And it would be a good class because linux is extremely non-obvious yet quite pleasant when it's working.

    3. Re:Programming is essential by gphilip · · Score: 1

      Programming is essential. As a model language I would recommend an old BASIC with line numbers. This is close to how computers actually work, but still accessible enought for them. If you want to have an advanced course, teach Pascal.

      I think that they chose Python in the 8th grade for its simplicity.

      It is essential in our modern world that people, especially children, know how computers work and how to program them, in principle, at least.

      The point is not to turn them into great programmers, but to give them a basic idea of how the things work.

      I concur.

      Most of what you learn there will be found out equally fast by the children themselves.

      This has been observed to happen here as well, more or less without fail.

    4. Re:Programming is essential by Anonymous Coward · · Score: 0

      Darkbasic Pro has line numbers, compiles to an exe, and would let students write a graphical program pretty quickly. That would probably hold a student's interest IF they had any actual interest in learning how to program.

      I worked in a college lab for years and I can tell you that most of the students coming in did indeed need classes in how to use Word. They *thought* they knew what they were doing, but most of them did not.

    5. Re:Programming is essential by ooh456 · · Score: 1

      Really? A score of 5 for a post recommending teaching teaching kids Basic and Pascal? How about teaching them something useful like PHP or JavasScript? Something they can actually use to make something cool. I see kids learning Basic and Pascal as a definite path to them doing something other than IT as a career.

    6. Re:Programming is essential by Casandro · · Score: 1

      PHP or JavaScript doesn't teach them how computers work. This is not about leading them to a carrier in IT, this is about giving them the nessesary knownledge to be able to live in this society.

      Again, it's like math. The math you learn at school is completely useless for every day life. However it gives you a tiny little glimpse of what math is.

    7. Re:Programming is essential by slyrat · · Score: 1

      Programming is essential. As a model language I would recommend an old BASIC with line numbers. This is close to how computers actually work, but still accessible enought for them. If you want to have an advanced course, teach Pascal.

      Pascal is actually what I learned in 9th grade myself. It was a one semester class and we only did basic programming skills like conditional blocks and loops. It ended up being fairly boring for myself so I learned how to do simple graphics output on the side. Then I would add a section at the end of the code for drawing an image. So don't underestimate the skills of a 9th grader. There will certainly be some students that want to do stuff well past what is in the curriculum. Also make sure that the teacher has a GOOD understanding of whichever language is used. I distinctly remember asking questions that my 9th grade teacher didn't know the answer to.

    8. Re:Programming is essential by Casandro · · Score: 1

      Well I first learned BASIC on my own on a TI99-4a and a ZX80 (with the ZX81 ROM).
      At school I learned Pascal.

      The graphics is fairly important as it motivates people. If their programs can make something "cool" they will learn faster. Unfortunately this is getting more and more difficult.

    9. Re:Programming is essential by joking · · Score: 1

      From an educational point of view BASIC is among the worst choices you can make. For one it doesn't do any strong type checking and introduces a "lazy" programming skills. Pascal we conceived with teaching programming in mind. And it still holds the position in both power and learnabilety. Besideds it tranfers excellent to other high level langauges. PHP might be a good choice as well as it is the de facto standard in web programming. Being interpreted it also allows very well for exploitative learning. C++ is a bad choice, as is Java. It would advocate C3 as well. Hiding the machine I personally don't see as a problem. No single person these days has a complete view of "how-computers-actually-work". Those days are gone. But if you insist than only the C-programming language would adequately convey that knowledge. Kernigan and Ritchi still offer the best way to learn, imho. I totally agree with the last comment. We seem to forget that children and youngsters are very capable of construction and quick learners.

    10. Re:Programming is essential by Casandro · · Score: 1

      Of course, but I believe we need to differentiate between 2 goals. Computer Literacy and professional Computer Literacy.

      BASIC is great for the first purpose. It shows people what you can do with a computer. It's a "toy language", you press some buttons and it makes some noise. From that you can explain concepts like loops and such. It's like teaching children how to write phonetically. It's not really proper, but a stepping stone towards true literacy.

      However it's wise to go further with a language like Pascal. Such a language can teach children the finer aspects. Like how to structure a program. Pascal has a lot more overhead. You need to define variables, you need to have a header to your programs, etc. The main purpose of it is introducing the beauty of structure and discipline in programming. It appeals to an older audience.

      C is probably one of the worst choices. It claims to hide the machine and makes many things ackwardly hard and complex. It's very hard to get to a point where the student can derive motivation from what he does.

    11. Re:Programming is essential by joking · · Score: 1

      But do you want to teach programming with a "toy language" with so many flaws? A toy language to teach the basics (no pun intended) of loops and decisions would be Seymour Papparts turtle graphics language "Logo". As for hiding the machine. My claim was just the opposite. C doesn't make a great effort to hide the machine so if that is the objective, as was argued by Casandro, than C would be the only choice, apart from some sort of (macro-) assembler. But indeed not a very likely choice for computer literacy. No, I'm afraid BASIC, and Visual Basic for that matter was and is imo a language that teaches bad programming practices and should therefore be avoided.

    12. Re:Programming is essential by Casandro · · Score: 1

      Well Logo is hard to get, but it would certainly be one of the more interresting languages.

      The problem with C is, that it hides the native structure of a machine language program, but not the pitfalls.

      On a BASIC computer you can just go there and type:

      10 print "Hello World!"
      20 goto 10
      run

      And you have something interesting. It's also interactive. You can just enter print "Hello World!" and just execute that line.

      Please do not confuse BASIC with those "new BASIC" languages like Visual Basic. Those are essentially useless. If doesn't have mandatory line numbers it is not BASIC.

    13. Re:Programming is essential by Anonymous+Cowpat · · Score: 1

      Fortran is not a teaching only language it's still got plenty of mileage left in physics and engineering.
      When I was studying for my Masters, we were taught C rather than Fortran because Fortran 'isn't a real world language', they then promptly gave 1/4 of the class projects (worth 1/3 of the entire course) that required them to modify existing code written in... Fortran. But, because Fortran is so simple to learn they got away with it.

      You don't give 14-15 year old kids the opportunity to trip up every 5 minutes with 'silly mistakes' which exist for no purpose (e.g. linking the math library). They won't keep working their way through it, they'll get frustrated & give up.
      Compiling is a simple command line. Linking is done by the compiler. Array bounds are dealt with by the compiler - if you want to introduce keeping on top of them yourself so you can get a faster executable, that's a good idea, but you don't do that in your introductory programming course.
      I also don't see how you'll get to any pretty visualisations in a normal school-length course if you're starting from the ground up, which you wouldn't do anyway, because only about 3 people will be willing to suffer through array hell.

      Think of it like building a house. Python is like getting a prefabricated house, and bolting the sections together. Fortran is like building a house from bricks and mortar. C is like building a house from just bricks, and you have to make all the bricks by hand first.

      It's much harder to learn how the gubbins works if you're shown it without explanation some time earlier, than if the first point that you're shown the gubbins is when they're explained to you. If you teach the kids "you need this switch, and this name, and put that line there... It just needs to be there to get this working. Look, it says hello world" they'll start thinking about what that switch does, and that file with that name, and what the command in that line which has to go in is for. Most of them will get it wrong, and once they've got a wrong idea, it's MUCH harder to solidy put it right.
      There's too much to take in at once starting on C, you inevitably have to skim over various things, and that's where the risk of them getting the wrong end of the stick creeps in. It's much harder to get someone currently holding the wrong end of the stick to hold the other end, than to present someone not currently holding a stick with the right end.

      --
      FGD 135
  91. Re:"IT" shouldn't be a class, it should be wholist by davidwr · · Score: 1

    Students should also learn to find information on the internet, and they should learn what sources they can trust.

    <cynic>Once you do the 2nd you'll never use the Internets again</cynic>

    *joke*

    Seriously, you make a very good point.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  92. Maybe a multimedia engine. by Samurai+Crow · · Score: 1

    More Python is a good thing. If you want to inspire creativity, there's nothing quite like a good multimedia engine like http://www.sfml-dev.org/ or a 3D game engine like http://www.panda3d.org/ for higher levels of creativity. The only downside to these is that they'll require decent implementations of Mesa to implement OpenGL graphics capabilities. Also some teachers are annoyed when computers make noise so they cannot hear what's going on in the classroom so you may want to hold off on the music part of the multimedia.

  93. Seriously? by uvsc_wolverine · · Score: 1

    Yeah...because I want to tell you how to train the future labor that will take my job when it gets outsourced.

    Uhhh..I mean...yeah...teach them...Fortran...and Windows for Workgroups 3.11. Those are useful skills. Novell Netware (and Groupwise) administration is also big. Active Directory is just a passing fad.

    --
    This space for rent...
    1. Re:Seriously? by Anonymous Coward · · Score: 0

      Asshole, you'd better watch your ass. Soon, it'll be them outsourcing to you. High time you started learning Indian English and speaking in 'Indian accent'.

  94. Logical Trouble shooting by Anonymous Coward · · Score: 0

    Basic logical trouble shooting... Not make sure the power cord is plugged in but more of the thought process behind trouble shooting. Almost everything in the ICT world follows a logical process. Trouble shooting logically make a huge difference in who I hire.

  95. Complete basics by next_ghost · · Score: 1

    You should avoid teaching user interface of particular programs as much as possible. You should teach the concept of those programs by making them do the same thing in two programs which have as different interface as possible. Don't forget that when those kids leave high school, most user interfaces will be different, only the basic concepts will be the same. When you teach text processors for example, you should teach OpenOffice in the first half of the lesson and LaTeX in the second half. You should also explain that they shouldn't associate file formats with particular programs in their minds. Show them that they can use more than one program to complete a task which might be almost impossible in any of those programs alone. Encourage them to be creative in solving problems.

    Now for what you should teach them:

    • Basics of data storage - what's a file, what's a directory, what's a file system and how to navigate it (preferably both in command line and GUI)
    • Typing - if you have to think about which key to press, you have no time to think about what you actually want to write
    • Internet basics - sending and reading emails, browsing web and searching
    • Text processors - don't waste time explaining each text format option, make a competition who can find the most in 15 minutes in OpenOffice. Then explain how to create and use paragraph styles and other "advanced" formatting like page breaks. When the lesson is over, they should understand that making lots of spaces and blank paragraphs for page layout is wrong. Teaching the same thing in LaTeX should help them understand why.
    • Spreadsheets - don't waste time on pretty colors and frames, teach them to use basic formulas and introduce conditions. You could explain the concept of conditions in an "if ... then ... else ..." game: you tell a student some if-then-else statement with 2 simple tasks and he has to chose which task to do (eg. stand up, open classroom door etc.) according to the condition.
    • HTML - teach them the basic HTML tags and CSS basics (just how to properly change font color etc.) and explain the importance of standards.
    • Simple scripting - teach them the basics, what's a variable, what's a constant, how to write simple loops, conditions and functions. I think that algorithms will be beyond the scope of the class but you can use them as examples. You should use both Python and some shell, for example BASH, to encourage creativity in solving common tasks.
  96. Give them Power by thethibs · · Score: 1

    From your description, the intent is e-literacy, not turning them into professional programmers. The 8th grade curriculum will go a long way.

    On the other hand--these are mid-teens. Your plan for 9th and 10th grades could only be described as insulting. They're up to much more of a challenge than that. You don't want to bore them.

    Give them all of Python and watch them chew it up. Also, give them a real power tool to instill a proper two-fisted attitude about the power a computer makes available--give them Processing (processing.org). If you really think they're not up to that, then at least give them Squeak.

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    1. Re:Give them Power by OrangeCatholic · · Score: 1

      >give them Processing (processing.org).

      Pretty cool. I said "make them do mandelbrot." Processing did.

  97. Boolean Logic by Tablizer · · Score: 1

    Boolean Logic

  98. Start at the begenning by tombeard · · Score: 1

    Have them breadboard up an 8 bit microprocessor with toggle switch inputs and led outputs. Then show them how to program it.

    --
    The reason we subjugate ourselves to law is to better procure justice. If law does not accomplish this purpose then it m
  99. Art of Programming by Anonymous Coward · · Score: 0

    Hand them a copy of Knuth and a lisp implementation and give them a free period.

  100. Collaborative proof-reading by harmonica · · Score: 2, Informative

    The existing English book linked above http://itschool.gov.in/pdf/icttb8_eng.pdf should be corrected first. I'm not a native speaker of English myself, but there are some nasty mistakes in there ("several information", p. 28; "a facility in Internet", p. 31). Maybe there could be a wiki process to proof-read / improve the book? Come on, father of the Internet "Winton Surf" (p. 30)?

    Plus, the layout is really ugly. And sometimes wrong in weird ways ("2004" in column 2 followed by "originated" in column 1), a change of columns in the middle of the page (p. 7).

  101. Scratch by MichaelSmith · · Score: 1

    Recently somebody pointed me to Scratch. Its a simple, fun, programming tool. It is aimed at kids eight years and above but I am sure it would be appropriate for some 14 year olds too. My dad is teaching computer skills at U3A. He is interested in using this tool in his classes.

  102. A+ by delta98 · · Score: 1

    would be completely fitting for an all around. I'm sure that by 9th grade most if not all students are pretty well able to pass the current exam. I think it fails the 3W test but it's something that should at least be taught.

  103. Nothing by Anonymous Coward · · Score: 0

    Here is a list of all the information technologies that I used in grade school that were still relevant 10 years later:

  104. Programming by bart416 · · Score: 1

    Programming is a great exercise. But please don't teach them Java, Basic, C# or Ruby. We already have enough of those idiots on the internet... Teach them C and C++, it might be harder but it'll help them a lot later on.

  105. Real basics: how to write, how to think by Kittenman · · Score: 2, Insightful
    Back off from vacuum tubes, bits and bauds. I've been in the business for 30 years (yeah, get off my lawn ... so?) and have been plagued by graduates who can't think coherently, listen to other people and put together a report/paper/spec. that is clear and understandable. Analytical thinking, mixed with good grammar and punctuation.

    I still program - among other things - and a well-written spec from a well-thought-out idea is a pleasure.

    Needless to say, these skills transfer to other walks of life...

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  106. Teach Them That Computers Are Not Magical Boxes by McNally · · Score: 4, Insightful

    Some of the responses so far seem to be based on the assumption that this is an information technology class for students who intend to specialize in the field. I'm assuming, rather, that this is intended to be a basic primer class offered to everyone and intended to give a general grounding in the subject.

    My suggestion is that you start by talking to adults to find out what they do and don't understand about the technology they use. In my experience (20-some years' worth of dealing with end users in various capacities) many, probably most, adults have an extremely limited idea how the technology they are using really works in the physical world and deal only with it as an abstract unit. And some of the assumptions they make based on the mental model they have built up lead to really bad decisions because they don't understand very basic concepts that the rest of us take for granted.

    To give an example: perhaps the single most misunderstood concept I encounter is the notion of storage. A great number of people seem to have no idea what actually happens on a computer when they save something. Generally they don't understand the difference between various types of memory (i.e. the difference between temporary short-term storage in RAM and long-term storage on a file system on some sort of disc or flash device. They have a very limited understanding, if any, of the filesystem and the concept of hierarchical organization. They are generally unable to distinguish between the various components of their system (e.g. display, CPU, input devices, file storage.) These are things that seem idiotically simple to most of us because we have completely internalized the knowledge, but deal with people who don't have the same underlying framework and you will soon see how it affects their reasoning about their computer.

    People with this sort of limited understanding of the computer as one abstracted whole, a magic box that they interact with, generally get along adequately as long as everything is working the way they expect but as soon as they run into any sort of exceptional circumstance they have virtually no recourse because they have no real understanding from which to base hypotheses about a possible cause for the problem or method for proceeding. Their ability to use their systems is therefore fragile and subject to disruption from virtually any sort of unusual situation.

    If you've worked in the field you've seen this over and over and over again and you can probably call to mind some of the unfortunate results of this kind of shallow understanding and "magical box" mindset.

    I think the best thing you can do for kids just getting started (though I think 9th grade is pretty late to be getting started) is to help them understand that computers are not magical and that their behavior is not arbitrary, that with the proper basic understanding of what's happening most of what follows can be predicted by fairly straightforward logic.

    1. Re:Teach Them That Computers Are Not Magical Boxes by AlexiaDeath · · Score: 1

      The poster above is 100% correct. Getting an overall understanding of the functional parts of a computer is a crucial thing yo call someone e-literate. Heres a list of things that a person Id call e-literate knows:

      1. Basic hardware - Storage types and confusion between RAM and hardrive is disturbingly widespread. Even worse, with desktop computers, people often fail to identify parts I've asked them to bring me for repairs. Often when I i just need the computer, I get the whole lot and in one case, just the monitor. Basic concepts of how programs can (over)load a computer should be part of this aswell.

      2. Basic filesystems - I've seen otherwise pretty competent computer users struggle with the basics of using the file system. "I saved it but I cant find it any more!" is pretty common. Opening a document in word to copy it to another location is also common. Its something that Id definitely see as a part of e-literacy.

      3. Basic file formats - Another not really understood concept is file formats and Windows habbit of hiding file extensions isn't helping anyone really there. More than once Ive seen "broken" excel files, saved without an extension and conversion understood as just changing the extension etc.

      4. Basic networking - Cables and wifi up to the internet. Basic connectivity troubleshooting.

      5. Basic security concepts - From not putting you personal information on the internet to not running untrusted code and finally putting security risks in the family on restricted accounts in their own computers.

      And all of this should be OS agnostic. Best if same things are exhibited on both say Windows and Ubuntu.

  107. The equivalent of the scientific method by seifried · · Score: 3, Insightful

    You should teach them the equivalent of the scientific method. Teach the kids how to learn and explore and how technology impacts them. This means giving them some fundamentals like what data storage looks like (hard drives, servers, things like facebook) and what it means to them (privacy, control of information, theft of information, etc.). Some basic networking and what encryption/authentication is and does (prevent eaves dropping, impersonation, etc.). Maybe some real world examples like social media sites, posting videos on youtube, and how once you have done that, because of the way the technology works they can never regain control of their data (only one person has to copy it and re-release it).

    Also _please_ teach them about copying/distribution and indexing of information so they get a basic understanding of why posting drunken photos online may not be a good idea long term. Teach them about privacy, fair use and so on.

    1. Re:The equivalent of the scientific method by Anonymous Coward · · Score: 0

      why not just teach the scientific method?

  108. Too many Indian tech workers already, forget IT by Anonymous Coward · · Score: 0

    You guys have too many people in IT already. Stop teaching them about IT and maybe I won't have to listen to Mumbarlalalalajajajaahahhahahahabaladad try to figure out how to properly speak english.

  109. One thing by roman_mir · · Score: 1

    Just teach them one important thing, all IT stuff is moving to India.

    Oh, wait,

    "Background: This is for the public school system of the state of Kerala, India . The state has near-total literacy (we achieved this goal in 1991 following a massive literacy drive), and the government is keen on achieving total e-literacy as well. This drive for e-literacy -- and the school curriculum that is the subject of this question -- is based entirely on free and open-source software; the school system uses a customized version of Debian for teaching purposes.

    Khaaaaaaa... I mean, Nooooooooooooo!

  110. Give historical info incl. hackers & laws by Anonymous Coward · · Score: 1, Insightful

    1. The importance of OSS, patents, and digital rights.

    2. Historical background info, including the role of things like media, the courts (EFF) and hacker/infosec culture.

  111. MORE IMPORTANT by loosewing · · Score: 0

    Tell Them Not To Use Caps When Posting * You KIDS ARE DRIVING ME DEAF!

  112. Never use Windows by gig · · Score: 0, Troll

    I do freelance creative work and it is extremely frustrating that everywhere I go where there is an I-T department they give me a Windows XP computer that can't do anything reliably except fail. I always have a Mac, iPad, and iPhone in my bag which I use to get work done. The person sitting next to me where I'm working now, who is also a freelancer, uses her own Ubuntu notebook and an iPhone to get work done. Both of us are seen as miracle workers by our boss who is on the other coast and can't see that we don't use any of the tools they issued us. This company has a whole floor of I-T people patching their Windows systems, yet we 2 freelancers are more productive with what we have on us. We were asked to sign up for Windows 7 training and we just laughed our asses off.

    When I see an I-T person with Windows, I just know that person will not help me be more productive. That is not even on their radar. They won't know the company business, they just know when support for a particular Microsoft product is ending and what replaces it, and how to brush off user complaints that this is just another Microsoft remix with no helpful features that will cost them time and effort with no reward.

    1. Re:Never use Windows by OrangeCatholic · · Score: 0, Troll

      >This company has a whole floor of I-T people patching their Windows systems

      I find it bizarre that Windows is used in the business world in these large-scale deployments. If you have a secretary who browses the web and uses Excel, fine, that's what Windows is for.

      Anything networked is not Windows friendly. Any job where the employee uses 2-3 custom applications all day long (besides MS apps, office, whatever) should be locked down so those two applications run as fast as possible.

      Every day I have phone support people complaining that their computer is slow. I've stopped asking if it's Windows because it's just embarrassing for everybody involved.

      But I suppose MS got a good headstart for having a stable user experience. I can't see programming on Windows, but then again, I've never written a GUI. And I'm not sure I'd want to write THAT on linux.

    2. Re:Never use Windows by KingMotley · · Score: 1

      If you can't do anything reliably on a windows XP machine, I suspect it isn't really the OS's fault. It's true that there are a lot of really bad IT techs out there, but that is more than likely because the companies you are freelancing to have chosen to only pay a pittance, and anyone worth anything isn't working there.

      I too freelance for a living, and when I walk in, there is typically a bunch of people that don't have a clue, but I've seen that on both the mac and windows side. They call me in, because they simply don't have the expertise to do what they want, so every job I take I'm doing things no one in the company can do themselves, or they probably would.

    3. Re:Never use Windows by Anonymous Coward · · Score: 0

      Sounds like you're supporting a whole floor of retards. Anyone with an IQ over 40 can keep a Windows system clean.

  113. Hex. by Anonymous Coward · · Score: 0

    We should be teaching ninth-graders how to practice safe hex.

  114. do somethng besides "I.T." by Anonymous Coward · · Score: 0

    The biggest favor you could do for a 9th grader is tell them to do something else with their life besides I.T.

  115. Python is not a "learning" language. by Jane+Q.+Public · · Score: 2, Interesting

    Personally, I feel it is a mistake to jump straight into an object-oriented, dynamic language without learning some basic concepts first. I think Python is a lousy choice for a first programming language. There is too much high-level "magic" going on that hides its underlying operation.

    C is also a bad choice, because of its syntax and reliance on pointers. Pointers are actually a fairly advanced concept, not suitable for beginners, not to mention that C's notation for pointers is inherently confusing. Yet you can hardly do anything meaningful in C without them.

    Several modern versions of BASIC (NOT .NET) and PASCAL are good choices: both languages were designed for education, both (unlike Python) have a consistent and straightforward syntax, both have straightforward means of creating structured elements (functions & procedures), and using both, you can then move on to more advanced concepts like pointers, objects, etc. Further, the "white space is significant" paradigm of Python is not something I would inflict upon young students. That is just a syntactical convenience for those who already understand how code blocks work. I believe it is totally inappropriate for beginners.

    Further, dynamic languages like Python and Ruby do not teach or enforce good coding discipline. Many people (myself included) feel that a more rigid language like Java is a major pain to code in, now that we have learned the more dynamic languages. However, I appreciate Java because it teaches discipline: how things are and should be structured, how classes interact, etc. Then moving on to Python or Ruby is great. They give you a lot more freedom and flexibility. But they won't teach you how to do things RIGHT. They allow you to be sloppy... even to the point of ruining your programming project. Jumping straight into the "sloppy" languages, without having first learned good coding discipline via something like Java, can lead to programmers writing disastrously sloppy and inefficient code.

    It seems that you may not have a choice about Python, which is unfortunate. In any case, I agree that loops are probably what you should move onto. And while someone else here made the point that specific sorting algorithms are less important today than they once were, sorts are an excellent way to demonstrate the practical use of loops, while also introducing the concept of algorithms.

    Also, besides backups I might introduce the important concept of version control. Either SVN or GIT might be suitable for teaching the basics. But I don't think I would go into much depth for people at this level.

    1. Re:Python is not a "learning" language. by OrangeCatholic · · Score: 1

      >C is also a bad choice, because of its syntax and reliance on pointers. Pointers are actually a fairly advanced concept, not suitable for beginners, not to mention that C's notation for pointers is inherently confusing. Yet you can hardly do anything meaningful in C without them.

      I've argued for C, but this is true.

    2. Re:Python is not a "learning" language. by hendrikboom · · Score: 1

      Strongly suggest Scheme, with the How To Design Programs textbook (available free online or you can pay for paper), possibly using PLT Scheme (now called Racket -- it has changed its name) and its teachpacks. It's really about the mental processes one goes through to get the computer to do what you want, instead of just what it happens to do. It's about teaching students they are in charge of the machine, not the other way around.

  116. Re: by Anonymous Coward · · Score: 0

    Logo is a great language for teaching. Students can set their own objectives and solve them. It also teaches geometry. Students will learn loops quickly enough if it allows them to draw octagons and stars.

  117. Ninth Grade, Ninth Grade by Cronkodile · · Score: 1

    I feel like some suggestions are missing the target of age. I had required typing classes in my school sixth and seventh grade, BASIC lessons in fifth grade, and as an extracurricular in ninth grade I was starting to get into calculator assembly. Yes, many people who come out of seventh grade typing leave a lot to be desired, but I don't think the mentality changes between 7th and 9th grades. If kids see typing class as a reason to screw off, I doubt ninth grade will roll around and all of a sudden they'll say "WOW, this is a skill that I must know". Another thing to keep in mind is that (at least for my school system experience), 9th grade is when the concept of core classes and extracurriculars are introduced. I assume that most of the kids that will be in this class are of the type that would WANT to learn the class' content, rather than just randomly thrust into the curriculum. I think that changes what would be taught to them. Programming, Logic, How The Internet Works (subnets, webserver, DNS), some security, software, the difference between HDD and SSD, etc.

  118. how to show grandpa to get on Craigslist by Anonymous Coward · · Score: 0

    enabling senior porn will be a specific job skill in the future

  119. Meeting strangers by happymark · · Score: 1

    What to do when meeting an online stranger? 1. Tell parents where's one going 2. Meet in public places 3. Go with friends

  120. This is what I would do by homerhomer · · Score: 1

    Here's a couple of things that come to my mind. 1) What is IT? it's not just for Programming. Go over the world of what people do in the working world of IT. 2) What is a OS? Discuss the primary OSes and there benefits / downfalls ( start a in class flame war ) . Microsoft - 90% market share of users and viruses. Apple - Spendy, but less maintenance, designers use them to make Microsoft Ads. Linux - Who? Runs Majority of super computers. Free. ** - Remember diversity is good. 3) Understanding client–server model. http://en.wikipedia.org/wiki/Client%E2%80%93server_model 4) Programming "Hello World" and maybe some functions.

  121. Field trip by SirKron · · Score: 1

    Take a field trip to an elderly care facility and have each student try and teach a resident one-on-one something technically simple, like turning on the computer and performing a video phone call. During this process they must follow the process of submitting a help desk ticket, responding to the ticket (the lesson), document the solution, and finally, close the ticket if and only if their student could correctly perform the topic from the lesson.

  122. one thing... by Anonymous Coward · · Score: 0

    Ethics.

  123. Goatse wallpaper? by Fippy+Darkpaw · · Score: 1

    Teach them how to: (1) change the desktop wallpaper to Goatse or Meatspin. (2) edit Windows registry to remove the options to change it.

  124. I'm in IT - here's what I learned in 9th grade by zerofoo · · Score: 1

    I learned how a computer works before any IT concepts were thrown my way. Here is the stuff I learned at the beginning of High School:

    1. How a stack machine works.
    2. How a computer program works (via Pascal).
    3. How to input data.
    4. How to store data (arrays, linked lists, hashes...etc)
    5. How to manipulate data (sorting, performing mathematical operations on data, building functions...etc)
    6. How to output data in useful form (output to file, screen print)

    OK, I admit, I learned to program on a CoCo 2 in basic well before High School, but complete novices were also learning this very same stuff in 9th grade.

    Learning how a computer works, and eventually getting a CS degree helped me be a better "IT guy".

    -ted

  125. Basic logic by Anonymous Coward · · Score: 0

    Teaching a general college course on IT literacy, I find that some of the math fundamentals specific to computing are not always taught: Logic, proof, number systems, whole numbers.

  126. Basics by KingMotley · · Score: 1

    I would start with teaching them bits, bytes, words, longs. Perhaps spend a chapter on the actual hardware itself. This is a CPU, and it's responsible for.. This is RAM. Video card, etc etc. Then teach them how to do simple math, add, subtract, and how to do multi-byte/word math with carry. Then move into high level data concepts, queues, stacks, trees, linked lists, double linked lists. Teach them to work with stings from a high level, so they understand why string concatenating in a loop is bad. Then start with a few procedural routines, and then finally move into simple OOP concepts, perhaps.

  127. Logic by Lord+Kano · · Score: 1

    Before they get into the specifics of anything computer related, basic logic should be in there.

    LK

    --
    "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
  128. Basics for basics by Anonymous Coward · · Score: 0

    I taught my 12 year old when he was 11 the basics of a PC. Processor, different speeds of memory (hardrrives, on board/RAM, on chip etc), input and output devices and power and the special case of the video card, the PC inside a PC. It is that simple at this level and since a lot of IT related work revolves around PCs and individual devices I thought it was of value. That and he can go crazy and try to build his own PC if he feels like it.
    Understanding that every part has a function and what that function is was important to me.

  129. pyglet maybe? by Anonymous Coward · · Score: 0

    pyglet: a cross-platform windowing and multimedia library for Python.

    1. Re:pyglet maybe? by cervo · · Score: 1

      It seems like a cool library. And it may be okay because I seem to remember we did Turbo Pascal and Borland C++ 4.5 in Jr. High and the graphics libraries were pretty complicated (I recall all sorts of initialization code that had to be done).

      Still QBasic had much easier primitives (LINE, Circle, Paint, and I think PSET but I may be getting it wrong). Anyway it was just super simple to do without any fancy initialization. And using loops it was easy to make lines grow/shrink or circles expand/contract and do all sorts of odd things. It was just plain old fun as a normal programming language statement. It seems like you need to deal with events in order to use this library and also objects. While in QBasic in a single LINE statement you can draw a line, no other knowledge needed. So this seems like it is harder to get started...

    2. Re:pyglet maybe? by gphilip · · Score: 1

      Thank you. This could be useful.

  130. I was in grade 11 at 14, maybe that is the problem by Anonymous Coward · · Score: 0

    Perhaps, this is the sort of thing that is plaguing our education: not the content, but the context.

  131. programming. Anything. by __aazsst3756 · · Score: 1

    Our ninth grade computer class was programming. We even had competitions with other schools. Those same classes have been replaced with learning Microsoft Office, and the inter-school competitions are naturally gone as well.

  132. 640 YB by ian_from_brisbane · · Score: 0

    Teach them that 640 yottabytes of RAM isn't necessarily enough for anybody.

  133. what has been put on the internet is... by KarolisP · · Score: 1

    PUBLIC. and they can do nothing about it also add Streisand effect to it (should make a good impression) also add some "jokes" gone bad from failbook or similar (as ilustrations) they do this everyday, and might just not know what they do untill they see others screwed, so if you have a chance make sure it's not them on the recieving end

  134. How many computers do you have per class room? by Anonymous Coward · · Score: 0

    A few years ago I participated in FOSS.in, and I heard a wonderful talk about computers in Indian public schools. As far as I understand a lot of village schools have one computer per school. If this is true then most of the ideas in this thread are far too complicated. They have no chance of succes. You should focus on making the students familiar with the computer. Teach them to write a simple document. Teach them that the internet exists. Don't get started with python. That will not fly.

    I personally teach 10th grade students in Europe, and right now we are teaching them to use a spreadsheets to treat the results of their physics experiments. Last week they plotted volume versus weight to get the density of water. Spreadsheets is a useful skill that they can use later on, and at the same time it teaches them some basics about how the computer works. That is a good start.

    But you will run in to a problem of designing exams. The Indian school system is very much focused on exams, and the exam largely determines how the teacher will teach. After all his goal is to make the students pass. Sadly is not easy to construct an exam that can test if the student has a basic understanding of computers, and therefore you cannot make sure that the teachers to gives their students a basic understanding of computers. Part of the problem here is that the Indian school system has a lot of corruption, so you cannot afford to make have oral exams.

    The worst case scenario would a pen and paper exam in which the students write a python program without ever having touched a computer. Perhaps the real challenge is to avoid this situation.

  135. Netiquette by LordAzuzu · · Score: 1

    That's what is missing in the new generations of graduates.

  136. Alternate edudcational choices by rtb61 · · Score: 1

    Never forget to add simple html and css and for coding ruby. All three provide immediate feedback upon what is being entered. The advantage of ruby over python is the interactive shell, where output can be generated for each line of code entered.

    --
    Chaos - everything, everywhere, everywhen
  137. Things of practical value? by ScaledLizard · · Score: 1

    I would propose to give your students something of practical value. Before you jump into programming with them, make them understand that they should start to program only when necessary. For example, many people underestimate the power of spreadsheets. If you can express a program as a single function, mark all cells in a spreadsheet, and copy the formula into that block, what you get in essence is a Turing machine with limited storage. Meaning: this can compute anything the human mind can compute. And often all that is needed to solve recurring mathematical problems is a well-designed spreadsheet. This will teach them a lot about programming already: they will have to deal with the fact that certain dependences between cells would lead to infinite loops, and how to solve mathematical equations using assignments.

    Whether you want to teach this with Microsoft Office or with Open Office may not matter from a theoretical point of view, but please keep in mind that they own Open Office for life time, without need for ever purchasing an update.

  138. Version control, wiki by v1z · · Score: 1

    Well, of things that is essential, rather easy, and probably overlooked -- I'd suggest:

      * VCS eg mercurial/git
      * Learning to use a wiki (MoinMoin/Mediawiki)
      * LaTeX (I would suggest Abiword rather than OO -- because OO is an awful, stale reimplementation of MS Word (which, ofcourse isn't original in itself)

    Some info on typesetting, and either with LaTeX or html+css learning to use an editor to write text, and a proper tool to layout text -- either with markup, or using a proper dtp-program. Teach them the difference between structuring text, and displaying text. The old idea that you can format text once -- is outdated and wrong. Today at least three layouts are needed: small screen hypertext, big screen hypertext, print.

    But the single most important concept to teach, would be using version control systems. The second most important thing would be teaching them to cooperate meaningfully -- and for that a versioned wiki might make a good starting point. Or simply use VCS for that as well.

  139. Scratch by BenoitGirard · · Score: 1

    Some of the objectives mentioned here can be helped by putting Scratch (http://scratch.mit.edu/) in the hands of the students. There is a version for Ubuntu (hence Debian) available

  140. Transistors by Anonymous Coward · · Score: 0

    Yes, teach them how transistors work, and how to make logic gates and adders out of them. That was always fun for me when I was in ninth grade! Then again...

  141. Holmes by Joebert · · Score: 1

    the government is keen on achieving total e-literacy

    The first thing I have to suggest, is that you don't have them going around telling everyone they're proud of their 100% "e-literacy". Accents can do strange things to words. In some areas, I'm pretty sure there are people who pronounce "illiterate" "elliterate" to begin with.

    --
    Wanna fight ? Bend over, stick your head up your ass, and fight for air.
  142. what to teach by leaen · · Score: 1

    From my experience in Czech rep. biggest problem is lack of competent teachers.
    Typing skills: Typing skills should be taught as soon as possible. We can divide learning to type into two phases. In first phase child learns a layout. In this phase put emphasis to accuracy and good habits not speed. Teacher should teach children as in any touch typing course.(biggest problem will be teach teachers to touch type.) Because need is best teacher keyboards should have their keys wiped out. Think about using dvorak as english layout. Here I don't know how difficult is to learn layout to person without foreknowledge so you must try it in experimental class.
    In second phase we improve speed. This phase should be integrated into language classes also as effective tool to improve grammar. How and when do you teach english and native language? In second phase every week language teacher dictates a text which students type. We use automatic grading system. If student mistypes some word(we compare it to teacher supplied text) he would be penalized say by 1 point. Mistyped word is marked to provide immediate feedback. If student cant fix it he another 2 points.
    Programing: also should be taught soon like 5th grade. Learning programing is hard till you start think like programmer when it becomes easy. Using python is good choice (but I would prefer ruby). It is better teach variables then arrays, hashes and foreach, then functions and after than if and logic. Doing same thing with many items is natural. logic is most difficult aspect of programming.

  143. Let them do system integration by geggo98 · · Score: 1
    Learning is much easiser when you have some early success. This can be easily reached doing system integration of pre-exisitng components.

    An expesinve possibilty would be something like building a robot with Lego Mindstorms. If you are on a budget, let them integrate some web services, using Yahoo Pipes. You can even spilt them into different groups. An advanced group can add a custom stream to the pipe using Google App Engine.

    By just piping existing components together, they can quickly build an useful web application. With a web application they can cooperate and even show their creation to others. When the application is really useful for them, they will be motivated to tweak it and extend it. Thus they might even be motivated to dive deeper into IT.

    I think the hardest part is converting them from computer and internet consumers to producers.

  144. 9th Grade Tech Curriculum by stewbacca · · Score: 1

    Hey, cool, finally a topic on /. that matches my qualfications (MAEd, Computer Education)!

    So, for starters, let's just throw this out--no "IT" skills should be taught to the general populace at any grade-level. And by "IT" I mean the support stuff like Active Directories and DHCP settings, blah blah blah... Leave that to the kids who want to specialize in the tech field (if their schools have a vocational focus like that).

    If we want to mistakenly call "IT" anything that deals with computers, then the opportunities are endless. First and foremost, 9th graders need to learn how to use their school computers to get stuff done. Don't teach them how to use the software, teach them why to use the software. They're kids, they'll figure out the basics. A harder skill to teach is to get the kids to understand HOW a spreadsheet helps them or how to use the Internet to improve their writing and reading comprehension (not just to plagiarize).

    I've got lots of answers to how to use computers. Unfortunately most schools are going the wrong way (let's teach them MS Office!).

    ~stew

  145. pascal is unsuitable by leaen · · Score: 1

    Pascal is unsuitable as learning language for 9th grade. Problem is psychological. It takes time to know how place semicolons, write begin,end and children with problems will thing programing isn't for them.

  146. Hammer home the concept of data by pnuema · · Score: 1
    Begin with data as a sequence of ones and zeros. Spend five minutes showing how you can convert alphabet into binary and back. Don't worry about making sure the students can repeat the operation; just lift the lid and show how the code works. Remove the magic.

    Next, explain the difference between CPU, hard disk, and RAM. Use the chef analogy (the chef is the CPU - the RAM is the countertops - the hard drive is the pantry). Illustrate that a file has a physical location on disk. Show exactly how many places one can store a small file on a modern computer. Briefly cover the file system.

    Next, show how data can be interpreted differently. A .jpg file is not a picture; it is data that can be interpreted in many different ways. Open it in a text editor and show the date time stamp information. Open the same file in a browser, in word, in paint. Hammer home the concept that the program we use to open a file does not determine what the file is. Close this unit with viruses - data that hides its true nature.

    Finally, expand these concepts outside of the local system. Write a simple html file by hand and display it in a browser. Then go to a website, and illustrate how surfing the web is pulling files down from a remote computer to be displayed locally. Show how local copies are made.

    To close the unit, have the class do exercises where they save data, and have them determine where that data is saved. BY the end of this unit computers are no longer magic.

  147. Skip the programming and backup nonsense! by SatanClauz · · Score: 1
    put a machine on the bench, tear it apart. crack open optical media drives, hard disks, usb media.

    in order to truly understand the whole, one must first know what each part does as it relates to the whole.

  148. Re:"IT" shouldn't be a class, it should be wholist by stewbacca · · Score: 1

    You should check out the integrated-interdisciplinary (I2)curriculum movement. We focus primarily on acquiring computer skills--not by teaching computer skills--by integrating computer tools into every subject ... yes, even Physical Education!

    Take Spanish for example. The I2 curriculum designer writes a course that requires the inclusion of technology...say a multi-lingual podcast, or a translation widget, or a dictionary tool...immaterial as long as it pertains to the subject matter. Then, for the technology "class", they learn how to edit sound, but they do it for their Spanish class. In the end, they get a grade for how well they use the technology AND they get a Spanish grade for how well their Spanish is. In the end, they learn two skills, but they are integrated. It follows that both benefit from each other based on how their relevance is highlighted through their interdisciplinary relationship.

    I have several I2 courses that are in use and published. Spreadsheets and calories for 8th grade PE, iLife and German for high school German, using the Internet for valid sources and literature for high school AP Lit, to name a few.

  149. First, fun and relevant by drusha · · Score: 1

    The course should be first and foremost RELEVANT to kids. Computers are best taught practically, and kids spend pretty much all their time on port 80. Start with the things they like and work backwards, not from bits and transistors upwards. "y'all like facebook? Here's how it works. There's a server somewhere and it talks to your computer. I've got a server here; let me show you how to power it up, start apache, type "boobies" into index.html, have it show up on everybody's laptop when you go to 192.168.1.142." "But what if you want to make the page change? Then there's php." Show them a few scripts. Have a drupal installation to manage the course pages. Give them accounts with admin privileges over some section of the site and have them manage it. From there move on to how apache interacts with the OS, some hints about C, hard drives, things like that. Have them tear apart some old computes, or maybe even build a classroom server from parts. Make it FUN.

  150. Find a good lawyer by Anonymous Coward · · Score: 0

    It is essential that they be taught how to find a good lawyer because we all know what happens to individuals with good innovative ideas. /sarcasm but sadly true.

  151. Like the pdf, but not IT by tbuskey · · Score: 1

    The textbook looks like a good introduction to concepts using computers, but as an IT Systems Administrator, I wouldn't call it IT. Some of the suggestions here are programming, not IT. IT uses programming, but lots of it is user stuff.

    For IT concepts:

    Something on security, using passwords. Maybe explain it in terms of a diary that you don't want a sibling to read & how to ensure that. The issues of sharing too much online.

    How email works. Storing & forwarding. How email addresses are organized.

    How an algorithm works. Math, if-then-else, functions. This plus this. Use a spreadsheet. Use a programming language. Use Openoffice macros. Use javascript. Teach concepts.

    Teach file organization. Grouping files. Sorting, date formats. Moving files, copying files, backups. Age of data.

    Teach about tags, metadata (data about data). File sizes.

    Tables, statistics, graphing. How to use it to measure something over time. Outliers. Measuring something scientifically like time/distance, temperature, etc.

    1. Re:Like the pdf, but not IT by gphilip · · Score: 1

      Thank you. We can use many of these ideas.

  152. Security security security by rgviza · · Score: 1

    I'll say it again and louder, SECURITY SECURITY SECURITY
    teach them about firewalls, anti-virus, no-script, dialers, drive bys, email links, phishing, trojans, malware, wireless security, passwords, chat rooms, pervs etc etc.

    If their computer is useless because it's the computing equivalent of a contaminated petri dish, the rest of it doesn't matter.

    An entire year should be devoted to security, and should be done first before anything else is done. It needs to be drilled into their heads that their financial, legal, physical, and technological well being is dependent on being secure, keeping the crap out of their environment, not disclosing personal info (like addresses and phone numbers), and otherwise treading carefully.

    If they meet some perv in a chat room and become a statistic, or post their address online and disappear, the internet wasn't very good for them now was it?

    Security is THE most important stuff they need to know about the internet.

    For the sake of all that is holy, teach them this stuff first. Security is your biggest priority in technology education. It should come first before anything else, taught as it's own subject, and then reiterated and applied every time you teach them about another internet technology.

    --
    Don't kid yourself. It's the size of the regexp AND how you use it that counts.
  153. Don't be boring by necro351 · · Score: 1

    I realize you are a teacher, and so please don't misunderstand, but when I was younger, learning to program was an _escape_ from the regular cirriculum that was forced upon me. I looked forward to sitting down and learning how to program, including scooping up any algorithms or math that would help me along the way. I wanted to write the first AI, and experiment with video games. Please please PLEASE don't teach students about bandwidth, how files are stored, or pretty much _anything_ that involvres paper, pencil, falling asleep in class, and tests. Even if its not supposed to be a programming class, just teach them how to program, the IT concepts will come automatically, and the students will be much happier.

    You could go with Flash, python, or if you are daring, C/++.

    --
    --"You are your own God"--
  154. Teach the basics. by RobitusinZ · · Score: 1

    #1) Typing. I learned to type in the 9th grade while being taught about WordPerfect (that was the common word processor then). 15 out of 30 minutes of my "Keyboarding" class was dedicated to practicing finger-strokes, while the other 15 minutes were used to actually complete assignments using the word processor. #2) Writing a proper, professional email. Figure out some standard, then teach everyone to abide by that. In fact, I think they should remove standard letter writing in English/grammar classes and instead teach how to write proper emails. For example, when making a request, the request should be explicitly stated. Proper signatures should be discussed (i.e. what is and what isn't appropriate, proper contact information, etc) #3) Basic spreadsheet use. No, they don't have to know how to use macros and all that junk (I'm an IT professional and I've never bothered), but everyone should know how to sum a number of cells or create basic charts. #4) Basic troubleshooting. Look, all software will have bugs. The most important thing for the lay user to learn is "computer resiliency". That is, if something breaks, try it again. If it breaks consistently, then the problem is likely beyond your control and you can kick it up to the next level (i.e. hire a professional, or contact tech support). #5) Basic software engineering. Grab the language-of-the-month and have the students write a simple, "Hello World!" program. This should serve to show them the huge complexity of modern-day software. Not every 9th grader is going to end up an IT professional, but they will eventually have to work with IT professionals. Having a basic understanding of how complex your requests are should temper expectations and allow for better working relationships. #6) Variable manipulation. The idea of "variables" is often too alien to non IT-professionals, yet it's an incredibly powerful tool for evolving thought processes. Once a person can strongly grasp the concept of variables, they can begin to recognize patterns, which leads to a big jump in analysis abilities. #7) Proper syntax. Reinforce the idea that computers are big, dumb boxes that take an input and deliver an output. If they put garbage into it, they get garbage out. This is important not only for computers, but in dealing with other people as well. People have allowed language to degenerate because they simply don't care enough to write correctly. Help do away with this apathy.

  155. Teach them some hard lessons by Anonymous Coward · · Score: 0

    I like all the talk about backups, password security, etc. These, of course, will just be abstract concepts until they actually experience them themselves.

    Explain a the start of they class that they will be required to keep regular backups of their assignments and they will need secure passwords. Suggest methods for secure passwords, and methods of data backup (Simple stuff. USB flash drives, online storage, etc)

    Data backup lesson -

    Students come in for class that day. Announce that "Oops. Sorry. Server goofed and all of your files on the server were wiped out.. You kept a backup, didn't you?"

    Password security -

    After hours, run a password cracker against their student accounts. Promptly wipe any accounts if their passwords are found. When the students come in for class announce "It looks like a few people got their accounts hacked yesterday. Their passwords were X,Y,Z,etc.. I sure hope they kept backups."

  156. Security by Anonymous Coward · · Score: 0

    In a phrase "Social Engineering". The art of not giving out too much information.

    This would help on their Facebook pages as well, and that future employers will look at their digital past.

  157. I guess all my classes were integrated by davidwr · · Score: 1

    Growing up we had arithmetic in elementary school, but we had a LOT of arithmetic in social studies, science, and other classes including PE.

    We had trig and higher maths in science class.

    Oh, and we got "you throw the ball, it makes an arc, you let go of a ball, it drops" physics lessons in PE from preschool on up.

    Oh, and we used word processors, er, I mean pen and paper, in almost every class.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  158. How to Reload an OS by Anonymous Coward · · Score: 0

    How to Reload an OS - especially Linux AND Windows. Sure, they will get more practice "emergency reloading" with Windows after all the viruses, but they can practice over and over with Linux and not worry about license.

  159. Planning to do the same for earlier age by Chimel31 · · Score: 1

    That's a great idea, too many people know how to use computers, as per your current ICT program, but don't really understand them. I was planning to start with a PC building workshop, because it's easier to relate what you learn to a physical object. Bringing a dismantled cheap PC, showing around the components and explaining their role, then building the PC together. Building a modded custom PC would be even better, with a laser-etched logo of the school on the side panel and a good paint job. I don't think you can convey the same notions or expect kids to memorize them if you are using only textbooks.

    Then start on the software part, showing the need for higher level languages than binary and 8086 machine languages (start with the usual joke "there are 10 types of people, those who understand binary, and those who don't").

    Your ICT program seems to leave out programming completely, so introducing algorithms and programming concepts would be great indeed. The Towers of Hanoi is for instance a classical fun puzzle to solve via software and introduce recursivity. Or the Urinal Problem! ^-^ Again, applied learning might work better than just theoretical notions. Kids at your school would probably have many ideas of small applications that are feasible to develop within a year. Or take inspiration from movies, for instance try to reproduce the school grade hacking in War Games.

    The way you're concerned with ICT learning, I'm sure we'll soon see even better generations of Indian IT engineers soon!

  160. Get them hooked and they'll teach themselves! by L-Fan · · Score: 1

    I got my 14 year old game fanatic hooked on Doom on line. Then I downloaded the SDK, and showed him how to modify the attributes of weapons he was familiar with. Came back from a trip three weeks later - to find he was running a node on one of my servers with seriously powerful weapons at the entry level. He ended up with the game developers reaching out to talk to him, about how he'd done what he'd did. Thirteen years later, he has a BSc in Software Engineering, and is doing his PhD. Moral of the story? Get them hooked on what they already like - and use that to develop skills and interests. Note: The Doom SDK is available on-line for Linux. L-Fan

  161. nada by Anonymous Coward · · Score: 0

    Nothing! If we teach the kids, one day they'll be gunning for our jobs... keep them just dumb enough to be advanced users and we'll all be better off.

  162. There Are No Magical Boxes by JaBob · · Score: 1
    There are no magical boxes, but there's a useful point on the knowledge spectrum to start with for just about every kind of tech there is out there. I'd never expect my mother to have to belt out something in assembly just to be able to edit the photos of the grandkids and mail them out to the family. But I would expect her to be able to understand that the computer is just another tool people will use to help them do work, and that will do what you tell it, no more and no less (assuming that it isn't broken.)

    For my mom and most other people, I liken it to cooking (hey - I don't care who you are or what you're interests are, we all eat and most of us can't afford to have someone else cook for us our whole lives.) You don't have to know the laws of thermodynamics and chemistry and be able to calculate all the heat transfer properties and intermediate chemical reactions of the ingredients just to be able to bake a cake (or cookies if you think the cake is a lie.) Nor can you just shove the ingredients in the oven and expect to get a cake out of it. You should be able to know and identify what some basic ingredients are, and that there are some good and bad combinations to them, and a few recipes to start out with. It's too bad that this is a rather personal journey and that there is no general guidance other than to pose a few statements, maybe a problem or two that has some current relevance, and to have some resources on hand to point to for questions

    The OP has the same work cut out for them that every other teacher in history has had. They want to share their wonder and inquisition of a specific, but broad topic to others and may not even realize that their audience might not give a damn. Not everyone who plays with wires gives a damn about power generation and electrical theory, some of them just want to get paid money to hook up the wires in someone's house to everyone else's wires.

    - Their other problem is that they posed the question to slashdot, and are probably overwhelmed with the answers they got. It's like a thirsty stranger wandering in and asking for a drink at a beverage trade show - all they wanted was a cup of something wet to quench their thirst and what they got was a discussion on whether or not a particular seltzer was too much at first, or if milk counted as a drink, or some inflaming comments about those zealots who drink of the Kool-Aid. -

    What I would like to see in the curriculum is a note that all of this software is only an example of a certain class of tool, and explain that there is a whole class of tool that each belongs to. They should give everyone the basic understanding of how some of the stuff works and a few examples that mean something to them. With every step of the way, remembering that you still need to reinforce the basics such as proper grammar and having your communications be a complete thought.

    That way, you're not just teaching them to be end users, but helping them to be creators. Any fool can push the power button on a mixer if told the specifics of model such-and-such; most people can surpass that and go on to cook something that passes for a meal; only a select few ever go on to find their calling as a chef. I'd guess that this class should be the equivalent of being able to make most students a passable electronic cook. In the end they should be given the tools (which are free), and some examples with limitations of what can be done easily and what is unrealistic - how a spreadsheet can help you manage details in your budget, but can't magically manage the budget for you - how to pull the red eye out of a photo so you're not making a poster of someone look possessed, but not be able to fix the motion blur from a shaky camera - how a shell script can help you rename a bunch of pictures in a directory, but it can't sort them by content. Once given the basics, the ones with the interest will pursue it on their own.

    Unfortunately there are lessons that can't be taught by citing a specific piece of software, re

  163. Auto Shop by PMuse · · Score: 1

    How about a building project?

    Put a pile of used hardware in front of them and have them build the best machine they can to perform a certain task. For example, to run a particular benchmark suite.

    1. Identify, connect and troubleshoot the hardware. (Try not to fry very much of it.)
    2. Acquire, install, and troubleshoot the software.

    Just finding some compatible RAM will be an adventure for most of them.

    --
    "We reject as false the choice between our safety and our ideals." --The American President (20.1.2009)
  164. Self-defense by PMuse · · Score: 1

    How about a short unit on the ecology of online predators and parasites? Who is after the students' data online? What are they after? Why? How valuable is that data, and to whom? How can they defend themselves? What 'partners' are the weak links in their defense?

    --
    "We reject as false the choice between our safety and our ideals." --The American President (20.1.2009)
  165. ninth graders (ages circa 14 years) by Hognoxious · · Score: 1

    ninth graders (ages circa 14 years)

    A pleasant change to see an article mentioning Nth graders that also gives it in metric.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  166. IT literacy for general audience - SCALC by Tungbo · · Score: 1

    Since the course is for a general student, I don't see a focus on programming or computer hardware as most appropriate.
    As an alternate, I would suggest SCALC, the open office spreadsheet program, as a good platform for several activities:
    1. Learning to compute numerically - calculate sales tax, etc.
    2. Learning how algoritum work - sort, binary search can be visually illustrated beautifully within a spreadsheet
    3. Real life program solving tool - Post a real life problem to the student; have them analyze it; rephrase it to put in a spreadsheet; check the answers.
    4. Graphs and formulae - links direclty to analytic geometry classes
    5. Macro - automation which starts to provide motivation into programming for those interested.
    6. Statistics - for advanced students

    This is much for useful for the avearge student than any narrowly focused programming course.

  167. There are plenty of programs to pattern already by KapUSMC · · Score: 1

    I would look to pattern some of the many programs out there already. * Cover the highlights from A+ - Going over the highlights of hardware and actual function is a good place to start. Explain the basics, and potentially let them build a computer From the roll into the OSI / TCP-IP models - After learning how a computer works physically, rolling into the logical is well... logical. * Cisco ICND1 - This covers basic routing and switching, IP addressing, DNS, protocols, packets, frames, and a host of other stuff. * BASIC programming - I took this class in 10th grade 20 years ago, and probably took more away from it that I use now than any other class from high school. This provided the foundation to lead to analytical problem solving and understanding computer logic. I haven't written a program in BASIC since then, and it is still one of the best classes I've taken. I would also agree with one of the previous posters, I don't see the value of a hard text on this, it would definately be easier to keep current, as well as being more relevant if it was available online.

  168. Peter S. Chamberlain by Transaction7 · · Score: 1

    Please provide access, in English, to all of the materials you folks are using to teach primary grade students there in India, to educators, including home-schoolers, and others here in the USA. If you have really achieved that kind of literacy rate among your entire student-age population, rather than just a select few of them, you have got onto something we need desperately, becuase our average high school graduate can barely read, can't write a simple business letter, and can't balance a checkbook much less do math or anything but play games with a computer,and an awful lot of them are altogether functionally illiterate and have also never leanred to study, work, etc. We have a few who have taught themselves more about computers than I know, but the key variable is home environment rather than anything most public schools are doing. Consider the problem of teaching a smart 12th grader, or senior, to alphabetize, compose business letters, balance a checkbook, etc., as I have had to do with many of the better ones I hired--you should see the ones we couldn't or had to fire--and you get some of the picture of teaching them to use even dedicated commercial law office software. Your piece made reference to some computer programs, etc., with which I am not familiar here. I'm an older fellow, retired lawyer. I learned to do some things in DOS, simple batch files, etc., but can't even do that in Windows, and Windows and Office often frustrate me. The only Linux expert I knew,way over my head in math--I'd have been an engineer insrtead of a lawyer but my talent is not really in math while I'm in 97th percentile in verbal ability--taught it at the local university but coulnd't make enough and had to work another job, and has since died. I would love to take some basic courses in how to get computers and programs to do what I need them to do at the local university but, among other problems, I have a life-long uncorrectable vision limitaitn and the textbooks are not only incomprehensivel to me but printed in type too small and compressed for me to use, and nobody at the university knows a solution to that problem, either.