This page is no longer maintained — Please continue to the home page at www.scala-lang.org

resources for teaching Scala to beginners?

17 replies
Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
I've decided to teach Scala rather than Python for my graduate introduction to computational linguistics this fall semester. The assumption is that students will not have prior experience programming (several of them are coming from language departments), and unfortunately there aren't any books geared toward that level at this point (or at least, none I've found). I'm expecting to create a number of materials to fill this gap; however, pointers to any materials (blog entries, courses, etc) that can help teach at that level would be much appreciated. Thanks!

Jason

--
Jason Baldridge
Assistant Professor, Department of Linguistics
The University of Texas at Austin
http://www.jasonbaldridge.com
http://twitter.com/jasonbaldridge


Sander Mak
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

Cay Horstmann's blog has some nice articles on Scala and education:
http://weblogs.java.net/blog/cayhorstmann/archive/2008/09/teaching_progr...

Also, Kojo is a nice initiative for teaching programming to the
uninitiated and is also based on Scala: http://kogics.net/sf:kojo

On Fri, Aug 19, 2011 at 2:03 AM, Jason Baldridge
wrote:
> I've decided to teach Scala rather than Python for my graduate introduction
> to computational linguistics this fall semester. The assumption is that
> students will not have prior experience programming (several of them are
> coming from language departments), and unfortunately there aren't any books
> geared toward that level at this point (or at least, none I've found). I'm
> expecting to create a number of materials to fill this gap; however,
> pointers to any materials (blog entries, courses, etc) that can help teach
> at that level would be much appreciated. Thanks!
>
> Jason
>
> --
> Jason Baldridge
> Assistant Professor, Department of Linguistics
> The University of Texas at Austin
> http://www.jasonbaldridge.com
> http://twitter.com/jasonbaldridge
>
>
>

liciobruno
Joined: 2010-10-26,
User offline. Last seen 1 year 51 weeks ago.
RE: resources for teaching Scala to beginners?
You can read the on line book at the address:

http://ofps.oreilly.com/titles/9780596155957/

it is for 2.8 version, but is good to start.



> Date: Fri, 19 Aug 2011 08:30:19 +0200
> Subject: Re: [scala-language] resources for teaching Scala to beginners?
> From: sandermak [at] gmail [dot] com
> To: scala-language [at] googlegroups [dot] com
>
> Cay Horstmann's blog has some nice articles on Scala and education:
> http://weblogs.java.net/blog/cayhorstmann/archive/2008/09/teaching_progr...
>
> Also, Kojo is a nice initiative for teaching programming to the
> uninitiated and is also based on Scala: http://kogics.net/sf:kojo
>
>
>
> On Fri, Aug 19, 2011 at 2:03 AM, Jason Baldridge
> <jasonbaldridge [at] gmail [dot] com> wrote:
> > I've decided to teach Scala rather than Python for my graduate introduction
> > to computational linguistics this fall semester. The assumption is that
> > students will not have prior experience programming (several of them are
> > coming from language departments), and unfortunately there aren't any books
> > geared toward that level at this point (or at least, none I've found). I'm
> > expecting to create a number of materials to fill this gap; however,
> > pointers to any materials (blog entries, courses, etc) that can help teach
> > at that level would be much appreciated. Thanks!
> >
> > Jason
> >
> > --
> > Jason Baldridge
> > Assistant Professor, Department of Linguistics
> > The University of Texas at Austin
> > http://www.jasonbaldridge.com
> > http://twitter.com/jasonbaldridge
> >
> >
> >
Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

Thanks for the suggestions -- I wasn't aware of Kojo, and that might
be useful. Unfortunately, the others (which I had seen -- in fact I
used Programming Scala when I started coding in Scala) still have a
Java perspective. It would be great to have some clean slate materials
for people who have little or no programming experience (and who don't
need to unlearn bad habits). :)

So, it looks like I'll definitely be doing a number of introductory
slides/tutorials! Anyone interested can follow along here:

http://icl-f11.utcompling.com/

I might also be doing some Scala along side the Java for my MapReduce
course: http://dicta-f11.utcompling.com/

Jason

On Aug 19, 2:53 am, Felice Bruno wrote:
> You can read the on line book at the address:
>
> http://ofps.oreilly.com/titles/9780596155957/
>
> it is for 2.8 version, but is good to start.
>
> > Date: Fri, 19 Aug 2011 08:30:19 +0200
> > Subject: Re: [scala-language] resources for teaching Scala to beginners?
> > From: sander [dot] [dot] [dot] [at] gmail [dot] com
> > To: scala-language [at] googlegroups [dot] com
>
> > Cay Horstmann's blog has some nice articles on Scala and education:
> >http://weblogs.java.net/blog/cayhorstmann/archive/2008/09/teaching_pr...
>
> > Also, Kojo is a nice initiative for teaching programming to the
> > uninitiated and is also based on Scala:http://kogics.net/sf:kojo
>
> > On Fri, Aug 19, 2011 at 2:03 AM, Jason Baldridge
> > wrote:
> > > I've decided to teach Scala rather than Python for my graduate introduction
> > > to computational linguistics this fall semester. The assumption is that
> > > students will not have prior experience programming (several of them are
> > > coming from language departments), and unfortunately there aren't any books
> > > geared toward that level at this point (or at least, none I've found). I'm
> > > expecting to create a number of materials to fill this gap; however,
> > > pointers to any materials (blog entries, courses, etc) that can help teach
> > > at that level would be much appreciated. Thanks!
>
> > > Jason
>
> > > --
> > > Jason Baldridge
> > > Assistant Professor, Department of Linguistics
> > > The University of Texas at Austin
> > >http://www.jasonbaldridge.com
> > >http://twitter.com/jasonbaldridge

Stan Campbell
Joined: 2011-08-20,
User offline. Last seen 42 years 45 weeks ago.
Re: Re: resources for teaching Scala to beginners?
Hi Jason,
When you're taking a look at Scala with an eye to teaching linguistics, you might want to acquaint yourself with building domain specific languages (DSLs) in Scala.
I don't know what kind of tools you are thinking of making for the class, but I can imagine inventing an extensible DSL for doing linguistic analysis.  The language might be designed to build a natural language "acceptor" which could (given an appropriate representation for things like phonemes) analyze frequencies, etc.  It's been quite a while since I took a linguistics course but the combination sounds like a lot of fun.
Good luck!
-- Stan


On Sat, Aug 20, 2011 at 9:20 AM, Jason Baldridge <jasonbaldridge [at] gmail [dot] com> wrote:
Thanks for the suggestions -- I wasn't aware of Kojo, and that might
be useful. Unfortunately, the others (which I had seen -- in fact I
used Programming Scala when I started coding in Scala) still have a
Java perspective. It would be great to have some clean slate materials
for people who have little or no programming experience (and who don't
need to unlearn bad habits). :)

So, it looks like I'll definitely be doing a number of introductory
slides/tutorials! Anyone interested can follow along here:

http://icl-f11.utcompling.com/

I might also be doing some Scala along side the Java for my MapReduce
course: http://dicta-f11.utcompling.com/

Jason

On Aug 19, 2:53 am, Felice Bruno <felice [dot] br [dot] [dot] [dot] [at] live [dot] it> wrote:
> You can read the on line book at the address:
>
> http://ofps.oreilly.com/titles/9780596155957/
>
> it is for 2.8 version, but is good to start.
>
> > Date: Fri, 19 Aug 2011 08:30:19 +0200
> > Subject: Re: [scala-language] resources for teaching Scala to beginners?
> > From: sander [dot] [dot] [dot] [at] gmail [dot] com
> > To: scala-language [at] googlegroups [dot] com
>
> > Cay Horstmann's blog has some nice articles on Scala and education:
> >http://weblogs.java.net/blog/cayhorstmann/archive/2008/09/teaching_pr...
>
> > Also, Kojo is a nice initiative for teaching programming to the
> > uninitiated and is also based on Scala:http://kogics.net/sf:kojo
>
> > On Fri, Aug 19, 2011 at 2:03 AM, Jason Baldridge
> > <jasonbaldri [dot] [dot] [dot] [at] gmail [dot] com> wrote:
> > > I've decided to teach Scala rather than Python for my graduate introduction
> > > to computational linguistics this fall semester. The assumption is that
> > > students will not have prior experience programming (several of them are
> > > coming from language departments), and unfortunately there aren't any books
> > > geared toward that level at this point (or at least, none I've found). I'm
> > > expecting to create a number of materials to fill this gap; however,
> > > pointers to any materials (blog entries, courses, etc) that can help teach
> > > at that level would be much appreciated. Thanks!
>
> > > Jason
>
> > > --
> > > Jason Baldridge
> > > Assistant Professor, Department of Linguistics
> > > The University of Texas at Austin
> > >http://www.jasonbaldridge.com
> > >http://twitter.com/jasonbaldridge

Cay Horstmann
Joined: 2009-09-04,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?
Unfortunately, I have no material for complete beginners. But if you have Java converts, point them to http://typesafe.com from where they can download the "A1" level chapters of "Scala for the Impatient" free of charge. It's a no-nonsense rapid-fire introduction to Scala for programmers who know Java or C++.

Cheers,

Cay

On Thu, Aug 18, 2011 at 5:03 PM, Jason Baldridge <jasonbaldridge [at] gmail [dot] com> wrote:
I've decided to teach Scala rather than Python for my graduate introduction to computational linguistics this fall semester. The assumption is that students will not have prior experience programming (several of them are coming from language departments), and unfortunately there aren't any books geared toward that level at this point (or at least, none I've found). I'm expecting to create a number of materials to fill this gap; however, pointers to any materials (blog entries, courses, etc) that can help teach at that level would be much appreciated. Thanks!

Jason

--
Jason Baldridge
Assistant Professor, Department of Linguistics
The University of Texas at Austin
http://www.jasonbaldridge.com
http://twitter.com/jasonbaldridge



Tony Morris 2
Joined: 2009-03-20,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19/08/11 10:03, Jason Baldridge wrote:
> I've decided to teach Scala rather than Python for my graduate introduction
> to computational linguistics this fall semester. The assumption is that
> students will not have prior experience programming (several of them are
> coming from language departments), and unfortunately there aren't any books
> geared toward that level at this point (or at least, none I've found). I'm
> expecting to create a number of materials to fill this gap; however,
> pointers to any materials (blog entries, courses, etc) that can help teach
> at that level would be much appreciated. Thanks!
>
> Jason
>

Beginner Exercises
* http://blog.tmorris.net/revised-scala-exercises/

Intermediate Exercises
* http://blog.tmorris.net/20-intermediate-scala-exercises/

A project for learning about API design
* https://github.com/tonymorris/course/blob/master/TicTacToe/TicTacToe

Lalit Pant 2
Joined: 2011-03-31,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?
Hi Jason,
> Thanks for the suggestions -- I wasn't aware of Kojo, and that might 
> be useful.

If you need any help with Kojo (evaluation, deployment etc), let me know.
Also, the latest version of Kojo contains an introductory (and interactive!) Scala tutorial (contributed by Phil Bagwell). More information here:http://kojoenv.wordpress.com/2011/08/21/kojo-version-160811-released/

Cheers,- Lalit
:: Lalit Pant,Kojo Lead Developer

Randall R Schulz
Joined: 2008-12-16,
User offline. Last seen 1 year 29 weeks ago.
Re: resources for teaching Scala to beginners?

Dr. Horstmann,

I see "Scala for the Impatient" is listed in Amazon.com with an
estimated publication date of Jan 1, 2012. Is there an early-access
program for this title?

Randall Schulz

On Saturday 20 August 2011, Cay Horstmann wrote:
> Unfortunately, I have no material for complete beginners. But if you
> have Java converts, point them to http://typesafe.com from where they
> can download the "A1" level chapters of "Scala for the Impatient"
> free of charge. It's a no-nonsense rapid-fire introduction to Scala
> for programmers who know Java or C++.
>
> Cheers,
>
> Cay

dcsobral
Joined: 2009-04-23,
User offline. Last seen 38 weeks 5 days ago.
Re: resources for teaching Scala to beginners?

On Sat, Aug 20, 2011 at 19:24, Cay Horstmann wrote:
> Unfortunately, I have no material for complete beginners. But if you have
> Java converts, point them to http://typesafe.com from where they can
> download the "A1" level chapters of "Scala for the Impatient" free of
> charge. It's a no-nonsense rapid-fire introduction to Scala for programmers
> who know Java or C++.

As a side note, I think programmers who know Java or C++ are pretty
well served. I wish there was Scala for the Python/Ruby/Haskell crowd.

andy 3
Joined: 2011-03-28,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?
Hi Randall
'Scala for the Impatient' is available as a Rough Cut on safari books at:http://my.safaribooksonline.com/book/programming/scala/9780132761772
andy
Randall R Schulz
Joined: 2008-12-16,
User offline. Last seen 1 year 29 weeks ago.
Re: resources for teaching Scala to beginners?

On Sunday 21 August 2011, andy wrote:
> Hi Randall
>
> 'Scala for the Impatient' is available as a Rough Cut on safari books
> at:
> http://my.safaribooksonline.com/book/programming/scala/9780132761772
>
> andy

Great, thanks!

Fortunately for me, I have access to Safari both through my employer and
my ACM membership.

Randall Schulz

Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

You are absolutely correct, and that is very much in the plans. In the
context of OpenCCG (syntactic and semantic analysis with categorial
grammar) I used some horrid XML specifications of grammars in the late
90's, and then around 2006 a student of mine wrote a nice parser in
Python for a much cleaner, less verbose specification. I'm looking
forward to DSLs for that and other applications.

Jason

On Aug 20, 1:27 pm, Stan Campbell wrote:
> Hi Jason,
>
> When you're taking a look at Scala with an eye to teaching linguistics, you
> might want to acquaint yourself with building domain specific languages
> (DSLs) in Scala.
>
> I don't know what kind of tools you are thinking of making for the class,
> but I can imagine inventing an extensible DSL for doing linguistic analysis.
>  The language might be designed to build a natural language "acceptor" which
> could (given an appropriate representation for things like phonemes) analyze
> frequencies, etc.  It's been quite a while since I took a linguistics course
> but the combination sounds like a lot of fun.
>
> Good luck!
>

Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

Exactly. And even more: almost all Scala learning materials reference
other languages. I'm looking for material for people who have *no*
programming background since that will be my audience. I've started
creating some tutorials (and I've banned myself from mentioning "this
is how you might have seen it in language X"). I think Scala has a lot
to offer for first-time programmers and we don't need to be constantly
comparing and contrasting with other languages (which is only likely
to confuse and intimidate such students).

The resource I've found that is most oriented toward absolute
beginners is SimplyScala: http://www.simplyscala.com/

Some of the other resources that have been mentioned in this thread
look great too. Thanks everybody!

Jason

On Aug 21, 12:10 pm, Daniel Sobral wrote:
> On Sat, Aug 20, 2011 at 19:24, Cay Horstmann wrote:
> > Unfortunately, I have no material for complete beginners. But if you have
> > Java converts, point them tohttp://typesafe.comfrom where they can
> > download the "A1" level chapters of "Scala for the Impatient" free of
> > charge. It's a no-nonsense rapid-fire introduction to Scala for programmers
> > who know Java or C++.
>
> As a side note, I think programmers who know Java or C++ are pretty
> well served. I wish there was Scala for the Python/Ruby/Haskell crowd.
>
> --
> Daniel C. Sobral
>
> I travel to the future all the time.

Peter C. Chapin 2
Joined: 2011-01-07,
User offline. Last seen 42 years 45 weeks ago.
RE: Re: resources for teaching Scala to beginners?

I teach at Vermont Technical College and I've also thought that Scala would
make a good language to teach first time programmers. We use Java now and
the boilerplate required in Java tends to confuse inexperienced students.
Much of that boilerplate can be reduced or eliminated in Scala. I think I
would start with scripting mode since there students could write simple
little programs in a direct style and even skip the explicit compilation
step.

Anyway I have it on my to-do list to write a Scala tutorial for first time
programmers targeted specifically at the skills of our first year students.
Unfortunately I have many other priorities right now and I haven't gotten
far with that project. I have a placeholder at this URL

http://web.vtc.edu/users/pcc09070/Scala/

but there is nothing there to look at. In fact, I seeded the documents there
with a gutted version of my C++ tutorial so it still has many references to
C++! Obviously all that has to go.

Peter

> -----Original Message-----
> From: scala-language [at] googlegroups [dot] com [mailto:scala-
> language [at] googlegroups [dot] com] On Behalf Of Jason Baldridge
> Sent: Sunday, August 21, 2011 22:50
> To: scala-language
> Subject: [scala-language] Re: resources for teaching Scala to beginners?
>
> Exactly. And even more: almost all Scala learning materials reference
> other languages. I'm looking for material for people who have *no*
> programming background since that will be my audience. I've started
> creating some tutorials (and I've banned myself from mentioning "this
> is how you might have seen it in language X"). I think Scala has a lot
> to offer for first-time programmers and we don't need to be constantly
> comparing and contrasting with other languages (which is only likely
> to confuse and intimidate such students).
>
> The resource I've found that is most oriented toward absolute
> beginners is SimplyScala: http://www.simplyscala.com/
>
> Some of the other resources that have been mentioned in this thread
> look great too. Thanks everybody!
>
> Jason

Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

Great -- perhaps we can work together on this, or at least provide
pointers between your tutorials and mine. I just posted my first,
*very* beginner tutorial yesterday:

https://bcomposes.wordpress.com/2011/08/22/first-steps-in-scala-for-firs...

More to come in the next coupla days.

Jason

On Aug 22, 5:17 am, "Peter C. Chapin" wrote:
> I teach at Vermont Technical College and I've also thought that Scala would
> make a good language to teach first time programmers. We use Java now and
> the boilerplate required in Java tends to confuse inexperienced students.
> Much of that boilerplate can be reduced or eliminated in Scala. I think I
> would start with scripting mode since there students could write simple
> little programs in a direct style and even skip the explicit compilation
> step.
>
> Anyway I have it on my to-do list to write a Scala tutorial for first time
> programmers targeted specifically at the skills of our first year students.
> Unfortunately I have many other priorities right now and I haven't gotten
> far with that project. I have a placeholder at this URL
>
>        http://web.vtc.edu/users/pcc09070/Scala/
>
> but there is nothing there to look at. In fact, I seeded the documents there
> with a gutted version of my C++ tutorial so it still has many references to
> C++! Obviously all that has to go.
>
> Peter
>
>
>
>
>
>
>
> > -----Original Message-----
> > From: scala-language [at] googlegroups [dot] com [mailto:scala-
> > language [at] googlegroups [dot] com] On Behalf Of Jason Baldridge
> > Sent: Sunday, August 21, 2011 22:50
> > To: scala-language
> > Subject: [scala-language] Re: resources for teaching Scala to beginners?
>
> > Exactly. And even more: almost all Scala learning materials reference
> > other languages. I'm looking for material for people who have *no*
> > programming background since that will be my audience. I've started
> > creating some tutorials (and I've banned myself from mentioning "this
> > is how you might have seen it in language X"). I think Scala has a lot
> > to offer for first-time programmers and we don't need to be constantly
> > comparing and contrasting with other languages (which is only likely
> > to confuse and intimidate such students).
>
> > The resource I've found that is most oriented toward absolute
> > beginners is SimplyScala:http://www.simplyscala.com/
>
> > Some of the other resources that have been mentioned in this thread
> > look great too. Thanks everybody!
>
> > Jason

Cay Horstmann
Joined: 2009-09-04,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?
The early access is on Safari. It gets updated once a month or so.

Cheers,

Cay

On Sun, Aug 21, 2011 at 8:44 AM, Randall R Schulz <rschulz [at] sonic [dot] net> wrote:
Dr. Horstmann,

I see "Scala for the Impatient" is listed in Amazon.com with an
estimated publication date of Jan 1, 2012. Is there an early-access
program for this title?


Randall Schulz


On Saturday 20 August 2011, Cay Horstmann wrote:
> Unfortunately, I have no material for complete beginners. But if you
> have Java converts, point them to http://typesafe.com from where they
> can download the "A1" level chapters of "Scala for the Impatient"
> free of charge. It's a no-nonsense rapid-fire introduction to Scala
> for programmers who know Java or C++.
>
> Cheers,
>
> Cay


Jason Baldridge
Joined: 2011-08-19,
User offline. Last seen 42 years 45 weeks ago.
Re: resources for teaching Scala to beginners?

Saw the free PDF announcement via Typesafe and finally got a chance to
check it out. Just wanted to say this is great, and *extremely* well
timed for my teaching needs this semester. Thanks!!

Jason

On Aug 23, 11:49 am, Cay Horstmann wrote:
> The early access is on Safari. It gets updated once a month or so.
>
> Cheers,
>
> Cay
>
> On Sun, Aug 21, 2011 at 8:44 AM, Randall R Schulz wrote:
>
> > Dr. Horstmann,
>
> > I see "Scala for the Impatient" is listed in Amazon.com with an
> > estimated publication date of Jan 1, 2012. Is there an early-access
> > program for this title?
>
> > Randall Schulz
>
> > On Saturday 20 August 2011, Cay Horstmann wrote:
> > > Unfortunately, I have no material for complete beginners. But if you
> > > have Java converts, point them tohttp://typesafe.comfrom where they
> > > can download the "A1" level chapters of "Scala for the Impatient"
> > > free of charge. It's a no-nonsense rapid-fire introduction to Scala
> > > for programmers who know Java or C++.
>
> > > Cheers,
>
> > > Cay
>
>

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland