| 
 Undergraduate Course: Advanced Topics in Natural Language Processing (INFR11287)
Course Outline
| School | School of Informatics | College | College of Science and Engineering |  
| Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) | Availability | Available to all students |  
| SCQF Credits | 20 | ECTS Credits | 10 |  
 
| Summary | This course replaces Natural Language Understanding, Generation, and Machine Translation  (NLU+) INFR11157 from 2025/26. 
 This course explores current research on processing natural language, focusing on deep learning approaches to various NLP tasks and applications. It assumes background knowledge of the main neural network architectures and standard NLP tasks such as classification, sequence labelling, generation, and translation. The focus of the course is on developing students' knowledge and critical evaluation of current approaches for addressing the conceptual, engineering, and ethical challenges in the field. We will also discuss a broader range of models, use cases, and applications than the prerequisite courses, such as multilingual and multimodal systems.
 |  
| Course description | This course runs in two parallel threads: 
 1. Topics thread: The lectures aim to familiarise students with recent research across a range of topics within NLP, including different applications and technical approaches. There will be two lectures per week on core (examinable) topics, and up to one additional lecture per week on further (non-examinable) topics from guest lecturers. Topics will vary from year to year, but are likely to include some of the following:
 
 Reasoning
 Efficiency and scaling
 Alignment to human goals and values
 Multilingual and multicultural systems and challenges
 Explainability and interpretability
 Dialogue and interaction
 Multimodal systems: text with speech, vision, action, or other modalities
 
 2. Practical thread: The practical thread will have minimal dependencies with the topics thread. Instead, it will build primarily on knowledge that students will have obtained from the prerequisite courses, but will focus on a somewhat more realistic (larger scale) scenario, to help familiarise students with tools and practices that will help them in completing an NLP project for their dissertation or later work.
 |  
Entry Requirements (not applicable to Visiting Students)
| Pre-requisites | Students MUST have passed:    
Accelerated Natural Language Processing (INFR11125) OR   
Foundations of Natural Language Processing (INFR10078) 
 | Co-requisites |  |  
| Prohibited Combinations |  | Other requirements | This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your Degree Programme Table (DPT), please seek special permission from the course organiser. 
 Maths requirements:
 Linear algebra: Vectors: scalar (dot) product, transpose, unit vectors, vector length and orthogonality. Matrices: addition, matrix multiplication. Tensors with more than 2 axes.
 Special functions: properties and combination rules for logarithm and exponential.
 Calculus: Rules for differentiating standard functions (including chain rule), partial derivative.
 Probability theory: Discrete univariate and multivariate random variables. Expectation and variance. Joint and conditional distributions.
 
 Programming requirements:
 Students should be familiar with programming in a modern object-oriented language, ideally Python which is the course language
 |  
Information for Visiting Students 
| Pre-requisites | Maths requirements: Linear algebra: Vectors: scalar (dot) product, transpose, unit vectors, vector length and orthogonality. Matrices: addition, matrix multiplication. Tensors with more than 2 axes.
 Special functions: properties and combination rules for logarithm and exponential.
 Calculus: Rules for differentiating standard functions (including chain rule), partial derivative.
 Probability theory: Discrete univariate and multivariate random variables. Expectation and variance. Joint and conditional distributions.
 
 Programming requirements:
 Students should be familiar with programming in a modern object-oriented language, ideally Python which is the course language
 |  
Course Delivery Information
|  |  
| Academic year 2025/26, Available to all students (SV1) | Quota:  None |  | Course Start | Semester 2 |  Timetable | Timetable | 
| Learning and Teaching activities (Further Info) | Total Hours:
200
(
 Lecture Hours 29,
 Supervised Practical/Workshop/Studio Hours 4,
 Summative Assessment Hours 2,
 Revision Session Hours 1,
 Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
160 ) |  
| Assessment (Further Info) | Written Exam
70 %,
Coursework
30 %,
Practical Exam
0 % |  
 
| Additional Information (Assessment) | Written Exam  70% Coursework 30%
 One semester-long practical coursework with programming and a written report.
 |  
| Feedback | Tutorials will be devoted to discussing questions, including some exam-like questions, and providing feedback on student answers. Students will also get feedback on their work through labs, through formative comments on coursework submissions, and through online discussion. |  
| No Exam Information |  
Learning Outcomes 
| On completion of this course, the student will be able to: 
        identify and discuss the main linguistic, machine learning, and ethical challenges involved in the development and use of natural language processing systemsunderstand and describe state-of-the-art models and algorithms used to address challenges in natural language processing systemsdesign, implement, and apply modifications to state-of-the-art natural language processing systemsunderstand the computational and engineering challenges that arise in the use of different models for natural language processing, and discuss the pros and cons of different models for a given taskunderstand, design and justify approaches to evaluation and error analysis in natural language processing systems |  
Additional Information
| Graduate Attributes and Skills | Students will develop their skills in reading research papers and identifying pros and cons of different approaches. They will also learn to analyse and discuss results from their own implementations. |  
| Keywords | ATNLP,NLU,NLU+,Natural Language Processing,Computational Linguistics,Generative AI |  
Contacts 
| Course organiser | Dr Edoardo Ponti Tel: (0131 6)51 1336
 Email:
 | Course secretary | Miss Kerry Fernie Tel: (0131 6)50 5194
 Email:
 |   |  |