ANLP: Should I take this course?

This course assumes somewhat less previous programming and/or mathematics knowledge than many other Semester 1 MSc courses in Informatics (in particular: Text Technologies and the machine learning courses). However, that does not mean it is an easy course. It covers a lot of material rapidly, and nearly all students will find parts of the course challenging, whether it is the mathematics, programming, or linguistics and writing.

Please read through the Required Background section below to help you prepare.

Relationship to other Informatics courses

This course is one of the core courses on the NLP Specialist area, and is required as a prerequisite for more advanced NLP courses in the second semester, and for most MSc students who wish to do summer projects in NLP. It covers (among other things) aspects of language processing related to the syntax and meaning of sentences; that is, where the order of words matters.

There are two other text processing courses that can be taken without prerequisites:

This course also covers some important concepts and methods in machine learning as they relate to NLP. However, students who want a more thorough background in machine learning should register for one of the machine learning courses.

Required background and how to prepare


This course assumes you are willing to engage with mathematical notation and concepts. Previous knowledge of probability theory is helpful but not required. However, if you do not have this background already, you will need to devote extra effort to learning it.

You should plan to work through the tutorials linked below during the first two weeks of class, and start now if you can! Once courses start you will only get busier. Even if you're not sure of taking this course, this background will be useful in many other Informatics courses too!


Labs and assignments use the Python programming language. We assume you either already know how to program, or are concurrently taking the Computer Programming for Speech and Language Processing course.

If you are already fluent in one or more programming languages, but not in Python, probably the best way to pick up what you need to know is by going through the official Python tutorial. Again, start sooner rather than later, as you'll only get busier.

Linguistics and English

This course introduces fundamental concepts in linguistics, and does not assume any previous linguistics background. Linguistic concepts are mainly introduced using examples from English, and students are expected to be able to explain both linguistic and technical concepts clearly in writing. Therefore, good English skills are necessary to do well in this course.

Home : Teaching : Courses : Anlp 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh