Tutor knowledgeMachine LearningLLM Files / Knowledge Files49 KB
Curriculum status — 2026-27 revision
CSE22AMachine Learning · Core — Year 2, Quarter 2 (moved from Quarter 1). Renamed fromCSE2510. Content unchanged.
The official description below is the old one; course codes in its body are pre-2026 codes.
The goal of the course is to acquaint students with the basic Machine Learning concepts and algorithms. Specifically, the course will cover parametric and non-parametric density estimation, linear and non-linear classification, unsupervised learning including clustering and dimensionality reduction, performance evaluation of predictive algorithms and ethical issues in machine learning.
The course comprises two lectures and one (four-hour) lab session per week.
After successfully completing this course, the student is able to:
The course consists of 8 topics/weeks. Each topic starts with a lecture on Monday, followed by a lecture on Tuesday and a lab session on Tuesday afternoon.
Each of the 8 topics consists of:
We strongly advise you to read the material before each lecture. We will mainly use the following book, although additional reading materials are used in some weeks:
Chris Bishop's "Pattern Recognition & Machine Learning", a download link is available below these instructions.
If you have questions:
During the labs, you can work on the practice assignments (https://weblab.tudelft.nl/cse2510/2024-2025) and lab notebooks (Brightspace). The lab notebooks and weblab exercises are optional and will not be graded. These assignments form an important part of the exam material so we strongly recommend you use them to master the material. Practicing, both through programming and answering the insight questions, aims at deepening your knowledge and preparing you for the exam. We provide weekly support and feedback during these shared lab sessions. We use Queue (queue.tudelft.nl) to manage the lab sessions.
The implementation exercises are written in Python and provided in Jupyter Notebooks. The answers to these exercises will not be provided. Follow the exercises in the notebooks either on your own or with a peer.
The final grade is 100% determined by an on-campus weblab exam. The exam is closed book but you will have access to Python and Numpy documentation. The exam consists of two types of questions:
There is one resit per year for the exam in Q2.
| Topic | Date | Lecturer | Topic |
|---|---|---|---|
| 1.1 | 2-9 | Jesse Krijthe | What is Machine Learning? |
| 1.2 | 3-9 | David Tax | Probability & Decision Theory |
| 2.1 | 9-9 | David Tax | Parametric Generative Models 1 |
| 2.2 | 10-9 | David Tax | Parametric Generative Models 2 |
| 3.1 | 16-9 | David Tax | Evaluation |
| 3.2 | 17-9 | Gosia Migut | Non-parametric Generative Models |
| 4.1 | 23-9 | Jesse Krijthe | Linear Discriminative Classifiers 1 |
| 4.2 |
Learning objectives
After practicing with the concepts of this week you are able to:
Reading
Materials
If you run into issues with Vocareum, you can download the files and work on the assignment locally. In such case, you are responsible for ensuring that your local Python installation and environment are set up correctly.
Learning objectives
After practicing the topics taught this week, you should be able to:
Reading
The material covered this week is section 1.2 (up to 1.2.4), section 1.4 and 4.2 (up to 4.2.3) of "Pattern Recognition and Machine Learning" by C.Bishop.
Materials
Learning objectives
After practicing the topics taught this week (part 1), you should be able to:
After practicing with the concepts of this week (part 2) you should be able to:
Reading
Lecture 3_1:
Lecture 3_2:
Materials
Learning objectives
After this week you will be able to:
Reading
Please study the following material from Chris Bishop's "Pattern Recognition and Machine Learning":
Lecture 4.1:
Lecture 4.2:
Materials
Learning objectives
After this lecture you are able to:
Reading (1 topic)
Materials
Learning objectives
After practicing with the concepts of this week you are able to:
Reading
Please study the following material from Chris Bishop's "Pattern Recognition and Machine Learning":
Lecture 6.1:
Lecture 6.2:
Materials
Learning objectives
After practicing the topics taught this week, you should be able to:
Reading
Please study the following material:
From Statistical pattern recognition by A.R. Webb, K.D. Copsey, Third edition. Available as eBook via TU Delft library:
From Chris Bishop's "Pattern Recognition and Machine Learning":
Materials
Materials
The course CSE22A Machine Learning represents a cornerstone in the undergraduate computer science curriculum at Delft University of Technology (TU Delft). It is designed not merely as an introduction to a popular subfield of computer science, but as a critical academic pivot point that bridges foundational theory with advanced, specialized application. Its structure, prerequisites, and position within the degree program underscore its significance in shaping the analytical and empirical capabilities of students. A thorough examination of its context reveals a deliberately designed course that is integral to the academic trajectory of a computer science and engineering student at TU Delft.
CSE22A Machine Learning is officially cataloged as a core course within the Bachelor of Science (BSc) in Computer Science and Engineering (CSE) program, administered by the Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS).1 As a second-year course, it is positioned to build directly upon the theoretical foundations established in the first year of study.3 The course carries a weight of 5 ECTS (European Credit Transfer and Accumulation System) credits, which corresponds to a nominal student workload of 140 hours.4
The course is consistently scheduled in the second academic quarter (Period 2), which falls within the autumn semester.1 The academic year for this course typically commences in November and concludes prior to the start of the third quarter.8 This placement early in the second year is strategic, ensuring that students acquire fundamental machine learning competencies before they are required to select more specialized elective tracks or engage in complex projects later in their degree program.
Success in CSE22A is contingent upon a robust and fluent understanding of several first-year CSE courses. The university explicitly lists a set of prerequisites, which are not mere recommendations but are essential for comprehending the course's theoretical underpinnings and practical implementations.10 The reliance on this prior knowledge is substantial, and a deficiency in any of these areas presents a significant barrier to student success. The required foundational courses include:
CSE12A/TI1106M Calculus: Essential for understanding the mechanics of model optimization. The concept of the gradient of a function is central to the gradient descent algorithm and its variants, which are the primary methods taught for training machine learning models.11
CSE13A/TI1206M Linear Algebra: This is the language of modern machine learning. Concepts such as vectors, matrices, and their operations are fundamental for representing data and model parameters. More advanced topics like eigenvalues and eigenvectors are directly applied in dimensionality reduction techniques such as Principal Component Analysis (PCA).10
CSE14A/TI2216M Probability Theory and Statistics: This is arguably the most critical prerequisite. Machine learning is fundamentally a form of applied statistics. Core concepts such as probability distributions, conditional probability, and Bayesian inference are the bedrock for understanding classifiers like Naïve Bayes, density estimation, and the very principles of statistical learning theory.10
CSE11B/TI1206 Object-Oriented Programming: Provides the necessary programming maturity. The course's assignments and practical work are conducted exclusively in Python, and prior experience with programming paradigms and software construction is assumed.10
CSE13C/TI1316 Algorithms and Data Structures: This course imparts the computational thinking necessary to analyze the efficiency and complexity of machine learning algorithms, understanding how they scale with data size and feature dimensions.10
The critical nature of these mathematical foundations is not just an implicit requirement; it has been the subject of academic review within TU Delft itself. A research paper evaluating the CSE22A curriculum specifically noted the importance of emphasizing these underlying mathematical principles more prominently to enhance students' conceptual understanding and their ability to apply these concepts in real-world scenarios.12 This suggests that the course is perceived as an opportunity to operationalize abstract mathematical knowledge, and that a stronger, more explicit connection between the prerequisites and the ML topics could further benefit students. The following table provides a structured mapping of these prerequisite concepts to their direct applications within CSE22A.
| Prerequisite Course | Key Concepts from Prerequisite | Application in CSE22A |
|---|---|---|
| CSE12A Calculus | Derivatives, Gradients, Partial Derivatives, Chain Rule | Optimization algorithms (e.g., Gradient Descent, Stochastic Gradient Descent) for minimizing loss functions and training models like linear regression and logistic regression.11 |
| CSE13A Linear Algebra | Vectors, Matrices, Dot Products, Eigenvectors/Eigenvalues, Vector Spaces | Data representation (feature vectors), model parameters (weight matrices), linear transformations in models, and dimensionality reduction techniques like Principal Component Analysis (PCA).10 |
| CSE14A Probability & Statistics | Probability Distributions, Conditional Probability, Bayes' Theorem, Mean, Variance | Probabilistic models (e.g., Naïve Bayes classifier), density estimation (parametric/non-parametric), model evaluation metrics, and the statistical foundations of learning theory.10 |
| CSE11B/CSE13C Programming/Algorithms | Python Programming, Data Structures, Algorithmic Complexity | Implementation of all models and algorithms in Python using libraries like scikit-learn and NumPy; analyzing the computational cost of training and prediction.10 |
Table 1.1: Mapping of Prerequisite Knowledge to Core ML Concepts.
CSE22A functions as a load-bearing pillar within the broader BSc CSE curriculum. It is the first formal, mandatory introduction to machine learning for all students in the program, establishing a common baseline of knowledge and skills.4 Its strategic placement and prerequisite status for subsequent courses reveal its role as a gateway to the entire data science and artificial intelligence specialization track.
In the previous curriculum the course was an explicit prerequisite for the more advanced Data Mining and Computational Intelligence electives, which built directly upon the modeling and evaluation techniques introduced in CSE22A.14 Both of those courses were discontinued in the 2026-27 revision (their material survives only in the archived Old curriculum), but the same pedagogical pathway persists through the current AI and Data electives — students first learn the core principles of ML and then apply them to more specific domains like large-scale data analysis or deep learning.
Furthermore, the course has been identified as essential for students interested in the contemporary and critical field of AI Safety.14 This indicates that the university recognizes the foundational concepts of ML, including its potential for bias and its performance evaluation, as prerequisites for engaging with the complex ethical and safety challenges posed by advanced AI systems.
The skills acquired in CSE22A are also considered indispensable for independent research. Successful completion of the course is a formal requirement for undertaking the CSE300 Research Project, a significant component of the third year of the CSE program.15 This implies that the ability to formulate a problem, apply an appropriate ML model, and empirically evaluate the results is considered a fundamental research competency for an undergraduate computer scientist.
Finally, CSE22A lays the necessary groundwork for students who wish to pursue advanced topics at the Master's level. The principles of model training, validation, addressing overfitting, and understanding the bias-variance tradeoff are fundamental concepts that are assumed in more advanced courses like CS4240 Deep Learning.17 Without the solid foundation provided by CSE22A, students would be ill-equipped to tackle the complexities of modern neural network architectures.
The interconnectedness of CSE22A with its prerequisites and subsequent courses establishes that it is not a standalone or isolated subject. Instead, it is a critical node in the CSE curriculum's knowledge graph. It synthesizes the abstract mathematical concepts from the first year into tangible, applied skills, and in turn, serves as the essential launchpad for nearly all subsequent specialization in artificial intelligence, data science, and academic research within the degree program. Consequently, a student's performance in this course has significant downstream implications for their available academic and career pathways.
The curriculum of CSE22A is meticulously designed to provide students with a robust and comprehensive grounding in the fundamental principles and algorithms of machine learning. The course balances theoretical understanding with practical application, ensuring that students not only know the "what" and "why" of machine learning but also the "how." The learning objectives are clear and focused on developing core competencies, while the thematic content covers the canonical topics expected in a first-level university course on the subject.
Upon successful completion of CSE22A, a student is expected to have achieved a specific set of competencies that span theoretical knowledge, practical skills, and ethical awareness. According to official course descriptions and associated materials, the student will be able to 10:
Explain the basic concepts and algorithms of machine learning and underlying statistical concepts. This objective focuses on conceptual understanding. Students must be able to articulate the principles behind different learning paradigms (e.g., supervised vs. unsupervised), describe the mechanics of specific algorithms, and connect them to the foundational statistical and probabilistic theories upon which they are built.
Implement, apply, and evaluate ML algorithms in Python. This objective is centered on practical, hands-on ability. It requires students to translate theoretical knowledge into working code, use standard libraries to apply models to datasets, and critically assess the performance of those models using appropriate metrics.
Explain the concept of and identify (implicit) bias in data and ML algorithms. This objective addresses the crucial ethical dimension of machine learning. It moves beyond pure technical implementation to require an understanding of how societal biases can be encoded in and amplified by algorithmic systems, and the ability to identify such issues.
The content of CSE22A is structured to guide students logically from foundational ideas to more complex models and practical considerations. A synthesis of information from the official course pages, related TU Delft online courses, and academic research on the curriculum provides a detailed picture of the topics covered.10 The curriculum can be thematically organized as follows:
1. Foundations of Supervised Learning: This is the largest and most central part of the course. It introduces the paradigm of learning from labeled data and is divided into two main problem types:
Regression: The task of predicting a continuous numerical value. The course covers fundamental techniques such as linear regression and extends to non-linear methods like K-nearest neighbor (k-NN) regression. It also addresses practical issues like handling outliers in the data.11
Classification: The task of predicting a discrete category or class label. This is a major focus area, covering a range of linear and non-linear classifiers.10 Specific algorithms explored include the basic
histogram method, the nearest mean (or medoid) classifier, the k-NN classifier, and the widely used logistic regression model.11 The course also delves into the theoretical underpinnings of classification, introducing concepts like the ideal (but often intractable)
Bayes classifier and the associated Bayes error, which represents the irreducible minimum error for a given problem.11
2. Foundations of Unsupervised Learning: This theme covers the challenge of finding structure in unlabeled data. The two primary areas covered are:
Clustering: The process of grouping similar data points together. While specific algorithms are not always enumerated in high-level descriptions, K-Means clustering is a canonical example that aligns with the course's scope.10
Dimensionality Reduction: The technique of reducing the number of random variables or features under consideration. Principal Component Analysis (PCA) is a key algorithm taught in this context.10
3. Model Training, Evaluation, and Validation: This theme addresses the practical workflow and core challenges of building effective machine learning models.
The ML Pipeline: Students learn the end-to-end process, including crucial steps like data pre-processing, feature extraction, and the critical importance of splitting data into training and validation/testing sets for unbiased evaluation.11
Optimization: The course introduces the core engine of model training: gradient descent. Both the standard algorithm and its more scalable variant, stochastic gradient descent (SGD), are covered, along with how to tune these optimizers.11
Overfitting and Regularization: A central challenge in machine learning, overfitting (where a model performs well on training data but poorly on unseen data), is a key topic. The course covers techniques to combat this, most notably regularization (e.g., L1 and L2 regularization) and the robust evaluation technique of cross-validation.11
Performance Evaluation: Students learn to select and apply appropriate metrics to evaluate model performance. For regression, this includes Mean Squared Error (MSE) and Mean Absolute Error (MAE). For classification, this involves a deeper look at various metrics beyond simple accuracy, likely including precision, recall, and the use of confusion matrices.11
4. Advanced and Cross-Cutting Topics: The course rounds out the foundational knowledge with introductions to more advanced models and overarching themes.
Advanced Classifiers: Students are introduced to powerful and widely used models such as Support Vector Machines (SVMs) and Decision Trees.11
Density Estimation: A recurring topic is the estimation of a probability density function from observed data. The course covers both parametric (assuming a specific distribution shape) and non-parametric approaches.10
Ethical Issues: Woven into the curriculum is a dedicated component on the ethical implications of machine learning, with a focus on identifying and understanding bias in both datasets and algorithms.10
The overall curriculum structure appears to be intentionally "classical" and foundational. It prioritizes a deep, mathematical, and algorithmic understanding of core, well-established models over a superficial survey of the latest, more complex trends. This approach ensures that students build a solid and durable foundation. However, this focus has been a subject of internal academic discussion at TU Delft. A research paper analyzing the course's role in preparing students for subsequent studies highlighted a potential gap, recommending that the undergraduate curriculum should also ensure students gain familiarity with deep learning concepts, such as multilayer perceptrons (MLPs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs).12
This creates a nuanced picture of the course's philosophy. CSE22A is designed to provide an exceptionally strong grounding in the fundamental mechanics of statistical learning. It is not, and does not claim to be, a course on deep learning. Instead, it serves as the essential prerequisite that makes a rigorous study of deep learning (such as in the MSc-level course CS4240) possible. Students graduating from CSE22A are expected to have mastered the principles that govern all supervised and unsupervised learning, preparing them to understand newer, more complex architectures not as "magic boxes," but as extensions of the foundational concepts they have already learned.
The instructional design of CSE22A is as deliberate as its curriculum, employing a specific pedagogical framework and technological stack to achieve its learning objectives. The course moves beyond traditional lectures to embrace a hands-on, interactive approach that has been the subject of educational research at TU Delft. This framework is designed to address one of the core challenges in machine learning education: cultivating an empirical and experimental mindset in students who are often more accustomed to the deterministic logic of traditional software development.
The practical work in CSE22A is standardized around a modern data science technology stack, ensuring that students gain experience with industry-relevant tools.10
Primary Language: Python: All implementation tasks are performed using the Python programming language. Its extensive ecosystem of data science libraries makes it the de facto standard in the field.10
Development Environment: Jupyter Notebooks: The course heavily utilizes Jupyter Notebooks as the primary medium for instruction, assignments, and experimentation. The interactive nature of notebooks, which allows for the interleaving of code, output, visualizations, and explanatory text, is ideally suited for the iterative process of ML model development. Analysis of student-submitted work for the course shows that Jupyter Notebooks constitute the vast majority of the codebase, around 88%.4
Core Libraries: The central library for the course is scikit-learn, a powerful and comprehensive Python toolkit for machine learning. Its consistent API for various models allows students to focus on the concepts of model application and evaluation rather than low-level implementation details. The provision of a scikit-learn_primer at the start of the course underscores its centrality.10 This is supplemented by foundational libraries such as
NumPy for numerical computation.
A defining feature of CSE22A's pedagogy is its use of scaffolded assignments. This is not an ad-hoc choice but a researched and evidence-informed strategy to facilitate learning in a field that differs significantly from classical computer science.4
The core challenge that this pedagogy seeks to address is the necessary shift in mindset from deterministic to empirical thinking. Traditional computer science often involves designing algorithms that are provably correct and produce a known, correct output for a given input. Machine learning, in contrast, is inherently experimental. It involves formulating hypotheses (e.g., "this model architecture might work well"), running experiments (training the model), and empirically evaluating the results to iteratively improve performance. This requires an "empirical mindset" that can be challenging for students to adopt.4
The scaffolded assignments in CSE22A are designed to guide this transition. They are typically delivered as Jupyter Notebooks that break down a large, complex machine learning task (e.g., building and evaluating a classifier for a dataset) into a series of smaller, more manageable sub-tasks.4 This structure acts as a temporary support system, or scaffold, which provides several benefits:
It guides students through the logical flow of a typical ML design pipeline (e.g., data loading, pre-processing, model training, prediction, evaluation).
It allows students to focus on and practice specific sub-skills in isolation before integrating them.
It provides opportunities for reflection at each stage of the process.4
Research conducted on students of the CSE22A course has shown that this approach is effective. The study found that scaffolded assignments significantly enhance students' confidence and their perceived learning benefits. Qualitative feedback from students highlighted that the primary value of this approach was in "experiencing the entire design process" and being able to "experiment with different approaches" in a structured environment.4 This indicates that the assignments are successful in their primary goal: teaching the
process of machine learning, not just the final algorithms.
The assignment structure, as inferred from a publicly available student GitHub repository for the course, follows a logical progression through the semester.10 The repository contains:
Numbered Weekly Assignments: A series of folders labeled assignment_1, assignment_2, assignment_3, assignment_4, assignment_6, and assignment_7. This suggests a structure of regular, topic-specific assignments that likely correspond to the weekly lecture content.
A Final Assignment: A folder named final_assignment indicates the presence of a more comprehensive, capstone-style project at the end of the course that likely requires students to integrate concepts learned throughout the semester.
Direct Exam Preparation: A folder explicitly named final_exam_codingprep strongly suggests that the assignments are not only for learning the material but also for directly preparing for the practical, hands-on coding components of the final examination.
The assignments are described as being optional in the research literature.4 This, combined with the finding that the number of optional assignments completed showed no positive correlation with final course grades, suggests that their primary purpose is formative rather than summative.4 They are a tool for learning and practice, designed to build the skills and confidence necessary to succeed in the higher-stakes assessments like the final assignment and the final exam. The pedagogical design is therefore a deliberate, research-informed effort to reshape how students approach problem-solving, guiding them from the world of formal proofs and deterministic algorithms to the empirical, iterative, and evaluative world of machine learning.
The assessment strategy for CSE22A is multifaceted, designed to evaluate a student's mastery of machine learning concepts on theoretical, analytical, and practical levels. While the exact weighting of each component is not publicly detailed in official course guides, a comprehensive analysis of university regulations, academic research on the course, and student-generated materials allows for the construction of a highly probable model of the assessment structure. The methodology appears to use lower-stakes, guided assignments for learning and confidence-building, while relying on a comprehensive final examination as the primary instrument for summative evaluation and grade differentiation.
The final grade in CSE22A is derived from a combination of coursework and a final examination, governed by the university's general Teaching and Examination Regulations (TER).15
Practical Assignments: As detailed previously, the course features a series of scaffolded assignments, likely on a weekly basis, and a larger final assignment or project.10 A key academic study on the course's pedagogy found that while these assignments significantly boosted student confidence and perceived learning, there was
no positive correlation between the number of optional assignments completed and the final course grade.4 This is a critical piece of evidence. It strongly suggests that these regular assignments are primarily
formative in nature. They may be ungraded, carry a very low weight, or be assessed on a pass/fail basis for completion. Their main purpose is to facilitate learning and practice, not to directly determine the final grade. The final_assignment, being more integrative, may carry a more substantial weight.
Final Examination: The existence of a formal, high-stakes final examination is confirmed by multiple sources. The W.I.S.V. 'Christiaan Huygens' Exam ArCHive, a repository of past exams, explicitly lists an exam for CSE2510 held on 02 February 2023.22 The presence of student-created materials specifically labeled
final_exam_codingprep and ML Exam Imlementations further corroborates the central role of this exam.10 Given the low summative weight of the optional assignments, the final examination is logically the dominant component in the final grade calculation.
The final exam is not a simple test of recall. It is a comprehensive assessment designed to test integrated knowledge across multiple cognitive levels. Analysis of research papers that have studied the course's assessments provides insight into the types of questions students can expect.13
Theoretical and Analytical Questions: The exam evaluates a student's deep conceptual understanding. A case study on the "Non-parametric density estimation" module revealed that exam questions are designed to target various levels of Bloom's taxonomy.13 Students are expected to:
Remember/Understand: Define key terms and concepts (e.g., "What is a non-parametric model?").
Apply: Use formulas and algorithms to solve specific problems or calculate results (e.g., "Given this data, calculate the Parzen window density estimate at point x").
Analyze/Evaluate: This is a higher-order skill that requires students to compare and contrast different methods. For example, a question might ask students to discuss the relative advantages and disadvantages of the Parzen method versus the k-nearest neighbor method, or to identify a given classifier as being parametric or non-parametric, and linear or non-linear.13 This requires a synthesized understanding that goes beyond simple application.
Practical Coding Component: The student GitHub repository containing folders for exam preparation is the strongest evidence that the final exam includes a practical, hands-on coding section.10 This component would require students to demonstrate their ability to implement or apply machine learning algorithms in Python, likely in a timed, exam environment. This tests the second core learning objective of the course: to "implement, apply, and evaluate ML algorithms in Python".10 This part of the exam would require a level of fluency and independence that goes beyond filling in the blanks in the scaffolded assignment notebooks.
The combination of these components means the exam is designed to be a robust measure of a student's holistic mastery of the subject. The formative assignments build the foundational skills, but the final exam is where students must demonstrate that they can integrate these skills, reason analytically about the trade-offs between different models, and independently execute practical implementations.
Part 1 of 2 — loading the next…
| 24-9 |
| Jesse Krijthe |
| Linear Discriminative Classifiers 2 |
| 5.1 | 30-9 | Anna Melnyk | Machine Learning Ethics 1 |
| 5.2 | 1-10 | Gosia Migut | Machine Learning Ethics 2 |
| 6.1 | 7-10 | Jesse Krijthe | Non-linear Discriminative Classifiers: Decision Trees |
| 6.2 | 8-10 | Jesse Krijthe | Non-linear Discriminative Classifiers: Neural Networks |
| 7.1 | 14-10 | Gosia Migut | Unsupervised Learning 1 |
| 7.2 | 15-10 | Gosia Migut | Unsupervised Learning 2 |
| 8.1 | 21-10 | Guest Lectures | ML in Industry & Convolutional Neural Networks |
| 8.2 | 22-10 | Jesse Krijthe | Question & Answers lecture |