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


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » Functional Programming
Bookmark "Reactive Programming Course" Watch "Reactive Programming Course" New topic
Author

Reactive Programming Course

Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

So..how are we all getting on? I have managed to complete the first assignment but it was a struggle to remember everything from the first course and the video lectures are going right over my head as I'm still struggling to understand some FP concepts.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Not getting on at all right now! But I've had some helpful tips from fellow students, so hopefully I can make some progress over the next few days.

Must confess I find the way Odersky teaches this stuff very abstract and quite mystifying, and I'd forgotten just how much extra punctuation there is around Scala - all that [-A],[+U], ==>, =>, =, ::, ++, etc etc.

I'd be much happier with "Farmer Jones has three apple trees and Farmer Smith has four pear trees..." than with "J is a subtype of F and generates type A, while S is a different subtype of F and generates type P..."!

I'm hoping that once we've got this heap of abstraction out of the way, the material on actors etc will be a little more concrete and graspable.


No more Blub for me, thank you, Vicar.
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4344
    
    8

Trying to manage MOOC overload at the moment, but I've got most of the first assignment done. Hoping to be able to knock the last two failing tests on the head tonight.

I must admit I quite enjoy the abstract stuff, but I think that's the mathematics background kicking in. The stuff on monads was interesting - something I've always meant to read about without ever actually getting round to it.
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

I'm also finding it difficult to keep up with the lectures, I find I have to watch them a few times and also try and reproduce the code and step through it see what it's doing, very slow going and I'm well over the 5 hours they give as the estimated time per week that the course needs - I'm more like 20 hours and it's only week 1!
Tim Cooke
Bartender

Joined: Mar 28, 2008
Posts: 841
    
  41

I still have the last Functional Programming assignment to do and have yet to even watch the Reactive Programming videos yet. You guys are worrying me a little. I suspect there's going to be a couple of late nights coming up... Pesky day job taking up all my time....

Much as all this stuff is hard going I do find it very rewarding.


Tim Driven Development
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

I found the last course tough too, some of the assignments took me days so it's probably just me!
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Will Myers wrote:I found the last course tough too, some of the assignments took me days so it's probably just me!

No, it's not just you - I had some weeks where I was doing about twice the predicted number of hours on the last course. Still passed in the end, but this new course is definitely a step (or two) up from there.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

I did the first assignment, scored 10/10, but it took me some time to make all test cases work. Especially case 3 and 4 of the 5 test cases. I looked in the Coursera forums and found that I was not the only one who had some trouble with those test cases.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Jesper de Jong wrote:I did the first assignment, scored 10/10, but it took me some time to make all test cases work. Especially case 3 and 4 of the 5 test cases. I looked in the Coursera forums and found that I was not the only one who had some trouble with those test cases.

I had a *lot* of trouble with this assignment (not helped by the fact that I was submitting the wrong code at one point - duh). I finally passed it with 10/10, but I have no idea what made the difference between scoring 1.67/10 and 10/10, and I don't feel I really learned anything useful from the whole exercise, which felt very abstract and artificial. I think ScalaCheck looks interesting, but this exercise didn't really help me learn much about how to use it effectively - in fact I found this example was very discouraging. And there didn't seem to be much link between the video lectures and the assignment task.

I don't mind having to work hard if I'm learning something difficult - the Dan Grossman "Programming Languages" course on Coursera was hard work but I learned a lot of good stuff. But so far this course just feels pointlessly difficult without yielding any benefits so far. Of course, it's only the first week, and having passed this assignment at last, I'm going to carry on with the course in the hope of learning more interesting/useful/comprehensible stuff later on, but so far I'm not very impressed.

Our fellow students are very helpful though, so that's one positive thing!
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

So assignment 2 has totally thrown me, I have just spent about 20 hours figuring out the demux method and managed to get it working but have no idea how to even start the epidemy simulation part. At this rate I might hve finished assignment 2 when the course finishes...
Raymond Tong
Ranch Hand

Joined: Aug 15, 2010
Posts: 230
    
    2

There are lots of discussion and clarification in the course discussion which may give you some idea about what to do.
FYI, the tests had issues and the staff said which we may have more submission attempts and/or extended deadline for this assignment.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Sorry to hear that, Will, but it confirms my decision to bail out this week.

