I often get emails from students interested in taking INFO 4604/5604 Applied Machine Learning. So I made a list of frequently asked questions about the class. You can also find a recent copy of the syllabus here.

Can you tell me more about the class?

  • INFO 4604/5604 Applied Machine Learning (ML) offers a hands-on introduction to ML using the scikit-learn library.
  • The class covers foundational concepts in machine learning (e.g. regularization or optimization), focusing on how to apply ML concepts to real world problems using Python.
  • Class time is a mix of lectures and hands-on coding practice, and there are frequent coding homeworks and quizzes.
  • The textbook is Python Machine Learning.
  • By the end of the semester, you should be able to apply off-the-shelf ML tools to problems that you care about.
  • Unlike other ML classes at CU (e.g. CSCI 5622), INFO 4604/5604 focuses on applying rather than implementing ML methods.
  • If you like the class, I strongly recommend continuing on to dig into the mathematical and computational details underlying the material we cover in the course.

Do I know enough math and programming to take the class?


INFO 4604/5604 focuses more on developing high-level conceptual understanding, and less on the math and programming details underlying ML techniques. That said, there is some math and programming involved. The class also emphasizes topics like data collection (e.g annotation) and feature engineering, which are important to getting ML methods to work in practice, but which may not receive as much emphasis in a more mathematically or computationally-oriented ML class.

More concretely:

  • There are some programming prerequisites, and the course does emphasize programming in Python 3 using existing libraries. If you are coming from R or Java or C++ and are willing to put in a little bit of work to learn Python, you will be fine.
    • If you are not comfortable with foundational programming concepts like variable assignment, for loops and if statements then this class will be a little too hard for you. If you feel shaky on programming, I would recommend starting with a more foundational class (e.g. INFO 2201) before taking 4604/5604.
  • There is no formal math prerequisite, so the class does not assume any particular quantitative background. That said, some familiarity with quantitative thinking (e.g. INFO 2301) will certainly help. You will get more out of the class if you are already comfortable with mathematical notation, and are familiar with introductory concepts from calculus and linear algebra. However, these are not strict requirements. You can do OK in the class if you don’t have this background.

How would the class fit into a broader course of study?

Many 5604 students have an interest in some other academic field like linguistics, geography or political science. INFO 5604 can be a good way to gain exposure to ML techniques which can be applied in your home discipline.

More broadly, INFO 4604 and 5604 offer a gentle introduction to ML methods that can serve as a good first step towards further study of ML, either at CU or beyond. If you like the class, I recommend taking more math, programming and machine learning courses, and committing to a program of self-study. INFO 4604/5604 is a great start! But you should think of it like the first step on a journey into ML, rather than a terminal course.