Main Profile

At A Glance

Elements of Software Construction

This course provides an introduction to the fundamental principles and techniques of software development that have greatest impact on practice. Topics include capturing the essence of a problem by recognizing and inventing suitable abstractions; key paradigms, including state machines, functional programming, and object-oriented programming; use of design patterns to bridge gap between models and code; the role of interfaces and specification in achieving modularity and decoupling; reasoning...

Start Date: Sep 01, 2008 Topics: Design
Cost: Free

Contact

Elements of Software Construction's Full Profile

Overview

Description

This course provides an introduction to the fundamental principles and techniques of software development that have greatest impact on practice. Topics include capturing the essence of a problem by recognizing and inventing suitable abstractions; key paradigms, including state machines, functional programming, and object-oriented programming; use of design patterns to bridge gap between models and code; the role of interfaces and specification in achieving modularity and decoupling; reasoning about code using invariants; testing, test-case generation and coverage; and essentials of programming with objects, functions, and abstract types. The course includes exercises in modeling, design, implementation and reasoning.

Details

  • Dates: Sep 01, 2008 to Dec 20, 2008
  • Days of the Week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
  • Level of Difficulty: Beginner
  • Size: Massive Open Online Course
  • Instructors: Prof. Robert Miller, Prof. Daniel Jackson
  • Cost: Free
  • Institution: MIT OCW
  • Topics: Design

Provider Overview

About MIT OCW: MIT OpenCourseWare (OCW) is a web-based publication of virtually all MIT course content. OCW is open and available to the world and is a permanent MIT activity.

Latest Tweet

MIT OCW Offers Courses In: Art

Questions about Elements of Software Construction

Want more info about Elements of Software Construction? Get free advice from education experts and Noodle community members.

  • Answer