Bahria University Lahore Campus
(Department of Computer Sciences)
Course Code/number AIC301
Course Title/Name Machine Learning
Credit Hours/Contact 3/3
hours
Degree Program Bachelor of Science in Computer Science (BSCS)
Prerequisites or Co- None
requisites
Assessment Methods Quizzes 10
and Weightage Assignments 20
Mid-Term Examination 20
Final Examination 50
Total 100
Textbook Applied Machine Learning with Python by Andrea Giussani. First Edition.
ISBN Domestic Edition 978-88-99902-65-0
ISBN International Edition 978-88-31322-04-1
ISBN Pdf International Edition 978-88-31322-14-0
Reference Material Python Crash Course – A hands-on Project-Based Introduction to Programming by Eric Matthes.
ISBN-13: 978-1-7185-0270-3
ISBN-13: 978-1-7185-0271-0
Web Resources Machine Learning Mastery by Prof. Dr. Jason Brownlee.
Instructor Name/Cluster Instructor Name: Mr. Muhammad Mudassar Designation: Senior Lecturer Status: Regular
Head/Subject Expert Cluster Head Name: Dr. Irum Noreen Subject Expert Name: Dr. Irum Noreen
Course Aims 1. This course aims to provide a comprehensive understanding of machine learning principles and techniques,
including data preprocessing, normalization, feature engineering, imbalance learning, supervised learning,
unsupervised learning, and performance evaluation metrics.
2. Students will explore key machine learning algorithms such as classification, clustering, tree-based models,
ensemble methods, and Natural Language Processing techniques.
3. The course will cover model deployment strategies, enabling students to integrate trained machine learning
models into web and mobile applications using Flask and TensorFlow.
4. Emphasis will be placed on practical implementation through hands-on exercises, real-world projects, and
GitHub for project management, version control, and collaborative development.
5. By the end of the course, students will have the necessary skills to build, evaluate, and deploy machine
learning models effectively in various application domains.
Course Objectives The objectives of this course are as follows:
• Understand the fundamentals of Machine Learning – Gain a strong foundation in core machine learning
concepts, including dataset types, ethical considerations, and real-world applications.
• Develop hands-on skills in data preprocessing – Learn data normalization, handling imbalanced datasets,
and applying feature selection techniques using WEKA and Python.
• Explore supervised and unsupervised learning techniques – Study classification models, clustering
algorithms, tree-based methods, and ensemble techniques while understanding overfitting, underfitting,
and model selection strategies.
• Apply performance evaluation metrics – Learn to assess machine learning models using key evaluation
metrics such as confusion matrix, precision, recall, and clustering validation techniques.
• Gain practical experience with Natural Language Processing – Understand text mining and apply
machine learning techniques to textual data for feature extraction and model training.
• Learn model deployment techniques – Deploy trained models in web and mobile applications using Flask
and TensorFlow, ensuring practical integration into real-world systems.
• Enhance project management skills – Utilize GitHub for version control, collaboration, and project
management in machine learning workflows.
• Engage in real-world projects – Apply machine learning techniques to solve real-world problems through
hands-on projects, culminating in project presentations and discussions.
Course Outcomes
Course Learning Outcomes
After successful completion of this course, the students should be able to: PLO BT Level
1. Understanding machine learning tools and frameworks, including data
collection, exploration, preprocessing, feature engineering, imbalance handling, 2 C2
learning paradigms, and performance evaluation.
2. Applying the concepts of machine learning in a variety of tools, platforms, or
4 C3
frameworks.
3. Evaluating various machine learning algorithms and reporting the findings. 5 C6
Course This course provides a comprehensive introduction to Machine Learning, covering key concepts, ethical
Description/Catalogue considerations, and hands-on applications using WEKA and Python. Students will explore various dataset types,
data preprocessing techniques, and methods for handling imbalanced data. The course delves into both supervised
and unsupervised learning, including classification, clustering, ensemble methods, and model evaluation metrics.
Through practical exercises, students will gain experience in model selection, feature engineering, dimensionality
reduction, and performance validation. The course also introduces Natural Language Processing and text
processing, along with model deployment in web and mobile applications using Flask and TensorFlow.
Additionally, students will learn project management skills with GitHub and apply their knowledge in real-world
projects.
By the end of the course, students will have a strong foundation in machine learning principles, the ability to
implement models effectively, and experience in deploying solutions for various applications.
Lecture Plan (16 Weeks) Week # and Lecture/Hour Topic to be covered Learning outcomes Reference
Date # Text
1 1 Understanding the
Introduction to Machine
fundamentals of machine Lecture Slides
Learning
learning
2 Key concepts in machine Familiarity with essential Lecture Slides
learning and its applications. machine learning concepts
and its applications.
2 1 Machine learning and ethics Grasping the ethical Lecture Slides
(WEKA, Python) implications of machine
learning framework
installations
2 Data generation and collection Understanding the data Lecture Slides
sources from research articles gathering methods
3 1 Know your data: dataset types Understanding various Lecture Slides
such as Nominal, Ordinal, dataset types
Binary, Numeric, etc.
2 Hands-on with WEKA for Practical experience in WEKA Tool
dataset exploration dataset exploration
4 1 Hands-on with Python for Practical experience in Python
dataset exploration Python-based dataset Documentation
exploration
2 Data preprocessing Understanding and Lecture Slides
techniques applying data
preprocessing techniques
5 1 Data normalization techniques Understanding and Lecture Slides,
and hands-on applying normalization WEKA, Python
techniques Documentation
2 Imbalance data handling Familiarity with methods Lecture Slides
techniques to handle imbalanced data with Scholarly
Articles
6 1 Label encoding: one hot Familiarity between Lecture Slides
encoding. encoding categorical data with Scholarly
into numeric articles
2 Dimensionality reduction or Understanding Lecture Slides
feature selection dimensionality reduction with Scholarly
techniques Articles
7 1 Hands-on for imbalance Practical experience in WEKA, Python
learning and dimensionality applying these techniques Documentation
reduction
2 Supervised Learning: Linear Familiarity with Lecture Slides
vs Non-linear models and classification models and
ensemble methods. ensemble techniques
8 1 Model selection methods Understanding train-test- Lecture Slides
split, K-Fold Cross Scikit-learn
Validation, and Grid- Web Source
Search-CV Documentation
2 Hands-on a variety of Practical experience in WEKA, Python
supervised learning models on applying these techniques Documentation
WEKA and Python.
Mid-Semester Exam
9 1 Model overfitting and Recognizing overfitting Lecture Slides
underfitting and underfitting in models
2 Unsupervised learning Familiarity with clustering Lecture Slides,
(Clustering techniques) techniques (K-Means, Research
hierarchical, DBSCAN, Articles
etc.)
10 1 Clustering validation Understanding clustering Lecture Slides
techniques validation methods
2 Performance evaluation Learning key performance WEKA, Python
metrics (Confusion Matrix, metrics for model Documentation
Precision, etc.) evaluation
11 1 Hands-on with supervised Applying supervised WEKA,
learning and performance learning and performance Python, Kaggle
evaluation evaluation techniques Documentation
2 Tree-based and boosting Practical application of WEKA, Python
algorithms and hands-on tree-based models like Documentation
Decision Tree, Random
Forest, Bagging, boosting,
AdaBoost, Xtreme
Gradient Boosting (XGB),
Light Gradient Boosting
Machine (LGBM), etc.
12 1 Ensemble methods (Voting Understanding ensemble Scholarly
method) methods and their Articles,
application Python
2 Introduction to Natural Understanding the basics Lecture Slides,
Language Processing (NLP) of NLP and text mining Research
and text mining article
13 1 Hands-on for NLP on a dataset Practical use of NLP on the WEKA,
textual data and get a Python, Kaggle
feature data and then Documentation
applying machine learning
techniques on it.
2 Hands-on with GitHub for Learning to create GitHub Lecture Slides
project management profiles and manage
projects
14 1 Deployment of models in web Understanding how to Lecture Slides
applications deploy models using
TensorFlow and Flask
2 Deployment of models in Applying model Lecture Slides
mobile applications deployment in mobile
environments
15 1 Real-world projects and Gaining insights from real- Lecture Slides
course project selection world projects and
selecting course projects
2 Queries and issues in semester Addressing issues and Lecture Slides
projects discussing solutions for
projects
16 1 Project presentations and viva Presenting final projects Lecture Slides
and demonstrating
understanding
2 Final exam revision Preparing for the final Case studies
exam through review
Final Exam
Assignments/ Projects and Week # Assignment Quiz No. Project Title Assignment/Project Result Date of
quizzes Plan No. Quiz Date Assignment/Proje
ct/Quiz
1
2 1st 1st 1st Assignment
3 1st Quiz, 1st
Assignment
4
5
6 2nd 2nd 2nd Assignment
7 2nd Quiz, 2nd
Assignment
8
9 Mid-Term
10
11 3rd 3rd 3rd Assignment
12 3rd Quiz, 3rd
Assignment
13 4th 4th 4th Assignment
14 4th Quiz, 4th
Assignment
15 Project-I
16
17 Project-I
Presentations
18 Final-Term
Instructor Name: Mr. Muhammad Mudassar
Date: 03-Feb-2025