I spent way too much time on last week's assignment and learned very little of any real use from it. After watching the videos and looking at the work for this week, I suspect it would be the same story this week and probably for the rest of the course, and I just can't afford the time. I'm sure there's good stuff in there, but I'm obviously no longer in the right intellectual demographic for this course, so I think it's better for me if I look at other ways to learn this stuff in the time I have available e.g. by exploring Play and Akka, which implement these ideas practically but allow dummies like me to start working with them without so much abstraction and confusing academic exercises.

It's kind of frustrating, as there were other FP-related courses I would have taken in September/October instead, if I'd known in advance how time-consuming this one would be. Oh well, next time I'll know better, eh?

Good luck to those of you who are continuing with it.
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

I must say this course is starting to feel like it's fulfilling the stereotype of function programming in that it's just for acedemics and mathematicians - I have spent most of my time trying to understand the domain rather than the language concepts so I'm seriously doubting whether I'll have the time to get to the end of it this time.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Here's a nice intro to monads and monoids by a clever man in a hat (Brian Beckman). It's from 2007 and refers (briefly) to C#, F# and Haskell rather than Scala, but it doesn't really matter as he explains it all pretty well.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

I liked the week 2 exercises, and I don't think they were very hard at all. Read the assignment instructions carefully, they point you to what you need to do.

For the demuxer, I thought about how the circuit should look first and started drawing circuits on paper, until I was convinced that I had the right structure. First draw what a demuxer with 0 control lines looks like (it's so simple that it's trivial). Then draw one with one control line. You'll need a few logic gates for that. Then think about how you can combine demuxers with one control line to one with two control lines, and N control lines (it will be a recursive structure). Then implement that in Scala code, in the classes that you already get for the assignment.

The epidemilology assignment wasn't very hard at all. First look at the videos, read the assignment carefully and look at the code that you get for the assignment. You just have to implement the rules that are described in the assignment into one of the source files.

Make sure you run tests and do the style check on your own system before submitting. In sbt, simply enter "test" to compile the code and run the test. Enter "styleCheck" to run the style check.

If you've never programmed in Scala before and you don't understand the syntax then I think you'll have a harder time.
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

If you've never programmed in Scala before and you don't understand the syntax then I think you'll have a harder time.


This is probably half my problem, I did the first course and got 100% but I haven't had a chance to use Scala in earnest so the syntax hasn't really stuck yet, plus there seems to be a huge amount of ways to acheive the same thing - my solution to week 2 of this course worked and passed but I'm pretty sure there are easier and better ways than the way I did it.
Tim Cooke
Bartender

Joined: Mar 28, 2008
Posts: 841
    
  41

Is anyone on The Ranch still going strong with this course? I bailed really early on, so early some might say I didn't even start.
Will Myers
Ranch Hand

Joined: Aug 05, 2009
Posts: 319

I'm still doing it! We have got to the interesting bit about actors now but I'm still finding the assignments pretty tough going.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1621
    
  13

Will Myers wrote:I'm still doing it! We have got to the interesting bit about actors now but I'm still finding the assignments pretty tough going.

I bailed early (Week 2), to my shame, as I just couldn't afford the time (or blood pressure) to keep up with the assignments. However, that meant I could get to the interesting bit about actors even quicker. I suspect you understand them rather better than I do, though!

Good luck with the rest of the course.
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4344
    
    8

Still doing it, still enjoying it. I just need a good excuse to use RX or Akka for something now .
Tim Cooke
Bartender

Joined: Mar 28, 2008
Posts: 841
    
  41

Kudos to you Will and Matthew.

Chris, I feel your pain. My "window of opportunity" for watching the videos and working on the assignments was generally between 11pm and 2am which was not sustainable... at all..... ZZZzzzzzzzzzzzz Hard to focus the brain when you're half wrecked.

I did make it through the FP Principles in Scala which I'm pretty chuffed about.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Reactive Programming Course
 
Similar Threads
parallelism in a for loop and using java 5 concurrency
Dynamic Component in JSF
Bad Performance for JDBC Insert
Strange problem calling oracle function with spring
WA #1.....word association