• 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

Free online course in Scala from Martin Odersky

 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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

 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Master Rancher
Posts: 4806
72
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
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
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
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
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

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
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 4568
9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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!
 
Ranch Hand
Posts: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I also have registered for the course. Lets hope that I complete it!!
 
Ranch Hand
Posts: 10198
3
Mac PPC Eclipse IDE Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Even I registered for this course. Hope to complete it as well.
 
Ranch Hand
Posts: 331
Python Ruby Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nice share indeed!
I look forward to complete this course and share it with my friends as well.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic