MOOC On Functional Programming Using Haskell |
Written by Sue Gee |
Thursday, 16 October 2014 |
Erik Meijer's Introduction to Functional Programming MOOC has just started. If this is a topic you want to know more about, this free class could be an ideal route. Presented on the edX platform, Introduction to Functional Programming: FP101x is an 8-week course with a workload of 4 to 6 hours per week. It doesn't require any prior knowledge of functional programming, but assumes you have at least one year's experience in a regular programming language such as Java, .NET, Javascript or PHP. It comes from the Delft University of Technology and is taught by Erik Meijer Professor of Cloud Programming, founder of Applied Duality, Inc. and a contributor to programming languages such as Haskell, C#, Visual Basic, and Hack, and to the LINQ and the Rx frameworks. In various pre-course discussions this class has been referred to as a "Haskell MOOC" but at the start of the very first lecture Meijer states: One thing that I wanted to tell you before we get going is that this is a MOOC about functional programming ... not a course on Haskell, we are using Haskell as a functional language but we're not learning to program Haskell per se. Here is his introductory video that sets the scene for the course:
The course descriptions states: Broadly speaking, functional programming is a style of programming in which the primary method of computation is the application of functions to arguments. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs. Functional languages represent the leading edge of programming language design, and the primary setting in which new programming concepts are introduced and studied. All contemporary programming languages such as Hack/PHP, C#, Visual Basic, F#, C++, JavaScript, Python, Ruby, Java, Scala, Clojure, Groovy, Racket, … support higher-order programming via the concept of closures or lambda expressions. This course will use Haskell as the medium for understanding the basic principles of functional programming. While the specific language isn't all that important, Haskell is a pure functional language so it is entirely appropriate for learning the essential ingredients of programming using mathematical functions. It is also a relatively small language, and hence it should be easy for you to get up to speed with Haskell. Once you understand the Why, What and How that underlies pure functional programming and learned to “think like a fundamentalist”, we will apply the concepts of functional programming to “code like a hacker” in mainstream programming languages, using Facebook’s novel Hack language as our main example.
One question that has been raised elsewhere is how this course differs from Erik's 13-lecture series on Channel 9. Looking at the syllabus it does cover the same ground and in the same order but whereas on Channel 9 the material each lecture is around an hour in length and you can watch them whenever you line, on edX it is split down into shorter chunks and, which you can just watch the videos (called auditing the course), if you want a certificate there are both homeworks (11 in total) and lab assignments (7 in total) to submit and a minimum overall grade of 60/100 is needed. All homeworks and lab assignments count towards the final grade; none of them is droppable. You only get one try per question. The time available to submit homeworks and lab assignments is two weeks. Two types of certificate are available. An Honor Code certificate is currently free of charge. If you want a ID Verified Certificate of Achievement, i.e. one the requires proof that it was you that did the work, for the purposes of a job application for example, there's a minimum contribution of $50 and you'll also need a webcam and a photo ID. As will other edX courses you don't have to sign up for a verified certificate until you've sampled the course and discovered if it's pitched as the right level. But given this is a fast-paced course if you do think it could help your career there's no time to lose. The course is underway and there's a lot of interesting discussion on its forum. There seem to be a few technical problems with homework grading but they are being rapidly resolved and everyone seems very enthusiastic.
More InformationIntroduction to Functional Programming: FP101x Channel 9 Lectures: Erik Meijer - Functional Programming Fundamentals Related ArticlesBack To School - September CS MOOCs Keeping Track of Computer Science Courses Android App and New Courses from Udacity To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info
|
Last Updated ( Monday, 22 April 2019 ) |