DSC 478
Fall 2020


 Course Material 


 Class Project 

 Online Resources 



Course Syllabus


Bamshad Mobasher
Email: mobasher@cs.depaul.edu
Office: Loop Campus, CDM Building, Room 833
Phone: (312) 362-5174
Office Hours: Tue, Thu 4:00-5:00 PM (held online or by phone; appointments required)


The course will focus on the implementations of various data mining and machine learning techniques and their applications in various domains. The primary tools used in the class are the Python programming language and several associated libraries. Additional open source machine learning and data mining tools may also be used as part of the class material and assignments. Students will develop hands on experience developing supervised and unsupervised machine learning algorithms and will learn how to employ these techniques in the context of popular applications such as automatic classification, recommender systems, searching and ranking, text mining, group and community discovery, and social media analytics.


CSC 401 and DSC 441


We will use numerous online resources and documents throughout the course. The required and recommended textbooks are listed below. The resources directly relevant to topics covered in the course are listed in the Course Material section. Additional resources can be found on the Resources section.


Required Text

Machine Learning in Action, by Peter Harrington, Manning Publications, 2012.

Recommended Texts

  Python Data Science Essentials, Third Edition, by Alberto Boschetti and Luca Massaron, Packt Publishing, 2018.

  Python for Data Analysis, by Wes McKinney, 2nd Editions, O'Reilly, 2017.


The structure and grading in the class will be centered around 4-5 assignments and a final project. The assignments will involve Python implementations of selected data mining techniques and their applications in various domains. The assignments will typically involve both programming components as well as problems related to the material covered in class. Some assignments may also involve the use of other open source data mining tools. These assignments must be done individually, unless otherwise specified. Late assignments will be penalized 10% per day (with weekends counting as one day).

 The final project will be a more complex programming/implementation assignment that will involve integrating multiple concepts and techniques. Student will be able to choose from among several possible projects ideas or propose their own. More details on the final project are available in the Project section.

The final grade will be determined (tentatively) based on the following components:

    Assignments = 65%
    Final Project = 35%
The general grading scheme will be based on a curve. At the end of the quarter, some adjustments may be made based on overall class performance as well as signs of individual effort. Plusses and minuses will be given at the high/low ends of each grade range.


The following issues and topics will be covered throughout the course. Many of these topics will be revisited several times during the course in a variety of contexts.

  • Data Mining and Knowledge Discovery
    • The KDD process and methodology
    • Data preparation for knowledge discovery
    • Overview of data mining and Machine Learning techniques
    • Review of Python and overview of Python tools for Data Analysis
  • Supervised Techniques
    • Classification and Prediction using K-Nearest-Neighbor
    • Classifying with Probability Theory; Naïve Bayes
    • Building Decision Trees
    • Regression models
    • Evaluating predictive models
    • Ensemble Models: Bagging and Boosting
  • Unsupervised Learning
    • Clustering using K-Means
    • Hierarchical Clustering
    • Association Rule discovery
    • Principal Component Analysis and Dimensionality Reduction
    • Singular Value Decomposition
  • Advance Topics (if time permits)
    • Matrix Factorization
    • Support Vector Machines
    • Search and Optimization Techniques
    • Markov Models
    Possible Applications (covered throughout the course)
    • Collaborative Recommender Systems
    • Text Categorization
    • Predictive User Modeling
    • Concept Discovery from Documents
    • Finding groups using social or behavioral data
    • Building predictive models for target marketing
    • Customer or user segmentation

Copyright ©, Bamshad Mobasher, DePaul University