Machine learning now powers a huge range of applications, from speech recognition systems to search engines, self-driving cars, and prison-sentencing systems. Many applications that were once designed and programmed by humans now combine human-written components with behaviors learned from data. This shift presents new challenges to computer science (CS) practitioners and educators. In this column, we consider how machine learning might change what we consider to be core CS knowledge and skills, and how this should impact the design of both machine learning courses and the broader CS university curriculum.
Computing educators1,6 have historically considered the core of CS to be a collection of human-comprehensible abstractions in the form of data structures and algorithms. Deterministic and logically verifiable algorithms have been central to the epistemology and practices of computer science.
I applaud the authors for this article. And while I fully agree with the general sentiment of the authors, I want to point out some inaccurate characterizations of the discussion of probability and machine learning in ACM-IEEE Computer Science Curricula 2013 (CS2013).
For example, the authors write "notably the authors of ACM and IEEE's joint Computing Curricula 2013 'believe it is not necessary for all CS programs to require a full course in probability theory for all majors.'" It is instructive to look at the complete sentence that this quote is taken from: "Similarly, while we do note a growing trend in the use of probability and statistics in computing (reflected by the increased number of core hours on these topics in the Body of Knowledge) and believe that this trend is likely to continue in the future, we still believe it is not necessary for all CS programs to require a full course in probability theory for all majors."
The point of this quote is not to emphasize that probability is not important for CS majors as the authors' tend to suggest in their article, but to the contrary, that probability is growing in importance and will continue to do so. Still, in 2013 (and perhaps still today) a *full* course in probability is likely not needed for *all* CS majors, especially at schools that may have hard limits on the number of classes that can be required for an undergraduate major. For example, some CS majors (perhaps those who are not emphasizing AI in their program could suffice with inclusion of probability as part of a discrete math class), while other students (who were focusing on AI) would be required to take a full class (or more) on probability theory. Notably, in CS2013 there are 8 total core hours of probability included in the Discrete Structures Knowledge Area. CS2013 also contains a number of "exemplar classes" showing examples of both courses on Discrete Structures/Mathematics that include a section on probability as well as a full course on "Probability Theory for Computer Scientists" to show how both these models may be possibilities in undergraduate curricula.
Also, the authors mention that in CS2013, "ML is referred to exclusively within a few suggested elective offerings." This is not correct. In the "Intelligent Systems" Knowledge area there are two core hours on "Basic Machine Learning." While we fully grant that two core hours is not a lot of time, the point of including some core hours shows that in 2013 it was already clear that CS majors should get some ML. Moreover, the inclusion of an (admittedly elective) "Advanced Machine Learning" knowledge unit was meant to emphasize that, for students pursuing AI-related fields, they really should be getting more than the minimum. As mentioned throughout CS2013, the core hours are a *minimum* that students should satisfy and that it is expected that most programs will include many hours beyond the core to define a full curriculum. For students doing any sort of AI-related work, they certainly should have more opportunities than just the specified core hours to learn about probability theory and ML. Indeed, to this end, there are six exemplar courses in CS2013 showing different models of covering the Intelligent Systems area, all including many hours beyond the core requirements.
With that said, I reiterate that the authors' point in this article is well taken. ML is an area that will continue to increase in importance and it would benefit CS programs to include more of it in undergraduate curricula. CS2013 was already trying to highlight this trend half a decade ago by including core hours on ML that did not exist in prior curricular guidelines and also creating a much more thorough elective area for Advanced Machine Learning which did not previously exist, along with exemplars of courses to show how actual instantiations of how such material could be incorporated into CS curricula.
We thank you for your thoughtful and detailed reply. We acknowledge the validity of your point that ML is in the Curriculum core. Furthermore, we agree that some schools do offer good coverage of machine learning, but note that the core ACM-IEEE Curriculum does not require them to do so.
The essence of our argument is that Machine Learning is no longer a peripheral topic within CS, but rather has moved to the core of what new computer scientists need to know. From this vantage point, the treatment of ML as an elective topic in joint ACM-IEEE curriculum recommendations is now inappropriate. While exemplar elective descriptions are useful in illustrating how departments could incorporate ML, should they so choose, those exemplars are still electives, not requirements for the core of the curriculum. We hope that future revisions of the Computing Curriculum will move Machine Learning to the core, along with with making concomitant changes to recommendations for probability and statistics education.
The 2013 ACM-IEEE Computing Curriculum divides its content requirements and recommendations into three bins: Core Tier-1, Core Tier-2, and Elective. Page 29 of the Curriculum describes these terms as follows: "computer-science curricula should cover all the Core Tier-1 topics, all or almost all of the Core Tier-2 topics, and significant depth in many of the Elective topics (i.e., the core is not sufficient for an undergraduate degree in computer science)." Later, the document says, "Core Tier-2 topics are generally essential in an undergraduate computer-science degree. Requiring the vast majority of them is a minimum expectation, and if a program prefers to cover all of the Core Tier-2 topics, we encourage them to do so A computer-science curriculum should aim to cover 90-100% of the Core Tier-2 topics, with 80% considered a minimum."
The nature of the Tier-1 vs. Tier-2 distinction is to make Tier-2-listed topics strongly recommended but not required. In other words, the 2013 Computing Curriculum has two classes of electives: the strongly recommended electives ("Core-Tier2") and the recommended electives ("Electives"). All of the Intelligent Systems core content is in the Tier-2 core, constituting 2 hours of the 308 hours of core curriculum that ACM recommends, and that departments could elect to adopt.
A department could elect to not require coursework in Intelligent Systems at all, or choose to exclude just the ML parts, and still satisfy the ACM curriculum requirements. Thus, we believe our claim that ML is elective content within the 2013 Curriculum to be accurate.
Displaying all 2 comments