The New Curriculum Foundation Subjects are Launched

Professors Rob Miller, seated left, and Daniel Jackson, middle, confer with TAs Max Goldman, left, and Carlos Pacheco, right, to prepare for the first offering of 6.005, Principles of Software Development.

Professors Rob Miller, seated left, and Daniel Jackson, middle, confer with TAs Max Goldman, left, and Carlos Pacheco, right, to prepare for the first offering of 6.005, Principles of Software Development.

6.005:

The new software foundation course, “Principles of Software Development,” aims to give students solid skills in designing and building software. 6.005 offers a fresh and innovative view of programming as an intellectually challenging activity that relies more on insight and clarity of vision than on mastery of technical details. It treats program construction as engineering design, with attention to capturing the essence of a problem and developing a maintainable and usable solution. Students study three distinct paradigms — state machine, symbolic and relational — and develop six small systems from design through to evaluation, gaining experience not only in Java, but also in concurrency, networking and user interface design.

Professor Ron Rivest and his team of TAs ready themselves for the launch of 6.006 for fall 2007. From left, Punyashioka Biswal, Prof. Rivest, Eric Price seated (in blue T-shirt), Michael Lieberman, standing behind him and Timothy G. Abbott holding the Rubik's cube in right foreground.

Professor Ron Rivest and his team of TAs ready themselves for the launch of 6.006 for fall 2007. From left, Punyashioka Biswal, Prof. Rivest, Eric Price seated (in blue T-shirt), Michael Lieberman, standing behind him and Timothy G. Abbott holding the Rubik's cube in right foreground.

6.006:

Introduction to Algorithms” is for MIT students who have taken 6.01 and 6.042, “discrete math,” and is intended to provide an earlier and slower-paced introduction to this material than 6.046.

6.006 is organized into seven modules, each of which is organized around a motivating problem and an algorithmic theme. Modules cover data structures, asymptotic analysis, hashing, dynamic programming, sorting, graph searching, shortest paths, and numeric programming. Homework includes significant programming assignments in Python; problems may relate to DNA comparison, stock markets, Rubik’s cube, highway maps, image processing, and gas simulation.

Prof. Steve Leeb gives a motor demo to students in 6.007, fall 2007.

Prof. Steve Leeb gives a motor demo to students in 6.007, fall 2007.

6.007:

In the labs, lectures and demonstrations of 6.007 “Applied Electro-Magnetics – from Motors to Lasers” our sophomores make homopolar motors, study diamagnetism of levitating frogs, and learn of energy storage trade-offs among super-capacitors, batteries, and fuels. They make liquid crystal displays to apply their knowledge of polarizers and light guides, and use introductory quantum mechanical principles to explain colors of luminescent quantum dots, charge conduction, and tunneling in flash memories. The class is designed to enable the understanding of the physics behind macro- and nanoscale materials on which today’s technologies are built, and to give tools of electromagnetics and energy conversion to students who want to further pursue ideas ranging from micro-electromachines, to wireless transfer of electrical power, to lasers in optoelectronics.

Leave a Reply

Replies which add to the content of this article in the EECS Newsletter are welcome. The Department reserves the right to moderate all comments. If you would like to provide any updated information please send an email to newsletter@eecs.mit.edu.