ECE 4420/6420 Knowledge Engineering
A practical introduction to machine learning using Python, covering core concepts, methodologies, and tools essential for developing machine learning applications.
Revised on 08/26/2025
For the definitive and up-to-date course details, please refer to the syllabus on Canvas.
Course description
This course introduces machine learning with Python. Students study core concepts, methods, and tools through hands-on work with NumPy, pandas, scikit-learn, and Jupyter Notebook. Topics include data preprocessing, model training, hyperparameter tuning, and evaluation for classification, regression, clustering, and dimensionality reduction. Coding exercises and applied projects give students practice building, assessing, and improving machine learning models.
Course learning objectives
By the end of this course, students will be able to:
- Understand the machine learning workflow, including data preparation, model building, deployment, and evaluation.
- Explain and apply key machine learning algorithms for classification, regression, clustering, and recommendation.
- Build, tune, and validate machine learning models using Python libraries such as scikit-learn.
- Design and implement end-to-end ML pipelines for reproducible and maintainable model development.
- Evaluate model performance using appropriate metrics and interpret results critically.
- Communicate and explain model predictions using interpretable machine learning tools.
- Recognize and assess responsibility and explainability in applied machine learning.
Topical outline
- Machine Learning Foundations: Introduces supervised learning, classification and regression, generalization principles, and train/validation/test splits.
- Model Development and Algorithms: Covers key ML models such as decision trees, k-nearest neighbors, linear models, ensemble methods, and neural networks.
- Data Preparation and Pipelines: Covers data cleaning and transformation with imputation, scaling, encoding, and pipeline construction for reproducibility.
- Feature Engineering and Dimensionality Reduction: Covers the creation and selection of informative features and dimensionality-reduction techniques.
- Model Evaluation and Optimization: Introduces metrics for classification and regression and hyperparameter tuning with cross-validation.
- Unsupervised Learning and Clustering: Introduces clustering methods such as k-means, DBSCAN, and hierarchical clustering.
- Recommender Systems: Explores collaborative filtering approaches for building user-item recommendation models.
- Responsibility and Explainability: Discusses responsible ML practices and model interpretability.
Prerequisites
- Basic probability and statistics
- Understanding of probabilities, Gaussian distributions, mean, standard deviation, etc.
- Basic calculus and linear algebra
- Comfort with derivatives and matrix/vector operations (e.g., matrix multiplication)
- Basic Python programming skills
- Proficiency in Python, NumPy, and Pandas
Recommended Python resources:
Course materials
No textbooks are required for this course. Recommended supplementary reading:
- Andreas Müller and Sarah Guido (2016). Introduction to Machine Learning with Python
Grading components
ECE 4420 (undergraduate)
- Homework: 5 programming assignments
- In-class quizzes
- Final project
- Final exam
- Attendance and participation
ECE 6420 (graduate)
- Homework: 5 programming assignments
- In-class quizzes (with additional advanced questions)
- Final project
- Final exam
- Attendance and participation
Late policy
- All assignments are due by 11:59 PM Eastern Time on the specified due date.
- Late submissions will be penalized 5% per calendar day.
- Submissions more than seven calendar days late will not be accepted and will receive a grade of zero.