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

8 of 462 comments (clear)

  1. backups are important. by Anonymous Coward · · Score: 5, Insightful

    backups are important.

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

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

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

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

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

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