Programming Methodology


Stanford School of Engineering



This introduction to the engineering of computer applications emphasizes modern software engineering principles with a focus on the first three of the four “D’s” of development: Design, Develop, Debug, and Deploy . Using these key topics, particular focus will be on good programming style and the built-in facilities of the Java language. Learn why programming requires a much higher level of artistry than simply the science of syntax.

Students will be required to develop software applications, primarily using the Java programming language.



This is an introduction to software development. No prior programming experience required.

Topics include

  • Object-oriented design
  • Decomposition
  • Encapsulation
  • Abstraction
  • Testing

Note on Course Availability

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate certificate homepage.


Software Requirements

Students will use a special version of the Eclipse development environment, written specifically for use in this class. There are PC and Macintosh versions of the software. Installation instructions are available in the Downloading Eclipse handout. Additionally, you will need the newest version of Java SDK installed on your computer. Further details of the software are below:

Windows Users:
  • Stanford Eclipse for Windows (Windows 7 or higher)
  • Java SDK for Windows
Mac Users:
  • Stanford Eclipse for Mac (will only work on MacOS 10.6 (2009) or higher)
  • Java SDK for Mac