Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Education

Questions to Ask University CS Departments? 114

egarrido16 asks: "I will be visiting numerous undergraduate colleges over the next several months and meeting with the chairpeople of the computer science departments. I need to come up with some questions to ask them so that I can evaluate their methods of teaching CS (i.e. 'Does this college believe programming is a fundamental or is it more of a tool?'). Reflecting upon your experience, what questions do you think would be necessary to ask to decide what the educators feel is important in a CS curriculum?"
This discussion has been archived. No new comments can be posted.

Questions to Ask University CS Departments?

Comments Filter:
  • Simple question (Score:5, Insightful)

    by sydb ( 176695 ) <michael@NospAm.wd21.co.uk> on Monday May 20, 2002 @06:31PM (#3554365)
    Can I see a copy of your curriculum please?
  • Future (Score:4, Insightful)

    by D.A. Zollinger ( 549301 ) on Monday May 20, 2002 @07:02PM (#3554599) Homepage Journal

    Make sure you ask some questions about your future, is it possible to get a sysadmin job on one of the comp. sci. computers to get real world experience? How good is their placement after graduation? How quickly do their graduates advance in their positions after finding employment? What projects is the department involved in that will bring prestiege to the university? What projects can I as a student get involved in that I could put on my resume? What is your stance on extra-curricular projects?

    I put that last one in because I started a MUD at my university, which was a great learning project programming wise. I never got very many people visiting my mud, but I did enlist a lot of developers to help put the project together. My school shut me down when the university administrator did a port scan of every IP under his control and found it. He considered it a security breach and dangerous, no matter how beneficial the experience was to me in learning C, C++, Linux, registering my own domain (this was before they had the nice web interface), and administering a Red Hat box.

    How can you get real world computer experience while spending 4 fine years at their institution? And how will they provide you a better chance at getting a well paying position after school?

  • by gagravarr ( 148765 ) on Monday May 20, 2002 @07:34PM (#3554830) Homepage
    Sure, the course is important, but you'll likely find that half the places have virtually identical courses.

    So, start asking about related things. Are you going to want some work experience? If so, does the department have industry links, and with who? How about on campus work - do they have openings for students to do some tech support? My college [ox.ac.uk] has a couple of student computer reps [ox.ac.uk], who do some websites, maintain a few machines, help out the paid staff with admining etc. The experience I've got with doing this was looked upon very favourably by the company that are employing me this summer. No matter which area of IT you want to go into, experience is a big help, so does this place help you get it?

    Finally, ask about the facilities. How many computer rooms do they have, and what stuff do they have on them? What centralised 'Nix facilities do they offer? Ethernet to you room is very nice, so do they offer that, and if so what restrictions are placed on it (no webservers? low bandwidth limits?). What about their central web hosting, can you do much with that? If not, are there any other boxes you can use for any dynamic content you want to play with?

    Oh, and while you're on campus, go look round the other facilities too. Places to hang out are important, as are sports facilities, on campus shops etc. Also, speak to the students as well as the tutors, find out all you can

  • Not that simple (Score:3, Insightful)

    by Bastian ( 66383 ) on Monday May 20, 2002 @07:55PM (#3554957)
    Ask whether the course is theory or application oriented. In my experience, there are two approaches to teaching computer science out there.
    The first is what I call the "academic" method. You're going to learn lots of theory under this method, but are left up to your own means to figure out specific tools such as the Windows API.

    The second I like to call the Trade School approach - it's probably what's being taught at your local community college, and it's pretty much the opposite. You'll be an expert at VB by the time you get out, but (from what I can see) will probably also be left without any concept of things like functional programming or automata theory or what have you.

    A catalog can tell you without a doubt whether or not you're going to get the Trade School approach - there will be a separate class for every programming language the department ever uses, and most every class will look like it's trained towards giving you job skills. However, there are a lot of CS departments that look like they are academically oriented when they really aren't. You'll sign up for a course called Computer Graphics that claims in the catalog to go through the basics of how to really do graphics programming, but when you finish the course, you'll realize that everything you just learned over the past four months you could have just as easily picked up with a few days of free time and a copy of "Teach Yourself OpenGL Game Programming In [lessons | ]" and don't have a clue what the math behind perspective projection looks like. (My experience.)

    Decide whether you're looking to be a grunt coder, a software engineer, an academic or researcher, or a Web Developer/NTadmin/networking guy/etc. If you're looking for the latter, don't even waste your time with college unless you really honestly want a bachelor's degree or a liberal arts education or what have you, because with most of those a trade school and some certifications will give you every bit as good of a preparation for your carreer as a BS, and you'll probably still have to get the certificates after you have your BS anyway. For a software engineer or academic, go for the academic approach. If you want to be a grunt coder, you can probably get away with any of the above, so pick which one looks more fun.
  • Re:Some thoughts (Score:2, Insightful)

    by Zeio ( 325157 ) on Monday May 20, 2002 @10:04PM (#3555563)
    Try telling Linus Torvalds ANSI C is lame.

    I second vsync's notion that those who use higher level languages can never use them properly because they do not know what these higher level languages *DO* for them

    I have run into it time and time again. Decades have gone by and still the most rigorous CS departments do some of the very same things. Like, write a language and a compiler for that language. People who know how to write their own language and then a compiler for that made up language often find it very easy to pick up new things.

    I can't believe for a moment that one learns "lame ANIS C," for real, then goes on to find Java difficult to master. I mean, by no means is it simple, and the strategy for using that is different, but Jesus - grab a few books and crank out some code if you want a Java job.

    If I had to assign aspiring students to do something it would be this: Write a patch for a Linux kernel (or any Open kernel), write a user land utility to interface with whatever you patched into the kernel, the write a daemon to interface with the kernel hack you just wrote and then manage that daemon remotely from the said user land utility. Man, if every "programmer" did that as an exercise, we would reduce sucktitude 90%.

    Then try to control the said daemon from a Java project - just for fun, to learn it.

    One thing about "LAME C" versus C++ or Java, at least C doesn't change forms every 5 minutes. Much less with C++ now, but Java has had a myriad of APIs since its birth and it really get annoying after a while.

    Good luck man, because if your C didn't teach you C well enough (as exemplified by referring to it as 'Lame,' you need to take it upon yourself to make sure you know systems, bottom to top, because when and if you do learn Java, chances are you wont be very good at using it. For all the rigors or my own education, most of your usefulness in corporate America will come from things you taught yourself or pickup from a mentor. School apparently doesn't do much for your starting salary, as freshly gradated students usually get paid less than everyone else. It's experience and aptitude that changes that - not "I TEWK A KEWL KLASS A THE UNIVEHRCITY AND TEHY TEECHED ME JAVA AND MI SI BETTAR!"
  • by nadador ( 3747 ) on Monday May 20, 2002 @10:12PM (#3555609)
    For whatever else I learned in college, I learned the most from the capstone courses I took my senior year. I was an ECE at CMU, but took a capstone in ECE and the equivalent in CS. Both were big project courses (Real Time Computer Controlled System Design in ECE and Operating Systems in CS) and both nearly killed me. But I can honestly say that I learned so much by being forced to work on a semester length project.

    If you go somewhere and ask about a capstone course, and they look at you funny, ask if there's a course that you take that your whole academic career has been preparing you for, or some sort of big final project where you have to creatively use your skills as a scientist and as an engineer. That's what people do out in industry, anyway, so it should be part of the curriculum.

    I'd also ask about what faculty research that the department head is particularly proud of. If its something that interests you, this place would probably be a good fit. If not, you might want to look elsewhere.
  • by battjt ( 9342 ) on Tuesday May 21, 2002 @08:27AM (#3557406) Homepage
    If they answer with a list, run away.

    Don't go to a school that teaches languages, go to a school that teaches concepts. You can learn the languages from a book.

    I am very happy with the education I received at Rose-Hulman, and recommend that you check it out.

    Joe

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...