Slashdot Mirror


Creating a Computational Linguistics College Degree?

$random_var asks: "I am an undergraduate student currently studying Bioengineering. However, I am growing more and more interested in programming and linguistics, which leads me to think that I should define my own major, Computational Linguistics [mit.edu], which google defines as 'a field concerned with the processing of natural language by computers.' When I present my proposal for this degree to the school's advising staff, I would like to have a complete list of all of the topics this major should cover. Having only little experience with computer science and engineering, I'm not sure what parts of that field I should include. Beyond the basic lower-division courses, what specific fields of computer science do you think should be emphasized in a practical undergraduate study of Computational Linguistics?"

6 of 47 comments (clear)

  1. Don't do it by AuMatar · · Score: 5, Insightful

    Not as an undergrad. You're still learning, still ought to be figurin g out what you want to do. Get a good, well rounded CS education. Maybe take a few courses in linguistics if the subject interests you. Then specialize in computational linguistics in grad school if you decide its really what you want to do.

    Basicly, undergrad is to learn the field. A masters is to specialize in one domain. A doctorate is to research a single problem in as much depth as possible. They're in that order for good reason- it leaves you plenty of room to change your mind and interest as you grow older, while keeping you marketable in both industry and academia. Don't specialize too early, or you may regret it later.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  2. Is a separate major really necessary? by dslauson · · Score: 3, Insightful

    To me, this sounds like a good idea for your specialization for a masters degree (in computer science), but I don't really think it justifies it's own undergraduate degree. If that's what you're really interested in, I recommend majoring in CS as an undergrad, perhaps with a minor in english, and then submitting this your linguistics stuff as your masters thesis when you get there.

    Of course, there are a lot of classes to steer you in that direction. From the computer science field, you have to take compiler structure. That may not sound like a relevant class, but it is. Learning to write good lexers and parsers is going to be vital, and that is the class where you will learn them. Also, seeing how a high-level programming language is parsed can give you a lot of insight into how natural language will be parsed.

    Of course, an AI class would be helpful, too. And machine learning, but that's not always offered at the undergraduate level.

    Outside CS, I would also recommend taking at least one foreign language to give you a little more basis in how syntax and grammar vary across languages. A non-latin based language, like Japanese, might help.

  3. is this really appropriate for an undergrad degree by blackcoot · · Score: 3, Insightful

    i don't believe that your chosen major is sufficiently broad to be useful. i also believe that, unless you intend to immediately pursue a graduate degree, you're likely to find it very hard to explain to potential employers what, exactly, it is that your degree says you can do. i don't know that anyone can develop the degree of maturity in the fairly wide set of disciplines that you'll have to master (general comp. sci., intro a.i., "soft" a.i., statistics, linguistics, and quite possibly some signal processing) to really succeed at this major as an undergrad. i suggest instead that you do a major in comp. sci. (or e.e., or linguistics) with a concentration in computational linguistics and then pursue further study at the graduate level.

  4. Start talking to professors by HalWasRight · · Score: 2, Insightful
    When I present my proposal for this degree to the school's advising staff, I would like to have a complete list of all of the topics this major should cover.

    Something to keep in mind whenever you want to have a group of people approve of something is to already know that they will. Start talking to the advising staff. In particular start talking to professors. They would need to approve, and for a custom major you'll likely need an adviser. Who on the faculty do you think would be appropriate? Approach them. If the first one is a pompous ass (as some academicians are), then find another. And another. A good prof will recognize you as a potential grad student, and therefore a potential resource to be exploited as is their job (I'm only half joking), and therefore a resource to be developed.

    Maybe you don't need a new major, just some undergraduate independent study. My first research publication started as a special project after a class (it was a cogsci paper). It showed up in print at my school's library the day I completed my last undergrad final in compsci. By that time I was already enrolled in grad school where you really do make your own personal major. Either way it is the same process.

    --
    "This mission is too important to allow you to jeopardize it." -- HAL
  5. Re:As someone who has done some work in the field. by negative3 · · Score: 3, Insightful
    NLP is a very interesting area, but I don't know if it deserves its own major yet. I would advise majoring in comp sci, with a concentration in Machine Learning/Data Mining through your technical electives.

    That's the first thing I thought when reading this question. This seems way too concentrated for a bachelor's degree. I'd say either doing computer science or computer engineering would be the way to go, followed by grad school. Find the right school with the right research group and/or professor and make that your thesis research. I'm not too familiar with the topic of NLP, but if there aren't any good books written on the topic go for your PhD and turn your dissertation into a book on the subject (a couple people from my graduate research group did that).

    My main advice though is this: don't get too specialized for your BS. If you have lofty goals for research (as I'm assuming you do), go to grad school (as I said above). If you don't have much experience with programming or engineering, make your major CS or computer engineering. With computer engineering you'll get the programming background along with a solid understanding of engineering principles, and you'll more than likely be able to take advanced CS classes like AI or something. Oh, and some sort of linguisitcs would seem (to me) to be necessary, as the parent stated (somewhat).

    notes: I admit that the parent obviously know way more than me on this subject. I'm just adding my own $0.02. I'm biased towards the engineering (I do have an MS in EE). The best programmers I've ever met were not CS students, they were physicists and engineers (I'm not a great programmer, I barely know C++).

    --
    "Physics is to math what sex is to masturbation." - Richard Feynman
  6. Don't Make Your Own by coaxial · · Score: 2, Insightful

    Make-a-Degree programs are for underwater basket weaving. Computational linguistics is an advanced topic. You won't touch it, nor should you, until a graduate program. You don't know enough about computer science to do anything advanced yet. Get yourself a CS degree and take some linguistic, anthropology, and psychology electives, then apply to a graduate program and do CL as your thesis. Read some CL papers and apply to the schools that publish in the CL journals. University of Washington has a program in CL consider applying there, or at least read their prereqs.