Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

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

timothy posted more than 3 years ago | from the illustrated-primer dept.

Education 462

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."

Sorry! There are no comments related to the filter you selected.

In 2010 (0, Funny)

Anonymous Coward | more than 3 years ago | (#33409400)

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

Re:In 2010 (-1, Offtopic)

cosm (1072588) | more than 3 years ago | (#33409538)

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

At least its a funny troll. Nevertheless I have just fed it.

Re:In 2010 (2, Insightful)

weicco (645927) | more than 3 years ago | (#33409672)

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

backups are important. (5, Insightful)

Anonymous Coward | more than 3 years ago | (#33409404)

backups are important.

Re:backups are important. (1)

$RANDOMLUSER (804576) | more than 3 years ago | (#33409458)

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

Re:backups are important. (5, Funny)

paeanblack (191171) | more than 3 years ago | (#33409618)

backups are important.

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

Unfortunately, it was on the third tablet...

Re:backups are important. (0)

Anonymous Coward | more than 3 years ago | (#33409642)

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

Re:backups are important. (2, Funny)

Anonymous Coward | more than 3 years ago | (#33409802)

and there was no backup ;-)

Re:backups are important. (0)

Anonymous Coward | more than 3 years ago | (#33409764)

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

Agreed, good data redundancy is very important. (1, Informative)

Anonymous Coward | more than 3 years ago | (#33409820)

Agreed, good data redundancy is very important.

Stickam (-1)

Anonymous Coward | more than 3 years ago | (#33409412)

Wait, he said what???

Re:Stickam (0)

Anonymous Coward | more than 3 years ago | (#33409648)

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.

Teach them how to communicate (5, Insightful)

kevinmenzel (1403457) | more than 3 years ago | (#33409424)

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".

Re:Teach them how to communicate (3, Insightful)

sznupi (719324) | more than 3 years ago | (#33409482)

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

Re:Teach them how to communicate (2, Interesting)

ddillman (267710) | more than 3 years ago | (#33409534)

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.

Re:Teach them how to communicate (4, Insightful)

vlm (69642) | more than 3 years ago | (#33409564)

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.

Re:Teach them how to communicate (2, Interesting)

fysician (1883118) | more than 3 years ago | (#33409662)

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.

Re:Teach them how to communicate (4, Funny)

Donniedarkness (895066) | more than 3 years ago | (#33409786)

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

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

Teach 'em the basics (5, Insightful)

mikein08 (1722754) | more than 3 years ago | (#33409452)

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

Re:Teach 'em the basics (0)

Anonymous Coward | more than 3 years ago | (#33409512)

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!

Time's arrow (3, Informative)

westlake (615356) | more than 3 years ago | (#33409864)

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."

Re:Teach 'em the basics (2, Insightful)

jasonjas (774456) | more than 3 years ago | (#33409598)

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.

Re:Teach 'em the basics (1)

dove-young (1032808) | more than 3 years ago | (#33409636)

+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 .

Document Your ... (1)

WrongSizeGlass (838941) | more than 3 years ago | (#33409460)

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.

Re:Document Your ... (0)

Anonymous Coward | more than 3 years ago | (#33409622)

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

Bandwidth, Cells, Broadcast, Caching. (3, Interesting)

RichMan (8097) | more than 3 years ago | (#33409462)

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.

Focus on logic and algorithm development (5, Insightful)

Anonymous Coward | more than 3 years ago | (#33409464)

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.

why not (2, Interesting)

convolvatron (176505) | more than 3 years ago | (#33409476)

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

Re:why not (1)

AliasMarlowe (1042386) | more than 3 years ago | (#33409570)

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.

Re:why not (1)

vtcodger (957785) | more than 3 years ago | (#33409630)

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?

Re:why not (1)

convolvatron (176505) | more than 3 years ago | (#33409746)

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

Re:why not (1)

jedidiah (1196) | more than 3 years ago | (#33409824)

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.

Re:why not (0)

Anonymous Coward | more than 3 years ago | (#33409756)

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.

The greatest IT lesson we can teach them (3, Informative)

rshxd (1875730) | more than 3 years ago | (#33409480)

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.

Re:The greatest IT lesson we can teach them (1)

Daniel_Staal (609844) | more than 3 years ago | (#33409694)

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

Re:The greatest IT lesson we can teach them (1)

rshxd (1875730) | more than 3 years ago | (#33409782)

Teach them TPS reports, especially do not forget the cover on a TPS report - you might hear from your 10 different bosses that you missed the coversheet.

Re:The greatest IT lesson we can teach them (1)

JWSmythe (446288) | more than 3 years ago | (#33409844)

    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.

It's to bad in the usa we don't have time for this (2, Interesting)

Joe The Dragon (967727) | more than 3 years ago | (#33409486)

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
and more.

moar python (2, Interesting)

tcjohnson (949147) | more than 3 years ago | (#33409488)

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.

Re:moar python (0)

Anonymous Coward | more than 3 years ago | (#33409620)

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.

Database Introduction (4, Informative)

Anonymous Coward | more than 3 years ago | (#33409490)

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.

Re:Database Introduction (1)

scrib (1277042) | more than 3 years ago | (#33409812)

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...)

Inkscape, and others (1)

AliasMarlowe (1042386) | more than 3 years ago | (#33409496)

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).

I blame Kanya (5, Insightful)

magusxxx (751600) | more than 3 years ago | (#33409500)

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.

Re:I blame Kanya (1)

Steauengeglase (512315) | more than 3 years ago | (#33409822)

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.

cat gut sung (2, Interesting)

Anonymous Coward | more than 3 years ago | (#33409504)

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.

web course (4, Interesting)

ralphdaugherty (225648) | more than 3 years ago | (#33409510)

      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.


Re:web course (1, Interesting)

Anonymous Coward | more than 3 years ago | (#33409556)

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

Re:web course (1)

nine-times (778537) | more than 3 years ago | (#33409884)

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.

Practical usage. (5, Insightful)

Anonymous Coward | more than 3 years ago | (#33409514)

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).

Re:Practical usage. (2, Insightful)

BangaIorean (1848966) | more than 3 years ago | (#33409814)

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.

Walk before you run? (0)

$RANDOMLUSER (804576) | more than 3 years ago | (#33409516)

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 [contextfreeart.org] , which will show block structure, the importance of syntax, and the joy of getting (non-threatening) output.

Re:Walk before you run? (5, Insightful)

takowl (905807) | more than 3 years ago | (#33409664)

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.

Logo (1)

Ecuador (740021) | more than 3 years ago | (#33409520)

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!

Discrete math? (1)

vlm (69642) | more than 3 years ago | (#33409528)

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.

Re:Discrete math? (1)

Animats (122034) | more than 3 years ago | (#33409888)

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.

Office software (2, Interesting)

airfoobar (1853132) | more than 3 years ago | (#33409530)

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.

We don't need no stinking IT! (1, Funny)

Anonymous Coward | more than 3 years ago | (#33409550)

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

HTML (0)

Anonymous Coward | more than 3 years ago | (#33409558)

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?

automation (4, Insightful)

swanriversean (928620) | more than 3 years ago | (#33409566)

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.

Teach them about honesty (1, Insightful)

countertrolling (1585477) | more than 3 years ago | (#33409572)

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

Accountability (1)

LifesABeach (234436) | more than 3 years ago | (#33409580)

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

History (1)

pinkj (521155) | more than 3 years ago | (#33409586)

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.

Re:History (1)

vlm (69642) | more than 3 years ago | (#33409658)

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.

Teach them about operating systems (0, Troll)

Anonymous Coward | more than 3 years ago | (#33409590)

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.

Re:Teach them about operating systems (0)

Anonymous Coward | more than 3 years ago | (#33409740)

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

One Word (0, Redundant)

Anonymous Admin (304403) | more than 3 years ago | (#33409602)


Re:One Word (0, Redundant)

Anonymous Admin (304403) | more than 3 years ago | (#33409668)

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

Re:One Word (0)

Anonymous Coward | more than 3 years ago | (#33409774)

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?

Social Engineering (0)

Anonymous Coward | more than 3 years ago | (#33409608)

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.

How to type...... (3, Insightful)

cervo (626632) | more than 3 years ago | (#33409628)

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........

Wrong angle. (5, Insightful)

Steauengeglase (512315) | more than 3 years ago | (#33409644)

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.

Re:Wrong angle. (4, Insightful)

Steauengeglase (512315) | more than 3 years ago | (#33409736)

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.


Anonymous Coward | more than 3 years ago | (#33409676)

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.


3seas (184403) | more than 3 years ago | (#33409886)

Abstraction Physics [abstractionphysics.net] 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 [threeseas.net] .

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)

Databases (1)

dalhamir (1423303) | more than 3 years ago | (#33409682)

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.

Discrete Mathematics + C/Assembly (3, Interesting)

Anonymous Coward | more than 3 years ago | (#33409686)

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.

Crypto (1)

beaker8000 (1815376) | more than 3 years ago | (#33409690)

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.

Too long. Did not read. (0)

thatskinnyguy (1129515) | more than 3 years ago | (#33409692)

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).

dos (2, Insightful)

bakamorgan (1854434) | more than 3 years ago | (#33409698)

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!!!

Re:dos (0)

Anonymous Coward | more than 3 years ago | (#33409720)

you mean ifconfig?

Re:dos (2, Funny)

Tanuki64 (989726) | more than 3 years ago | (#33409808)

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

Re:dos (1, Insightful)

Anonymous Coward | more than 3 years ago | (#33409762)

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.......

"IT" shouldn't be a class, it should be wholistic (3, Insightful)

davidwr (791652) | more than 3 years ago | (#33409716)

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.

As you'll be introducing programming... (2, Interesting)

kev.lee.wright (1889204) | more than 3 years ago | (#33409728)

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.

Networking (1)

Fractal Dice (696349) | more than 3 years ago | (#33409732)

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).

Stop skipping the fundamentals... (3, Insightful)

Assmasher (456699) | more than 3 years ago | (#33409744)

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

Encryption (1)

Frequency Domain (601421) | more than 3 years ago | (#33409770)

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.

Pascal (0)

Anonymous Coward | more than 3 years ago | (#33409794)

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.

Assertiveness (1)

billybob_jcv (967047) | more than 3 years ago | (#33409816)

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.

Password hygiene (0)

Anonymous Coward | more than 3 years ago | (#33409826)

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

Force someone to define "ICT" first (1)

jgrahn (181062) | more than 3 years ago | (#33409830)

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.

Sikuli (0)

Anonymous Coward | more than 3 years ago | (#33409834)

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.

Crossing Cultures (1)

b4upoo (166390) | more than 3 years ago | (#33409836)

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.

BASIC, literally (0)

Anonymous Coward | more than 3 years ago | (#33409842)

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

When I was 14... (0)

Anonymous Coward | more than 3 years ago | (#33409862)

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.

Concepts, not software (1)

fermion (181285) | more than 3 years ago | (#33409868)

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.

Teach them how to setup their own FOSS system (1)

Idou (572394) | more than 3 years ago | (#33409872)

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).

Teach Scheme, Reach Java (1)

SaXisT4LiF (120908) | more than 3 years ago | (#33409876)

You may be interested in the Teach Scheme! [teach-scheme.org] 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 [racket-lang.org] , and an online textbook, How to Design Programs [htdp.org] . Follow up with How to Design Worlds [brown.edu] , 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.

teach base 2 and base 16 numbers (1)

Simonetta (207550) | more than 3 years ago | (#33409878)

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.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?