This is an opinion piece. The views expressed in this article are those of the author alone and are not a reflection of Ping! as a whole.
Maths is widely acknowledged to be of central importance in research in any field, but at first glance, the expected variety in maths courses is conspicuous by its absence in IIIT. This article takes a deeper look at the situation, first comparing the maths requirements at IIIT with those at other colleges and universities, and then detailing the various opportunities the IIIT student has for pursuing maths (academically or otherwise). We then discuss what can be done to improve the situation (to the extent that improvement is needed).
Computer science and mathematics have historically been intricately intertwined. It is in fact arguable that the entire field of computer science rose out of solving the Entscheidungsproblem, a problem posed by the mathematician David Hilbert asking for an algorithm that says yes or no for any given statement, in accordance with the statement’s validity (which we now know does not exist – see Undecidable problem). It was trying to solve this problem that led to the discovery (the author subscribes to the romantic notion of mathematical realism) of the pioneering Turing machine.
This is not to say that mathematical association in computer science is mere historical curiosity – most modern sub-fields of computer science rely heavily on mathematics. To name a few, programming language theory turns to logic and algebra to assign meanings to language constructs, theoretical computer science, computability theory and complexity theory can argued to be sub-fields of mathematics itself, probability and statistics are the bread and butter of information and coding theory, cryptography makes liberal use of number theory to build techniques for secure communication, linear algebra and calculus are widely used in machine learning and computer graphics and computational geometry take for granted numerous results in geometry. While the fields and applications therein are themselves always changing, they invariably involve mathematical thinking and tools. As a consequence, a strong grounding in mathematics is necessary for aspiring researchers in computer science.
Maths Course Requirements in IIIT
The undergraduate CS course at IIIT needs 16 maths credits (4 each from Discrete Structures, Real Analysis, Linear Algebra, and Probability & Statistics) out of 161 total. This means that maths accounts for 9.93% of the credits.
Since the total number of courses is around 49, this is equivalent to 8.1% of the courses.
These numbers are close to the average for most engineering colleges; however, whether they are “enough” depends heavily on what comes after graduation. For a career in software engineering, they are little higher than necessary, but for research in applied computer science, they have been described as “just right” by alumni and students. In theoretical computer science, however, they are not nearly enough, which we explore later. Overall, considering all possibilities, the requirements appear to strike the right balance (on paper). It has, however, been suggested by an alumnus that more electives in 3rd or 4th year would be a good option to have.
The course restructuring that took place two years ago brought some fundamental changes in the maths courses as well. Abstract algebra, which previously had its own half course as part of Maths 2, was subsumed under Discrete Structures along with Maths 1 (fundamentals of set theory, graph theory and recurrences). Linear algebra and probability (half courses in Maths 2 and 3 respectively) were made full courses. Complex analysis was removed and real analysis added in its place; this course’s name, however, is arguably a misnomer since it covers complex analysis as part of its syllabus as well.
These changes were on the whole beneficial, since the complex topics of linear algebra and probability are given full courses rather than half courses. However, increasing the course content of Discrete Structures to what was previously the content of one full and one half course may account for the unsatisfactory time distribution among topics, mentioned earlier .1
Top CS Schools Worldwide
It is well to note, however, that these are only the minimum requirements and are not fully representative (the denominator is the total number of courses, inclusive of electives).
The 6-81 (depending on how a “maths course” is defined) maths courses offered by IIIT contrast with the 20+1 courses offered by IIIT Delhi’s maths department, 30+1 by IIT Bombay’s, 70+1 by IIT Delhi’s and 100+1 by IIT Kanpur’s, but are comparable with the 9 by IIT Madras’s (seven of which are electives). The classification of a course as a “maths” course is rather elastic, and may or may not include applied maths courses; moreover, the institutes mentioned have dedicated undergraduate maths and science programmes and are therefore more likely to offer more maths courses to CS majors as well. As far as the foreign universities are concerned, their curriculum is in general more flexible, allowing students to take a greater number of maths electives in their 1st and 2nd years.
Coursework and its Applications
Among the four compulsory courses at IIIT, Discrete Structures (especially propositional logic and graph theory), Linear Algebra and Probability & Statistics are widely applied in CS; however, since Real Analysis stops short of calculus, it is not quite equal to the rest. Being, in essence, a pure maths course, it is perhaps unfair to expect wide-ranging applications from it. This, of course, raises the question of why pure maths courses are necessary in the curriculum – one justification is the development of general intuition and familiarity with problem-solving that invariably comes with a study of maths.
Courses on multivariate and/or vector calculus, on the other hand, are conspicuous by their absence, especially since these topics are extensively made use of in courses like Statistical Methods in AI, science courses, and optimisation based courses like Topics in Applied Optimisation. It might, therefore, be beneficial if Real Analysis were to be replaced by one of the above courses.
Of course, all these points are only in the abstract. Much – one might argue, more – depends on the faculty and organisation of the course.
Maths Faculty & Instruction
The term is used to refer to the collection of IIIT’s maths-related faculty (mostly associated with CSTAR and MLL). The lack thereof (the exact number is hard to pin down because of the vagueness of the term itself, but under 10 is a fair estimate) is arguably significant, but its ill effects are slightly mitigated by the fact that the relatively basic nature of the compulsory maths courses means it is easier for CS professors to teach them. Note that this is dynamic over time, often with a few faculty that take an initiative making a significant difference. Dr Saswata Shannigrahi, who is no longer at the institute, was mentioned by alumni as having played a critical role in the development of their maths skills.
The main problem with the small number of faculty is that the elective count is affected, and options for completing the credit requirement are hard to come by. Open courseware and NPTEL appear to be viable alternatives (and have been used in this capacity before), although this is a superficial assessment and the feasibility of this course needs to be looked into. It must also be borne in mind that this is only a temporary fix and adopting it permanently is probably not an optimal solution.
Even among courses that have been included, the organisation of topics is poor – there are some courses within which the distribution of teaching time among topics could do with a revision. The Discrete Structures course, for instance, gives (what might be called undue) focus to predicate logic and set theory (which are comparatively easy and learnt by most before college), leaving very little time for the more abstract and less familiar group theory and graph theory. This means that even if the courses are meant to cover concepts that are important later, these concepts may end up being taught inadequately or not at all in practice.
All things considered, the possibility must be taken into account that students who wish to take up research involving maths during college or after graduating might be handicapped by the inadequate focus given to it in the academic setting. If nothing else, a higher percentage of maths courses would enable more people to do better at research as well. A weak mathematical foundation can discourage a person from research or demotivate them.
The Theory Group
The student-run Theory Group is a forum for discussions and study (in maths as well as other subjects) as well as a source of information and knowledge, and many interested students have benefited from it. While it is not intended as a classroom substitute, as a community it has encouraged mathematical pursuits to some extent in relevant and useful topics and been rewarding to its members.
The (valid) point can be made, however, that the very existence of such a student-run community highlights the lacunae in the academic setup for maths. Further, since it is open to all, students who have less expertise or who are new to some topics are thrown together with students or alumni conducting advanced discussions, which is perceived as intimidating and limits the participation of the former.
Independent study might make up for this, although the options for the same in maths are limited. Since the number of independent studies is limited to two, relaxing this restriction seems like a good recommendation, especially for subjects like maths with relatively sparse course offerings.
Benefits of Maths as a CS Student
Apart from the obvious real-world applications of maths topics in CS and related fields, the study of maths can have several indirect benefits for the CS student.
The techniques developed in problem-solving (even in pure maths) have the potential to be applied in any field. Furthermore, it has been reported to be of use (as a kind of selling point) in obtaining research opportunities, the experience of which is always valuable.
The preponderance of maths-heavy questions in many competitive coding competitions means that a familiarity with maths is almost a prerequisite in the area, especially in the higher levels. In-depth knowledge cannot but be helpful for those looking to practice CP, experience with which goes a long way in passing coding tests and interviews. Needless to say, accomplishments in CP are also a valuable addition in one’s résumé, so this could be construed as a contingent benefit of a knowledge of maths.
For students who don’t want to fall out of touch with maths due to its lack of prominence in their academic coursework, taking maths-heavy elective courses and choosing a maths-related area of research are probably the best ways to avoid it. While, of course, many courses contain a nonzero amount of maths, it is arguably more behind-the-scenes and therefore only understood at a lower level of abstraction. A more abstract treatment of the subject is liable to not make more than a passing mention of it.
Of course, research internships and student communities like the Theory Group are useful as well.
Some suggestions that have been made for electives include a second, more detailed linear algebra course, more advanced courses on probability and related topics, and a course on topology (which can give insight into problem-solving techniques in any field). Moreover, it is worth noting that some of the existing advanced maths courses (available as electives, like Functional Analysis and Finite Element Methods) are not directly applicable in many fields of CS (except theoretical CS). Multivariate and/or vector calculus would also make an extremely beneficial elective.
With regard to faculty, one obvious way to improve the status quo is to make efforts to hire maths professors. If this is not feasible, it would be great if some courses could be taught by visiting professors from other reputed institutes (IIT Hyderabad and the University of Hyderabad have been suggested). Another option is the relaxation in the constraint on independent studies as mentioned previously.
It is widely felt that the undergraduate maths requirements at IIIT are “not enough”. However, this to a large extent depends on whether one is aiming to pursue theoretical CS or a career in, say, software engineering. In order to strike the right balance, an increased number of electives is probably a good way to go.
That the number of maths faculty is not quite enough is an almost universal consensus; however, estimates of how far the numbers fall short of the ideal differ. A greater number of faculty with post-doc degrees has been suggested.
The benefits of maths for a CS student are undeniable, but vary widely depending on the domain chosen and the goals of the student. Software Development and related careers require little to no maths, so the course content is sufficient for those aiming for this; most other CS-related careers, as well as research fields, need a good deal more. IIIT being a research institute, it is important to provide for those entering these fields as well.
While most of the compulsory courses are on the useful side, there are many (arguably equally useful) courses that could be included but are not, even as electives. Incorporating these is worth considering, possibly even as replacements of the less applicable courses like Real Analysis.
Editor: Shashwat Goel