Natural Language Processing
  • Home
  • Schedule
  • About

CS 351: Introduction to Natural Language Processing

Fifth Year Computer Science Course

Author

Dr. A.Belcaid

Published

September 1, 2025

This course provides a comprehensive introduction to Natural Language Processing (NLP), covering both theoretical foundations and practical applications. Students will learn to build systems that can understand, analyze, and generate human language using modern machine learning and deep learning techniques.

Open AI Whisper

Through a combination of student-led presentations, hands-on coding sessions, and independent research projects, youโ€™ll master the techniques that power todayโ€™s most advanced AI applications - from search engines and chatbots to translation systems and content generators.

๐Ÿ“š Reference Books

Speech and Language Processing

Speech and Language Processing
Daniel Jurafsky & James H. Martin

The definitive textbook for NLP fundamentals covering statistical and neural approaches.

๐Ÿ“– Read Online

Natural Language Processing with Python

Natural Language Processing with Python
Steven Bird, Ewan Klein & Edward Loper

Practical guide to implementing NLP solutions using Python and NLTK.

๐Ÿ“– Read Online

๐ŸŽ“ Prerequisites

Students should have completed the following requirements before enrolling:

๐Ÿ’ป Programming Skills

  • Python programming (intermediate level)
  • Experience with NumPy and Pandas
  • Basic command line usage
  • Git version control

๐Ÿงฎ Mathematical Foundation

  • Linear algebra (vectors, matrices)
  • Statistics and probability theory
  • Calculus (basic optimization)
  • Discrete mathematics

๐Ÿค– Machine Learning

  • Supervised learning concepts
  • Neural network basics
  • Model evaluation and validation
  • Feature engineering principles

๐Ÿ“š Recommended Courses

  • CS 229: Machine Learning
  • CS 106B: Programming Abstractions
  • MATH 51: Linear Algebra
  • STATS 116: Statistical Methods
Note๐Ÿ“ Preparation Suggestion

Review Python programming and linear algebra concepts before the course begins. Complete the prerequisite assessment to identify any knowledge gaps.

๐Ÿ“… Course Overview

14-Week Structure

The course is organized into two main phases over 14 weeks:

Week 1: NLP Fundamentals

Topic Presentation + Hands-on Session

  • Text preprocessing and tokenization
  • Regular expressions and string manipulation
  • Introduction to NLTK and spaCy libraries

Week 2: Statistical Language Models

Topic Presentation + Hands-on Session

  • N-gram models and probability estimation
  • Smoothing techniques for sparse data
  • Perplexity evaluation and model comparison

Week 3: Word Representations

Topic Presentation + Hands-on Session

  • Word embeddings and vector semantics
  • Word2Vec, GloVe, and FastText
  • Embedding evaluation and visualization

Week 4: Neural Networks for NLP

Topic Presentation + Hands-on Session

  • RNNs, LSTMs, and sequence modeling
  • Gradient flow and training challenges
  • PyTorch implementation workshop

Week 5: Attention and Transformers

Topic Presentation + Hands-on Session

  • Attention mechanisms and self-attention
  • Transformer architecture deep dive
  • Multi-head attention implementation

Week 6: Large Language Models

Topic Presentation + Hands-on Session

  • Pre-training objectives and fine-tuning
  • BERT, GPT, and modern architectures
  • Transfer learning strategies

Week 7: Large Language Models II:

Topic Presentation + Hands-on Session

  • Instruction and Preference Tuning.
  • Parameter-Efficient methods
  • Deployment and Application

Week 8: Ethics and Evaluation

Topic Presentation + Hands-on Session - Bias detection and fairness metrics - Responsible AI development - Model evaluation best practices

Weeks 8-14: Project Phase

Independent Research Projects - Project development and implementation - Weekly progress presentations - Peer review and feedback sessions - Final project demonstrations

gantt
    title Course Schedule
    dateFormat  YYYY-MM-DD
    
    section Topic Presentations
    Week 1-7 Presentations    :active, topics, 2024-09-01, 49d
    
    section Project Development
    Project Proposals         :milestone, proposal, 2024-10-01, 0d
    Development Phase         :projects, 2024-10-20, 35d
    Final Presentations       :presentations, 2024-11-24, 14d
    
    section Key Deadlines
    Midterm Check            :milestone, midterm, 2024-10-15, 0d
    Progress Reviews         :milestone, progress, 2024-11-10, 0d
    Final Demos             :milestone, final, 2024-12-08, 0d
Figure 1: Course Timeline and Milestones

๐Ÿ“Š Grading

Component Weight Description Timeline
Topic Presentations 25% Research and present assigned weekly topics Weeks 1-7
Hands-on Assignments 20% Coding exercises and practical implementations Weekly
Final Project 35% Independent research project with presentation Weeks 8-14
Peer Evaluations 10% Constructive feedback on classmatesโ€™ work Ongoing
Project Proposal 5% Detailed proposal for final project Week 4
Participation 5% Active engagement and discussion Throughout

Grade Scale

  • A (90-100%): Exceptional work demonstrating mastery
  • B (80-89%): Good understanding with solid implementation
  • C (70-79%): Adequate grasp of core concepts
  • D (60-69%): Minimal understanding, needs improvement
  • F (<60%): Insufficient demonstration of learning

๐Ÿ“ง Contact Information

Need Help or Have Questions?

Instructor: Dr. A.Belcaid
Email: your.email@university.edu
Office Hours: Tuesdays & Thursdays, 2:00-4:00 PM
Office Location: Engineering Building, Room 401

๐Ÿ“ง Email Me