[comp.edu] Pluralism

cavrak@kira.UUCP (Steve Cavrak) (05/12/91)

> In article <91125.170149MLWLG@CUNYVM.BITNET>, MLWLG@CUNYVM.BITNET writes:

	Does anybody have any suggestion(s) on how to teach pluralism
	in a Computer Science curriculum?  What do I mean when I say
	pluralism?  Well, as I see it there are two extremes: societal
	and academic.  Academic is the easy, you just instruct the
	class in such a way that it fosters each student's own
	learning style (sure sounds easy). The tough one is societal.

	In lab classes assignments can be given that need group
	attention, but when you're in front of the board showing them
	some programming construct, how do you relate it to their role
	in society and/or, their ability to resolve conflicts in
	society? How do I make the lesson multicultural?


From article <931.2825886d@vger.nsu.edu>, by g_harrison@vger.nsu.edu
(George C. Harrison, Norfolk State University):
 
	Why do the lessons need to be multicultural?  The leaning of
	programming, for example, is acultural.  To place judements on
	such things sounds like "political correctness."  I DO teach
	personal differences, etc. in software engineering.  I believe
	it's up to the student to decide how he or she will respond to
	society's needs.  That's not my job as a teacher.  


Programming is only "acultural" if you know nothing about culture !
Ideas and attitudes such as "competition" versus "cooperation", and
"structure" versus "improvization", have a major impacts -- not to
mention the role of stereotypes and expectations (e.g. maculine viv a
vis feminine, black vis a vis white, anglo vis a vis latino, ... )
I'd suggest Florence Kluckhorn's Variations in Value Orientation as
as starting point for one classification of cultural values.

Within any culture, of course, there are indeed personal differences.
But many of these "personal differences" are "not merely personal."

Why shoud students learn about programming this way?  Consider

a.  Most programmers will inherit someone elses program that they will
have to understand.  (I've twice received massive programs will ALL
variables were named I1, I2, I3, and X01 .... X999 !! Culture?
Personality? "Bad" Instructor? Different programming style?)

b.  Many programmers will work as part of a team with a "common" goal,
but may have attidudes (or face attitudes) that make teamwork
difficult.  When your salary, promotion, and maybe job depend on your
ability to work according to the (generally unwritten, unverbalized,
maybe even subconscious) rules of the company, you may wish you had
some skills at dealing with cultural differences.  (And as the economy
becomes more "globalized", we may find "foreign cultures" running our
work place.)

c.  Some programmers may even become managers of other programmers.
It would certainly help to understand these social issues.


So, what can be taught (or at least made concrete) in CS classes
to help students work with these differences?

The biggest "problem" I notice is student's ideas of what it is to
study for a course.  They are often missing information on how to
study in general and how to study cs in particular.  Many think that
the correct way to program is to solve a series of syntax errors!

1.  Start with an examination of your syllabus (lectures, assignments,
labs, exams, readings, etc.)  Just what is it that you teach.

2.  Be explicit about your own expectations from students.  How you
want to work as a class, how you want students to work in the class.
This has to be brought up about 3 or 4 times through the semester.
(Students often forget what they're getting graded on.)  Make sure
your examples follow what you are looking for.  Its silly to expect
students to use "structured" style when you "hack".  Why should code
be "readable" (who is the program being written for?)?  Teach the
program as as much a "literary" exercise as a "programming" exercise.
Are jokes allowed ??

3.  Be explicit about alternatives or probalems they may run into when
working on lab or team projects.  Give them some ideas about how to
organize their team.  Here I would check out some back issues of IEEE
journals on software engineering and software management and give
these as assigned reading.


Steve

PS. Your dragging out the shiboleth of "Political Correctness" is a bit
strange.  (Which itself suggests some sort of cultural difference --
Vermont is always so far behind the times that we're just catching
wind of it up here !)  There was / is no suggestion that students be
given an agenda on how to program (or what to wear to class or what to
wear to an interview or what to order for lunch if your interview takes
you that far or what to wear on their first day at work -- jeez, talk
about "political correctness!")