Elements of Software Construction (Fall 2011)

Prof. Robert Miller, MIT OpenCourseWare

This course introduces fundamental principles and techniques of software development. Students learn how to write software that is safe from bugs, easy to understand, and ready for change. Topics include specifications and invariants; testing, test-case generation, and coverage; state machines; abstract data types and representation independence; design patterns for object-oriented programming; concurrent programming, including message passing and shared concurrency, and defending against races and deadlock; and functional programming with immutable data and higher-order functions. The course includes weekly programming exercises and two substantial group projects.

Dates:
  • Free schedule
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb

Reviews

No reviews yet. Want to be the first?

Register to leave a review

Show?id=n3eliycplgk&bids=695438
NVIDIA
More on this topic:
6-005f11 Elements of Software Construction (Fall 2008)
This course introduces fundamental principles and techniques of software development...
Extensionflag Systems Programming and Machine Organization
This course covers the fundamentals of computer systems programming...
Extensionflag Software Design: Principles, Models, and Patterns
This course approaches object-oriented software design from three perspectives...
Posa-mocca Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
In this course--the second in a trans-institution sequence of MOOCs on Mobile...
5ikgv5xany8chkjuqgy4yg-4mcirexo-sz7p7yefqcqipmj34tqtofwjg8nz6rlxznmgtdqxaelelsbe-8kh=s0#w=436&h=268 Software Testing. How to Make Software Fail
Learn how to catch bugs and break software as you discover different testing...
More from 'Computer Science':
Banner A Gentle Introduction to Python
Mechanical MOOC is two things: A massive open online course (MOOC), and an experiment...
M4dcoursesitebanner Mobiles for Development
Mobile devices, phones as well as Tablet computers, have been spreading fast...
Regular_c6b19e1d-17ac-4cec-aa57-fc818869b3fd Social Media in Healthcare: Opportunities and Challenges
Understand how social media is used in healthcare, to improve communication...
Regular_abf906a7-d0dd-4a3e-8bc4-0ea8861ec9f3 More Data Mining with Weka
Learn more about practical data mining, including how to deal with large data...
Regular_aa5a7351-0b70-438e-83f9-187896c71c0a Game Design and Development: Video Game Character Design
How and why do video gamers identify with the characters they control? Find...
More from 'MIT OpenCourseWare':
1-00s12 Introduction to Computers and Engineering Problem Solving
This course presents the fundamentals of object-oriented software design and...
1-010f08 Uncertainty in Engineering
This course gives an introduction to probability and statistics, with emphasis...
1-011s11 Project Evaluation
1.011 Project Evaluation covers methodologies for evaluating civil engineering...
1-012s02 Introduction to Civil Engineering Design
1.012 introduces students to the theory, tools, and techniques of engineering...
1-017f03 Computing and Data Analysis for Environmental Applications
This subject is a computer-oriented introduction to probability and data analysis...

© 2013-2019