Starting this fall, MIT will offer a minor in Computer Science.
“We expect the minor will better serve the needs of MIT students broadly. It will allow students to major in other disciplines and get computational depth. We don’t expect a large change in the number of EECS majors. We could see a drop in the number of double majors,” Professor Anantha Chandrakasan, EECS Department Head, said in an email to The Tech.
“Over the past few years, it has become obvious that basic skills in CS are very useful for not just all of engineering but fields as varied as linguistics and the physical sciences. The computational biology joint degree was one effort to create a new program that intersected CS and the life sciences. We received indications from students and other departments that they were interested in degree programs that intersected CS in some way. With the development of the 6.0001/6.009 entry point into CS, we felt that the time was ripe to execute on the CS minor," said Professor Srini Devadas, who led the effort to propose the minor.
The EECS department has predicted that around 100 students will declare a minor in Computer Science this fall.
Chandrakasan says that course 6 class sizes might increase, particularly in the courses required for the minor, though he notes that the courses required for the minor are already “very large and serve non EECS majors.” He says that automated grading will help “EECS deal with a potential enrollment increase.” If more teaching resources are deemed necessary, the EECS department will request more funding for TAs from the Dean of Engineering during the annual budget process.
The minor will incorporate classes, such as 6.009 and 6.031, that are likely to be part of the new course 6 curriculum in the works, according to Professor Chris Terman on the minor’s piazza page. This new curriculum is currently being reviewed by the Committee on Curricula, commonly known as the CoC.
To complete the Computer Science minor, students must take 6.0001, 6.002, 6.009, 6.042[J], and 6.006; 2 classes total from from a list of basic classes, 6.004, 6.034, and 6.008, and advanced classes, 6.036, 6.170, 6.033, 6.045, 6.046, and 6.031. (The latter will replace 6.005 starting in spring 2017, and will count as a CS header subject for 6-3 majors). One of the two courses must be from the advanced list.
Aside from the few listed on the minor’s description page, no substitutions will be accepted for the listed requirements. Some students on the minor’s new piazza forum have expressed frustration that 6.0001 and 6.0002 are required even if a student has already completed 6.01 or upper-level computer science classes. Others hoped that courses with content similar to minor requirements would be accepted, such as 18.200A, which a student on piazza claims is a common substitute for 6.042 (a class required for the minor).
“We do not have plans to allow substitutions at this time, but this might change based on student feedback next year. One concern is the amount of work that is associated with advising in a minor program that allows significant substitution. If the minor is as popular as we would like it to be, EECS does not have the advising capacity to customize it to every student,” Chandrakasan said.
Students majoring in 6-1, 6-2, 6-3, 6-7, 7, and 18C will not be permitted to declare a Computer Science minor due to significant overlap in course work, and in the case of course 7, the existence of the 6-7 degree.
EECS proposed the minor in January 2016 and the CoC approved it in late March. Professor Chandrakasan said he “received strong encouragement for [the minor]” from President Reif, Chancellor Barnhart PhD ’88, and Dean Waitz.