1.124J Foundations of Software Engineering

Course Goals


This year we will teach both C++ and Java. The goal of this course is to give you the necessary skill in object oriented programming and in the principles of software design, algorithms, and data structures to equip you for developing your own software to solve a range of engineering problems.

The course is broken into three phases, each of which lasts approximately one month. Phase I will give you a grounding in the basics of Object Oriented Programming and the C++ language. Phase II will introduce Java and some of the basic algorithms and data structures, such as arrays, trees, searching, sorting, geometric reasoning etc. Phase III will introduce the Java programming language, which will be used for your term projects. Phase IV will be a final project to give you a chance to put your new knowledge into practice on a challenging project. The project this year will focus on building a simulation to demonstrate a physical principle of your choice.



© 1.124J Foundations of Software Engineering
Prof. K. Amaratunga,1-274, kevina@mit.edu
TA: Petros Komodromos, 1-245, petros@mit.edu
TA: Eric Perkins, 1-245, edp@mit.edu