Jython vs Squeak for teaching multimedia

G.J.Tielemans at dinkel.utwente.nl G.J.Tielemans at dinkel.utwente.nl
Wed Jun 26 09:21:41 UTC 2002


Hi Mark, i read the student comments and have some questions:

1. I was wondering if their answers are not biased by their concept of ICT
for architects:  "building a 3D-image with a computer-tool" anything that
does not fit in that image is not good? So use tools like cosmoworld...?

2. Did you reject Netlogo as construct-tool for the same children-Toy-image?

3. If your wish is to create multimedia while using structuring design with
the help of scripting languages, did you look for that reason at Flash MX,
where you can control the scene with "XML-scripts", combining with for
example php-website/database scripting? (OK, again not really 3D.... and I
have to read that book next summerholiday myself..)
Switching to the idea of abstraction (or better: "schematising") for
XML-reasons (resource description frameworks, etc..) coulkd maybe fit in
place...?


-----Original Message-----
From: Stephane Ducasse [mailto:ducasse at iam.unibe.ch]
Sent: woensdag 26 juni 2002 9:15
To: squeak-dev at lists.squeakfoundation.org
Subject: Re: Jython vs Squeak for teaching multimedia


Thanks for your reply.
I was not criticizing I just did not agree with what you wrote and wanted 
to know a bit more.
Thanks for this long email. and mark I could not not react :)

