The explosive growth of the Web and the vast improvements in computing power in the last decade have led to a strong need for education and research in human language technology. Human language technology is an interdisciplinary field that includes the following key technological and scientific areas:

  • Computer Speech Recognition and Understanding
  • Natural Language Understanding and Generation
  • Text-based Information Retrieval
  • Web-based Dialog Agents

The University of Colorado's interdisciplinary certificate in Human Language Technology, offered jointly by the Center for Computational Language and Education Research (CLEAR), the Department of Computer Science, the Department of Linguistics and the Department of Speech, Language and Hearing Sciences, provides a rich and broad background for students interested in computational tools for human language processing.

Admission and Eligibility

The Human Language Technology Program offers a Master's-level certificate, which accompanies a normal MA or MS degree in one of the three Human Language Technology disciplines:

  • Computer Science
  • Linguistics
  • Speech, Language, and Hearing Sciences

The program is available to currently enrolled CU Boulder Master's or PhD students in any of the three fields above, including students enrolled in a 5-year concurrent MA/BA program. Interested students should contact the HLT Curriculum Committee member in the appropriate department. Department representatives on the HLT Curriculum Committee are: 

Computer Science Jim Martin martin@cs.colorado.edu
Linguistics Martha Palmer martha.palmer@colorado.edu

Students interested in the HLT certificate who are not currently enrolled at the University of Colorado must first apply to and be admitted to a graduate program in one of the three participating departments. Prospective students should contact an HLT Curriculum Committee member to register interest in the HLT program; the HLT Curriculum Committee member can then forward the student's inquiry to admissions staff in the appropriate department.


The curriculum for the certificate consists of 5 different courses:

  • One semester of programming (CSCI 1300) (waived for those with programming background)
  • Three courses from the core list; one must be either CS 5832 or LING 5832, as well as two more from the core list.
  • One course from the optional course list (or 2 from the optional list if programming was waived). Extra courses from the core list (beyond the required 3) can also be counted as optional courses.

Three of these five required courses must be taken at the graduate level.


While the certificate only requires CSCI 1300 (Programming) we strongly recommend other programming courses, especially CSCI 2270 (Data Structures), but also LING 5200 (Computational Corpus Linguistics and Python Programming), or TLEN 5833. We also recommend any relevant statistics course, such as SLHS 2100, PSYC 3101, PSYC 5741/5751, or EDUC 5716.

Core Courses

Students must take three courses from this core list. At least two of the three must be outside the student's home department and college.

Required Course

CSCI/LING 5832 Natural Language Processing

Courses in Designing and Using Interactive Language Systems

CSCI 4838/6838 User Interface Design and Evaluation

Courses in Human Communication


LING 5030 Phonetics
LING 5420 Morphology and Syntax


CSCI/LING 7800 Computational Lexical Semantics
CSCI/LING 7800 Computational Morphology and Phonology

Optional Courses

Students must take at least one other course from this optional list (or two if the programming requirement was waived)

CSCI 5582 Artificial Intelligence
CSCI 6622 Advanced Machine Learning
CSCI 3104/6454 Algorithms
CSCI 3155 Principles of Programming Languages
CSCI 3434/5444 Theory of Computation
CSCI 4402/5402 Human Language Technology Laboratory
CSCI 5535 Fundamental Concepts of Programming Languages
CSCI 6302 Speech Recognition and Synthesis
ECEN 5622 Information Theory and Coding
ECEN 4242 Communication Theory
ECEN 5612 Noise and Random Processes
ECEN 5652 Detection and Extraction of Signals from Noise
LING 5200 Introduction to Computational Corpus Linguistics
LING 6450 Syntactic Analysis
LING 7420 / 5420 Syntactic Theory
LING 7430 / 5430 Semantic Theory
PHIL 2440 Symbolic Logic
PHIL 4440/5440 Mathematical Logic
PSYC 5185 Cognitive Processes in Reading
PSYC 4165 Psychology of Perception
PSYC 7051 Psychology Research Practicum
PSYC/LING 5300 Psycholinguistics
PSYC/LING/SLHS 4560 Language Development
SLHS 2010 The Science of Human Communication
SLHS 5272 Augmentative Alternative Communication: Theory and Use
SLHS 7202 Motor Control and Speech Production
SLHS 6006 Advanced Hearing Science
SLHS 6106 Experimental Phonetics 1