A Sound Project

David T. Lewis lewis at mail.msen.com
Sat Jan 31 17:52:00 UTC 2004


Greetings!

You are on the right list for the kinds of student you have in mind,
but you should also be aware that Squeak is being used for some very
innovative educational purposes for younger kids. See www.squeakland.org.

I happen to have a (now very old) undergrad degree in ECE myself, so
I suppose I can offer an opinion as a Squeak user (although I also
have an undergrad in psychology, so I probably should not lay claim to
being a typical case).

I think that you may find Squeak to be an ideal medium for exploring,
analyzing, and simulating electrical engineering ideas. It is fully
capable as a computational tool, but is also highly interactive, visual,
and explorable from the highest conceptual levels right down to the
bits and bytes wiggling around in its virtual machine.

I would not be surprised if many CS students think of Squeak as a wierd
thing. I suspect that many of them are suffering from the misperception
that they are somehow going to make a living writing computer programs,
and are concerned that the "skills" they learn be "relevant" in the
commercial marketplace. I'm sure that they will be disabused of these
notions soon enough, but for your ECE students this may be less of
a concern. I really don't know though, you may have to just ask them
and see what they think.

I cannot give you much guidance on your question about getting sound
in and out of Squeak in real time, but others on this list will be able
to help. You should definitely take a look at the work Craig Latta is
doing in this regard, see http://www.netjam.org/ (follow the links on
his web page to projects->smalltalk). There is also a squeakaudio
mailing list that may be helpful. You can sign up for it at:
   http://www.create.ucsb.edu/mailman/listinfo/squeakaudio.

Dave

On Sat, Jan 31, 2004 at 12:06:26PM -0500, Aaron Lanterman wrote:
> 
> Greetings Squeakers,
> 
> I was introduced to Squeak by a rather roundabout route. Last semester I
> sat in on Georgia Tech's CS1315, which Mark Guzdial was teaching. I'm a
> professor in the ECE department here, and I often teach ECE2025, which is
> our introductory EE class based on a "DSP First" curriculum. It has a
> large MATLAB programming component, and I noticed our students programming
> (particularly debugging skills) were rather weak, so I starting doing my
> own poking around to see what College of Computing was up to. Mark put
> together this gorgeous course for non-engineering majors, based on Python,
> which I decided would be a better intro course for our majors than CS1321,
> the intro course based on Scheme. (I adore Scheme, but students have a lot
> of resistance to it.) This is all a moot point, since CoC put together a
> new engineering intro course, CS1371, that's half MATLAB and half Java.
> 
> I was poking around Mark Guzdial's website and kept coming across this
> thing called Squeak, and thought it was worth checking out.  When I found
> out it was the next generation Smalltalk, I was intrigued - periodically
> since I saw the Byte magazine special issued, I'd taken peeks at it, but
> could never get over the unusual appearance of the syntax. It seemed worth
> overcoming that, and Mark lent me his "white book," I downloaded Squeak,
> and started playing.
> 
> Mark lent me the Squeakers video, which completely blew me away. I then
> bought my own copy, which I as one of our DSP group seminars, and then
> demoed a bit of Squeak live. People seemed intriguied and curious.
> 
> Anyway... there was a 2025 student who wanted to do an Undergrad Research
> Project with me, and I showed her Squeak, and said I'd like her to make a
> demo for my 2025 class in Squeak. She was skeptical at first - "oh,
> Squeak, I've heard of that, I think that's the language all my friends in
> CS complain about" - but after showing her the cool stuff it could do she
> became interested. We have a two semester sequence for Undergrad Research
> projects - the first semester is a 1 credit exploratory semester, and the
> second semester is a 2 credit hour more detailed semester.
> 
> Right now, I just want her getting used to Squeak. She's run through the
> Joe the Box demo in Mark's book, and is now reasonably comfortable playing
> with the class browser. Her new task is to just read audio from the input
> and pipe it in real time to the output. Once we know how to do that, we
> can do cool stuff in the middle.
> 
> Long term, I'd like her to make a demo showing the modulation and
> demodulation stages of an AM communication system that works in real time,
> where I could speak into a microphone, and the students could hear the
> sound at the various encoding and decoding stages.
> 
> Mark put me into contact with - I think it was John Maloney, I don't
> recall the name for sure now - who told me about how we could go to Slang
> if we needed speed, but that we should try it with straight Squeak first
> since it might be fast enough.
> 
> My larger question for her is to investigate: "Is this Squeak just a weird
> CS thing, or is it something we in ECE should seriously be investigating
> too?"
> 
> Oh, I suppose I should get to my main question: where should be be looking
> to get sound in and out in real time? I find the classes all rather
> confusing - there doesn't seem to be much in the way of comments as to
> what the various classes and methods are actually used for. Of course, if
> there's maybe a Squeak sound tutorial or something like that you could
> point us to, that would be ideal.
> 
> Also, I notice this is a developers list - is there another list I should
> be posting to for more general non-development questions like this?
> 
> - Aaron
> 
> -----------------------------------------------------------------------------
> 
> Dr. Aaron Lanterman, Asst. Prof.       Voice:  404-385-2548
> School of Electrical and Comp. Eng.    Fax:    404-894-8363
> Georgia Institute of Technology        E-mail: lanterma at ece.gatech.edu
> Mail Code 0250                         Web:    users.ece.gatech.edu/~lanterma
> Atlanta, GA 30332                      Office: GCATT 334B
> 



More information about the Squeak-dev mailing list