Hello, Riak list!

Please forgive the spam.  I sent a query via the Basho site, and it was 
suggested I post here. 

I’m looking for a good guest speaker who can come over to Tufts in Medford to 
talk about Erlang development, so those of you in or near Cambridge, I mean you 
:-)   I’ve been in touch with Chris Meiklejohn, who may be back in the area 
soon.  But, if he can’t do it, I’d like to meet others who would be interested 
in working with us.  We could also have more than one person come!

I’m teaching an experimental, project-based course on Concurrent Programming at 
Tufts University.  The course is intended to be accessible to undergraduates 
with comparatively little programming experience (2 terms), and is a hands-on, 
project-based course that tries to answer the question “How can we effectively 
program concurrent systems?”  Most of the students at the moment, however, are 
juniors and seniors.

The structure of the course is:  1 month of conventional, shared-memory threads 
in Python (with supplementary material from Allen Downey’s Little Book of 
Semaphores); 1 month of programming in the Actor model with Erlang; 1 month of 
team projects.

The first 2 units have the goal of getting students sufficiently up-to-speed in 
the corresponding technology so they can tack a real project that interests 
them.  Then, they can dive deeper into the the technology of their choice.

A problem I’m seeing is that most teams want to stick with the familiar 
(Python):  as we start getting the projects booted up, Erlang is still new, and 
they’re used to the imperative, procedural programming model they’ve used up 
until this class.  It’s also true that they haven’t really seen how to organize 
a moderate scale project in Erlang.  What they don’t realize is how much harder 
the multithreaded coding will be in Python.

What we really need is someone who can walk through how to develop a real 
project in Erlang.  That’s the ideal topic.  So far, students have seen 
sequential Erlang, basic concurrent programs (spawn, send, receive), and 
distributed nodes.  They’ve done simple things like parallel map, parallel 
merge sort, and a simple gen_server-type example in homework assignments, and 
they did a very basic distributed chat as an in-class exercise.  I have 
mentioned linked and monitored processes, but they haven’t done more than 
create linked processes and observe that the fate of one affects the other.

Besides the project bootstrap topic, I could see a real value in an 
introduction to supervisor trees, debugging concurrent systems.  I’m sure other 
topics would be good, too.

The bootstrap topic is urgently needed if teams are to be convinced to switch 
implementation technologies, because after a week or so, they’ll be too far 
along to switch.

I’m especially interested in the following dates:  9, 10, 16, 18, and 23 
November (basically any class meeting between now and Thanksgiving).  The class 
meets 3–4:15 pm on those dates.

If you are interested or if you have any questions or suggestions, please 
contact me at mshel...@cs.tufts.edu <mailto:mshel...@cs.tufts.edu> and let me 
know what you would feel comfortable talking about — a little about your 
background would be nice, too.  You can see a course outline at 
https://www.cs.tufts.edu/comp/50CP/calendar.html 
<https://www.cs.tufts.edu/comp/50CP/calendar.html>.  You can browse, but the 
assignments are restricted to those with a Tufts EECS account. 

I’m excited at the prospect of getting a real practitioner in to talk to us!  
I’m pretty new to Erlang, too, and I’m enjoying it :-)

-Mark

Mark A. Sheldon
Lecturer
Department of Computer Science
Tufts University





_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to