[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Teaching Linux this summer



It is about teaching LINUX, but for a different reason. The Chinese
education system stresses memorization of the most popular systems.
Tests are the only measure of success in the system. What this creates
is a graduate population that has never been exposed to the concept of
learning on the job. Students are never taught how to deal with a
situation where the "book answer" is not possible. So the point of using
LINUX to do this is to set them into a wildly different environment
where they basicly have to relearn everything to do the things they may
have already done on another system. 

The secondary reason (that the parents, as followers of the memorization
school of thought, see as the primary reason) is that LINUX is on the
rise. Most students will be 10-13 years old, and won't be getting a job
until they are 22+ (this is not America. Students here DO NOT get part
time jobs. Study is all important, and not to be distracted with actual
on the job learning).

Well, there, thats enough philosophy, on to the specifics.

jim@mercury.laney.edu wrote:
> 
> I thought this was teaching -Linux- :) If I'm wrong about that, please feel
> free to ignore the following...
> 
> A section on directory structure and navigation thereof is as important as it
> is a skill transferable to most other operating systems. The typical lab thing
> keeps coming up over and over: "I saved my file on my floppy then took it
> home... so where is it??" after saving it to a place like /tmp, or their home
> dir, or their other floppy...
> 
> They should know maybe 10 commands: ls, cat, more, cd, mkdir are the basic ones
> and I'll mention more commands down the page. By the first week or so, they
> should know the commands in their basic forms and how to find out more from the
> man pages. (IMPORTANT POINT!! They MUST have research skills! Being good
> citizens on the Internet requires this!)

This is a big reason for teaching this class actually. Although I doubt
they would pepper the English community with questions, I do plan on
making them understand that if they have a question, it has probably
been asked before, and therefore can be found somewhere.

 
> If you are to call this a course on Linux, the web stuff is way wayyyy too
> overemphasized. You can support other web courses by covering the transfering
> of files. Recommend ssh.

Actually, we're just using LINUX to teach Web Site contruction, and team
work. LINUX is the vehicle. The problem that I find most computer
classes have is that they lack a focus. Saying the class is on "LINUX"
is like saying you are going to teach someone how to turn on the
computer. That is to say, that while they will learn how to use the
computer, they won't do anything with it. I have found that classes are
far more succesful if they focus on a project or goal. Otherwise all the
cool computer knowledge in the world is useless and meaningless to the
students. They must be shown what they can do with it if they are
expected to actually use and learn it. 

> Next, the input-process-output model as support for pipes and redirections is
> a central key to understanding how linux commands can work together. To omit
> it is to deny the ability to think for one's self when doing shell programming.
> 
>                                                  ------------------
>                                          ----->  > standard output >
>                            ------------ /        ------------------
> --------------------       |    a     |/
> > standard input    >  --> |   UNIX   |
> --------------------       |  command |\
>                            ------------ \        -----------------
>                                          ----->  > standard error >
>                                                  -----------------
> 
> Some more commands they should know (after input-process-output is presented)
> are filters, like sort, grep, uniq, cat as the "null filter", and maybe xargs.
> The find command should be presented.
> 
> Then you can have them create pipelines, and you can illustrate them maybe
> like this:
>                        ---      -----  /--> terminal screen
> ---     -----  /-----> >  > --> |uniq|<
> >  > -> |sort|<        ---      -----  \-->
> ---     -----  \-->
>   |
>   |
>   ^
>  key
> board
> 
> This illustrates a "pipeline" of two commands: sort | uniq. The mechanism:
> the "standard input" of sort comes from the keyboard, its standard output
> is "piped" into the standard input of uniq.
> 
> Maybe here would be a good time to show that any commands they can type into
> the shell, can also be stored in a file (called a "script"). If not here, then
> earlier. Also mention the top line of a shell having the special property that
> it can specify which interpreter will run the script.
> 
> Once you do that, you can introduce things like perl scripts.
> 
> Here's the problem I see: If you call it a "linux" course and you do not teach
> these things (i.e., basic, *essential* -unix-), they won't have necessary
> skills wrt jobs requiring linux and/or unix skills.
> 
> On the other hand, if what you want is a -web publishing- course, perhaps a
> retitling of the course is in order :)

Thanks for the advice. I didn't realize I had actually posted the title
that we are advertising here, as it is in Chinese. I posted here to get
more ideas on the basics that the students ought to know about Linux. I
think your response gives me an abundance of material, and I'll most
likely use much of it. Thank you.
begin:vcard 
n:Glenn;Daniel
x-mozilla-html:FALSE
url:http://www.angelfire.com/on/WhiteHorse/
adr:;;;;;;
version:2.1
email;internet:danielrg@ms3.hinet.net
fn:Daniel Glenn
end:vcard