Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!nstn.ns.ca!news.cs.indiana.edu!spool.mu.edu!sdd.hp.com!caen!uwm.edu!psuvax1!rutgers!mit-eddie!bbn.com!nic!kira!news From: cavrak@kira.UUCP (Steve Cavrak) Newsgroups: comp.edu Subject: Re: Pluralism (Tried to be "POLITICAL CORRECTNESS") Message-ID: <1991May12.122406.8563@uvm.edu> Date: 12 May 91 12:24:06 GMT References: <931.2825886d@vger.nsu.edu> Sender: news@uvm.edu Organization: Univ. of Vermont, Eng., Math., and Bus. Admin. (EMBA) Computer Facility Lines: 96 > 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!")