Title: Message
In my experience, what happens around 3rd year is that the students have a course which is VERY abstract.  In CS, that is usually the theory of computation course.  In Math, you get Topology, Abstract Algebra, etc.  If they manage to survive that, then they have moved beyond simple problem-solving skills into the crucial skills to be a Designer instead of a Programmer: the ability to think abstractly, to see patterns where before you just saw a bunch of unrelated things.
 
I found that students' marks in their 'abstract' courses was the best predictor of their skills as a designer [when I was still hiring students in an industrial setting].  I did not find any good correlator with 'good programmer' (yet).
 
Note that master software engineers do not think about computation at all - they think about structure.  They key point is 'abstraction'.  If you can deal with the proof of the Halting problem, you are on your way to dealing with abstraction.  If you can deal with things like Traits or Mixins (for OO aficinados) or higher-order function and Functors (for the functional programmers out there), you're there.
 
Jacques
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Guzdial
Sent: March 10, 2005 9:29 AM
To: Ruven E Brooks
Cc: [EMAIL PROTECTED]; [email protected]
Subject: Re: PPIG discuss: Commercial reality (was: Competence (was: About natural naming))

I think that if the lists forked, we'd be signaling a missed opportunity to understand how people develop expertise in software development. I completely agree that getting students STARTED with programming is a critical problem (it is an applied problem, too), and offers some fascinating puzzles and research questions to work on. But an even more challenging set of research questions surround what comes after that.

We have too high failure rates in intro computing courses, but some of those students do succeed, and some percentage of those become the Richard Stallmans of the world. How did that happen? How did that software development expertise arise?

Here at Georgia Tech, we've been using Elliot Soloway's Rainfall problem sporadically in our 1st and 2nd year undergraduate classes, and every time, we're shocked at the results -- they're just as bad as those reported by Elliot 20 years ago at Yale. AND YET, our 4th year students nail the Rainfall Problem and are heavily sought after by industry. What happened there?!? What went on between the 2nd and 4th years that such a dramatic change occurred? (Yes, I know the answer: "the 3rd year." But what happened there in terms of skills and concepts development?)

Mathematicians can explain much of the path from developing a concept of number through dealing with Calculus. Physicists have identified misconceptions and strategies for dealing with them from kinematics to electromagnetism. But in studying how people learn about and think about computing, we're nowhere close to being able to do that.

To me, this is a Grand Challenge of Computing Education: What is a developmental model that can explain how people go from grappling with variables and recursion up through becoming a master software engineer? We have a better chance of addressing that challenge if the people watching the intro process and those watching the professional software developers keep talking to one another.

Mark

On Mar 10, 2005, at 8:49 AM, Ruven E Brooks wrote:


The discussion of commercial issues arise because some of us have a great deal of trouble understanding the
relevance of some of the research being discussed.   A large part of the postings seem to be about teaching introductory
programming; others appear directed at minor coding issues that are unlikely to have significant impact.

To the extent that psychology of programming is APPLIED psychology, relevance to real world situations is what's important.
Furthermore, many of the important areas, writing/interpreting requirements, testing, etc. appear wide open in terms of
opportunities for research.

Perhaps, we ought to start a second discussion group, psychology of software development, that focuses on psychological issues
and research that arise in  professional and commercial software development.

Ruven Brooks





Derek M Jones <[EMAIL PROTECTED]>

Sent by: [EMAIL PROTECTED]


03/09/2005 05:29 PM


       

        To:        [email protected]

        cc:        

        Subject:        RE: PPIG discuss: Commercial reality (was: Competence (was:   About natural naming))




Walter,

>Isn't the first P in PPIG for Psychology?

Indeed it is.  Not wishing to tread on any more nerves
than I might already have trodden on, but the interests
behind the current thread (i.e., the realities of commercial
software development) are driven by a different set
of priorities than the interests of many of those on this list.

I don't see the psychology aspect of some of the threads I
see on the list and the only explanation I have for them is
"oh, that's an academic thing".


derek

--
Derek M Jones                                     tel: +44 (0) 1252 520 667
Knowledge Software Ltd                         mailto:[EMAIL PROTECTED]
Applications Standards Conformance Testing   http://www.knosof.co.uk



----------------------------------------------------------------------
PPIG Discuss List ([email protected])
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/



__________
Mark Guzdial : Georgia Tech : College of Computing/GVU
Atlanta, GA 30332-0280
Collaborative Software Lab, http://coweb.cc.gatech.edu/csl
http://www.cc.gatech.edu/~mark.guzdial/

Reply via email to