WINTER 2001

This information effective for Winter 2001.
Check with instructor the first day of class for any changes.


Linguistics

[LING-080G]


80G. The Nature and Language of Computers

Winter Quarter, 2001
Instructor: Geoffrey K. Pullum, Professor of Linguistics
Electronic mail: pullum@cats.ucsc.edu

 

General Overview and Purpose of the Course

What's it about?

This is a course about language and culture: the language and culture of a particular class of high-powered general-purpose computing machines. It is not exactly linguistics, or computer science, and yet in a way it's both. The main focus is on developing a literate understanding of one particular language for communicating with computers.

The course is focused not on IBM-compatibles or the Macintosh, but on the Unix operating system. It teaches the fundamentals of intelligent computer use through an introduction to the Unix operating system, its command language, and some of the programs that Unix makes available.

What's Unix?

Unix is the operating system for most of the machines used for really serious work by experts in fields like software development, film special effects, running server machines for Internet service providers, and so on. This includes the campus time-sharing machines for students to log in on: si, am, ese, angus, and ucscb, plus all the Sun workstations and many of the IBM PC-compatible microcomputers in the computer labs.

Unix was developed originally for machines that were considered very powerful for their time, especially for powerful machines designed to serve many users simultaneously; but it is turning up increasingly on individual-use microcomputers, even small notebook computers. It is constantly spreading to new sites and new machines, and it now seems clear that it will be important for decades, way into the next century (and millennium).

Unix is generally thought of as being for experts only, but it isn't! This course teaches Unix in a nontechnical way to students who may have no previous experience of computer use - and to teach it rather in the way that foreign languages and cultures are taught, through examples and practice and careful and analytical explanation when troublesome points are reached.

What prior experience is assumed?

The level really is introductory. If you are already browsing directory structures and customizing your .cshrc and maintaining a web page, it's not for you; it'll be familiar stuff, you'll hate yourself, you'll get bored, you'll get drunk instead of doing an assignment, and then you'll fail for being flaky. Don't take this course if you know Unix reasonably well.

On the other hand, if you have no idea what a .cshrc is but are prepared to learn things if there is some serious point to them, then this course might well be just right.

What's the aim?

This course attempts to liberate people from the infantilizing influence of Windows 95. With a Windows computer you tend to end up clicking on things but having very little grasp of what goes on back there as a result of your clicking. If things come when you click for them, fair enough, but if anything goes wrong it is utterly baffling, and there is little opportunity to delve, explore, understand, and set things right. It is like driving an automatic-transmission, power-steering, electronic-fuel-injection car: you hope it runs, but if something goes wrong there is no realistic hope that you can figure out what's wrong and work on them yourself. (Actually, Windows crashes so often that it's more like a car that steers itself into a ditch several times a week.)

Unix allows you to figure things out and fix and customize things - without your having to become an engineer. Unix doesn't just show you a menu and tell you to order from it; it lets you in the kitchen and enables you to see how to cook things. If you want a better understanding of what actually goes on when you access the Internet, a chance to put your own home page on the World Wide Web and understand what you've done, and make computers do complex things at your command without you having to turn into a programmer, 80G is just right for you.

Not a snooze

It is important this is not a snooze-through course. Certainly, it is a straightforward and interesting way of getting five credits, but it's not a falling-off-a-log no-requirements easy way. People do fail this course. To pass it you have make regular use of the Unix system, stay in touch with your TA, attend lectures, turn in assignments, pass some tests and exams, and do some hard thinking.

It is always the case with courses in languages, of course, that you cannot just learn up factual material for quizzes and leave it at that. You have to exert yourself, use the language, interact, make mistakes, get involved, and try to incorporate it into your behavioral repertoire. If you won't, then a language course is close to useless to you. You cannot possibly become a French speaker by refusing to participate in class, avoiding French people, and doing a little night-before cramming to squeak a pass in quizzes. You don't even start to be a French speaker until you get out there and embarrass yourself in conversation with French people. You have to make mistakes, recover from them, keep on trying to get communication going in French, and ultimately make French forms of expression a part of your life. It changes you.

So will learning Unix. But only if you use it, try things out, log in every day, use the reference books, and exert yourself. If you do this course in a minimalist way, it will be of no value. If you do it in a whole-hearted way, it will start to be fun, and it will be of permanent value.

What's the practical use?

What value is it? This is the only course I am aware of on this campus that is definitely known to have contributed in a significant way to one of its alumni winning an Oscar and another winning a Supreme Court case. An early alumnus of this course went to work for Industrial Light and Magic (where they use Unix-based workstations) and was a co-recipient of the Oscar for the special effects in the film Forrest Gump. Another alumnus of this course went on to work as a lawyer on a computer copyright infringement case that went up to the Supreme Court of the United States, and won. This course will help you to become more than usually expert with computers. It will have real effects on your future employability.

Required Text

The main required book is really cheap: everyone should buy this:

This is not an easy-explanation textbook (there are many of those, but I find many of them rather sickeningly patronizing; buy one if you can find one that doesn't turn your stomach). Unix in a Nutshell is a beautifully organized, serious desk reference work for grownups, a book to keep permanently. It is dense and technical, but authoritative, easy to search, and amazingly cheap. Go to the Bay Tree Bookstore and grab one. You need your own copy of this book.

For complete beginners the following book is also very strongly recommended:

In addition to these, I will be teaching HTML and web page design in the course, and I will mention prominently that this is a very good little reference book on HTML and web pages:

What topics are covered?

Registering for an Athena computer account; the language of the C shell command interpreter csh (`Cshellese'); mail programs; the Internet (and to some extent the World Wide Web); file management (ls, mv, cp, rm, ftp, . . .); directory structures (cd, pwd, mkdir, . . .); text formatters; utilities for searching, sifting, and sorting text (sed, tr, sort, the grep family, etc.); pipelines; variables; control structures (if, while, foreach); and writing simple interactive shell scripts. (If a lot of this looks like Greek to you, that is fine. No prior experience required. But in three months you will know about all of the above.)

What requirements does it satisfy?

LING 80G/CMPS 80G satisfies a T2 (Natural Sciences) general education requirement. It is tailor-made to satisfy computing graduation requirements like the one for Cowell students or the one set by the Economics department. It was developed for such purposes. It may also serve as a useful preliminary course for people who would like to enter the Computer and Science or Computer Engineering departments in the Jack Baskin School of Engineering.

What other courses is this one most similar to?

There are no courses quite like this one. Some courses don't get to anything as advanced or supposedly difficult as Unix; others presuppose that you've somehow already picked up Unix on the street; but this one actually teaches Unix in an easy-to-understand way. That's unique. Much of it deals with text handling - reading and writing and finding and sending and editing and formatting and scanning and searching and modifying and chopping and sorting and polishing and printing and publishing ordinary natural language text like stories and poems and essays and novels and letters and electronic mail messages. It's a course for readers and writers and all kinds of intelligent non-geeky people.

You are welcome to read the reviews of previous years' offerings of the ancestor course, Cowell 80G, which are available for your perusal at the office of the administrative assistant to the Cowell College Provost.

[top of page