CS4315 Introduction to Machine Learning and Data Mining

A survey of methods by which software and hardware can improve their performance over time. Topics include data manipulation, concept learning, association rules, decision trees, Bayesian models, simple linear models, case-based reasoning, genetic algorithms, and finite-state sequence learning. Students will do projects with software tools. Prerequisites: One college-level course in programming.


CY3650 and one college-level course in programming

Lecture Hours


Lab Hours


Course Learning Outcomes

Upon completion of this course the student is expected to:

  • Understand of the basic types of learning methods including:
    • Caching, case-based reasoning, and decision trees
    • Concept learning of logical expressions
    • Classification using probabilistic reasoning
    • Neural networks
    • Heuristic search
    • Evolutionary computing
    • Generative adversarial learning
    • Ensemble learning
  • Be able to recommend the most appropriate learning methods for an application
  • Be able to explain learning methods with paper and pencil.
  • Be able to implement learning methods using a software tool.
  • Identify the major difficulties in implementing and testing learning systems, including explaining reasoning, bias, and adversarial attacks.