Frequently Asked Questions
We have a very high placement rate among our alumni. Students who successfully complete the program consistently go on to get good positions in CL/NLP that they’re happy with, in industry or select PhD programs, immediately or very soon after graduation. The most successful are those who actively participate not only in coursework, but also in the many networking opportunities and career development workshops that we offer throughout the year. These allow students to get an idea of what it's like to work in specific companies and organizations, and to make direct connections with companies hiring in CL/NLP, both within and outside Greater Boston.
The range of positions graduates of the program have taken is very wide. This includes companies specifically focused on CL/NLP, such as Pryon, Basis, and Luminoso; consumer-facing employers with commercial or research groups working in CL/NLP like Amazon, Google, Facebook, Apple, Adobe, Wikimedia, Rakuten, and Cigna; healthcare organizations like Mass General Brigham (formerly Partners) Healthcare, Boston Children’s Hospital, Dana-Farber Cancer Institute; and research companies and institutes, such as BBN, ISI, and The MITRE Corporation. You can see the full range of placements on our Alumni page.
It is optional, but recommended in certain instances, for students to submit GRE scores. GRE quantitative scores are most helpful to the admissions process when a student has no record of strong performance in a relevant accredited, college/university-level math course. We first recommend that students in this situation take an accredited, undergraduate college/university-level math course (so not merely a MOOC, such as from Coursera or EdX)—preferably Calculus I—if possible. It’s ideal for the course to be completed by the time the application is submitted, in which case the course’s transcript should be included as part of the application. If that is not possible, then we recommend that the applicant mention in their Statement of Purpose the name of the course they’re taking, what college or university it’s offered by, and when they expect to complete it. If enrolling in such a course is not an option, then we strongly recommend taking the GRE.
While math course performance is a very helpful indicator for whether an applicant has the necessary math skills to be successful in our program, we recognize that many of our applicants have not taken college/university-level math, which is why there is the option of taking the GRE. The reason we look for strong performance in a math course or on the quantitative portion of the GRE is because success in CL/NLP and in programming relies on strong quantitative ability. Calculus and linear algebra are also foundational to much state of the art work in NLP and machine learning, and so having some knowledge of these areas before beginning our program is additionally helpful.
Can I apply if I have never studied linguistics (or only studied it very little)? Similarly, if I’m still an undergraduate student but not studying linguistics, what course(s) could I take before graduating to help my application?
You can indeed apply to our program without having studied linguistics before, and while many of our students and alumni studied linguistics as undergraduates, many others enter our program from a diverse range of fields spanning hard sciences, social sciences, and humanities.
If you are accepted into our program, you will take several core linguistics courses to fill in your background as part of your degree requirements.
While not a requirement for applying to our program, it is helpful (for instance, if you are still an undergraduate and have the time) to take an introduction to linguistics course, ideally one that focuses on theoretical linguistics.
Are there any prerequisites for applying to the program? What do you recommend for preparing to apply to the program if I don’t have a computer science or math background? Similarly, if I’m still an undergraduate student but not studying CS or math, what courses could I take before graduating to help my application?
We frequently accept students with academic backgrounds outside of computer science or math. While we do not have prerequisites for applying to the program, our recommendations for preparing for your application in this situation are as follows.
Overall, as much as possible, your application materials should demonstrate your quantitative and programming ability.
If you have not yet taken any programming courses at at least the undergraduate (college/university) level from an accredited institution, then we recommend that you take at least one accredited introductory programming course before you apply.
- If you have to pick just one programming language to study before you enter, choosing Python will allow you the smoothest and most comfortable transition into our program. This is because it is the language used in the NLP core courses (and most CL/NLP electives) taken by all students, including the first semester core course. So, having some working knowledge of Python before starting will make that first core course and semester much smoother for you.
- Look for the first programming course that counts toward the Computer Science major at the school offering it, and avoid courses targeted at disciplines outside CS (e.g., ‘Programming for Social Sciences/Natural Sciences/Humanities’).
- A high grade (at least a B, and ideally in the A range) in one such course is sufficient. But, if additional time remains before you apply, you could even continue with the introductory CS sequence, through Data Structures if possible.
Similarly, if you have not taken any relevant math courses that are at least at the undergraduate level at an accredited institution, then we strongly recommend that you enroll in an accredited, college/university-level math course, preferably a Calculus I course.
- Again, aim for a grade of B or higher, and ideally in the A range. If you need to pick just one course, choose Calculus I.
- If you are unable to enroll in a course, then we strongly recommend that you take the GRE exam, which will allow us to use your quantitative score as an additional metric by which to evaluate your quantitative skills.
- Similarly to taking a first computer programming course, just this one Calculus I course is sufficient. However, if you are able to and have additional time before applying, you could follow Calculus I with linear algebra, after that multivariable calculus, probability and statistics, and then discrete math.
If you have a programming and/or a math course in mind and would like to receive feedback on whether it would make a good choice to help your application to our program, please email each course’s syllabus to our admissions coordinator: firstname.lastname@example.org.
Taking such programming and/or math courses will help you to determine whether our program will be a good fit for you. Since achieving success in our program will depend most of all (along with all that goes into being a strong and diligent student) on your programming and math skills, it will be helpful to know in advance whether you enjoy and have a knack for these subjects. While there is no requirement for you to take any of these courses before you apply, it is better to take them now than later in the process.
If you are admitted to our program and have not completed at least one suitable programming course, with a grade of B, or higher at an accredited, post-secondary institution (i.e. a college or university), you will almost certainly be admitted with the condition that you take such a course and receive at least a B grade before entering the program. Similarly, if you are admitted to our program and have neither completed a relevant math course with at least a B at an accredited, post-secondary institution nor submitted GRE scores showing a high quantitative score, then it is likely that your admission will be on the condition of taking an approved Calculus I course and receiving at least a B. Please see additional FAQs below (in the section for admitted students) for more information about conditional courses.
Special note for international applicants: if you have not taken an undergraduate level math or programming course and suspect you’d be required to from the descriptions just given, then it may be particularly helpful for you to take these courses before or while applying to our program, rather than waiting. If you are admitted with the condition of taking one or more courses, then the courses would need to be completed before you can begin your visa application process. In such cases, we strongly advise completing the course(s) by mid-May at the latest, to avoid any delays with your visa.
Can I apply without having programmed previously? What does it mean to be accepted on the condition of receiving a B or higher in a programming course?
Yes. However, if you are accepted into our program, it will be with the condition of getting a B or better in an introduction to programming course at an accredited, post-secondary institution (i.e. a college or university).
The reason for this requirement is to make sure that our program and the field of CL/NLP will be a good fit for you. Knowing that you have been evaluated as a strong programmer, and, importantly, that you enjoy programming, will give you greater certainty that this is a good career path and degree program for you.
Since CL/NLP involves lots of programming, we have found that adding this requirement allows students without prior study of CS to have a smoother first year than they would otherwise. It is part of what we do to try to set up every student in the program to do as well as possible, and to ultimately succeed in getting a good job or PhD program placement after graduating.
Programming takes a particular mindset, not just a skillset. Most candidates interested in computational linguistics/NLP take to it quickly, but some find that it is not a good fit for them to pursue. By taking a significantly rigorous programming course before entering, students who do well and then choose to enroll in our program have more confidence in their choice of career, clearer expectations of the work they will be doing, and better preparation for the programming assignments that they will have to tackle in their first semester.
Special note for international applicants: If you are admitted with the condition of taking a course prior to entering, we strongly advise you to complete the course by mid-May to avoid any visa delays, since the course must be completed before you can begin the visa application process.
Note: some of the Questions about Applying to Our Program above are also relevant to accepted students.
Why am I being asked to take an introduction to programming course? What does it mean to be accepted on the condition of receiving a B or higher in an introduction to programming course?
The reason for this requirement is to make sure that our program and the field of CL/NLP will be a good fit for you. Knowing that you have been evaluated as a strong programmer, and, equally importantly, that you enjoy programming, will allow you greater certainty that this is a good career path and degree program for you before you begin.
Since CL/NLP involves lots of programming, we have found that adding this requirement allows students without prior study of CS to have a smoother first year than they would otherwise. It is part of what we do to try to set up every student in the program to do as well as possible in their studies, and to ultimately succeed in getting a good job or PhD program placement after graduation.
Programming takes a particular mindset, not just a skillset. Most candidates who are interested in computational linguistics/NLP take to it quickly, but some find that it is not a good fit for them to pursue. By taking a significantly rigorous programming course before entering, students who do well and then choose to enroll in our program have more confidence in their choice of career, clearer expectations of the work they will be doing, and better preparation for the programming assignments that they will have to tackle in their first semester. In most situations, students finish the course excited to dive even deeper into programming and begin learning about its linguistic applications once their first term here begins.
In the uncommon situation in which the course does not go well, students have told us that, while disappointed, they were glad to have discovered that a programming-intensive field like CL/NLP is not a good fit for them before investing the time, money, and energy of beginning a graduate program in it.
Special note for international applicants: if you are admitted with the condition of taking a course prior to entering, we strongly advise you to complete the course by mid-May to avoid any visa delays, since the course must be completed before you can begin the visa application.
Why am I being asked to take a mathematics course before entering the program? What does it mean if I am accepted with the condition of getting a B or better in a mathematics course?
Certain students may be admitted with the condition of taking a mathematics course—typically a calculus I course—at an accredited, post-secondary institution (i.e. a college or university) and receiving a grade of B or higher. Students typically fall into this category if they lack a CS background and have neither taken a relevant college/university-level math course (for instance, involving calculus, linear algebra, advanced probability and statistics (beyond, for instance, just a single social science-oriented stats course), or discrete math) nor received and submitted high quantitative GRE scores. (As described above, submitting GRE scores is optional but recommended for students who have not completed graded relevant college/university-level math courses.)
The reason for this requirement is to make sure that our program and the field of CL/NLP will be a good fit for you, given that CL/NLP involves a good deal of mathematics, and particularly statistics, linear algebra, and calculus). In the uncommon situation in which the course does not go well, students have told us that, while disappointed, they were glad to discover that a heavily quantitative field like CL/NLP is not a good fit for them before investing the time, money, and energy of beginning a graduate program in it. Since students we accept already show evidence of a strong quantitative bent, it is more common that those with a math condition do well in the course—enabling them to enter our program more prepared, and excited to do more.
We view this requirement as benefiting the accepted student as much as the program, and it is part of what we do to try to set up every student in the program to do as well as possible throughout their studies.
Special note for international applicants: if you are admitted with the condition of taking a course prior to entering, we strongly advise you to complete it by mid-May to avoid any visa delays, since the course must be completed before you can begin the visa application.
What can I do to begin learning to program before starting the program? What programming resources would you recommend?
One of the most widely used languages in CL/NLP is Python. While by no means an exhaustive list, some books, tutorials, and exercises that current and past students have found helpful are as follows:
- For students who want to develop more general computer science skills, you may want to take CS50 on edX. Please don’t pay for a certificate, though!
- Python 101, Michael Driscoll (free): This provides a very good, hands-on introduction. Chapters 1-11 are the most helpful, and cover general Python content.
- Learn Python 3 the Hard Way, Zed A Shaw ($29.99): This is another hands-on tutorial and it has accompanying explanatory videos, but it isn’t free. If you want to try it out without paying, they offer a free sample.
- Learning Python 5th Edition, Mark Lutz (May be free through a library).
- Mysteries of the Pythonic Temple, Twilio: This is a very novel way of learning to use Python; you play an RPG game where the “battles” are programming challenges. It’s good for beginners and relatively fun, but if you have significant Python experience you may find it starts too slowly.
- Practice Python, Michele Pratusevich: This is a great set of exercises with solutions available.
- The Python Tutorial: This is the official Python tutorial. It does a good job of explaining Python’s core features, but is designed for readers with significant programming experience. Chapters 1-9 cover general Python content and will be most relevant to you.
Questions about Financial Aid, Internship Opportunities, Job Placements after Graduation, and Our Program’s Curriculum
What forms of financial assistance are available to help with the cost of tuition? Are there teaching assistantships, research assistantships or jobs available?
All full-time students in our program receive generous scholarships, typically over 40% of tuition, in each of the four semesters of their studies.
We also do all we can to connect students with paid work opportunities during their studies, both on and off campus. There are part-time, hourly jobs that students can apply for on campus; these jobs do not include a tuition waiver. Hiring depends on current demand and the student’s qualifications for the particular position. Although we cannot guarantee you a position, we can tell you that most students in our program have one or more of the following part-time jobs at some point during their studies. What you might want to take on and are qualified for typically evolves as you progress through the program.
- Course Assistantships (CAs): Students with a strong undergraduate degree in either linguistics or computer science can work as CAs for our undergraduate courses in those departments.
- Research Assistantships (RAs): These positions are appropriate for students once they have developed their programming abilities, which may occur earlier or later in the program depending on students’ academic background and previous programming experience. There are many ongoing research projects in the department that need RAs, and the list is constantly evolving. There is also frequently the need for students to work as annotators on corpora being built in our labs. Recent projects have involved data from languages including English, Chinese, and Russian.
- Tutoring and grading: our students commonly work elsewhere on campus as well, including as English tutors for Brandeis’s English Language Program, as Mathematics course graders, or (less frequently, since the positions are difficult to obtain) as Course Assistants for language-learning courses.
These positions may not be set until the start of the semester. However, we encourage admitted students who are interested in specific positions to reach out to the appropriate faculty member and share their resume.
Off-campus, many of our students participate in paid internships in CL/NLP-related work in the Boston area and around the US, usually starting in the summer after their first year. Internship positions can range from annotation to programming to research. These are invaluable opportunities to gain real-world experience, build a professional network and get a job for post-graduation. Many students may also choose to continue internships during their 2nd year, or begin a new internship, and elect to use their internship in their last semester to count towards the program’s exit requirement.
It is also helpful for the high proportion of our students who work in industry right after graduating that CL/NLP industry work typically involves high-paying salaries. (For instance, as of January 2023, PayScale reports that the average starting salary in this field is about $115,000).
Most of our students complete an internship before graduating. A majority choose the internship option to satisfy the exit requirement during their final semester (see “What is the program’s exit requirement? What are the differences between exit requirement options and can I choose more than one?” below for more information), which involves enrolling in a full 4-credit internship course (counting as one of the three minimum courses that full-time students take each term). Such internships must involve CL/NLP as the primary topic, and are typically 15-25 hours per week.
In addition, and independently of whether students pursue an internship for their exit requirement, internships can be undertaken at earlier points during the CL MS program, both during the school year and over the summer. Many of our students choose to participate in additional such internships, particularly during the summer following the first year, and during the second/final year of study. US students may choose to receive academic credit for these internships (although this is not required), and international students all sign up for a 1-credit course as part of their CPT (curricular practical training) application requirements.
While both types of internship can be paid or unpaid, nearly all have historically been paid, and typically pay a higher rate than on-campus positions.
Special note for international applicants: Please find more information about internships and the CPT process on our International Students and Scholars (ISSO) website.
Our students graduate with highly developed programming skills and with the unique specialization in CL/NLP, which make them very desirable to employers. To help our students market themselves to prospective employers, we offer a wide range of opportunities, including:
- One-on-one CL Career Advising: We encourage students to meet with a CL career advisor to review their resume, practice for interviews and receive advice on the job search. In each semester, current students can consult the CL MS Advising webpage for information on how to sign up for both career and academic advising. (Note that this is not open to prospective students and those who have not yet enrolled in our degree program, unfortunately.)
- CL/NLP Industry Receptions: We host one to two CL/NLP industry receptions each semester, to expose students to different companies and organizations hiring for CL/NLP in the Boston area and around the country, and to help them build their professional network. Often the company representatives include alumni from our program who are very familiar with our curriculum and the unique skill-set of our students. A high proportion of the internships during school and post-graduation full-time jobs that our students obtain come directly from conversations begun at our CL/NLP industry receptions, and the events are continually praised by our students and alumni as a key reason they chose Brandeis for their studies.
- Hiatt Career Center and GSAS Professional Development: Students can attend computer science career fairs and receive one-on-one career coaching on resumes, LinkedIn and job applications.
- CL/NLP Colloquium Talks: During the semester, we hold a weekly CL/NLP Colloquium that features prominent speakers from both industry and academia to discuss their cutting-edge research and work. We’ve had speakers from Amazon, Adobe, Basis Technologies, Call Miner and Interactions, for example. After the talks, participants have time to network and meet with the speakers, building their professional network.
- Program-Sponsored Career Events: During the year, our program hosts a number of talks on career-related topics. For example, we’ve hosted alumni panels and faculty talks on finding internships, applying to big tech jobs and preparing for a technical interview.
What is the program’s exit requirement? What are the differences between exit requirement options and can I choose more than one?
All students must complete an exit requirement course during their final semester in the program, involving their choice of a thesis, capstone project, or off-campus internship. With approval, strong students can opt to begin the requirement during the preceding semester and complete it over two semesters rather than one, and/or to complete more than one type of exit requirement. Each exit requirement course option involves a full 4-credit course that serves as one of the 3 courses minimum that each full-time student takes each term.
Here is a brief description of the three options:
- Internships: Most students use this option, and it is the prototypical choice for those seeing an industry job placement right after graduation. Students can expect to work on average 20-25 hours per week at an internship that is directly related to CL/NLP, and thus involves substantial amounts of both computational (i.e. involving computer programming) and language-related content. The internships can be paid or unpaid, though in practice all have been paid to date (since our program’s beginning in 2008). Typical positions range from for-profit companies large, medium, and small to organizations such as hospitals and research institutes. Students planning PhD studies may also choose this option, particularly involving positions that are more research-based.
- Master’s Thesis: Students interested in engaging with self-driven research at a deep level often choose this option, which is also especially relevant for those planning PhD studies after graduation. The thesis involves a formal piece of academic writing that is then defended at a final oral defense before a thesis committee and the CL community. CL MS theses can involve topics ranging from very applied to more theoretical in nature, so long as they involve substantial amounts of both computational (i.e. involving computer programming) and language-related content.
We advise those students who have not previously written a thesis, who are not fully up to speed on how research in CL/NLP is conducted, and/or who have not yet developed a fully fleshed out thesis topic and plan to register for Ling 195: Introduction to Research in Linguistics and Computational Linguistics in the fall of their final year in the program. For students who do not need this course for the reasons just listed, we recommend enrolling in the thesis course for both semesters of their final year (which requires permission of the thesis supervisor and CL MS Director of Graduate Studies). In either case, we recommend that students interested in completing a thesis think about potential thesis advisors early, and start meeting with the supervisor in the fall of their graduation final, either concurrently with Ling 195 or as part of their enrollment in a two-semester thesis.
- Capstone Project: This independent project involves an amount of work equivalent to that of a thesis or internship, but tends to be more applied in nature, and is not written up and defended as a formal academic paper. Capstone projects typically result in something that can be put up on the student’s GitHub and demoed. At the end of the semester, students present their project to their capstone advisor and the CL community and submit a (typically short) written component. Like the internship and thesis options, capstone project topics must involve substantial amounts of both computer programming and language-related content.
Please keep in mind that we’re always happy to talk things over with you and help you make a decision as the time to choose approaches. Particularly as students move into and through their final year in the program, this is frequently something that students discuss in detail during individual meetings with CL advising faculty.
- Graduate Studies
- Master of Science in Computational Linguistics
- PhD Studies in Computational Linguistics
- Research Program
- Linguistics and Computational Linguistics Home
- Department of Computer Science
- Contact Us