General Application Questions
CLASIC is not an entirely distance learning program. At this time, only some courses are offered remotely.
- Linguistics majors: Take introductory courses in Computer Science and Programming Languages, in addition to a Data Structures course and an Algorithms course. Take at least one semester of Calculus and an upper division Statistics and Probability course. Other electives in computer science would be a plus, such as Artificial Intelligence or Machine Learning.
- Computer science majors: Take an introductory Linguistics course focusing on language structure. Other linguistics courses would also be a plus, such as morphology/syntax, semantics, or formal semantics.
- Other majors: A degree in linguistics or computer science is not required. See the recommendations for both of those majors above and complete as many as possible.
No, neither a linguistics nor a computer science degree is necessary.
NLP is used in many fields, including medicine, bioinformatics, business, and law. Pre-med, economics, or business degrees can be useful backgrounds to a Master’s in Computational Linguistics. Work experience in programming or languages is beneficial as well.
You may need to fill in gaps in your coursework, however. See our recommendations for background coursework and how to prepare for application.
Evidence of work experience can sometimes replace courses.
Our recommendations include some online courses, e.g., through Coursera, which can be done on your own time and can be a good way to take care of introductory background courses. However, you should have transcripts from a university or community college showing one or two more advanced courses in each category (CS, math, linguistics) taken for a grade.
The University of Colorado Boulder and Oregon State offer an accelerated 1-year B.S. degree in computer science to those who have completed an undergraduate degree in another field.
To complete the CLASIC program, you will need to be able to survive in graduate CS courses and this requires more of a CS background than just programming.
You also need to be familiar with algorithms and theory of computation, so you will need to take at least one upper division undergraduate course as recommended on the Admissions page.
If your application still needs only one or two background elements, we encourage you to go ahead and apply. You can use your personal statement to let the committee know how you are still working to prepare yourself.
Our committee will consider all your materials, and strong candidates may be conditionally admitted, contingent on completion of any remaining requirement deficiencies during the summer or the first semester.
Information regarding tuition and mandatory fees is available here.
In June of each year, the Board of Regents determines the tuition and mandatory fees for the upcoming year. Look for the Professional Master’s in Computational Linguistics on the Graduate tuition pages.
- Introductions to programming and NLP: Python is a common programming language in NLP. A good online textbook is Learn Python the Hard Way. The title is a bit tongue-in-cheek; it’s actually a very accessible introduction to Python.
- For an introduction to Python that teaches the language through computational linguistics topics, The Natural Language Toolkit is available online for free. It assumes no previous knowledge of programming.
- Introduction to linguistics: A good beginning textbook is Linguistics: An Introduction to Linguistic Theory, Fromkin (ed.)
- Math background: Good foundational books are Discrete Mathematics: Mathematical Reasoning and Proof, Ensley, and Differential Equations and Linear Algebra, Farlow.
To receive University financial aid, domestic students must complete the Free Application for Federal Student Aid (FAFSA) form, available from the Office of Financial Aid and on the FAFSA website.
Additional information about financial aid may be found here and here. The Graduate School has funding information including National Fellowship Opportunities broken down into categories here.
The CLASIC Program will typically award a $5000 scholarship to one member of each incoming class to be used toward first-year tuition. The student will be eligible for an additional $5000 toward second-year tuition, contingent on good academic standing. All applicants will be considered for this scholarship. The Admissions Committee and Program Directors will select the recipient after full evaluation of all application materials. Preference will be given to domestic students whose FASFA forms indicate high financial need, but opportunities may also be extended to students who show outstanding academic potential and express personal and professional goals in line with the program’s diversity statement.
Students in the Professional MS programs are not eligible for Teaching Assistantships (TAs), Research Assistantships (RAs), or Graduate Part-Time Instructor (GPTI) appointments.
Part-time hourly jobs as graders, as researchers on grant-funded projects, or for individual professors may be possible once you've arrived on campus. There are occasional opportunities for part-time hourly jobs in other programs, particularly in the Program for Writing and Rhetoric and in foreign language departments.
Remember to check out the Student Employment Office for on-campus and off-campus opportunities. International students can work a certain number of hours per month and should consult with the International Student and Scholar Services Office (ISSS).
Every year is different, but previous internships for CU NLP students have included: Google, Microsoft, IBM, IPSoft, Oracle, Pearson, NVoq, Avaya, Hughes Research Lab, and Yahoo!
Recommendations for background courses
If you need a data structures course, we can suggest this one from UCSD: Data Structures | Coursera. An alternative is Data Science Foundations: Data Structures and Algorithms Specialization (CU Boulder) | Coursera, a new sequence that combines data structures and algorithms and is offered from the University of Colorado. This one is especially good because some classes that CLASIC students take in the Computer Science department require an undergraduate course in Data Structures as a prerequisite.
As for programming, Python is the language of choice for NLP. Java and C++ are sufficient to begin the program (and may be used in some of the basic CS classes), but you will be expected to learn Python at some point. See the question on background reading for suggestions to learn Python on your own.
If you need a background linguistics course, look for one similar to these offered at CU: Introduction to Linguistics, or Languages of the World, both of which focus on language structures (semantics, syntax, morphology). These courses are usually offered in the summer session but may also be offered during the academic year through the CU Access/Continuing Education program. Many of our students complete their preparation this way, registering as a “non-degree undergraduate student”.
CLASIC FAQs for incoming students
A normal master's-level course load is 3 courses.
- We recommend completing the Linguistics and the Computer Science core classes before moving on to the core CLASIC courses and electives.
The exception is CSCI 5832, Natural Language Processing, which we recommend taking in your first or second semester to prepare for potential internships in the summer.
This course is often offered both fall and spring semesters, but occasionally it is only offered in the fall. Check with your academic advisor to see if you should take it your first semester.
LING 5030 Linguistic Phonetics and LING 5420 Morphology and Syntax are only offered in the fall, and we strongly recommend you take Morphology and Syntax your first fall semester.
If you are interested in Phonetics, that is a good time to take it as well.
The following are all good choices for computer science classes in the first semester:
- CSCI 5448 Object-Oriented Analysis and Design
- CSCI 5576 High-Performance Scientific Computing
- CSCI 5622 Machine Learning
- CSCI 5832 Natural Language Processing
Click here for a sample of relevant frequently offered fall courses.
Your academic advisor will reach out to you after you have accepted our offer of admission and before you are eligible to enroll to discuss your course selections for the semester.
There are orientation sessions a few days before the start of classes that offer information about the Linguistics Department, the Department of Computer Science, and the CLASIC program.
These orientations, the weekly CompSem meetings, as well as events promoted throughout the academic year will give you opportunities to socialize with students and professors.