Home

Is an Australian Computer Science degree with no math still a Computer Science degree?


⚠️ This what written in late 2018, and is only just being published. It’s still relevant.


There’s something quite weird about the Computer Science program at my school, RMIT University. While going through the program, I was reading things online written by Computer Science students at elite schools in Canada and the USA and getting the sense that they were doing a lot more maths than those of us at RMIT. It bugged me long enough that I had to check up on it, and yes, unfortunately, RMIT and many other Australian universities are under-training students in mathematics. It’s been forcedly pointed out by Australian tech leaders that much more students must enrol in Computer Science. Assuming somehow Computer Science enrolment significantly jumps to match industry growth and societal demands, I now worry whether enough of those enrolments will translate into quality computer & software professionals.

In a popular post exploring the state of Australia’s economy and industry, Australia’s Economy is a House of Cards, Matt Barrie attempts to sound an alarm about the state of computer science and technology in this country[1]. The technology industry is exploding with innovation and economic growth, but Australian student enrolment in Information Technology has not recovered since it’s collapse after the dot-com bubble burst[2]. Yes, enrolments are climbing (from their dismal low), but computing still represents a disproportionately small part of Australian higher education[3]. Adding insult to injury, while overall enrolments were falling the proportion of women in IT degrees fell from 25% to roughly 10%. Software is eating the world, and it’s as if Australia’s young people have no idea. This is a big problem for a country that exists in an increasingly software dominated world and has, right now, a weak technology sector.

So just triple or quadruple the number of enrolled students and problem solved? Unfortunately not, I think. There’s a case to be made that at least some Australian Computer Science degrees are not a fair substitute for their counterparts in the strongest IT education environment, North America. Down under, there’s not enough mathematics coursework.

RMIT University (Melbourne, Australia) versus the USA

As it stands, a RMIT Computer Science degree has two compulsory mathematics courses, Discrete Structures in Computing (COSC2627) and “Introduction to Analytics” (MATH2350). The latter was not introduced until this year, and there’s currently no online information on the subjects content at all. When I was completing my studies, there was just one maths course, the former. It covered basic Set Theory, Proofs, Logic, and Discrete Probability. It was a good, challenging introduction to the mathematics underpinning Computer Science, but just an introduction. In the context of a 13-week semester, I found that probability was not given enough time, nor Combinatorics. Other areas were missed completely, which we’ll see soon. So that’s RMIT in Melbourne. What does a student in an elite USA program enjoy in the way of mathematics training?

In Carnegie Mellon’s program, students must complex six mathematics courses[4]. Yes, six. Probability theory is a whole subject, and Calculus and Linear Algebra are mandatory study areas not even addressed at RMIT. Stanford University’s program mandates seven mathematics courses, including three courses on Calculus[5]. If Stanford finds reason to have students repeatedly build skills in Calculus, why is it nowhere to be found at RMIT? Beyond their seven maths courses, Stanford also mandates two physics courses, which are also mathematically involved. Crazy. University of California Berkeley has five compulsory maths courses[6]. Harvard University mandates four[7]. Both include Calculus and Linear Algebra. Georgia Tech has six compulsory courses[8].

This is a stark difference. Two subjects (until recently it was one), versus an average of 5.6. I wondered if maybe US subjects are much smaller than Australian subjects, which take 25% of a full semester’s workload. No, these US maths subjects are all 20-30% of a full semester’s workload. The degree lengths are also basically the same. Three to four years.

The gap is undeniable. RMIT students are doing less than half the mathematics training of leading US students, and missing out on two full areas of math engaged with by every US school detailed: Linear Algebra and Calculus.

Maybe the US Computer Science education system is an anomaly, a freak. What about their friendly northern neighbours, Canada, the country often considered a very similar nation to Australia.

RMIT versus Canada

