Can't see the first video (apart from the trailer that's been up there all along). But there is a "Getting Started" assignment which you can do right now. It's worth doing, as it gives you a chance to try out the tools etc before we get stuck into the real work. This one doesn't count towards your final grade, and you can submit it as many times as you like.
Incidentally, just in case you hit similar problems, I had SBT version conflicts with the downloaded code for this assignment and the Typesafe stack I'd installed previously, so I removed the Typesafe stack and installed SBT using the link in the course "Tools Setup" page instead, which seems to have fixed the problem.
I haven't used sbt before, so that wasn't a problem - started with a nice clean install. Though I did have an issue where my anti-virus software blocked the sbt download site as containing malware.
Cannot complete the install because one or more required items could not be found.
Software being installed: Scala IDE for Eclipse 2.1.0.m2-2_09-201209130821-0dd7542 (org.scala-ide.sdt.feature.feature.group 2.1.0.m2-2_09-201209130821-0dd7542)
Cannot complete the install because one or more required items could not be found.
Software being installed: Scala IDE for Eclipse 2.1.0.m2-2_09-201209130821-0dd7542 (org.scala-ide.sdt.feature.feature.group 2.1.0.m2-2_09-201209130821-0dd7542)
Cannot complete the install because one or more required items could not be found.
Software being installed: Scala IDE for Eclipse 2.1.0.m2-2_09-201209130821-0dd7542 (org.scala-ide.sdt.feature.feature.group 2.1.0.m2-2_09-201209130821-0dd7542)
The full Scala IDE download from http://typesafe.com/stack/scala_ide_download should be fine. But I recommend you use the download link in the "Tools Setup" page for SBT. I initially installed Eclipse Indigo and Scala IDE separately (on Windows), and downloaded the full Typesafe stack to get SBT etc, but when I tried to build the sample project from the course, I got some version errors for SBT. I uninstalled all that stuff and then installed just SBT and the Scala IDE using the links on the "Tools Setup" page, and everything worked fine. The first time you run SBT it will download lots of extra libraries, but next time it should start up much quicker. Also, downloading the full Scala IDE gives you the Scala Worksheet plugin as well, which you need for some of the exercises.
Joe Harry wrote:Anyone working on the assignments? Did you guys manage to get the second and the third assignment (non-imperative way)?
I finished the three questions for the assignment. I recommend chapter 1 of the SICP book (which they recommended at the start of the course) as the examples and exercises will really help you here (hint). The Pascal's Triangle and change counting functions can be done in just a few lines each, but I found the parentheses-balancing one harder as I had to figure it out myself - my version is not as elegant as I would like, but it works.
When you submit the code, they run the automated tests and some kind of syntax checker - you get 8 points for passing the tests and up to 2 points for passing the syntax checks.
Anyway, this course looks like being good fun - and quite challenging - so best of luck with it.
Joe Harry wrote:Anyone working on the assignments? Did you guys manage to get the second and the third assignment (non-imperative way)?
I finished the three questions for the assignment. I recommend chapter 1 of the SICP book (which they recommended at the start of the course) as the examples and exercises will really help you here (hint). The Pascal's Triangle and change counting functions can be done in just a few lines each, but I found the parentheses-balancing one harder as I had to figure it out myself - my version is not as elegant as I would like, but it works.
When you submit the code, they run the automated tests and some kind of syntax checker - you get 8 points for passing the tests and up to 2 points for passing the syntax checks.
Anyway, this course looks like being good fun - and quite challenging - so best of luck with it.
Thanks for the SICP book reference. Just completed the first two assignments. Have to work on the coin change assignment.
Like you mentioned, the pascals triangle was quite easy. The brackets balancing was a bit tricky. I did that with a couple of if and else statements which does not looks elegant. Wrote about 30 test cases and glad to see that all went through. I will now take a look at the SICP book tonight and figure out some hints to approach the coin change assignment.
By doing these exercises (the non-imperative way), I'm realizing that I'm thinking a different approach to solving a problem. I wrote a source code formatter utility using Java 2 months ago. I will now replace that imperative thought with recursions.
Even I would recommend this course and it is worth the attendance.
I'm taking it as well. I started/finished the week 1 assignment last night. I didn't finish the lecture videos from week 1 yet though. It reminds me of a LISP course I took in college. It's nice thinking recursively again for non trivial problems.
Got 9.98 on my week 1 assignment. It seems I have a Cyclomatic complexity for my balance brackets assignment. I will change that to Switch case to make it more elegant.
I've done the counting change one before - it's one of the Project Euler questions (or one very much like it). But I managed a much neater solution this time...though having seen people refer to a three line solution I think I may try polishing it some more.
Actually, I'm thinking of revisiting my Project Euler solutions to see if I can make them "more functional" in the light of this course.
Matthew Brown wrote:I've done the counting change one before - it's one of the Project Euler questions (or one very much like it). But I managed a much neater solution this time...though having seen people refer to a three line solution I think I may try polishing it some more.
Actually, I'm thinking of revisiting my Project Euler solutions to see if I can make them "more functional" in the light of this course.
Even I ended up with a 3 line solution to the coin problem. It was mentioned in the SICP book very clearly in two bulleted points and this was one line and the two edge cases represents another 2 lines and that was it!
@James: The soft deadline was extended to 2 weeks after some requests in the Coursera forums! That means there's still time til Friday for the first assignment ;-) The two week deadline applies for the other assignments as well, although the lectures and assignments will still be released weekly.
Btw. I'm taking part as well
I submitted the first assigments yesterday after thinking and trying for several hours just to get these relatively easy exercises working. In my opinion that shows that it's worth to learn other ways of thinking and programming that you're usually not used to if you're only familiar with imperative programming and languages like Java. I'm anxious for the next lectures and assignments.
Marco
Vilpesh Mistry
Ranch Hand
Joined: May 27, 2003
Posts: 60
posted
0
Hi all,
I too had joined the "Functional Programming Principles in Scala" course and glad to say done with my 1st week assignment, just before the 1st week assignment deadline.
Thanks to all who pointed out to read SICP book (Structure and Interpretation of Computer Programs. by Harold Abelson,Gerald Jay Sussman and Julie Sussman) to solve the 1st week assignment.
I could easily do Pascals Triangle,Parantheses Balancing but it was difficult to solve out Counting change problem.Finally solved Counting change.
Will have to rush to week 2 videos and assignment.