Natural Language Processing

Course Overview

This advanced Natural Language Processing (NLP) course explores the interaction between computers and human language, focusing on both the theoretical underpinnings and practical applications of the field. Students will engage with core NLP techniques, including machine learning and deep learning models, to develop skills in text processing, analysis, and translation. The curriculum emphasizes critical thinking about ethical issues such as algorithmic bias and social impacts of NLP technologies. Through lectures, hands-on labs with Python and NLP libraries like TensorFlow and PyTorch, and a capstone project, students will gain the expertise necessary for careers or research in language processing technologies.


  • Appointment: Request by Email.
  • Lectures: Once a week (Tuesday @11:00 AM – 12:30 PM).
  • Credits: 6
  • Prerequisites: 
    • Background in machine learning, statistics, and linear algebra.
    • Proficiency in Python.
  • Course Website: https://ismaelali.net/?page_id=751

Course Outline

  • Overview and Evolution to NLP
  • Basic Text Processing and Analysis
  • Statistical Modeling of Language
  • Machine Learning for NLP
  • Deep Learning in NLP
  • Natural Language Generation
  • Applications of NLP
  • Ethics and Future Directions

Course Learning Outcomes

  • Understand NLP Fundamentals: Explain key concepts and theories in natural language processing.
  • Apply Machine Learning: Use machine learning and deep learning in NLP tasks.
  • Develop NLP Applications: Implement applications like text analysis, translation, and speech recognition.
  • Analyze Text Data: Process and extract insights from large text datasets.
  • Evaluate NLP Models: Assess model performance and understand ethical implications.
  • Conduct Research: Perform independent research to solve advanced NLP problems.
  • Communicate Findings: Present complex NLP concepts and results effectively.

Course Schedule

WeekTopic
1Introduction to NLP
Course overview and logistics
Introduction to the field of Natural Language Processing
2Text Processing Basics
Tokenization, stemming, lemmatization
Part-of-speech tagging and named entity recognition
3Text Processing Advanced
Syntactic parsing and dependency analysis
Introduction to semantic analysis
4Statistical NLP
Probabilistic language models (n-grams, smoothing)
Information extraction basics
5Machine Learning for NLP
Overview of supervised vs unsupervised learning
Feature engineering and dimensionality reduction
6Deep Learning Fundamentals
Introduction to neural networks
Basic neural network architectures for NLP
7Midterm Exam
8Deep Learning in NLP
Sequence modeling: RNNs, GRUs, and LSTMs
Introduction to Transformers and attention mechanisms
9Natural Language Generation I
Generating text: techniques and challenges
10Natural Language Generation II
Advanced NLG applications, dialogue systems, automated storytelling
11Applications of NLP I
Machine translation and multilingual NLP
Speech recognition technologies
12Applications of NLP II
Question answering systems and chatbots
Sentiment analysis and text classification
13Ethics and Impacts
Discussion on bias, fairness, and ethical issues in NLP
Future directions and the societal impact of NLP
14Final Exam + Project Presentations

Course Assessment

  • Assignments (10%): Four assignments involving coding and problem-solving in NLP.
  • Paper Presentations (20%): Students will present summaries and critiques of assigned research papers.
  • Midterm Exam (20%): In-class, covering all material up to the exam.
  • Final Exam (50%):  In-class, covering all material of the course.

Course Materials


Teaching Methods

The course combines theoretical lectures with hands-on lab sessions, using modern NLP tools to apply concepts in practice. Interactive discussions and student-led paper presentations will deepen understanding and engagement with current research. Group projects encourage collaboration and practical problem-solving. Additional online resources and tutorials support self-paced, deeper exploration of topics.


Course Policy

  • Illness: If you are absent due to illness as a valid excuse, please notify me of your situation at ismael.ali@edu.krd.edu before (or immediately after) your absence.
  • Course and Exam Schedule: Student is responsible of constantly following up the schedule for any updated material or any type of assessments, such as exams/projects. 
  • Etiquette: Attend all the session to be able comprehending the course material. Submit all assignments on-time, no excuse for late submission, except valid illness report. 
  • Late Attendance: No student should enter the hall 10 minutes after start time of the session. 
  • Late Work Policy: Assignments submitted late will incur a penalty of 10% per day, up to a maximum of 5 days. After 5 days, late submissions may not be accepted without prior approval from the instructor.
  • Academic Integrity and honesty: All students are expected to adhere to the highest standards of academic integrity. Plagiarism, cheating, or any form of dishonesty will not be tolerated. Violations may result in penalties, including a failing grade or further disciplinary actions.