CNG463 INTRODUCTION TO NATURAL LANGUAGE PROCESSING
Course Code: | 3550463 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (3.00 - 0.00) |
ECTS Credit: | 6.0 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Undergraduate |
Course Coordinator: | |
Offered Semester: | Fall or Spring Semesters. |
Course Objectives
This course introduces students to the foundations and modern techniques of Natural Language Processing (NLP). It covers core concepts such as text processing, language modelling, word representations, and deep learning architectures, leading up to advanced topics like large language models, information retrieval, and text generation. Students will gain both theoretical knowledge and practical skills to design, implement, and evaluate NLP systems for real-world applications.
Course Content
Introduction to linguistic theory and techniques used in natural language processing (NLP). Template and keyword systems. Declerative and procedural approaches to NL parsing. Phrase Structure. Unification-based grammar. Parsing algorithms. Semantics. Morphology and Lexicon.
Course Learning Outcomes
By the end of this course, students will be able to:
- Explain the fundamental concepts of NLP, including linguistic structures and text processing pipelines.
- Apply classical algorithms such as minimum edit distance and n-gram language models to basic NLP tasks.
- Build and evaluate word representations, including static and contextual embeddings.
- Understand and implement transformer-based models and large language models.
- Design supervised learning systems for text classification and sequence labeling tasks.
- Apply modern approaches to information retrieval and retrieval-augmented generation.
- Implement NLP systems for core tasks such as dependency parsing, question answering, and summarization.
Program Outcomes Matrix
Level of Contribution | |||||
# | Program Outcomes | 0 | 1 | 2 | 3 |
1 | Employ knowledge of mathematics, science and engineering to formulate solution to real life computing problems | ✔ | |||
2 | Design and conduct experiments, as well as analyze, evaluate and interpret data | ✔ | |||
3 | Design systems, components, and/or processes by specifying the requirements and determining the realistic constraints such as ethical and environmental | ✔ | |||
4 | Judge professional and ethical principles and integrate them in the working environment | ✔ | |||
5 | Have the ability to communicate effectively | ✔ | |||
6 | Recognize the need for, and an ability to engage in life-long learning | ✔ |
0: No Contribution 1: Little Contribution 2: Partial Contribution 3: Full Contribution