LAFF – On Programming for Correctness

Provided by:
9/10 stars
based on  2 reviews
Provided by:
Cost FREE
Start Date On demand

Course Details

Cost

FREE

Upcoming Schedule

  • On demand

Course Provider

edX online courses
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be tau...
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

Provider Subject Specialization
Sciences & Technology
Business & Management
23996 reviews

Course Description

Is my program correct?  Will it give the right output for all possible permitted inputs?  Computers are now essential in everyday life.  Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master. 

In this computer science course, we will presents "goal oriented programming" the way Edsger Dijkstra, one of the most influential computer scientists, intended. You will learn how to derive programs hand-in-hand with their proofs of correctness. The course presents a methodology that illustrates goal-oriented programming, starting with the formalization of what is to be computed, and then growing the program hand-in-hand with its proof of correctness. The methodology demonstrates that, for a broad class of matrix operations, the development, implementation, and establ...

Is my program correct?  Will it give the right output for all possible permitted inputs?  Computers are now essential in everyday life.  Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master. 

In this computer science course, we will presents "goal oriented programming" the way Edsger Dijkstra, one of the most influential computer scientists, intended. You will learn how to derive programs hand-in-hand with their proofs of correctness. The course presents a methodology that illustrates goal-oriented programming, starting with the formalization of what is to be computed, and then growing the program hand-in-hand with its proof of correctness. The methodology demonstrates that, for a broad class of matrix operations, the development, implementation, and establishment of correctness of a program can be made systematic.

Since this technique focuses on program specifications, it often leads to clearer, correct programs in less time. The approach rapidly yields a family of algorithms from which you can then pick the algorithm that has desirable properties, such as attaining better performance on a given architecture. 

The audience of this MOOC extends beyond students and scholars interested in the domains of linear algebra algorithms and scientific computing. This course shows how to make the formal derivation of algorithms practical and will leave you pondering how our results might extend to other domains.

As a result of support from MathWorks, learners will be granted access to MATLAB for the duration of the course.

Reviews 9/10 stars
2 Reviews for LAFF – On Programming for Correctness

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
student profile image
student profile image

student

10/10 starsCompleted
4 months, 4 weeks ago
This was a fantastic course which helped me tremendously to approach principles of programming from a more efficient and reasonable standpoint. Personally, it pointed me towards outlets for actual pragmatic programming on a straightforward theoretical basis in a culture where such performance is not always so prioritized.
Was this review helpful? Yes0
 Flag
Chloe Jones profile image
Chloe Jones profile image

Chloe Jones

10/10 starsCompleted
3 years, 1 month ago
Simply brilliant! This is an excellent course. The tutors were most helpful and the tuition was fantastic. I have gained so much understanding. I enrolled in desperation that I could not get programs to work - it was taking me a very long time to guess at a way of writing a program before I studied LAFF-On Programming for Correctness. There is so much necessary structure and substance that this course teaches so succinctly. I would not have known where to start without LAFF-On and I am so grateful. I can now write programs, knowing that they are going to run correctly and I can visualise the structure, for example diagrams of loop invariants and easy ways to visualise increments of a loop index. Concepts are explained in such a clear, user-friendly way. It is wonderful!
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.