Skip To Content

0

View Cart | Checkout

Programming Methodology




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.

Topics Include

  • Object-oriented design
  • Decomposition
  • Encapsulation
  • Abstraction


  • Programming Assignments (7)
  • Midterm Exams (2)

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


Thomas Hurlbutt, Instructor, Computer Science

Yves Lu, Instructor, Computer Science

Software Requirements

Students will be use a special version of the Eclipse development environment, written specifially for use in this class. There are PC, Macintosh and Linux versions of the software. Installation instructions are available in the Downloading Eclipse handout. Additionally, you will need the Java Runtime Environment (JRE) installed on your computer. Links to the software are below:

Windows Users:
  • Stanford Eclipse for Windows
  • Java 1.6 JRE installer for the PC
Mac Users:
  • Stanford Eclipse for Macintosh OSX
  • Your Mac should come with Java. However, run the "Software Update" utility (in the Apple menu) to make sure you have the most recent version.
Linux Users:
  • Stanford Eclipse for Linux
  • Download Java 1.6 from Sun's website


3.0 - 5.0

Students enrolling under the non degree option are required to take the course for 5.0 units.


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

Course Preview

We highly recommend watching the course preview to ensure you have the requisite background and understand the scope of material covered.

Tuition & Fees

For course tuition, reduced tuition (SCPD member companies and United States Armed forces), and fees, please click Tuition & Fees.

Enrollment Options

Select a location, then click course number/date to view details.

CS106A - 057 Summer 2013-14 Available

Enroll in this Section

Day Date Time Location
Mon, Tue, Wed, Thu   Jun 23 to Aug 18, 2014 4:15PM to 5:05PM PT Online

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.

Non Degree Option
Note: Enrolling in this course for credit under the Non Degree Option requires an approved application. If you do not already have an approved application on record, the application will be presented to you as part of the checkout process. If your application is denied, tuition and fees for the course will be refunded.

Textbooks/Course Materials
Students enrolled in a graduate course for credit are required to complete homework assignments, projects, and take exams as required of all students during the 10-week quarter. Information regarding textbooks and materials is usually covered in the first lecture and may also be found on the course Web site.

Units: 3-5

Thomas Hurlbutt, Yves Lu

Tuition Option(s):
For Credit (member) $5,600.00 ?
For Credit $6,600.00 ?