1

This course introduces concepts and techniques relevant to the production of large software systems.

FREE
This course includes
Hours of videos

583 years, 3 months

Units & Quizzes

21

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

Students are taught a programming method based on the recognition and description of useful abstractions. Topics include modularity, specification, data abstraction, object modeling, design patterns, and testing. Students complete several programming projects of varying size, working individually and in groups.

Students are now introduced to software engineering in 6.005 Elements of Software Construction, which is available on OCW in two versions, as taught in Fall 2008 and Fall 2011.

Course Currilcum

    • Introduction Unlimited
    • Object semantics Unlimited
    • Subclassing Unlimited
    • Specifications Unlimited
    • Testing Unlimited
    • Object model notations Unlimited
    • Code summary Unlimited
    • Introduction to ADTs Unlimited
    • Representation invariants Unlimited
    • Abstraction functions Unlimited
    • Dependencies and decoupling Unlimited
    • Exceptions Unlimited
    • Equality Unlimited
    • Subtypes and subclasses Unlimited
    • Classes and interfaces Unlimited
    • Usability 1 Unlimited
    • Usability 2 Unlimited
    • Design patterns Unlimited
    • Design project experiences 1 Unlimited
    • Design project experiences 2 Unlimited
    • Managing a small software team Unlimited