3 Classes (36 Units)

6.005 (12), 6.006 (12), 6.042 (12)

Pre-Register


6.005 Elements of Software Construction

Class Info

Introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. Includes weekly programming exercises and larger group programming projects. 12 Engineering Design Points.

This class has 6.01, and 6.042 as prerequisites.

6.005 will be offered this semester (Fall 2017). It is instructed by D. N. Jackson and R. C. Miller.

This class counts for a total of 12 credits.

You can find more information at the 6.005: Software Construction site.

MIT 6.005 Elements of Software Construction Related Textbooks
MIT 6.005 Elements of Software Construction On The Web

6.006 Introduction to Algorithms

Class Info

Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.

This class has 6.042, and 6.0001 as prerequisites. This class has 6.009 as a corequisite.

6.006 will be offered this semester (Fall 2017). It is instructed by S. Micali, M. Medard and J. Ku.

Lecture occurs 11:00 AM to 12:00 PM on Tuesdays and Thursdays in 26-100.

This class counts for a total of 12 credits.

You can find more information at the http://www.google.com/search?&q=MIT+%2B+6.006&btnG=Google+Search&inurl=https site or on the 6.006 Stellar site.

MIT 6.006 Introduction to Algorithms Related Textbooks

6.042 Mathematics for Computer Science

Class Info

Elementary discrete mathematics for computer science and engineering. Emphasis on mathematical definitions and proofs as well as on applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; asymptotic notation and growth of functions; permutations and combinations, counting principles; discrete probability. Further selected topics include recursive definition and structural induction, state machines and invariants, integer congruences, recurrences, generating functions.

This class has 18.01 as a prerequisite.

6.042 will be offered this semester (Fall 2017). It is instructed by F. T. Leighton, A. R. Meyer and A. Moitra.

Lecture occurs 2:30 PM to 4:00 PM on Mondays, Wednesdays and Fridays in 32-082.

This class counts for a total of 12 credits.

You can find more information at the MIT + 6.042 - Google Search site or on the 6.042 Stellar site.

MIT 6.042 Mathematics for Computer Science Related Textbooks
MIT 6.042 Mathematics for Computer Science On The Web

© Copyright 2015