wood burning stoves 2.0*
The moose likes Functional Programming and the fly likes Coursera Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » Functional Programming
Bookmark "Coursera "Programming Languages" course starts next week (14 January)" Watch "Coursera "Programming Languages" course starts next week (14 January)" New topic
Author

Coursera "Programming Languages" course starts next week (14 January)

chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1607
    
  13

In case anybody is interested, the free online Coursera "Programming Languages" course is starting on 14 January and runs for 10 weeks. The course website is already open, so you can register now and start installing the recommended software etc. The course is aimed at people with some programming experience, but you don't have to be an expert in functional programming, and it will cover a range of topics that are especially relevant for FP:

Coursera Programming Languages wrote:
Learn many of the concepts that underlie all programming languages. Develop a programming style known as functional programming and contrast it with object-oriented programming. Through experience writing programs and studying three different languages, learn the key issues in designing and using programming languages, such as modularity and the complementary benefits of static and dynamic typing. This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs. By using different languages, you learn to think more deeply than in terms of the particular syntax of one language. The emphasis on functional programming is essential for learning how to write robust, reusable, composable, and elegant programs – in any language.

Sounds interesting, so why not sign up now and watch the introductory videos to see if it looks like something you'd like to do as well?


No more Blub for me, thank you, Vicar.
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 252
    
    5

This looks very interesting! I just signed up. Learning ML, Racket and Ruby should be fun!
J. Kevin Robbins
Bartender

Joined: Dec 16, 2010
Posts: 826
    
  13

I'm looking forward to this course, but not EMACS. I got the software installed this weekend and I already hate EMACS. I've used Wordstar key mappings for 3 decades and now I'm supposed to learn an entirely new set of key mappings? I don't think so.

This seems like the same reason we tell newbies not to use an IDE; it just gets in the way of learning the language. I'll try EMACS for the first week or so, but if I feel like it's just getting in the way I'll ditch it and use Notepad++.


"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." -- Ted Nelson
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 252
    
    5

I used to use Emacs back in the version 17 / 18 / 19 days, i.e., about 20 years ago, then gradually drifted off into "IDE land" but after picking up Clojure in 2010 and seeing the vast majority of Clojurians using Emacs, I switched back to it in October 2011 and, after a week of cursing and pain in my hands, really haven't looked back. I'd already begun to move away from bloated IDEs anyway and back to lightweight text editors. For working with scripting languages, especially those that have a REPL (like ML and Ruby - and Clojure), Emacs is both very powerful and still very lightweight.

Since you're used to Wordstar bindings, you'll probably want wordstar-mode (built-in, so just use M-x wordstar-mode to enable it). That should make you pretty comfortable in Emacs.

I was tempted to use custom bindings at first, especially to restore the familiar cut / copy / paste shortcuts, but decided to stick with Emacs native bindings and got used to them pretty quickly - but then my plan was to stay with Emacs long-term!

As for learning an IDE and a language at the same time, I sympathize. A lot of people in the Clojure world caution against throwing newbies into Emacs as well as having to learn Clojure but the other school of thought is that Emacs provides the slickest Clojure workflow with the REPL, built-in code evaluation and instant testing so it's worth learning both together. I fall on the side of learning Clojure first, then adding Emacs as soon as you find the workflow of your chosen editor wanting (which you will).

I mostly develop on Mac / Linux but recently bought a Windows 8 "convertible" (touch screen tablet / ultralight notebook combination) and will be taking the course on that so I'm also learning Windows quirks as well as three new languages - fortunately Emacs behaves (almost) identically on Windows 8 to Mac / Linux so at least that will be a constant...
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 252
    
    5

How many folks here are signed up for this? How are you finding it?
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1607
    
  13

Sean Corfield wrote:How many folks here are signed up for this? How are you finding it?

I think there's a couple of us from JavaRanch doing this course. I'm really enjoying it so far, despite the brisk pace and the workload, which is fairly time-consuming - to work through the videos (making notes as I go along) and do the homework, plus the peer review. Admittedly, I ditched Emacs after a few days as it was just taking too long to get anything done - Sublime Text 2 with an SML REPL works for me, and we'll be shifting to DrRacket soon anyway. At the moment, the course is taking me about 12 hours a week, i.e. just within the 8-12 hours they estimate, but right now I have the benefit of having done the Scala course already, so most of the concepts so far are at least vaguely familiar. When we move into Lisp-country with Racket and encounter less familiar concepts then I suspect I may slow down a bit. I was at the "slow learners" end of the graph for the Scala course too, but I got a good grade and learned a lot on that, so no worries so far.

The course material is fascinating (for a non-CS grad like me) and very well-presented and the homeworks are reasonably challenging. I think this course is at broadly the same level as the Scala one, and it's interesting how they complement each other. I think you can benefit from doing them either way around e.g. the Scala course is helping me here, but equally I reckon learning some SML and especially the concepts in this course would make the Scala one much easier too.

Meanwhile, I'm definitely sold on the benefits of functional programming. Just wish I could land myself a job doing it.
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4339
    
    7

I'm loving it. I'm enjoying the pace, which makes it feel like it's a step on from the Scala course even though (so far) it's covering similar ground. Just finished the third assignment (though I want to revisit the last few questions to see if I can streamline it at all).

I've been coping OK with emacs (it's years since I've used it) but it is making me pine for my IDE.

My only worry at the moment is that I'm probably going to be out of the country for the last week of the course, so I'm hoping that they release the material early enough for me to finish it before I go.

Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 252
    
    5

I saw the Scala course was going to run again starting March 25th so I signed up for that, since I missed it last time.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1607
    
  13

Sean Corfield wrote:I saw the Scala course was going to run again starting March 25th so I signed up for that, since I missed it last time.

With your Clojure experience you should find it pretty easy - but. at least it'll give you a chance to explore the Dark Side of statically typed FP!
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 252
    
    5

Oh I did Scala on and off for a year or so before I switched to Clojure
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1607
    
  13

Sean Corfield wrote:Oh I did Scala on and off for a year or so before I switched to Clojure

As William Gibson said, the future's already here - it's just not evenly distributed.
Sigh.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Coursera "Programming Languages" course starts next week (14 January)
 
Similar Threads
Anybody else starting the Coursera Scala course this week?
Scala Coursera Week 7
Easy way to learn computer languages
Simple Question
Scala Coursera: how was it for you?