Special software is required to use some of the files in this section: .java.

Each day will have about an hour of lecture and an assignment. During the second half of the class the instructors will be available to help students complete the assignments. Assignments are mandatory and are due at 4 pm the day after class. You must submit the assignments in order to pass. The assignments do not need to be perfect. However, your submission must show that you made an honest effort to get your program working.


1 Variables, types, operators
2 Methods and conditionals
3 Loops and arrays
4 Objects and classes
5 Classes and inheritance
6 Inheritance, abstraction, design
7 Java API, packages, collections
8 Exceptions, I/O, and you++


The lectures will roughly follow How to Think Like a Computer Scientist, a free textbook about programming in Java. If you are looking for more detail about a topic, this is a good place to look. Two other good, free online textbooks are Introduction to Programming Using Java and Thinking in Java. Java Basics is a great tutorial (in progress as of this writing), and its companion, Java Notes, is another excellent source for pretty much every useful topic.

For shorter tutorials and quick references, we recommend you check out Recitation 1 from an old incarnation of 6.170 (Laboratory in Software Engineering), the official Java Tutorial, and, of course, our old friend the Java API (Mac users should use this one until Java SE 1.6 for OS X comes out).

Setting up Your Computer for Java Development

Please follow the directions for setting up a Java development environment on your computer before the first lecture. If you run into trouble, we will be available to help after the first lecture.

Assignment 0: Setting up Your Computer for Java Development

Recommended Citation

For any use or distribution of these materials, please cite as follows:

Evan Jones, Olivier Koch, and Usman Akeju, course materials for 6.092 Introduction to Software Engineering in Java, IAP 2008. MIT OpenCourseWare (), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].