BA English Language and Japanese / Course details

Year of entry: 2024

Course unit details:
Computational Linguistics

Course unit fact file
Unit code LELA32051
Credit rating 20
Unit level Level 3
Teaching period(s) Semester 1
Offered by Linguistics & English Language
Available as a free choice unit? Yes


The last two decades have seen an explosion in the use of language technologies - from consumer applications such as Alexa and Google Translate to the behind-the-scenes use by, for example, social media, news and marketing companies. This course unit will provide an introduction to the field of computer natural language processing (NLP). It will focus on technologies for representing word meaning, performing syntactic analysis of sentences, composing sentence meanings, translating between languages and conducting human-machine conversation. We will consider ways in which linguistic theory is useful in performing each of these tasks, and conversely how decades of experience in building such systems can inform linguistic theory. Students will acquire a basic knowledge of the Python programming language, and gain experience of building the kinds of models that are deployed in real-world technologies. No prior programming experience is required.


Unit title Unit code Requirement type Description
English Word and Sentence Structure LELA10301 Pre-Requisite Recommended

A foundational unit in morphology and syntax, e.g. LELA10301 English Word and Sentence Structure is recommended.


The principal aims of the course unit are to:

  • Familiarize students with different approaches to the computer processing of human language
  • Enable students to decide which technologies to apply to novel NLP challenges
  • Give students experience of building, running and interpreting the performance of programs
  • Encourage students to apply insights gained from the computer processing of natural language to their analysis of linguistic data and development of linguistic theory

Learning outcomes


    Knowledge and understanding

    Students who successfully complete this course will acquire an understanding of:

    • Probabilistic approaches to language
    • Two core types of machine learning (supervised learning, unsupervised learning)
    • Five key areas of NLP (vector space and embedding representations of word meaning, part of speech tagging and parsing, neural sequence models, machine translation and dialogue systems)
    • Fundamentals of computer text processing (file handling, tokenisation and normalisation, regular expressions) and powerful NLP/machine learning packages

    Intellectual skills

    Students who successfully complete this course will develop and demonstrate skills in:

    • Adapting theories and intuitions to messy real-world data
    • Scaling up theories and intuitions to big data
    • Thinking formally about uncertainty and ambiguity
    • Developing and analysing formal algorithms and procedure

    Practical skills

    Students who successfully complete this course will develop and demonstrate the ability to:

    • Perform the simple text processing tasks (input/output, tokenisation, normalisation) needed to make use of NLP and machine learning packages
    • Run computational linguistic experiments in provided Python notebooks
    • Interpret and report on the performance of natural language processing systems
    • Decide which algorithms to deploy for a new NLP problem

    Transferable skills and personal qualities

    Students who successfully complete this course will develop and demonstrate the ability to:

    • Organise and access data in the cloud
    • Run programs in the cloud - Apply training to an unfamiliar domain
    • Deal with points of incompatibility between their prior assumptions and data

    Assessment methods

    Exam 50%
    Coursework 50%
    Mock exam N/A (Formative)


    Feedback methods

    Written and oral feedback on coursework report Summative
    Written and oral feedback on exam Summative
    Oral feedback on mock exam Formative


    Recommended reading

    Bird, S., Klein, E., & Loper, E. (2009). Natural language processing with Python: analyzing text with the natural language toolkit. O'Reilly.

    Jurafsky, D. and J. H. Martin (2020), Speech and language processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. 3rd Edition. Prentice-Hall.

    Young, S. (2021). Hey Cyba: The Inner Workings of a Virtual Personal Assistant. Cambridge University Press. 

    Study hours

    Scheduled activity hours
    Lectures 11
    Seminars 22
    Independent study hours
    Independent study 167

    Teaching staff

    Staff member Role
    Colin James Bannard Unit coordinator

    Return to course details