• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Reactive Programming Course

 
Ranch Hand
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!
 
Sheriff
Posts: 5555
326
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Will Myers
Ranch Hand
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I found the last course tough too, some of the assignments took me days so it's probably just me!
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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...
 
Ranch Hand
Posts: 258
2
IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Sheriff
Posts: 5555
326
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 462
Scala jQuery Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Still doing it, still enjoying it. I just need a good excuse to use RX or Akka for something now .
 
Tim Cooke
Sheriff
Posts: 5555
326
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
reply
    Bookmark Topic Watch Topic
  • New Topic