> I've actually been carrying on this conversation with Stephane 
> off-list -- I hadn't realized that he'd started a thread critiquing my 
> efforts here, too.  I'll try to answer the issues raised.
>
> Yes, any fully parenthesized languages resolve precedence problems.  
> Scheme forces that parenthesization, that avoids problems like the ones 
> that I identify in Squeak.  But you're also right that that's a red 
> herring.
>
> In the end, I surrendered on Scheme.  Take a look at the student surveys 
> linked off http://coweb.cc.gatech.edu/mediaComp-plan  I learned that 
> Scheme has a really good reputation, but not good for my class.  The 
> reputation is "Serious CS."  Non-majors aren't interested in serious CS.  
> (I actually had one English professor say to me, "You wouldn't use Scheme,
>  would you?  Do you know that they use that at MIT?!?  That's not what we 
> want for our students!")

We can do crazy thing or not with Scheme. The language is not the contents 
of the lecture.

>
> Squeak's syntax isn't well-oriented to non-majors who MAY do future 
> programming, but want to do as little as possible now.  (Again, see the 
> student surveys.)  They want something that looks like Java or C++ or 
> Visual Basic.  While Squeak's syntax is elegant and uniform, it's not 
> obvious.  Object-message doesn't look like the IFs and WHILEs that 
> students recognize as something that they may have to learn some day. 
> (E-toys is obviously much easier to use, but students that we've shown it 
> to perceive it as a "toy" -- not something that they can do what they 
> consider to be serious activities.)  There is also the issue that the 
> interface for other-than-etoy development isn't something that novices 
> can easily use.  (And yes, I have seen the literature on constructs like 
> "break"'s in loops, and they do significantly improve students' 
> understanding of loops.) (On a COMPLETELY different path, I think that 
> there's good evidence that GOTO's are actually developmentally much 
> easier to get started with than recursion or iterative control structures,
>  and lead to better understanding of the more traditional looping 
> constructs later, but we don't need to go there. :-)
>
> This is going to be a large class (~500 students a term) from a diverse 
> set of majors.  Some of these students DO want to learn Java.  Some of 
> the faculty in the various majors hope that their students will learn 
> Java by the time that they get to their upper-level classes.  (Several 
> pushed very hard for me to use Java from the start, which I had to fight 
> really hard at.)  By introducing Java at the end, I can try to encourage 
> some transfer of knowledge (e.g., "Not all of programming looks like what 
> you've been seeing"), and start them on a road that will be valuable to 
> some of them.  If you check out the detailed course plans at http://coweb.
> cc.gatech.edu/mediaComp-plan/Curriculum, you'll see that I generally want 
> to introduce students to the notions of different notations, and then 
> just use Java as one alternative example.

Ok I can understand the power of Coca Cola, MS and marketing.

>
> There are several reasons for Jython vs. Python:
> - Python doesn't have a standard, cross-platform multimedia platform.  
> The focus of the class is on manipulating, creating, and transforming 
> multimedia.  I found that I could do pieces of that on each platform, but 
> nothing that worked across platforms.  By using Jython, I get the Java 
> API for free.  While it's horrendous to use, I'm slowly building the 
> functionality that I need.  No, students won't talk directly to Java.  I'
> m building the Java classes and the Jython wrappers -- the students will 
> use my wrappers.
> - Several faculty pushed really hard for me to do Java -- they wanted 
> students to be able to build servlets and applets and ODBC applications 
> and...  By using Jython, I deflect those arguments -- anything one can do 
> in Java, one can do in Jython.  I'm not going to teach all those 
> Java-specific technologies, but the potential is there.

So I hope you will avoid the types coercion wonderful topics.
What is annoying is that we always have to defend teaching project to 
people that often do not know what is really programming.


> - We want a cross-platform, SIMPLE student development environment.  
> There's not a good cross-platform UI-building environment for Python yet.
>   Tkinter has all kinds of problems.  Using Jython gives us Java Swing 
> for free -- again, it's not great, but it's usable.  Cees is right -- 
> there aren't any good IDE's for Jython.  So, we're building one -- 
> screenshots are on the website.
>
> Cees is also right that this all requires field testing.  That's built in 
> to the process -- we've got a trial course planned for Spring 2003, a 
> Summer to fix things, then Fall 2003 to go with 500 students.  The 
> process for getting to Jython has been, uh, difficult.  It's not optimal,
>  but we're satisficing here across issues from learning sciences to HCI 
> to technology to politics.  The CONTENT of the course is what I'm 
> focusing on now.  I see the language choice as something that we can fix 
> down the road, but probably not for the first year or so.
>
> What I'd really like to do is to build a Squeak-based scripting 
> environment, but I don't have time to build the class AND 
> define/implement a new scripting language, even in something that I'm as 
> comfortable in as Squeak.  My plan is to get the class going, get some 
> reasonable results, and then go for funding to take on the scripting 
> language research issue.

I think that this is a really big issue. I would be really interesting to 
have a scripting language on top of the Squeak core. Dave thomas was 
presenting this idea and he said that 4 motivated people could really have 
a big impact in the realm of Ruby and JPython.

So what is important is that you collect a requirement list for scripting 
language.

>
> Squeak will still be present in the class.  I want to provide students 
> with a set of MediaTools (e.g., recording sounds, viewing waveforms, 
> manipulating images and MPEGs).  I don't want to build all those in Java/
> Jython, so we're going to provide these as Squeak-based tools.  (The 
> development on these is also available on the course planning website.)
>
> We are NOT giving up on Squeak for the Sophomore class 
> (http://coweb.cc.gatech.edu/cs2340).  I'm still the organizer of the 
> course, and I'm helping the instructors who are taking it on while I 
> shift my focus.  And I am working toward a 3.2 appendix...whenever 3.2 
> becomes official

>
> Overall, I've learned that CS1 is a BIG issue these days.  Computing is 
> becoming critical in many fields these days (arguably, more critical than 
> Calculus, which is already considered part of a general, liberal 
> education).  This means that EVERY field has particular needs/desires 
> with regard to how their students learn computing.  Mix a scarce resource 
> (1 course) with a large number of interests and you get a political 
> minefield.

I know. In some places in France they are at "teaching Java without 
classes"...May be pascal is better :)


>  I've been trying to keep notes on all the battles we've fought over this 
> course (e.g., there was a bunch of pressure on me to use Visual Basic, 
> from Architects who use tools that are VB based, from CS faculty who 
> wanted to get Microsoft to like us more, and from Microsoft reps once 
> they heard what was going on) -- there's got to be a conference paper or 
> two in all of this :-)

Yes and make your notes public so that we can learn the tricks on the 
battle.



>
> Mark
>
>
>
Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch) 
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do
  different? ... especially if, by doing something different, today
  might not be your last day on earth" Calvin&Hobbes




More information about the Squeak-dev mailing list