It will be nice when we can try HPC easily at home, so to speak.  In order for 
an individual to set up a HPC system of some sort, most of us would have to buy 
systems we don't already have.  In a class, we could have a set of 4-person 
projects where each person contributes their laptop as a node.

But still, it'd be awkward, and I suspect the only realistic solution would be 
amazon clusters:
        http://aws.amazon.com/ec2/hpc-applications/

At one time, this was also true for client-server computing, but web hosting 
solved that nicely.

If you had to remove one of the proposed environments:
        Command-line programming: Bash & Python
        System Programming: Java
        Web Server Programming: PHP
        Web Client Programming: Javascript
to include HPC, which would it be?

I guess the obvious would be Java, as suggested before and replace "System 
programming" with "System and HPC programming".  Hmm..that'd open up the 
possibility of GPU programming, which would cover both systems and graphics.  
Maybe we're onto something here!

    -- Owen


On Aug 1, 2010, at 6:47 AM, Douglas Roberts wrote:

> I guess I was whining.  While I'm at it, I'd like to note (whine) that very 
> few universities seem interested in, or capable of, teaching high performance 
> computing methodology.
> 
> --Doug
> 
> On Sat, Jul 31, 2010 at 10:55 PM, Owen Densmore <[email protected]> wrote:
> Well, lets start the usual friam whining.  Hey, you left out foobar++!  But 
> to be fair, I'd be fine if you replaced java with c/c++.
> 
> The point, obviously, is to give a span of languages that hit the main points.
> 
>     -- Owen
> 
> 
> On Jul 31, 2010, at 5:15 PM, Douglas Roberts wrote:
> 
>> I guess you're not interested in teaching languages appropriate to HPC 
>> implementations, Owen.  C++ and MPI...
>> 
>> --Doug
>> 
>> On Sat, Jul 31, 2010 at 4:47 PM, Owen Densmore <[email protected]> wrote:
>> Given the constraints and goals, my approach would be to teach that there 
>> are many languages in different environments, but that they share many 
>> features (loops, conditionals, types, ...).
>> 
>> Then I'd pick the following areas:
>> Command-line programming: Bash & Python
>>      File/Text manipulation, ssh login, regular expressions, commands
>> System Programming: Java
>>      objects, GUI, Applets, types
>> Web Server Programming: PHP
>>      client - server networking architecture, http requests, how it won over 
>> java
>> Web Client Programming: Javascript
>>      DOM, AJAX, html, css
>> 
>> That may look like a lot, but it covers most programming environments and 
>> goals.  And the design issues would pop out when discussing the environments 
>> in which these languages excel.
>> 
>> I would NOT go into a lot of detail (clearly!).  Instead I'd generalize what 
>> they have in common, and possibly use cheat-sheets which have 80% of the 
>> important syntax.
>> 
>> The bash/python initial work would also have a lot of pragmatic elements: 
>> how to login and use a remote unix box (bash), and the historic evolution of 
>> awk, perl, and now for many, python.  I'd note that python does not have a 
>> native gui (but is considered the best "pseudo-code" by theoreticians -- see 
>> sagemath.org)  thus the transition to java would have even more meaning.  
>> The two web languages would clarify the tcp/ip world we live in and most do 
>> not understand.
>> 
>> The goal is to leave the students with a language framework from which they 
>> can choose how to proceed in future work.
>> 
>>     -- Owen
> 
> 
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org
> 
> 
> 
> -- 
> Doug Roberts
> [email protected]
> [email protected]
> 505-455-7333 - Office
> 505-670-8195 - Cell
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org

============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Reply via email to