Planning Ahead?
Undergraduates
I'm still in school, and I'm wondering what I should take in order to prepare for the CLMS program
Here is some advice, organized by undergraduate major. Please be sure
to read the section for all majors at the end.
Undergraduate majoring in Computer Science
- Take an Introduction to Linguistics. If such a course is not available at your University, you can study online with UW.
- Take a course in probabilty and statistics for computer science.
- Take other linguistics courses, especially morphology, typology, or semantics (lexical semantics, formal semantics) if these are available; consider minoring or double majoring in Linguistics.
- Take a course in formal logic (typically offered through the philosophy department)
- Take electives in AI/Machine Learning
- Consider studying a foreign language, if you haven't already, or another one, if you have!
Undergraduates majoring in Linguistics
- Take an intro CS/intro programming sequence (usually at least two
courses). If these courses are hard to get into, or treated as
"weeder" courses for the CS major, consider taking the equivalent
courses at a local community college.
- Take a course in data structures and algorithms (similar to CSE 373 at UW).
- Take a course in probabilty and statistics, ideally probability
and statistics for CS (similar to Statistics 391 at UW). There may be some math prereqs that you have
to meet first. Even if you don't have time to get those done, start
on them.
- Take additional courses in CS; consider minoring or double-majoring.
- Take a formal logic course (usually offered by the Philosophy department).
Undergraduate majoring in something else
If you're majoring in something else and can't change at this point, don't despair! There are a lot of applications of NLP that connect to other fields. Your expertise from your major can be very relevant. For example, a pre-med undergrad degree plus a Master's in Computational Linguistics will position you well for a career in biomedical informatics. Similarly, legal studies are good background for NLP applications in the legal domain, a degree in economics, business or marketing good background for sentiment analysis and other B2B NLP applications, etc.
- Take an intro CS/intro programming sequence (usually at least two
courses). If these courses are hard to get into, or treated as
"weeder" courses for the CS major, consider taking the equivalent
courses at a local community college.
- Take a course in data structures and algorithms (similar
to CSE 373 and UW).
- Take an Introduction to Linguistics. If such a course is not
available at your University, you can study online
with UW.
- Take a course in probabilty and statistics, ideally probability
and statistics for CS (similar to Stat 391 at UW).
There may be some math prereqs that you have to meet first. Even if
you don't have time to get those done, start on them.
All undergraduates
- Get involved! Find out which departments, labs, or interest
groups on campus are likely to host talks on Linguistics,
Computational Linguistics or Artificial Intelligence. Get yourself on
the mailing lists for those talks.
- Consider summer school:
- The Linguistic Society of America's Summer Institute is held in odd-numbered years, and is a great opportunity to become involved with the field of Linguistics. There are typically offerings in computational linguistics.
- The annual European Summer School in Language Logic and Information (ESSLLI) occurs every summer, with a broad range of courses and workshops on areas related to computational Linguistics
- Since 2002, there has been a similar North American event, called NASSLLI, which is intended to happen every two years (opposite the LSA Institute).
- The Johns Hopkins Center for Language and Speech Processing summer workshops bring together researchers from around the country and the world for intensive research on new challenges. These workshops are usually preceded by a two-week summer school, which is also open to people who are not participating in the 6-week workshop.
Graduates
I've already finished my undergraduate degree, but I didn't get all the prerequisites for your program. How can I take them now?
- Linguistics: Consider UW's on-line, self-paced introduction to Linguistics (Ling 200), or work through O'Grady et al (Contemporary Linguistics: An Introduction) on your own.
- Probability and Statistics: We recommend MIT's Open Courseware course (Probabilistic Systems Analysis and Applied Probability). If you need additional math courses prior to taking this one, we encourage you to take them at your local community college.
- Computer Science: Take an introductory programming sequence at a local community college. Look for the course sequence that would be considered equivalent to the introductory course sequence in computer science at the corresponding state university.
Keep in mind that the prerequisites need to be fulfilled before
taking our core sequence in computational linguistics, but you can
start the program before completing them. Either CSE 373 (Data
Structures and Algorithms) or Stat 391 (Probability and Statistics for
Computer Science) taken at UW can count as your related fields
elective. In the admissions process, we look for evidence of aptitude
for these courses.
Your expertise from your undergraduate studies and your career can
be very relevant. For example, a pre-med undergrad degree or
experience in the medical field plus a Master's in Computational
Linguistics will position you well for a career in biomedical
informatics. Similarly, legal studies and legal work are good
background for NLP applications in the legal domain, a degree or
experience in economics, business or marketing good background for
sentiment analysis and other B2B NLP applications, etc.