# 5 Classes (53 Units)

**6.005**(12),

**6.006**(12),

**14.01**(12),

**18.310**(5),

**18.440**(12)

# 6.005 Elements of Software Construction

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.

# 6.006 Introduction to Algorithms

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 not be offered this semester. It will be instructed by S. Devadas.

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 Materials site or on the 6.006 Stellar site.

# 14.01 Principles of Microeconomics

Introduces microeconomic concepts and analysis, supply and demand analysis, theories of the firm and individual behavior, competition and monopoly, and welfare economics. Applications to problems of current economic policy. Taught in two formats - lecture/recitation and recitation only - each with 3 sessions per week. Same content and exams.

This class has no prerequisites.

14.01 will be offered this semester (Fall 2018). It is instructed by J. Gruber and C. Rothschild.

Lecture occurs 11:00 AM to 12:00 PM on Mondays and Wednesdays in E25-111.

This class counts for a total of
12 credits.
This class counts as a **HASS S**.

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

# 18.310 Principles of Discrete Applied Mathematics

Study of illustrative topics in discrete applied mathematics, including sorting algorithms, probability theory, information theory, coding theory, secret codes, generating functions, and linear programming.

This class has no prerequisites.

18.310 will not be offered this semester. It will be instructed by M. X. Goemans.

Lecture occurs 10:00 AM to 11:00 AM on Mondays, Wednesdays and Fridays in 4-149.

This class counts for a total of 5 credits.

In the Fall 2014 Subject Evaluations, 18.310 was rated 4.8 out of 7.0. You can find more information at the MIT + 18.310 - Google Search site.

# 18.440 Probability and Random Variables

Probability spaces, random variables, distribution functions. Binomial, geometric, hypergeometric, Poisson distributions. Uniform, exponential, normal, gamma and beta distributions. Conditional probability, Bayes theorem, joint distributions. Chebyshev inequality, law of large numbers, and central limit theorem.

This class has no prerequisites.

18.440 will not be offered this semester. It will be instructed by A. Guionnet.

Lecture occurs 10:00 AM to 11:00 AM on Mondays, Wednesdays and Fridays in 54-100.

This class counts for a total of 12 credits.

In the Spring 2015 Subject Evaluations, 18.440 was rated 5.7 out of 7.0. You can find more information on MIT OpenCourseWare at the Probability and Random Variables site.