Machine Learning BSCS (CS-4090)

Course, Fast University, CS Department, 2025

Course Description

This basic course explores the concepts, techniques, and applications of Machine Learning (ML), providing students with the theoretical foundations and hands-on skills required to design, train, and evaluate predictive models. Students will work with Python-based ML tools and libraries such as Scikit-learn, NumPy, and Pandas to solve real-world problems.

Key Topics Covered

  • Introduction to Machine Learning
    • History and evolution of ML.
    • Overview of ML categories: supervised, unsupervised, and reinforcement learning.
  • Python for Machine Learning
    • Data manipulation with Pandas and NumPy.
    • Data visualization with Matplotlib and Seaborn.
  • Regression Models
    • Simple and multiple linear regression.
    • Model evaluation metrics for regression tasks.
  • Data Preprocessing and Pipelines
    • Feature scaling, encoding, and transformation.
    • Building automated ML pipelines.
  • Classification Models
    • Logistic regression, k-NN, Naïve Bayes.
    • Evaluation metrics: accuracy, precision, recall, F1-score, ROC-AUC.
  • Neural Networks and Deep Learning
    • Perceptron and multilayer perceptron architectures.
    • Backpropagation and activation functions.
  • Optimization and Regularization
    • Gradient descent variants (SGD, Adam, RMSProp).
    • L1/L2 regularization, dropout.
  • Advanced Models
    • Support Vector Machines (SVM) and kernel tricks.
    • Decision trees, random forests, gradient boosting.
  • Unsupervised Learning
    • Clustering (K-means, hierarchical, DBSCAN).
    • Dimensionality reduction (PCA, t-SNE).
  • Project Work
    • Applying ML models to real datasets.
    • Presentations and discussions on project outcomes.

Learning Outcomes:

By the end of the course, students will:

  1. Understand the foundational principles of machine learning and its applications in robotics.
  2. Develop and evaluate machine learning models for real-world problems using Python and Scikit-learn.
  3. Analyze the impact of various machine learning techniques on learning applications and optimize models for performance.
  4. Apply neural network architectures for predictive modeling tasks.

Hands-On Labs and Projects

  • Implement regression and classification models using Scikit-learn.
  • Create automated ML pipelines for end-to-end workflows.
  • Build a neural network for a classification or regression problem.
  • Compare performance of various ML algorithms on benchmark datasets.
  • Present a complete ML project from data preprocessing to model deployment.