Foundations of Software Engineering

A close-up photo of text on a computer screen.

Computer screen. (Photo courtesy of


MIT Course Number

1.124J / 2.159J

As Taught In

Fall 2000



Cite This Course

Course Description

Course Features

Course Description

This is a foundation subject in modern software development techniques for engineering and information technology. The design and development of component-based software (using C# and .NET) is covered; data structures and algorithms for modeling, analysis, and visualization; basic problem-solving techniques; web services; and the management and maintenance of software. Includes a treatment of topics such as sorting and searching algorithms; and numerical simulation techniques. Foundation for in-depth exploration of image processing, computational geometry, finite element methods, network methods and e-business applications. This course is a core requirement for the Information Technology M. Eng. program.

This class was also offered in Course 13 (Department of Ocean Engineering) as 13.470J. In 2005, ocean engineering subjects became part of Course 2 (Department of Mechanical Engineering), and the 13.470J designation was dropped in lieu of 2.159J.

Related Content

Kevin Amaratunga. 1.124J Foundations of Software Engineering, Fall 2000. (Massachusetts Institute of Technology: MIT OpenCourseWare), (Accessed). License: Creative Commons BY-NC-SA

For more information about using these materials and the Creative Commons license, see our Terms of Use.