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
067 Winter 2018-19 Online

Enroll Now

Dates:January 7 - March 15, 2019
Days: Mon, Wed, Fri
Times:3:30 pm - 04:20 pm
Units: 3.00-5.00
Instructors: Chris Piech
Delivery Option:
For Credit $6,300.00 ?


Enrollment Dates: October 28 to December 10, 2018

Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.

This course may not currently be available to residents of certain states.