Slashdot Mirror


Questions to Ask University CS Departments?

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?"

9 of 114 comments (clear)

  1. Simple question by sydb · · Score: 5, Insightful

    Can I see a copy of your curriculum please?

    --
    Yours Sincerely, Michael.
  2. The most imporant question by Dr.+Bent · · Score: 3, Informative

    The most important question you can ask is:

    "Does your school have different curriculum tracks for software engineering and computer science"

    Learning the basics of how to program will be the same for both tracks, but the 3rd and 4th year classes should be very different. Computer science, is a SCIENCE, while software system development is something else entirely. Schools that don't recognize the difference are so out of touch that the knowledge they teach you will not be applicable in the real world.

    Software is no longer just a tool for mathmaticians to solve complex equations. Unfortunatly, I think many CS professors are still locked into the scientific mindset when it comes to computers.

  3. Future by D.A.+Zollinger · · Score: 4, Insightful

    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?

    --
    I haven't lost my mind!
    It is backed up on disk...somewhere...
  4. Be wary of computer counts by Sits · · Score: 3, Informative
    One things that I noticed when I was looking about for a place to study was that departments were keen to point out the sheer number of computers they had. If you are not planning on doing all your work on your home machine (and why should you?) it far more helpful to know the number of useful computers. Talk to the students in the room. Ok one of them might have an axe to grind or they may have all been specially selected but if the room is busy this is less likely. Whatever you do don't just stand there like a lemon when you can talk to real students - after all that's going to be you in a year. Many students are willing to talk but won't volunteer information. It leaves an impression of you too (someone willing to ask irritating questions or someone who genuinely interested in the department)...

    Some of the things that make a computer unuseful:
    1. It's broken. This happens an awful lot and can happen in non obvious ways. Ranges from it doesn't power on to it doesn't see the printer.
    2. The network is too slow. This one is a killer at busy times of the year and doesn't just apply to logging in. If your uni/college's connection is unreliable and you are trying to fetch something from home it doesn't matter that it's fast...
    3. The computer doesn't have the software you need on it. It's all very well having a library of hundreds of computers but if the software you need is only in the Compsci lab your options are limited.


    Most important of all computer counts really mean very little in terms of your education. Theory doesn't always need you to be sat a keyboard to understand it.
  5. Not just the course, but what else goes with it by gagravarr · · Score: 4, Insightful
    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 has a couple of student computer reps, 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

    --
    This post will enter the public domain 70 years after my death, unless Disney buys another extension.
  6. Not that simple by Bastian · · Score: 3, Insightful

    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.

    1. Re:Not that simple by David+Price · · Score: 3, Interesting

      A good undergraduate computer science program should leave you flexible enough to go be a grunt coder somewhere, or (if your grades and motivation are good enough) proceed on to grad school, or really anything along the technical spectrum.

      Prospective undergrads should look for programs with an emphasis on broad study - a few theory courses, a strong course of programming-oriented project classes to develop you as a programmer, and interesting forays into areas like math and electrical engineering. Especially look for programs that allow upperclassmen to begin choosing their own path - my own degree requires a four-course concentration group agreed on between me and my advisor.

      One thing to look for is a program with no slavish devotion to any one language. By the time you've gotten out of a good undergrad program, you should have been thoroughly exposed to functional programming (Lisp/Scheme/ML/Haskell), OOP (Java's pretty much it in academia - nothing wrong with that), and imperative/systems programming (C/C++/assembly). The idea is that learning the languages should be a side project that comes along with learning the actual material. You should learn all the major paradigms in place today, and know when to use them, and know when to apply lessons from one when programming in another.

      The most important thing, by far, though, isn't what you'll find in the classroom - it's what you'll find outside it. Does the university have student organizations or programs for the type of stuff that meets your interest? Is the undergraduate culture an engaging and interesting one, with opportunities for developing your social life?

      How's the dorm life? How's the food? (This is actually really important, or seems that way at times.) Go down the hall of a dorm after classes are over, or during an evening: a good sign is lots of propped-open doors - it indicates an open, friendly floor culture.

      How does the administration treat the students, faculty, and staff? Ask around: if there have been any major controversies within the past couple years, people will talk about them. Remember that a school administration doesn't directly impact your learning, but they do have a tremendous amount of influence over your life while you're at school.

      Is the curriculum broad beyond just computer science? (Remember, theoretically, the reason you're going to a university is to improve your mind and learn about the world and discover yourself - not just to code all the time.) Ask people there. Did they like it? If they think it's a hellhole after three years, chances are you will too. A tech-factory isn't where you want to be if you're really out for a real education.

      One thing *not* to worry about as much as many people do: Don't overconcern yourself with money. Higher-tier schools know that they need to attract students who can hack it, and so many give generous need- and merit-based scholarships. Take the supplied tuition figures with a grain of salt, apply anyway, and wait for the financial aid offers to come in before ruling out a more expensive university. You might be surprised.

  7. What are the capstone courses in your program? by nadador · · Score: 5, Insightful

    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.

    --

    Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
  8. What languages do you teach? by battjt · · Score: 4, Insightful

    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

    --
    Joe Batt Solid Design