During the past decade, interest in machine learning has exploded, especially due to the many and growing successes of deep learning approaches using convolutional and other neural networks.

To those familiar with a modern artificial intelligence curriculum, say embodied by Russel & Norvig, ML may be safely regarded as a proper subset of AI. Yet due to the increasing popular attention to ML, more and more we bear witness to the conflation of AI and ML; even some computer scientists use AI and ML interchangeably.

As CS educators who teach AI courses, how do you develop a balanced curriculum that incorporates ML, yet pays attention to crucial problems like commonsense reasoning and inference, which don't share the spotlight with ML and have so far, in fact, proven resistant to ML approaches, including deep learning?


2 Answers 2


I suppose the design of the curriculum revolves around the goal.

If the objective is to prepare students to enter the field as researchers, then the balance needs to favor the research that's active (and probably employable.) Where that fits into the AI picture as a whole is helpful. What limitations it has, and the missing pieces it doesn't solve are important to recognize, but have less weight than the targeted areas.

If the objective is to provide an overview, or survey, of the AI field, then deep learning and machine learning are only promising avenues to solve part of the puzzle. A balance in this case should include the history as well. Including the previous "promising avenues" that didn't deliver all they were supposed to deliver. Temper enthusiasm with reason and perspective.

Showing how the lesser-known areas are important, as well as their resistance to current approaches can help too. Even if the students will enter ML, a big-picture view will help them know where they're going.


A very interesting way to design a curriculum would be to in 3-lesson blocks. A block deals with a specific subject. A small list of various subjects in the field of AI can be found at the bottom of the answer (I put it there because it contains information that might be confusing if not explained beforehand).

The 3 lessons for each block are formatted like so:

  1. Introduction lesson. Here it would be good to show real world usages of the subject being introduced.

  2. Background lesson. Here you should teach the background (Mathematical or otherwise necessary background knowledge). This step is very important. Without it, very few students will be able to keep up. For some subjects, this part of the block can stretch to a double lesson (usually when the teaching pace indicates that one lesson won't be enough).

  3. A bit of hands-on experience with the tool\subject. This can be a small task or project the the students do. Usually a lab lesson.

    • Decision trees.

    • Hidden Markov Models. (the second part of the block is especially important for this one)

    • Neural networks. This one can stretch to two separate blocks (maybe one for feedforward neural networks and another for convolutional or recurrent neural networks)

    • Genetic algorithms.

As for commonsense, reasoning and inference, you can explain about Turing tests, which are simple for humans that have commonsense (hopefully ;)) but are very hard for most, if not all, MLs to complete successfully.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.