User:Millosh/Internet and Programming for Linguists

My experience is that linguists are rarely up to date with contemporary programming and computer usage. For example, the best ones (which I know, of course) today knows how to program in Perl. However, contemporary programming is moved from Perl via Python to Ruby. Also, even linguistics is one of the best fields for database usage, I don't know any linguist who knows to make even the most simple SQL query. Also, it is very frustrating to me whenever I realize that some linguist doesn't know how to make boolean query on Google.

In this moment I am not sure what I am starting to make: a manual, a book, an university course. Probably, all of them, but, until the final decision I'll leave this inside of my user space. Of course, everyone is welcome to join me. And, of course, this is just a temporary introduction :) Don't worry, I know what NPOV is ;) Also, feel free to fix my spelling and syntax; I am not native English speaker. :)

--Millosh 15:49, 17 June 2007 (UTC)

What linguist should know
This list is not complete. I am sure that I missed something...

Sections are listed below.

Types of knowledge are:
 * Basic -- basic knowledge.
 * Of course, as I see it. You may see my POV here: I prefer Debian instead of other distributions, I prefer Gnome instead of KDE and so on. However, You may add, for example, "Gnome or KDE" and put there a section about KDE.
 * Independent (user) -- this is a set of knowledge which makes user independent. In general, after those lectures people are ready to use computers and learn independently.
 * Advanced -- advanced knowledge.
 * Extra -- not necessary knowledge (if other is learned).

General

 * Basic: Introduction to algebra

The Big Picture

 * Basic: The Big Picture -- how computers and Internet are working.
 * Cultural education: History of computing and Internet.
 * Independent: How to be up to date?

GNU/Linux

 * Basic: Using GNU/Linux -- things like cp/ls/mv/rm/mkdir and installation of GNU/Linux (Debian), vim, joe; basic shell scripting (bash).
 * Independent: Debian package system, Samba, Apache, ssh and so on.
 * Independent: How to find the right software?
 * Independent: Installation and update of the system (in depth)

GUI

 * Basic: Gnome and xfce
 * Basic: GNU/Linux equivalents to MS Windows programs (Firefox, OpenOffice, Gimp etc.)

Text processing

 * Basic: OpenOffice in depth
 * Basic: character sets manipulation (Character map programs, iconv, other [natural] language specific tools)
 * Basic: Regular expressions and their implementations in sed, vim and Perl.
 * Advanced: TeX

Programming

 * Basic: HTML
 * Advenced: XML
 * Basic: Ruby
 * Basic: SQL (PostgreSQL implementation)
 * Extra: Python
 * Advanced: Web programming in Ruby

Internet

 * Basic: How to find information (Google, Wikipedia)

Learning order
The first paradigm is related to types, the second is related to sections. So, in this moment order of lessons is:


 * Basic: The Big Picture -- how computers and Internet are working.
 * Basic: Using GNU/Linux -- things like cp/ls/mv/rm/mkdir and installation of GNU/Linux (Debian), vim, joe; basic shell scripting (bash).
 * Basic: Gnome and xfce
 * Basic: GNU/Linux equivalents to MS Windows programs (Firefox, OpenOffice, Gimp etc.)
 * Basic: OpenOffice in depth
 * Basic: character sets manipulation (Character map programs, iconv, other [natural] language specific tools)
 * Basic: Regular expressions and their implementations in sed, vim and Perl.
 * Basic: HTML
 * Basic: Ruby
 * Basic: SQL (PostgreSQL implementation)
 * Basic: How to find information (Google, Wikipedia)
 * Independent: How to be up to date?
 * Independent: Debian package system, Samba, Apache, ssh and so on.
 * Independent: How to find the right software?
 * Independent: Installation and update of the system (in depth)
 * Advanced: TeX
 * Advenced: XML
 * Advanced: Web programming in Ruby
 * Extra: Python
 * Cultural education: History of computing and Internet.