Should a senior in Comp Sci know what a .tar file is?
Today at work I met an intern who happened to be a senior in computer science at a well-known area college. While helping them to get started on an assignment, it struck me as odd when they were working in Notepad, double-clicking what were obviously command-line programs, and didn't know what a .tar file was.
Who is to blame here? Clearly the student doesn't have a passion for what they are studying. On the other hand, how does a computer science department let students go nearly 4 years without exposure to things like UNIX-like operating systems?
52 comments
[ 3.4 ms ] story [ 108 ms ] threadi may not expect someone to know how to use a tar, but i would expect them to know what one is.
I don't really feel that a professor should go through and explain common filetypes, that really isn't computer science.
However, if a 21 year old is passionate about programming, they will have come into contact with a command line and tar files on their own obviously.
In my experience, CS students who know what they are doing are usually using Mac or Linux by the time they graduate.
We're a Java/ .net school, but still... I'm pretty upset that they don't know what a text editor is.
I'm passionnate about programming, but computers and OSes are just a pain getting in my way.
It seems like a biz guy not knowing what excel is.
This is a statement telling me what the comp-sci is not doing:
- not interested in "systems" by not downloading installing free operating systems & servers
- not interested in software "tools" by not using free software compilers downloading new & interesting code to sample and understand
- not interested in "making things" because a lot of software is still delivered as source code wrapped in tar.
- just plain not interested
From physicists to chemists, archaeologists to biologists people in science use, hack and develop their own tools on computers to solve their problems and would most likely encounter tar.
The computer is just another tool. For comp-sci's to not know what a ".tar", how it works [0] is just plain ignorance of the worst kind.[0] http://en.wikipedia.org/wiki/Tar_(file_format)
What greatly disturbs me is his choice of text editor. Notepad? Seriously?! If you've only programmed with IDEs or Notepad, that is a serious problem. I love vi, and am competent in emacs, but even in a Windows environment he should go for Notepad++ or something...
Reminds me of a quote from one of the most famous Computer Scientists, who was really a mathematician:
"Computer Science is no more about computers than astronomy is about telescopes." - E. W. Dijkstra (1930 - 2002)
I would imagine that a comp sci department where they never reach a point where the "rubber meets the road" is not worth the trouble.
...unless your rubber has already met your own personal road long ago. I, personally, learned everything practical I needed to know about programming long before I stepped into a CS class, mostly from self-teaching and the web; I only took CS to "straighten out" my theoretical knowledge. I would have loved a CS department with no computers installed (except perhaps for interactive debugging after it's already clear that you can express yourself in pseudocode.)
Avoid classes that teach syntax, unless the syntax is used to highlight a language feature you have never encountered before, like continuations or currying.
In my CS classes they had exercises, but students where left on their own with the details of programming. OK, there might have been dedicated courses on "how to solve the exercises", but still.
My first day in the computer lab I was completely lost, because I had gotten into Computers with Commodore C64 and then later DOS+Windows 3.1, and I had no idea how UNIX works. Other times, though - WWW was in it's earliest infancy, today it is certainly easier to get information on UNIX.
http://www.youtube.com/watch?v=zQLUPjefuWA
What other fields of study require this sort of initiative outside of the classroom? Is it enough for a chemist to go to class and complete the homework?
I can't think of any field where curiosity is as important as in computer science and where the classroom is so insufficient.
Long answer: Not always. Large and fascinating branches of CS has nothing to do with computers. A programmer looking to work on UNIX-based file systems should know what a .tar file is.
A commitment to GUI interfaces (and general mouse love) and not knowing .tar files probably just means the person had only seen Windows. I'd say the average child will take a week of dedicated learning before OK at using command line/Linux-based OS's. It would probably be a good idea to have a little intro-course to people who haven't seen Linux (kind of like a summary of OS class in college) at your company to catch these people up.
One of the things that bothers me most about the snobbier computer enthusiasts is how much pride they take in their curiosity, even if what they learn isn't all that impressive - it would take less than a minute to explain .tar file is to a degree more thorough than understood by half of the people who use them.
Maybe his CS program is super-theoretical and doesn't concern itself with implementation. Of course, it's far more likely that it's a lightweight shop turning out blub programmers.
Using Notepad for programming, however, is really odd...
Other than that, I've just used tar directly in some edge-cases to fit within some constraints.