Looking for a language/environment for Analysis of Algorithms course

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Looking for a language/environment for Analysis of Algorithms course

Dave Mason
Hi,

I'm teaching a 3rd year course in Advanced Algorithms, using Dasgupta, Papadimitriou & Vazirani in January.

I have decided that rather than assignments, I'm going to have weekly marked labs.  Some of those will be paper exercises, but I would like to have a simple language for them to express their algorithms, where the performance analysis would be particularly clear, and it would be a huge bonus if we could bolt an algorithm visualizer/animator on the side.

I'd probably use smalltalk if I had my druthers (just because it's so malleable), but I'm guessing that wouldn't be super popular with the students (as they only had a bit of Smalltalk 3 semesters earlier as part of an OO course, and Java is probably the language they know best).

If I had more time, I might build a parser for a language that compiled to the SqueakVM, but I don't.

Any suggestions?  Moose? any other Smalltalkers projects that might be relevant?

Thanks, and I'll post a summary if there's any interest+response.

../Dave

_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Looking for a language/environment for Analysis of Algorithms course

Sean P. DeNigris
Administrator
Dave Mason wrote
Any suggestions?  Moose? any other Smalltalkers projects that might be relevant?
Of course I say use Smalltalk and get them excited about it, but after that, maybe Ruby? It has commercial relevance and a lot of inspiration from St; in fact, it's a lot like coding in Smalltalk but, like any language without a live environment, your image crashes after every doIt.

Sean

p.s. I don't know if you're getting private messages via Nabble; I'm trying to get more information about the FFI library you demoed at ESUG this year
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Looking for a language/environment for Analysis of Algorithms course

stephane ducasse-2
In reply to this post by Dave Mason

On Dec 12, 2011, at 11:39 PM, Dave Mason wrote:

> Hi,
>
> I'm teaching a 3rd year course in Advanced Algorithms, using Dasgupta, Papadimitriou & Vazirani in January.

I would love to have some lectures support with Smalltalk

> I have decided that rather than assignments, I'm going to have weekly marked labs.  Some of those will be paper exercises, but I would like to have a simple language for them to express their algorithms, where the performance analysis would be particularly clear, and it would be a huge bonus if we could bolt an algorithm visualizer/animator on the side.
>
> I'd probably use smalltalk if I had my druthers (just because it's so malleable), but I'm guessing that wouldn't be super popular with the students (as they only had a bit of Smalltalk 3 semesters earlier as part of an OO course, and Java is probably the language they know best).
>

Do it in Smalltalk :)
Start small.
There are books around.

> If I had more time, I might build a parser for a language that compiled to the SqueakVM, but I don't.

But why do you need that.
If you propose some classes for basic data structures. You could have some mondrian scripts to display graphs
you do not have to load completely Moose.

> Any suggestions?  Moose? any other Smalltalkers projects that might be relevant?
>
> Thanks, and I'll post a summary if there's any interest+response.
>
> ../Dave
>
> _______________________________________________
> Esug-list mailing list
> [hidden email]
> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Reply | Threaded
Open this post in threaded view
|

Re: Looking for a language/environment for Analysis of Algorithms course

Alexandre Bergel-5
In reply to this post by Dave Mason
> I have decided that rather than assignments, I'm going to have weekly marked labs.

In my lecture I do the following: after a brief introduction to Pharo, they start to program by doing the exercises of Pharo By example, the tutorial of Mondrian, Glamour and some exercises with EyeSee.

Next, I give to each of them a short project in which they have to implement algorithms. The projects I picked are either about Moose, Mondrian or Pharo. I further tell them that if they do a good thing, then they will become worldwide famous by having their code being including in a mainstream distribution and their name publicized. I therefore avoid short scholar exercises that cannot be valorized.

Some are doing good, other not so good, like always.

>  Some of those will be paper exercises, but I would like to have a simple language for them to express their algorithms, where the performance analysis would be particularly clear, and it would be a huge bonus if we could bolt an algorithm visualizer/animator on the side.

My students use Mondrian and EyeSee, this is cool since they quickly get a visual feedback.
Mondrian and EyeSee are interactive, come with many examples and are easy to use.

> I'd probably use smalltalk if I had my druthers (just because it's so malleable), but I'm guessing that wouldn't be super popular with the students (as they only had a bit of Smalltalk 3 semesters earlier as part of an OO course, and Java is probably the language they know best).

Smalltalk is indeed not mainstream, however I do not face resistance from the students or other professors against using it. I tell them exactly that:
 - many students of the previous semesters of my lecture got significant results because of Smalltalk, ranging from publication in the ACM digital library to winning International ACM Student Research Competition. This is important for them when they apply for a grant
 - by using Smalltalk, they can be part of a network (research projects, community)

> Any suggestions?  Moose? any other Smalltalkers projects that might be relevant?


If you need material, just ask. I've got plenty.

Cheers,
Alexandre

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Esug-list mailing list
[hidden email]
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org