ECE 4420/6420 Knowledge Engineering

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 provides a practical introduction to machine learning using Python. Students will explore core concepts, methodologies, and tools essential for developing machine learning applications. The curriculum emphasizes hands-on experience with the Python machine learning ecosystem, including NumPy, Pandas, Scikit-learn, and Jupyter Notebook. Topics include data preprocessing, model training, hyperparameter tuning, and performance evaluation across a variety of tasks such as classification, regression, clustering, and dimensionality reduction. Through coding exercises and applied projects, students will gain the skills needed to build, assess, and optimize machine learning models in real-world contexts.

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 core ML concepts including supervised learning, classification vs. regression, generalization - principles, train/validation/test dataset split.
  • 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: Focuses on data cleaning and transformation using imputation, scaling, encoding, and pipeline - construction for reproducibility.
  • Feature Engineering and Dimensionality Reduction: Teaches how to create and select informative features and apply dimensionality - reduction techniques.
  • Model Evaluation and Optimization: Introduces tools and metrics to evaluate classification and regression models, and tune - hyperparameters using cross-validation.
  • Unsupervised Learning and Clustering: Introduces unsupervised learning through 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:

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.