End-of-term exam
Lists NLP and Python topics for an oral exam, with logistics for online Teams sessions.
What this file does
Lists NLP and Python topics for an oral exam, with logistics for online Teams sessions.
When to use it
- Designing an end-of-term exam for a Python and NLP course
- Creating a study guide covering NLP fundamentals and Python features
- Planning online oral exams with screen sharing and live coding
Assumes this stack
End-of-term exam
-
Each student will be randomly assigned 2 topics, one about NLP and one about Python.
-
The main focus will be on the NLP topic, but sufficient knowledge (at least that equivalent to a passing grade) must be demonstrated in both topics to pass the exam.
Online examination
Due to the current situation, all exams will be held on Microsoft Teams. This means:
- there is no preparation time after you are assigned topics,
- you must have your camera turned on,
- you must be prepared to share your screen and start writing code. We recommend that you already have Jupyter or Colab running when you start the exam.
Exam times and location
| Date | Time | Location |
|---|---|---|
| May 25 (Tue) | 10:15 | Teams |
| Jun 01 (Tue) | 10:15 | Teams |
| Jun 08 (Tue) | 10:15 | Teams |
I. NLP topics
1. Intro to NLP
- NLP tasks
- Tokenization, lemmatization, POS tagging, language modelling
- Text representations
- One hot encoding, TF-IDF
- Feature vectors, classification pipeline, logistic regression
2. Embeddings
- Problems with one-hot encoding
- Creating word embeddings, cosine similarity of word vectors
- Using word embeddings in NLP tasks
3. Deep Learning for NLP
- Learning types (supervised, unsupervised, classification, regression, clustering)
- Constructing train, validation and test sets
- Terminology
- Loss function
- Batch size
- Epoch
- Learning rate
- Feed forward neural networks
- Neurons, activation functions, softmax
- Difference between feed forward and recurrent neural networks
4. Sequence modeling
- 3 basic types
- Example applications
- What are the sequence elements? Pros and cons.
- Padding and batching
5. Transformers
- Attention
- Basic idea not the exact formulation
- Transformer
- Motivation
- Basic components
- Positional encoding
6. BERT
- Contextualized embeddings
- BERT tokenization
- BERT components
- Finetuning
- Applications
7. Evaluation metrics on NLP tasks
- Why do we use other metrics than accuracy?
- Evaluation of universal dependancy trees
- F-score
- ROUGE
8. Universal Dependecies
- What is in a dependency tree?
- What is CoNLL-U?
- Learning dependency parsing
- Basic ideas, not step-by-step
II. Python topics
1. Introduction
- What is Jupyter?
- Cell types, cell magic
- Kernel
- Short history of Python
- Python community, PEP, Pythonista
2. Functions and generators
- args, kwargs
- Default arguments
- Lambda functions
- Generators, yield statement
3. Type system
- Static vs. dynamic typing
- Built-in types (numeric, boolean), operators
- Mutability
4. Sequence types
- list vs. tuple
- Operators
- Advanced indexing
- Extra: time complexity of basic operations (lookup, insert, remove, append etc.)
- Set type and operations
5. Strings
- Character encodings: Unicode vs. UTF-8, encoding, decoding
- Common string operations
- String formatting (mention at least two kinds)
6. Object oriented programming I.
- Data attributes, methods, class attirbutes
- Inheritance,
super - Duck typing
- Magic methods, operator overloading
7. Object oriented programming II.
- Assignment, shallow copy, deep copy
- Object introspection
- Class decorators, static methods, class methods
- Properties
8. List comprehension
- Basic list comprehension (you should be able to write one)
- Generator expressions
- Extra: iteration protocol, writing an iterator class
- Set and dict comprehension
yieldkeyword
9. Exception handling
- Motivation
- Basic keywords
- Defining exception classes
10. Context managers
- Motivation
- Basic usage
- Defining context managers
11. Decorators
- What are decorators?
@wrapsdecorator- Decorators with parameters
- Classes as decorators
12. Functional Python
- map, filter, reduce
13. numpy
ndarray- Defining ndarrays (mention at least 3 functions)
- array attributes
- Indexing and advanced indexing
- Operations an arrays
- Mention at least 5 operations
- Extra: broadcasting
What's inside
8 NLP topics and 13 Python topics, plus exam logistics table
Change this for your project
- Replace
May 25 (Tue)and other dates with your exam schedule - Replace
bmeaut/python_nlp_2021_springwith your repository name
Where it goes
Keep alongside your test suite. Used to define and score model evaluations.
Worth borrowing
- Separating NLP and Python topics into distinct sections for focused assessment
- Including both conceptual questions and live coding requirements
Related Documents
AI Tools for Developers
Curates a personal reference of AI coding tools, models, and setup instructions for VS Code, Xcode, and Cursor.
IATA BCBP Standard Compliance
Documents which IATA BCBP fields and barcode formats a Swift library implements, including Version 8 gender code support.
Voice AI Leaderboards, Benchmarks, and Evaluation Gaps (Jan 2025 -- Feb 2026)
Surveys 20+ voice AI benchmarks from Jan 2025, Feb 2026, identifies evaluation gaps, and provides leaderboard data for STT, TTS, and end-to-end voice agents.
Evaluating AI Agent Systems: Metrics, Benchmarks, and Quality Assurance (2024-2026)
Surveys 2024-2026 metrics, benchmarks, and monitoring tools for evaluating AI agent systems, with recommendations for a self-improving coding agent.