CS 548 Knowledge Discovery and Data Mining

Syllabus Spring 2015

Prof. Carolina Ruiz

WARNING: Small changes to this syllabus may be made during the semester.


This course presents current research in Knowledge Discovery in Databases (KDD) dealing with data integration, mining, and interpretation of patterns in large collections of data. Topics include data warehousing and data preprocessing techniques; data mining techniques for classification, regression, clustering, deviation detection, and association analysis; and evaluation of patterns mined from data. Industrial and scientific applications are discussed.

Students will be expected to read assigned textbook chapters and research papers, and work on implementation/research projects that cover the different stages of the KDD process.

In addition to being a graduate CS course, this course can be used to satisfy:

  • the MS and PhD AI bin requirements of the Computer Science Graduate Program;
  • the interdisciplinary BCB503 Biological and Biomedical Database Mining course of the Bioinformatics and Computational Biology Program; and/or
  • the Data Analytics and Mining core of the Data Science Program.


Time: Tuesdays 6:00-8:50 pm
Room: FL320


Prof. Carolina Ruiz

Office: FL 232
Phone Number: (508) 831-5640
Office Hours:

  • Mondays 12:00 - 1:00 pm.
  • Thursdays 3:00 - 4:00 pm.
  • If you need to see me at a different time, email me to schedule an appointment.


Ahmedul Kabir
Office Hours:

  • Tuesdays 10:00 - 11:00 am. FL A22 (sub-basement).
  • If you need to see Kabir at a different time, email him to schedule an appointment.


Several other books on the subject and related subjects are recommended below. Some research papers will be handed out during the semester.


Background in artificial intelligence, databases, and statistics at the undergraduate level, or permission of the instructor. Proficiency in a high level programming language (preferably Java and Python) is required.


Quizzes and Exams   50% (the two lowest quiz grades will be dropped)
Projects   40%
Showcase   8%
Class Participation   2%

Your final grade will reflect your own work and achievements during the course. Any type of cheating will be penalized and reported to the WPI Judicial Board in accordance with the Academic Honesty Policy.

Note that this course follows the guidelines established by the WPI faculty in May 2010:

"A student is expected to expend at least 56 hours of total effort for each graduate credit. This means that a student in a 3-graduate credit 14-week course is expected to expend at least 12 hours of total effort per week."
Hence, please expect to have to spend at least 9 hours of work outside the classroom on this course each week.


All students are expected to read the material assigned for each class in advance and to participate in class discussions. Also, students will take turns presenting papers and leading class discussions of assigned readings. Class participation will be taken into account when deciding students' final grades.



There will be a quiz given at the beginning of each class. Quizzes will be individual (not group) work, closed-book, closed-notes. The quiz will cover the material scheduled for that class, so that students need to study the material in depth in preparation for the lecture. No make-up quizzes will be given during the semester. No exceptions. The two lowest quiz grades will be dropped.


This course is project-intensive. Several projects related to the data mining stages and/or techniques covered in the class will be assigned. Students will work on these projects in teams. Students will be required to provide both a written report and an oral (in-class) presentation describing their work on each of these projects. Datasets for those projects will be selected from online database repositories, or other sources.

A quiz on the project material may be given in addition to or instead of the project report.

Several different data mining tools will be used in this course, but the two main ones will be:

  • Weka: Weka is a machine-leaning/data-mining environment. It provides a large collection of Java-based mining algorithms, data preprocessing filters, and experimentation capabilities. Weka is open source software issued under the GNU General Public License. For more information on the Weka system, to download the system and to get its documentation, go to the Weka webpage. You should download and use the latest Developer Version (currently weka-3-7-12) of the system. The Weka MOOC (consisting of several videos) may also be helpful.

  • Python. For Python tutorials, see its documentation.

    Python has many open source packages available specifically for Data Mining and Knowledge Management. Here is a list of the most widely used ones, along with brief descriptions:

    • Scikit-learn: Simple and efficient tools for data mining and data analysis. Has algorithms implemented in the fields of Preprocessing, Classification, Regression, Clustering, Dimensionality Reduction and Model selection. It is built on the commonly used NumPy and SciPy packages. Scikit-learn is usually the default choice when it comes to Data Mining in Python.
    • Pandas: Python Data Analysis Library: Slightly more advanced library than Scikit-learn. Has a very good API. Pandas introduces some useful data structures, such as .dataframes.. However, Pandas doesn.t provide all of the predictive modelling tools. Pandas is used when more control is needed when working directly on raw data.
    • Orange: The best thing about Orange is that it has a Graphical User Interface. Has quite a comprehensive collection of algorithms for Classification, Clustering and feature selection. It also has add-ons for Bioinformatics and Text mining.
    • MLPy: Machine Learning Python: MLPy is a Machine Learning package similar to Scikit-Learn. It has most of the algorithms necessary for Data mining, but is not as comprehensive as Scikit-learn. MLPy can be used for both Python 2 and 3.

    Note: Python Package Index: All Python packages can be searched by name or keyword in the Python Package Index.

More detailed descriptions of the assignments and projects will be posted to the course webpage at the appropriate times during the semester.


Each student needs to sign up for one of the available showcase topics. The team of students assigned to a showcase topic should identify a real-world, successful application of the data mining topic. This sucessful data mining story should be about using data mining to discover novel and useful patterns that made a difference in a certain industry or field in the past 7 years. The application domain is up to the student team (e.g., finance, sports, healthcare, science, ...). The chosen sucessful data mining story should be discussed with and approved by the professor in advance. Then the team should investigate the application in depth, and prepare and deliver a 15 minute in-class presentation describing this application in as much detail as possible, focusing on its data mining aspects. Teams will present their showcases throughout the semester, according to the showcase schedule.


There are two mailing lists for this class (replace XXXX with 548 below):

Important: For any questions about projects, quizzes, or assignments, please email the "staff" mailing list above, not just the professor.


The webpages for this class are located at http://www.cs.wpi.edu/~cs548/s15/
Announcements will be posted on the web pages and/or the class mailing list, and so you are urged to check your email and the class web pages frequently.


Small changes to this syllabus may be made during the course of the semester.


Knowledge Discovery and Data Mining


WPI Worcester Polytechnic Institute

Computer Science Department