[Beowulf] A start in Parallel Programming?

Kyle Spaans 3lucid at gmail.com
Tue Mar 13 16:58:23 PDT 2007


Wow, thanks everyone! That's exactly what I needed to hear.

Without trying to go too Off-Topic, I just want to add to the "What
Comp-Sci depts teach to students":
Here at UofWaterloo, in the Faculty of Math, it is a requirement for
all undergrads to take CS courses, which for most only means the
'first two'. At the beginning right now, for languages, there are two
choices: Java and Scheme. This is split into about 4 different course
choices: a slow moving Java class, a faster moving Java class, the
'2nd' Java class for those who know what they are doing already, and
the Scheme class. Scheme popped up a few years ago because some Profs
in the School of Computer Science [which is inside of the Faculty of
Math] thought that there needed to be more selection [or something
like that]. Anyway, Scheme seems to be a good teaching language. I
think so anyway. For beginners, it's easy to use because:
1) Excellent textbook that is completely integrated with our IDE, see
HTDP.org and DrScheme.org
2) Language can be broken down into smaller subsets with fewer
keywords and simpler syntax - to start out we need to know all of 5
keywords, brackets, and how to properly form the syntax
3) We can KNOW the entire language grammar because it's so short [they
test this extensively, eg. "Evaluate by hand this code for 6 steps"]

Also, when asked "Why aren't you teaching us language XXYY?" The Profs
tell us that they are teaching us how to 'think', so that we can
easily learn any language we want, and that if we wanted to learn, say
C++, and only C++, we should go to a College for that [Canadian
"College" = US "Trade School" ?]. Apparently this way we're more
adaptable to changing and new languages. They are teach us how to
learn I guess is what it boils down to. And David Mathog mentioned
assembly? As far as I know I'll be learning MIPS assembly to write an
assembler and small compiler in my 3rd CompSci class.

Again, thanks for the tips everyone. Now I've got a pretty clear
picture of what I need to get started. C is perfect, because I'm
planning on getting involved with the Linux kernel anyway [lurking on
the Kernel Janitors maillinglist until I can get more familiar with
git, the tree, how patches are submitted, etc].



More information about the Beowulf mailing list