University of Waterloo, in Ontario, is one of the best schools for Computer Science in Canada. Students there enjoy the benefits of an excellent mathematics department and a first-class ‘co-op’ work placement program that sees students spend 2 full years in paid work experience before graduating. University of Waterloo mandates 7 mathematics subjects, including standalone subjects for Combinatorics, Probability, and Statistics[9]. The University of Montreal has four compulsory math courses[10]. A lot less than Waterloo, but given their role as an elite Machine Learning research institute, they at least know they must include Linear Algebra in their undergraduate course.

RMIT versus… Victoria, Australia?

So we can see that vis-à-vis RMIT, the USA and Canada are doing a lot more mathematical training of their students. But is it perhaps just RMIT that is lagging behind in this area, or do other leading Victorian Computer Science courses show a similarly low allocation of math subjects?

University of Melbourne (UniMelb) has the “Bachelor of Science (Computing & Software Systems Major)”, which appears to be the closest thing to a Computer Science degree that they have (the Melbourne Model did strange things to UniMelb). That course has Linear Algebra as mandatory, and one or two Calculus subjects, for a maximum of three[11]. Interestingly, it doesn’t have a “Discrete Structures in…” subject, which among my sample appears as a de facto standard. Monash University has two compulsory math subjects in their course[12]. The first is, you guessed it, “Discrete Mathematics for Computer Science”, and the second is “Continuous Mathematics for Computer Science” (which is Linear Algebra and Calculus). That’s only two subjects, but at least Linear Algebra and Calculus are covered.

So yes, it appears that generally Victorian students do much less math training than US and Canadian students, and even amongst its Victorian peers RMIT Computer Science is still low in compulsory mathematics training.

Why care so much about Maths?

Now it’s not self-evident that extensive mathematics coursework is a necessary part of Computer Science degree, but to those familiar with the academic field and the requirements of industry, it’s fairly easy to understand. Our universal model of computing, the Turing machine, was invented by a mathematician, and named after him. From there, the computing revolution was thrust forward by other brilliant mathematicians like Stephen Kleene, Kurt Gödel, Edgar Codd, and Leslie Valiant. The list could go on and on and on. In the context of industry innovation today, landmark software projects were grounded in mathematical competency. A few examples include MapReduce, HyperLogLog, Neural Networks, Git Version Control, SHA-2, Bitcoin, ElasticSearch, Protobuf. The math underlying these projects is deep, difficult, and interesting. Math competency is a key ingredient in Computer Science and Software innovation. It’s not a ‘nice to have’.

Mathematics is central to the field of Computer Science, whether you engage with it as an academic or an industry professional. This centrality is reflected in the prominence compulsory math training has in leading US and Canadian Computer Science courses. Maths is a side-show at RMIT, and I think this should pose a definite concern to current and future RMIT students, and Australians generally. Computer Science knowledge drives software innovation, and software innovation is already at the forefront of social and industrial change. Australia wants to develop great Computer Science talent, and build a great software industry. It really needs to do the latter. Exactly why RMIT’s Computer Science degree exhibits its distinct lack of mathematics training is a question for another post.

References

  1. Australia’s Economy is a House of Cards – Matt Barrie – Medium
  2. https://blogs.adelaide.edu.au/cser/2017/02/15/a-look-at-it-and-engineering-enrolments-in-australia-updated/
  3. https://docs.education.gov.au/system/files/doc/other/2017firsthalfyearstudentinfographic.pdf
  4. Bachelors Curriculum - Admitted 2017 - Carnegie Mellon University - Computer Science Department
  5. https://exploredegrees.stanford.edu/schoolofengineering/computerscience/#bachelortext
  6. http://guide.berkeley.edu/undergraduate/degree-programs/computer-science/#sampleplanofstudytext
  7. https://handbook.fas.harvard.edu/book/computer-science
  8. https://www.cc.gatech.edu/three-year-course-outline
  9. Computer Science - Undergraduate Programs - University of Waterloo
  10. Baccalauréat en informatique - Université de Montréal
  11. http://www.eng.unimelb.edu.au/study/degrees/bachelor-science-computing-software/degree-structure#degree-structure
  12. http://www.monash.edu/pubs/handbooks/courses/C2001.html?_ga=2.200747054.1022470932.1538133778-1332508748.1535713923