• Length:
    12 Weeks
  • Price:

    Add a Verified Certificate for $49 USD

  • Institution
  • Subject:
  • Level:
  • Language:
  • Video Transcript:
  • Course Type:
    Instructor-led on a course schedule


Programming experience equivalent to Introduction to Computer Science and Programming Using Python 6.00.1x is required, with a working knowledge of a modern programming language like Python or Javascript or Java. The course will use Java for all assignments, but will include Java tutorial elements if you don't know Java yet.

About this course

Skip About this course

This computer science course is the first of a two-course sequence about writing good software using modern software engineering techniques.

In this course, you will learn what software engineers mean by "good" code -- safe from bugs, easy to understand, and ready for change. You will also learn ways to make your code better, including testing, specifications, code review, exceptions, immutability, abstract data types, and interfaces.

This is a challenging and rigorous course that will help you take the next step on your way to becoming a skilled software engineer.

Photo by Wizou on Flickr. (CC BY) 2.0

What you'll learn

Skip What you'll learn
  • Java programming
  • Software testing
  • Code specifications
  • Abstract data types

Meet your instructors

Rob Miller
Professor, Computer Science

Pursue a Verified Certificate to highlight the knowledge and skills you gain
$49 USD

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    edX, a non-profit, relies on verified certificates to help fund free education for everyone globally