Preparing for the Program


The following information is intended for prospective students interested in the Master of Science in Computational Linguistics, whether they are currently enrolled as an undergraduate student or have already graduated. The information below will indicate the most appropriate courses to take in preparation for applying to the program.

  • For Current Undergraduate Students
    • "What courses and actions should I take as an undergrad to prepare for the Master of Science in Computational Linguistics?"
    • All Majors

      • Get involved! Find out which departments, labs or interest groups on campus are likely to host talks on linguistics, computational linguistics, artificial intelligence or machine learning. Make sure you are on the mailing lists for those talks.
      • Consider summer school:
        • The Linguistic Society of America hosts a summer Linguistic Institute in odd-numbered years. The institute is a great opportunity to get involved with the field of linguistics. There are typically offerings in computational linguistics at each institute.
        • The annual European Summer School in Logic, Language and Information occurs every summer and features a broad range of courses and workshops on areas related to computational linguistics. The North American Summer School of Logic, Language, and Information is a similar North American event held in even-numbered years.
        • The Johns Hopkins Center for Language and Speech Processing summer workshops bring together scholars from around the country and the world for intensive research on speech and language engineering. The workshops are usually preceded by a two-week summer school, which is also open to those who are not participating in the six-week workshop.
    • Computer Science or Electrical Engineering Majors

      • Take an introduction to linguistics course.
      • Take other linguistics courses, especially morphology, typology or semantics (lexical semantics, formal semantics); consider a minor or double major in linguistics.
      • Take a course in probability and statistics in engineering and science.
      • Take a course in formal logic (typically offered through a school's department of philosophy).
      • Take electives in the field of artificial intelligence and/or machine learning.
      • Consider studying a foreign language, if you haven't already, or another one, if you have.
    • Linguistics Majors

      • Take an introductory computer science/programming sequence; this sequence is usually at least two courses. If you're unable to enroll in these courses at your current college or university, consider taking the equivalent courses at a local community college.
      • Take a course in data structures and algorithms (similar to CSE 373 at the UW).
      • Take a course in probability and statistics, ideally probability and statistics for computer science (similar to
        MATH/STAT 394 at the UW). There may be some math prerequisites that you have to meet before you take this course. Even if you don't have time to get those done, start on them.
      • Take additional courses in computer science; consider minoring or double majoring in the field.
      • Take a formal logic course (usually offered by a school's department of philosophy).
    • Other Majors

    • If you're majoring in an unrelated field and can't change at this point, don't worry. There are a lot of applications of natural language processing that connect to other fields. Your expertise in your major can be very relevant. For example, a pre-med undergraduate 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. And a degree in economics, business or marketing is good training for sentiment analysis, text analytics and other business-to-business NLP applications.
    • Here are a few ideas for actions you can take to help you decide if computational linguistics is right for you:
      • Take an introductory computer science/programming sequence (usually at least two courses). If you're unable to enroll in these courses at your current college or university, consider taking the equivalent courses at a local community college.
      • Take a course in data structures and algorithms (similar to CSE 373 at the UW).
      • Take an introduction to linguistics course.
      • Take a course in probability and statistics, ideally probability and statistics for computer science (similar to
        MATH/STAT 394 at the UW). There may be some math prerequisites that you have to meet before you take this course. Even if you don't have time to get those done, start on them.
  • For Those Already Graduated
    • "I've already finished my undergraduate degree, and I didn't get all the prerequisites completed for your program. How can I take them now?"
      • Linguistics Courses: Consider taking a college-level introductory linguistics course.
      • Probability and Statistics: We recommend an online course such as MIT EdX 6.041, EdX 6.008 or Stanford Online's Probability and Statistics. If you need additional math courses prior to taking this one, we encourage you to enroll at your local community college.
    • Keep in mind that prerequisites need to be fulfilled before taking our core sequence in computational linguistics, but you can start our program before completing them. Either CSE 373 or MATH/STAT 394 taken at the UW can count as your elective in a related field. In the admissions process, we look for evidence of strong performance in classes similar to these or their prerequisites.
    • Your expertise from your previous studies and your career can be very helpful and relevant to the program and the field. A medical background plus a master's in computational linguistics can be great preparation for a career in biomedical informatics. Legal studies or work experience in the legal field are good background for natural language processing applications in the legal domain. And possessing a degree in economics, business or marketing is helpful for work with sentiment analysis, text analytics and other business-to-business NLP applications.