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
CS 351: Introduction to Natural Language Processing
Fifth Year Computer Science Course
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.

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
Daniel Jurafsky & James H. Martin
The definitive textbook for NLP fundamentals covering statistical and neural approaches.

Natural Language Processing with Python
Steven Bird, Ewan Klein & Edward Loper
Practical guide to implementing NLP solutions using Python and NLTK.
๐ 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
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
๐ 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