Kernighan Teaches... Liberal Arts?
Flamerule writes "The New York Times has an article (free registration required) examining a new course Brian Kernighan is teaching at Princeton, called "Computers in Our World", aimed at liberal arts students who won't be going into the tech field. The author describes it as "a kind of intellectual smorgasbord, combining public policy - like technology's impact on privacy, copyright and antitrust matters - with large helpings of practical knowledge of how things work, from operating systems to disk drives." The K&R text is mentioned, though not as reverently as some would demand."
The question: do we have privacy? That that right was taken away Microshaft and the government back in the late 1990's
This will be on the exam.
HallmarkOrnaments.Com
I think this is exactly the types of classes needed out there.
For all the people who know nothing of issues like electronic voting, DMCA, Elrdrid v. Ashcroft, the hardest thing was to get the idea out to non-computer folk. Raising awareness of complex technical issues is usually next to impossible, and this is a great start.
http://fsfeurope.org/
A train stops at a train station. A bus stops at a bus station. This explains the problem with my workstation.
Will these students be exposed to computing in enough depth to understand the finer details? To the layperson, patenting software is always OK, but to me, in some cases, it seems like patenting a theorem in math. Another example is the RIAA's legal maneuvers. If people didn't swap mp3s, they'd probably swallow the RIAA propaganda about stealin from artists by downloading songs.
I think a course solely devoted to the changing nature of copyright and patents today (esp. IT and biotech) could create more awareness of today's issues.
As noted in the article, upon explanation of the inner workings of a computer and that it just manipulates bits really fast, one of the students said he had an "aha" revelation. This is the kind of thing that should be taught to everyone in school.
Dinking with Word and Paint, don't de-mystify the machine. Only by having a basic (no pun intended) understanding of the machine and what it does will a person be willing to control it. So many folks that have computers are so intimidated by them that they are afraid to control the machine. Changing fundamental settings like wallpaper truly scares some people. (Insert gratuitous MS slam here)
Equally important is the discussion and enlightenment these students will get on matters of copyright, law as it is being applied to computing, and patents. Only a well informed citizenry will prevent the spate of knee-jerk reactions to minor problems. Perhaps a well educated citizenry will clean up the ridiculous mess that is the DMCA and software patents.
I hope This kind of course gets cloned and used in education everywhere. It's desperately needed.
"Insanity is doing the same thing over again expecting a different result."
What have you done lately?
Kernighan is the foundation of some of the best CS books ever, not just one book. Find the pattern:
- Kernighan and Plaugher (Software Tools and Elements of Programming Style)
- Kernighan and Ritchie
- Kernighan and Pike (UNIX Programming Environment and Practice of Programming)
Bell Labs researchers did all kinds of ground-breaking practical CS stuff, and lots of them worked with Kernighan - Aho, Weinberger, Lesk, Bentley, Mashey, Johnson... You think maybe all these guys worked with Kernighan because he has something to contribute?He's a researcher and a teacher. Most researchers do obscure work that no-one ever knows. How many researchers and teachers are so productive? Practically none. If you want to know what he's up to, try a search engine.
I'm mainly just writing this to see if I can, since /. seems to be borken, judging by the number of comments on each story.
So, what to say ?
You see a lot of "old time" computer programmers slowing down these days- it's sort of sad. It shows us that however brilliant we are at programming there will come a time when we have to slow down.
The difference between true greats and us (if you consider yourself a "true great" then apologies, and "fuck you!") is that when they slow down they are still brilliant enough and have enough energy to change the world, either through writing, or lectures.
Does anyone know of any great programmers who are old, say over 60 ? I would be interested. Probably some people who are really famous are that old, but I just didn't realize their age....
graspee
All the computing sector needs is an influx of people who think they know something about computers.
These people get a government job, and start telling their contractors what to do and how to do it
This courses introduction should be "Here is what real software engineers do (insert comlex UML diagram here), and this course won't prepare you to even get there."
I think this class is a good idea. RMS would be a perfect guest speaker for the class. Though a polarizing figure for some, he might be able to emphasize the importance of free software.
Sounds like an interesting class, but others have done this before. Boston College, for example, has had a course called Technology in Society for a few years now.
You're not allowed to rent here anymore!
Anyway, my point is that a lot of these Lberal Arts kids are going to be interested in knowledge about a wide area of subjets--that's the whole focus of a Liberal Arts education. Computers is another area (though, today it would be extra interesting since everyone uses them but so few know how the "magic" works) to learn about. Of course, there are always some who don't want to learn.
I was wondering about textbooks or notes and looked up the course info at Princeton's site. It's COS 109... unfortunately they don't have many details but searching for K himself led me to his notes and problem sets (link is HTML, but notes are pdf). He obviously used cal(1) for the schedule, too.
Enjoy!
It's nice to see schools offering a more in-depth computer course to non-CS/CompE/EE types. Students in many of the programs at "America's Next Great University" are required to take CS 101, which is mostly a mind-numbingly simple introduction to Micro$oft Office. The first lab assignment in that class consisted of finding the power button and learning how to operate it.
The simple fact is that computers and computer-related issues are playing a larger role in the day-to-day life of the average American citizen. I'd rather have someone who's been through this course writing the next DMCA than some octogenarian senator from the deep south who has never been within 10 feet of a computer.
I attend both MIT and Stanford and found the MIT students to be more informed about everything than the Stanford or Harvard students. MIT requires a minimum of two years of science and math courses (most take much more), while the other two schools much less than that. You could talk about anything with MIT students at late night dorm sessions- technology, politics, literature, philosophy, social action, etc. The other places the students werent as widely knowledgeable. They would intentionally avoid technology and philosphy.
Anyone else have a dog-eared K&R out there?
n terview/index.html">interview with Brian Kernighan</a>
... That said will, as the TIMES article states, students doing "<i>... projects like making their own Web pages and writing a few simple programs ...</i>" give them anything more memorable than music appreciation gave business students twenty years ago?
...
e s/000417.shtml">What Would Bjarne Do?</a>"
Liberal Arts? Really? Hmmm. I've got one of them valuable degrees. Had to go back and get a Master's in Computer Science it was so useful.
Perhaps I need to re-read an <a href="http://www-2.cs.cmu.edu/~mihaib/kernighan-i
BTW, let's remember that Brian Kernighan is not a "high creator" of C. All he did was write the book with DMR. Here's an exact quote from the aforementioned interview:
<i>"I can't comment on the 'worse', but remember, C is entirely the work of Dennis Ritchie"</i>
Still, liberal arts? I guess so. I remember several times thinking "crap, this could be automated"
Personally, I think K would do everyone a favor is he actually did send the artsy ones into the inner regions of the macines. Computers are likely to be an every day tool in their careers - but just that - a tool. The students will need to learn how to remain creative and original in spite of the conveniences of a computer automating the drudgery of composing notes, sentences, graphics, etc
Just the same way we need to keep teaching elemenatary school kids their times tables - in spite of the fact that they are now equipped with solar powered calculators.
Of course, I can't let this go by without asking the all important question "<a href="http://www.healyourchurchwebsite.com/archiv
--- have you healed your church website?
Anyone else have a dog-eared 1st EDITION K&R C out there?
... That said will, as the TIMES article states, students doing "... projects like making their own Web pages and writing a few simple programs ..." give them anything more memorable than music appreciation gave business students twenty years ago?
...
...it was not well into 1970 that Brian Kernighan suggested the name 'Unix,' in a somewhat treacherous pun on 'Multics'...
Liberal Arts? Really? Hmmm. I've got one of them valuable degrees. Had to go back and get a Master's in Computer Science it was so useful.
Perhaps I need to re-read an interview with Brian Kernighan
BTW, let's remember that Brian Kernighan is not a "high creator" of C. All he did was write the book with DMR. Here's an exact quote from the aforementioned interview:
"I can't comment on the 'worse', but remember, C is entirely the work of Dennis Ritchie"
Still, liberal arts? I guess so. I remember several times thinking "crap, this could be automated"
Personally, I think K would do everyone a favor is he actually did send the artsy ones into the inner regions of the macines. Computers are likely to be an every day tool in their careers - but just that - a tool. The students will need to learn how to remain creative and original in spite of the conveniences of a computer automating the drudgery of composing notes, sentences, graphics, etc
Just the same way we need to keep teaching elemenatary school kids their times tables - in spite of the fact that they are now equipped with solar powered calculators.
On a lighter note, in a paper by by Dennis Ritchie detailing the history of Unix we get this juicy quote about K's wit
Of course, I can't let this go by without asking the all important question "What Would Bjarne Do?"
--- have you healed your church website?
Awk. Aho, Weinberger, Kernigan. So now you know.
at the Richard Stockton College of New Jersey. It was called Computers in Society and we covered various issues like privacy, copyright issues, security, business on the web, the impact of computers' advancement on warfare and others (we had a list of like 11 subjects that we covered during the semester).
Class itself was kind of interesting. Rather than the teacher lecturing, we broke up into 6 groups. Each week, two groups would do presentations based on research they did into the topic. The next class meeting (we met 2x a week), the groups would face off in a debate on the issues. This was kind of tough, because invariably we all wanted to argue the same side. This approach was really good though, because it forced the presenters to do their own research and find out things for themselves. It was sometimes not so good for the rest of the class, as an incomplete presentation wouldn't give you as much information.
The only drawback to this class was that it was a 3000-level computer science course (equivalent of a 300-level course, I guess), and so we had only comp. sci. majors in there.
This is an excellent idea though, since it will give people a chance to really learn about topics that ordinarily they might avoid, but will certainly impact them in the future.
This is not the greatest sig in the world, no. This is just a tribute.
For this tagline:
from the old-programmers-are-never-free()'ed dept.
This was probably the funniest one I've read on /. so far. Thanks for a good laugh!
Free, as in your money being freed from the confines of your account.
(Use the Preview Button! Check those URLs! Don't forget the http://!)
(Use the Preview Button! Check those URLs! Don't forget the http://!) dammit.
That way you won't have to post the same comment twice.
--- mailto: suctionpump@bjdesigns.co.uk
If you want a bj, just let me know.
Nuff said.
--- mailto: feltch-u-like@bjdesigns.co.uk
For all your erection needs
The K&R text is mentioned, though not as reverently as some would demand."
Please stop the cock-sucking, there might be childrens reading that.
I didn't think that reading was a pre-req for posting on /.
philosophy -- a safest of havens for vague thinking
from the old-programmers-are-never-free()'ed dept.
no duh, they're delete'ed.
So, we should also be learning about great non-western ideas like brutal circumcision of women, forcing them to wear veils, allowing husbands to rape them and treating them like slaves and suicide bombing of innocent civilians?
I'll pass, thank you very much.
Jesus, sometimes I just love this school :) Parties at the eating clubs may get old, but there's always cool shit going on.
I spent the last school year working on a thesis project with BWK and all I can say about his efforts teaching are that I can't think of a better way to teach these types of things. I took a course of his beforehand, and he's by far one of the best teachers at Princeton. He's probably one of the most enthusiastic and available to student teachers on campus. (He was an awesome thesis advisor.)
The thing that he is trying to teach these students is how computer technology is not this mysterious art and that it's not really as complicated as everyone likes to think. I have lots of friends who went through his course without knowing a thing about computers and coming out with a real good idea of how things worked. Granted, they were not going to build a new computer or write an operating system any time soon -- but they knew how to write a program, set up web pages, and how lots of seemingly disconnected things all had a common base and an idea of how it all worked.
He deserves all the praise he gets for his efforts. He's a hell of a teacher.
-Chris
More seriously, I think that the opposite of this class (one in which Technical people are given a bit of a liberal arts education) would be even more beneficial than this one. Raising awareness of complex social issues among techies might lead to a class of technical people who could communicate technical idea with the rest of the world rather than sit back and moan about how nobody in power understands the technology.
...you might want to demand that students seeking technical degrees learn to speak and write their native language. (Not that your comment reflects a lack of understanding, but poor grammar and spelling *are* far too common among techies). The bottom line is that language skills are not mutually exclusive with analytical skills, especially when you recognize that being able to convey your meaning accurately is step one in most undertakings.
It is my firm belief that Kernighan can heal at a distance and that flowers spring up wherever he walks. Touch the screen and feel his power.
"Well, put a stake in my heart and drag me into sunlight."
You can try to delete them, but if they are still being referenced they will never be purged from memory.
The bigger point was that maybe we see what's at stake here, but most folks can't and don't. Most folks aren't able to understand and make intelligent decisions about privacy, security, EULAs, file-sharing, and everything else we argue here. The world of computing, and especially the industry of computing, controls them because they lack the understanding and skills and proficiency to control it themselves. We can argue about the abuses by Microsoft and the federal government and the spammers (and on and on), but 90+% of computer users don't have the ability to take basic steps that allow them to do take control of their own computing, whether it means using a firewall, identifying and removing spyware on their computer, applying simple patches that reduce vulnerabilities, choosing an operating system, or even participating in the discussion.
Or, to put it another way, informed use of technology is now a major issue for citizenship, in the broadest sense of the word. And when I went to college, I was taught that one goal of a liberal arts education was specifically an education for citizenship in this sense, to understand your own rights and those of others, to be active and engaged with the broader community and with the government.
This article was a little light on what, exactly, is taught in this Princeton course, but it sounded like CompSci-lite to me. But, if we're going to teach technology to non-technology majors, in the context of a broad liberal arts education, wouldn't we be better off to be teaching courses in technology and citizenship? And wouldn't that go a long way toward enabling people to assert their rights and take more effective steps toward moderating the excesses of the business and government interests in technology that tick all of us at slashdot off so much, without requiring these folks to become hard core IT geeks, which just isn't going to happen anyway?
Sorry if I rant, I guess I just believe that higher education can make a difference, when it is done right.
Im a lab TA for this course, which means that I have scheduled hours in one of the labs where students can come in and work on the projects with someone there to give them help. What Ive seen so far is that the original intentions of the people signing up for this course is to use it as a gut, but now at the half way point their learning alot and they all have a better grasp of how the computer, and their browser in particular, works to display what's on their screen. For example for the first couple weeks most questions were just confusion about things like where the files were supposed to go, and how to open and save documents. Now everyone seems to have a strong grasp on the basics and their questions really show that they understand what's being thrown at them.
--aiee
Dr Fun
Looking at my Universities Catalog for Computer Science reveals a terrible thing. A computer science degree requires about 55 hrs or CS courses, the minor in CS requires about 35 including some Junior level organization coures on computers. The scary part is that for EDUCATION majors, ie. people who might one day be teaching others, the minor only required 15 hrs of CS, mostly freshman level stuff, plus some courses that are not even available for credit for CS majors. Too often teachers at universities are taught how to teach, but never taught anything to teach. Now that is scary. This is made even more painfully aware as my wife has a BA in Education from the same University. I have often told her she has a Bachelor's of Arts and Crafts... she spent more time on Bulletin Board design than language fundamentals.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
I like this idea. I think of general literacy as not so much a state you achieve but a way of life. You're never done. And I think knowing something about a field is better than knowing nothing, as long as you maintain skepticism about your own knowledge and abilities. I wouldn't want, as Tbonium warned, "...an influx of people who think they know something about computers. These people get a government job, and start telling their contractors what to do and how to do it."
As computers are now a huge part of our culture, people ought to know something about them. Demystifying is good, and if somebody has an "Aha" experience, that's great. Somebody might get interested enough to make a contribution to the field. Not everybody who has made contributions majored in computer science or engineering. Here's Eric Raymond's description of his computer education:
"Undergraduate studies (including some graduate-level courses) in mathematics and philosophy at the University of Pennsylvania. I have never taken any courses in computer science or software engineering."
He must have had an "aha" experience somewhere along the line.
And Kernighan's course will have practical applications for some of these students. I did part of a PhD program in psychology. My knowledge of simple programming, networks, and databases helped me a lot. The other students were highly intelligent, but ignorant about computers. They couldn't use the tools to make their lives easier, and their data safer. Even a bit of experience with text editors and simple programming can help you when you start SAS programming. There were people who were quite good with statistics who needed a lot of help with the computer. "Where are my files?" "Is a text file an ASCII file?" "How do I telenet [sic] to a server. And what does that mean?"
And lots of people, once they're shown, like to use a folding programmer's editor for prose writing.
Interesting quotes from Kernighan in an interview:
When I have a choice I still do all my programming in Unix. I use Rob Pike's sam editor, I don't use Emacs. When I can't use sam I use vi for historical reasons, and I am still quite comfortable with ed.
I don't use fancy debuggers, I use print statements and I don't use a debugger for anything more than getting a stack trace when the program dies unexpectedly. When I write code on Windows I use typically the Microsoft development environment: they know where all the files are, and how to get all the include files and the like, and I use them, even though in many respects they don't match the way I want do business.
The only computer science book I read more than once, that I actually pick up every few years and read parts of again, is The Mythical Man-Month by Fred Brooks, a great book.
There are other books that I reread that are relevant in computing. Books on how to write, write English in my particular case, like "The Elements of Style" by Strunk and White. I go back and I reread that every few years as well, because I think the ability to communicate is probably just as important for most people as the ability to sit down and write code. The ability to convey what it is that you're doing is very important.
Sometimes I do write C++ instead of C. C++ I think is basically too big a language, although there's a reason for almost everything that's in it. When I write a C program of any size, I probably will wind-up using 75, 80, 90% of the language features. In other words, most of the language is useful in almost any kind of program. By contrast, if I write in C++ I probably don't use even 10% of the language, and in fact the other 90% I don't think I understand.
Engineering skills in general make life so much more easy to deal with. It's all about not panicking about the presence of a problem long enough to solve it. I'm in a math class right now in which so many of my classmates freak out when they encounter a story problem. They can't seem to let go of that fear long enough to even TRY.
When I was in high school, I didn't know much about computers beyond starting Microsoft Word and typing papers for classes. Computers intimidated me. At some point, though, I got really tired of feeling intimidated and confronted my fears by takings some classes in electronics and computers. I proceeded to find out how cool all that stuff was and now I am an all-around science geek.
My point is, the more we shy away from anything that scares us, the more we lose. Geeks, that means we should confront our fears of politics and getting involved. We have isolated ourselves long enough.
SheWhoWalksWithToesLikeCobras
-SheWhoWalksWithToesLikeCobras Please enter any 11-digit prime number to continue...
...when I was a student at Juniata College (cool little liberal arts school) we covered all of this... Some programming, binary, public issues, etc. This is was a class open to everyone.
All of this back in '86 or '87.
So what's so earth-shattering about this class other than the instructor's creds? (which are impressive no doubt)
Too often people have come to me and said, "If I had just one wish for
anything in all the world, I would wish for more user-defined equations
in the HP-51820A Waveform Generator Software."
-- Instrument News
[Once is too often. Ed.]
- this post brought to you by the Automated Last Post Generator...