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 not be offered this semester. It will be 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, 6.0001, and 6.009 as prerequisites.

6.006 will be offered this semester (Fall 2018). It is instructed by 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 6.006: Introduction to Algorithms - Massachusetts Institute of Technology site or on the 6.006 Stellar site.

Recommended Textbooks
Save up to up to 67% by purchasing through MIT Textbooks!
MIT 6.006 Introduction to Algorithms Related Textbooks
MIT 6.006 Introduction to Algorithms On The Web
6.006: Introduction to Algorithms - Massachusetts Institute of Technology

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 2018). It is instructed by F. T. Leighton,  Z. R. Abel and  A. Moitra.

Lecture occurs 2:30 PM to 4: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 403 Forbidden 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