File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Scala and the fly likes Free online course in Scala from Martin Odersky Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Scala
Bookmark "Free online course in Scala from Martin Odersky" Watch "Free online course in Scala from Martin Odersky" New topic
Author

Free online course in Scala from Martin Odersky

chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1713
    
  14

The online training site Coursera has just published details of new free courses being offered over the next few months, including Functional Programming Principles in Scala presented by Martin Odersky, which starts on 17 September and runs for 7 weeks. I've been looking at Coursera courses on other topics - you can preview a lot of the material for free without signing up - and the quality looks pretty high, with real experts teaching the CS courses based on the same materials that are used for students at their own universities, although you don't get any formal qualifications (just a certificate of achievement) and there doesn't seem to be much direct interaction with the tutors.

Anyway, here's syllabus for the Scala course:
Week One: Programming paradigms; overview of functional programming and the Scala programming language.
Week Two: Defining and using functions, recursion and non-termination, working with functions as values, reasoning by reduction.
Week Three: Defining and using immutable objects, review of inheritance and dynamic binding.
Week Four: Working with collections: Sequences, sets and maps
Week Five: Defining recursive data and decomposition with pattern matching.
Week Six: Reasoning about functions
Week Seven: Case study


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

Joined: Apr 06, 2010
Posts: 4392
    
    8

Anyone round here done one of these Coursera courses before? Looks really interesting. Just the right level of commitment needed - not too much, but enough to make you properly engage with it. Thanks, Chris.
Mike Simmons
Ranch Hand

Joined: Mar 05, 2008
Posts: 3014
    
  10
Yes, I've done an Algorithms course from coursera, as well as an AI course from Stanford which immediately preceded the creation of coursera (which now includes many more universities). They were both quite good, and I'm planning on taking many more. Others I know have strongly recommended the Machine Learning class as well. I would definitely try this one if I was just starting out int Scala. I may try it anyway as a moderately experienced Scala developer, just to let Martin remind me what I don't know yet.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3071
    
  33

I did enroll for few classes, but never managed to get through till the end. May be because I am already pursuing part-time masters (which of course is less useful than coursera, but it gives me a Masters degree).
I am for sure going to enroll in Scala and try to go right through the end. I have been learning scala for sometime. Thanks Chris for sharing the information.


Mohamed Sanaulla | My Blog
Tom Bullock
Greenhorn

Joined: Jul 26, 2012
Posts: 4
chris webster wrote:The online training site Coursera has just published details of new free courses being offered over the next few months, including Functional Programming Principles in Scala presented by Martin Odersky, which starts on 17 September and runs for 7 weeks. I've been looking at Coursera courses on other topics - you can preview a lot of the material for free without signing up - and the quality looks pretty high, with real experts teaching the CS courses based on the same materials that are used for students at their own universities, although you don't get any formal qualifications (just a certificate of achievement) and there doesn't seem to be much direct interaction with the tutors.

Anyway, here's syllabus for the Scala course:
Week One: Programming paradigms; overview of functional programming and the Scala programming language.
Week Two: Defining and using functions, recursion and non-termination, working with functions as values, reasoning by reduction.
Week Three: Defining and using immutable objects, review of inheritance and dynamic binding.
Week Four: Working with collections: Sequences, sets and maps
Week Five: Defining recursive data and decomposition with pattern matching.
Week Six: Reasoning about functions
Week Seven: Case study


This is the course I signed up for. In the FAQ part of the course materials it says that I should have installed the recommended development environment, which is Scala IDE for Eclipse. Googling for that gives me this link: http://scala-ide.org/docs/user/gettingstarted. Following that instruction I haved downloaded and installed Eclipse IDE for Java Developers, Juno Version. I am getting nowhere with the install of the Scala IDE for Eclipse, which the instructions say "Scala IDE for Eclipse is best installed (and updated) directly from within Eclipse."

Since I am new both to Java and Scala and the course materials do not identify a forum where experienced users can advise "newbies" about Scala issues, I searched by google and found the Big Moose Saloon.
Is there a big moose around who is familiar enough with Eclipse that I might get past the install problems for the Scala IDE? :p

Sorry if this request should be posted elsewhere!

Tom
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1713
    
  14

Hi Tom, and welcome to JavaRanch - this is a great place to get help on all things Java-related (and many other topics besides).

Not sure how far you actually got with your Eclipse/Scala installation, so I'll assume you are (re-)starting from scratch.

As you may know, Eclipse is a widely used IDE (integrated development environment) platform. However, it's a bit confusing because Eclipse itself is kind of a generic IDE platform, which then gets extended via plugins for specific languages and frameworks to give you all the language-specific support (code completion, syntax highlighting etc). For example, you can install Eclipse for Java, then add plugins for other languages like Scala, Clojure, Python, PHP etc. These plugins are usually installed via "update sites" i.e. a URL that you enter into Eclipse in the appropriate place, which tells it where to download the plugin and what other plugins might be required to support it. Once you have installed a plugin, you access it via the appropriate "perspective" which defines the various windows and menu options etc you would be using for each language plugin. Some people also provide customised versions of Eclipse to support specific languages e.g. Zend Studio for PHP, or even non-programming tools like the uDIG GIS tool, which is also built on Eclipse.

Anyway, for a JVM-based language like Scala, which uses Java underneath, the Scala IDE project tells us that for their current stable release 2.0.2 you should be using Eclipse 3.6 (also known as Helios) or Eclipse 3.7 (Indigo), plus v.2.0.2 of their Scala specific plugin. Not sure if Eclipse 3.8 (Juno) will work with the Scala plugin - this might be a problem - but you can give it a shot and see what happens. If it doesn't work, try downloading the specified Eclipse version instead e.g. 3.7.

Within each version of Eclipse e.g. Eclipse Indigo 3.7, there are different packages, depending on which languages/tools you want to have pre-installed. You can always install extra plugins later, so right now you should probably start with Eclipse Classic (the basic version) or Eclipse for Java Developers which has the standard Java tools. Download and install Eclipse and start it up. If you only get a "Welcome" screen, try opening the Java perspective via the menu (should be top right somewhere) to get a more familiar IDE layout.

Now you should be able to tell Eclipse about the Scala plugin you want to install. The instructions for doing this are on the Scala IDE website, which provides the "Update Site" URL that you need to type into Eclipse, and there is a video on the same page that shows you how to do this. It may take some time and it may prompt you to let it download additional plugins if there are dependencies, but Eclipse is usually pretty good at this stuff. Once you've installed the plugin, the video also has a few tips on setting up your first Scala project.

If you have more questions about Eclipse, there is an IDE forum here on JavaRanch where there should be plenty of people who can help you.
Tom Bullock
Greenhorn

Joined: Jul 26, 2012
Posts: 4
Hi Chris,

Thank you for your warm welcome and even more for your on task reply to my concern. Your answer parallels what I read at various places to get this far, so I must have mixed versions of the software or maybe I did not wait long enough for a reply from the net. [Patience is always needed. ] I appreciate your clearly written style and the background your reply contained re Eclipse. It is very helpful.

I will check versions and follow the Martin Odersky's instruction as to Eclipse and Scala versions to install for the course. Apparently, I misunderstood something. Glad you clarified Eclipse version names. It seems similar to what Ubuntu does with its various development editions.

Again my thanks. I will let you know when I have the right IDE installed and working.

Tom
Tom Bullock
Greenhorn

Joined: Jul 26, 2012
Posts: 4
Hi Chris,

I promised to report my results - Success! Based on this instruction (http://scala-ide.org/docs/user/gettingstarted) and its stated Requirements, I chose JDK 1.6, Eclipse 3.6 (Helios) rather than Indigo, because getting started requirements pointed out "There is one known issue specific to using Scala IDE on Indigo, releated to tests discovery (ticket 10007821)."

Eveything went smoothly once I understood what Eclipse was telling me to do in using the Help>Install-New-Software>ADD button.

Thanks very much. I think I now have the tool in place that the course requires.

Tom
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1713
    
  14

Tom Bullock wrote:I promised to report my results - Success! ... I think I now have the tool in place that the course requires.

Glad to hear it worked out OK. Not only do you now have the tools for the Scala course, but you also have an IDE you can use for pretty much any other language as well.

If you want to get a feel for Eclipse in advance, you could try Mark Dexter's Eclipse video tutorials to give you an intro to how Eclipse works, setting up projects, using code completion, unit testing, running code from within the IDE etc. There is a useful Total Beginner tutorial which doesn't assume any prior knowledge of Eclipse or Java and consists of 16 short video lessons. Each video is about 12 minutes and the first video can be viewed online, then you can download the rest as you work through the tutorial. The tutorials are a bit out of date now (they're from 2008), but the core features of Eclipse haven't changed so this is a nice easy way to get up and running with Eclipse.

If you have any more problems with Eclipse, try the IDE forum here for more expert advice than I can offer.
Tom Bullock
Greenhorn

Joined: Jul 26, 2012
Posts: 4
Thanks again for the 3 great tips: Eclipse Total Beginner Tutorial, Eclipse video tutorial, IDE forum. I am definitely in need of the tutorials and will certainly use the forum when stuck. Your help and suggestions are just what I need! Much appreciated!

Tom

Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4392
    
    8

I've now signed up for this course, and I've a sneaking suspicion Coursera could be quite a significant time sink for me - already found half-a-dozen courses I'd like to do.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3071
    
  33

Matthew Brown wrote:I've now signed up for this course, and I've a sneaking suspicion Coursera could be quite a significant time sink for me - already found half-a-dozen courses I'd like to do.

Yeah but I never managed to go past 2 weeks of the course. The farthest I went is in the Saas course.
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 4392
    
    8

Mohamed Sanaulla wrote:Yeah but I never managed to go past 2 weeks of the course. The farthest I went is in the Saas course.

If I start the course I'll finish it - I don't like dropping out of things, and it's only a few weeks.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3071
    
  33

Matthew Brown wrote:
Mohamed Sanaulla wrote:Yeah but I never managed to go past 2 weeks of the course. The farthest I went is in the Saas course.

If I start the course I'll finish it - I don't like dropping out of things, and it's only a few weeks.

I need to do that as well and I would start with Scala!
Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

I also have registered for the course. Lets hope that I complete it!!


Palak Mathur | My Blog | TechJaunt | What is JavaRanch? | List of All FAQs
Joe Harry
Ranch Hand

Joined: Sep 26, 2006
Posts: 9383
    
    2

Even I registered for this course. Hope to complete it as well.


SCJP 1.4, SCWCD 1.4 - Hints for you, Certified Scrum Master
Did a rm -R / to find out that I lost my entire Linux installation!
Sumit Bisht
Ranch Hand

Joined: Jul 02, 2008
Posts: 329

Nice share indeed!
I look forward to complete this course and share it with my friends as well.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Free online course in Scala from Martin Odersky