%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Forum for Academic Software Engineering % % (The Electronic Version) % % % % Volume 2, Number 2, January 27, 1992 (FASE No. 3) % % % % _____________________________________________________________________ % % % % 1 Information On A Software Engineering Approach Which Is Also % % Useful For Teaching Object-Oriented System Development % % % % 2 A Summary Of Information Available On Careers In Computer % % Science For High School, College Students/Teachers/Counselors % % % % 3 News On N.P.C., SEI Conferences On Software Engineering Education, % % And CS Courses For Minorities (Grades 6-9) % % % % 4 A New Text Book For Upper-level Undergraduate or Graduate Courses % % % % 5 Professional Registration/Certification % % _____________________________________________________________________ % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1================================1================================1 Subject: Information On A Software Engineering Approach Which Is Also Useful For Teaching Object-Oriented System Development From: karl lieberherr Enclosed is information on a software engineering approach which is being developed at Northeastern University. We find it very useful for teaching object-oriented system development from the sophomore to the Ph.D. level. The full-version supporting software is available to Universities now at minimal cost and on several platforms. The description below was initially written for an industrial audience, but I think that it is appropriate also for an academic audience. ************************************************************* We are pleased to make an information package on the Demeter System available to you. Our technology, which was released recently (Nov. 1, 1991), has been well received: Here are excerpts from a response from a major telecommunication company: ------------------------------------- ... After reviewing the free demo copy of Demeter, I will discuss plans for reengineering our existing VLSI layout generation tools with my management. ... Demeter appears far superior to the methodologies for C++-driving front-end CASE that we've seen from ... (names of two major CASE companies). I am also making a number of other ... (name of one of the largest telecommunication companies) software engineers who are migrating from C to C++ aware of Demeter, and they are planning to take a look at it. I will discuss costs (which are reasonable) and support ... with my department head. I look forward to the prospect of working with Demeter. ---------------------------------------------- and a NASA research scientist: ---------------------------------------------- Demeter admirably supports a vital part of the design process, such as optimizing the class structure. Its tools supporting C++ coding also appear excellent. However, it appears not to meet our needs for graphical support ... Thank you for making this demonstration package available. I have learned a lot from the chance to examine the package's strengths and omissions. ----------------------------------------------- and an anonymous reviewer of one of our papers: ----------------------------------------------- Propagation patterns are a sound and appealing approach. I believe that they can significantly simplify the writing of a good deal of object-oriented code, especially of code that conforms to the Law of Demeter. --------------------------------------------- end of excerpts The Demeter System consists of the Method and the Tools which both have been developed at Northeastern University since 1985. The package contains software, documentation and research papers. The research papers and some of the documentation you can get based on the information in this paper; the software and the remaining documentation you can get by ftp, after you send us the enclosed license agreement. You may benefit from our technology in two ways: The Demeter Method is an object-oriented analysis, design and programming technique which you may want to consider for developing your software systems, independent of the hardware or software platform which you use. The current release does not contain a graphical user interface: all tools are language based and the input grammars are published as part of the ftp package. The Demeter Tools/C++ support the Demeter Method by allowing you to test your designs and by translating your designs into code for manipulating your objects. More importantly, the propagation pattern tool invites you to apply graph-based programming in C++ which is an order of magnitude more productive (for many applications) than direct programming in C++. We would like to make it easy for you to learn the Demeter technology. Therefore, free of charge, you may get one copy of a collection of about twelve papers and a small project version of our software (binary code) with documentation. The software serves as an excellent medium to learn object-oriented technology and you may want to use it for teaching purposes. The small project version has a limit of 20 classes per application which allows challenging educational projects. A number of environments are included in the package. The ftp address and retrieval information are given later. You need either a SUN-3 or a SUN-SPARC (SUN-4) or a DEC station and an ATT C++ compiler version 2.1 or later to run the software. We appreciate your feedback on our software. We hope you decide to use the Demeter Toools/C++ in your projects, and we would be happy to send you the complete set of tools and to help you in applying the technology. The papers and the software are copyrighted by the individual authors and/or organizations (e.g., ACM, IEEE, Springer Verlag, Northeastern University), but the copyright law gives you certain rights: The use of a copyrighted work, including such use by reproduction for purposes such as teaching (including multiple copies for class room use), scholarship, or research, is not an infringement of copyright. Use the following command sequence to copy the Demeter papers: % ftp corwin.ccs.northeastern.edu or 129.10.8.150 Name (corwin.ccs.northeastern.edu: ... ): ftp Password: your-email-address ftp> cd pub/demeter ftp> ls ftp> binary ftp> get papers-only.tar.Z ftp> quit % uncompress papers-only.tar.Z % tar xf papers-only.tar Use the command: tar xvf papers-only.tar.Z to create a directory from the tarfile. The *.ps files in the tar file are in postscript form. They can be printed on any postscript printer. We have printed these files on an Imagen printer using the '-L Ultrascript' option, and on Apple LaserWriters by downloading over AppleTalk using either "SendPS" or "Downloader". To get ftp access to the small project version of the tools, please send the enclosed license agreement to us. We hope that you enjoy our technology and we look forward to hearing from you. Please send an e-mail message to lieber@flora.ccs.northeastern.EDU to put yourself on our electronic mailing list. Questions, problems, and comments should also be sent by email to the same address. -- Karl Lieberherr Please reply to: lieber@flora.CCS.northeastern.EDU PS: Our work is supported by IBM, Ciba-Geigy, Citibank and the National Science Foundation. Demeter is a trademark. ************************************************************* We will give you an account name and a password which you may use to get the small project version of the Demeter Tools/C++. To get the account name and password, please fill out the license agreement below and send it to us by regular mail or fax. To: Prof. Karl Lieberherr Director, Center for Software Sciences Northeastern University College of Computer Science 125 Cullinane Hall Northeastern University Boston, MA 02115 fax: (617) 437 5121 phone: (617) 437 2077 Internet: demeter@flora.northeastern.edu (hereafter LICENSOR) From: Name: Address: e-mail address: fax number: phone number: (hereafter LICENSEE) Re: Transfer of Demeter Tools/C++, small projects version LICENSEE would like to copy the computer software known as Demeter Tools/C++, small projects version, (hereafter "DEMETER SOFTWARE") that was developed at Northeastern University in the College of Computer Science by the Demeter Team. I understand that LICENSOR is the owner of the entire right, title and interest in "DEMETER SOFTWARE". LICENSEE desires to obtain the use of the DEMETER SOFTWARE for purposes of non-profit education and research. LICENSOR grants LICENSEE a personal, nontransferable, royalty-free and nonexclusive license to use DEMETER SOFTWARE solely and exclusively for LICENSEE's internal, non-profit research and educational purposes. LICENSOR gives no warranties, either express or implied, for the DEMETER SOFTWARE and/or documentation provided under this agreement, including, without limitation, warranty of merchantability and warranty of fitness for a particular purpose, nor shall LICENSOR be liable for any loss sustained by LICENSEE resulting from its use of the software. The DEMETER SOFTWARE is a research tool, and LICENSOR does not represent that the DEMETER SOFTWARE is free of errors or bugs, or that the DEMETER SOFTWARE is suitable for any particular tasks, or that the DEMETER SOFTWARE is executable on any particular computer. LICENSEE agrees to accept the DEMETER SOFTWARE on an "as is" basis. Accordingly, LICENSOR is not required to load the DEMETER SOFTWARE onto LICENSEE'S computers, to test for proper operation, to perform any debugging or other corrections, or otherwise maintain the DEMETER SOFTWARE at any time, nor to provide any updates to the DEMETER SOFTWARE if subsequent versions are developed, nor to provide any assistance in understanding or using these materials. Northeastern University shall not be liable for any damages suffered by LICENSEE from the use of the Demeter system. LICENSEE shall not use the name, logo, or any other symbol of Northeastern University nor the names of any of its employees nor any adaptation thereof in any advertising, promotional or sales literature without the prior written approval of Northeastern University. Bug reports may be sent by email to demeter@flora.ccs.northeastern.edu. LICENSOR shall at all times retain the sole right, at its sole discretion, to license the DEMETER SOFTWARE commercially. LICENSEE promises that the password will be kept confidential and that the account will be used for no other purpose than copying the tar files for the DEMETER SOFTWARE. Date: LICENSEE's signature: 2================================2================================2 Subject: A SUMMARY OF INFORMATION AVAILABLE ON CAREERS IN COMPUTER SCIENCE FOR HIGH SCHOOL, COLLEGE STUDENTS/TEACHERS/COUNSELORS From: lwerth@cs.utexas.edu (Laurie Werth) Thank you to those who kindly suggested sources of materials. Following is a summary of what's been located thus far, addresses, telephone numbers, etc. While various publications have been ordered, none has yet been received. Therefore, no commentary is available on quality of content, intended audiences, appropriateness, etc. FROM ACM: "The No-Nonsense Guide to Computing Careers" Item # 311920, ACM Member Price $24 (incl. handling) ACM Inc., P.O. Box 64145, Baltimore, MD. 21264 1-800-342-6626 "Computer Graphics Career Handbook" Item # 429910, ACM Member Price $20 (incl. handling) ACM Inc., P.O. Box 64145, Baltimore, MD 21264 1-800-342-6626 FROM PRIVATE SECTOR: "Field Guide to Computer Careers" (Magazine published twice/year: Jan. & Sept.) Free to students, faculty, libraries, employers First Focus Publishers 515 James Street, Geneva IL 60134 (708) 232-0590 FROM MATHEMATICAL ASSOCIATION OF AMERICA "Careers" (includes info on CS careers) $.25/copy (bulk discount available) Mathematical Assn. of America 1529 18th St.NW, Washington, DC 20036 (202) 387-5200 "Mathematicians and Scientists at Work" $3.75/copy (bulk discount available) American Mathematical Assn. of America 1529 18th St. NW, Washington, DC 20036 (202) 387-5200 FROM JOINT POLICY BOARD FOR MATHEMATICS "Mathematics Awareness Week" packet (incl. list of resources) No price quoted Joint Policy Board for Mathematics 1529 18th St. NW, Washington, DC 20036 (202) 234-9570 BUREAU OF LABOR STATISTICS "Occupational Outlook Handbook" Bureau of Labor Statistics 441 G St. NW, Washington, DC 20212 (202) 523-4000 Person who mentioned this source noted that although this is the standard guide used by high school guidance counselors, it only covers broadly construed categories of 'programmer' and 'systems analyst.' FROM MATH/SCIENCE NETWORK "Computers and How They Operate" - Women's Computer Literacy Handbook $12.00 (incl. handling) Math/Science Network Preservation Park 678 13th St., Ste. 100, Oakland, CA 94612 (510) 893-6284 3================================3================================3 Subject: News On N.P.C., SEI Conferences On Software Engineering Education, And CS Courses For Minorities (Grades 6-9) From: lwerth@cs.utexas.edu (Laurie Werth) I. National Programming Contest N.P.C. After holding eight increasingly successful state-wide computer contests, the university of Texas Student Branch Chapter of the IEEE Computer Society is organizing a first-ever National Programming Contest (N.P.C.) on November 30, 1991. At the state-wide contest, teams are challenged to write a program to play a computer game. Competing team pairs will write graphical programs which battle their way to first place in a double-elimination tournament. This is very different from most programming contests, where contestants are usually asked to complete a set of small programs in some period of time to be run against a set of data from the Judges. In this contest, software must be software engineered for intelligence of algorithm, accuracy and robustness. The N.P.C. contestants write programs in teams of three students, one team per school. Sixteen teams may compete in the contest. Each of the three contestants on a team will be provided with a terminal. The game is designed so that the teams provide three programs, each one controlling a player in our game. The players on a team will be able to communicate with one another, and the goal will be a team victory. The match-ups will be team-versus-team which means that there will be 6 players in the game simultaneously. The N.P.C. Committee has invited teams from the top engineering and computer science schools. Breakfast, lunch and dinner will be provided for teams and their sponsers. Code used for the first eight contests is available to potential teams. For information on future N.P.C. contests, call David Taylor at 512-459-4957 (home) or 512-471-3003 (office). Send email to ddt@ccwf.cc.utexas.edu or write to: IEEE CS UT Student Branch Chapter Attn: National Programming Contest Committee ENS 103 Austin, TX 78712 The current NPC sponsors are: IEEE Central Texas Section, the IEEE Technical Committee for Software Engineering, Hewlett Packard, NCD Corporation, Southwestern Bell, Saber, Sun Micro-systems, and the UT Electrical and Computer Engineering Department. II. Fifth SEI Conference on Software Engineering Education The fifth SEI Conference was held October 7-8, 1991 in Pittsburgh followed by the Educator Development workshop on October 9, 1991. Sessions included papers on software project courses, Software Engineering Training in Government and Industry, Teaching Styles, Teaching Design, Real-time and Environments. The panel on Curriculum Issues included discussions of Computing Curricula 1991 and Computer Based Systems Engineering while the Software Engineering Expert Knowledge Development consisted of reports on "What We Have Learned About Software Engineering Expertise, Instruction for Software Engineering Expertise and Knowledge Elicitation for Software Engineering Expertise. Proceedings are available from SEI or Springer-Verlag Publishing Company. III. Sixth SEI Conference on Software Engineering Education "Putting the Engineering into Software Engineering" is the theme of the next SEI conference to be held October 5-7, 1992 in San Diego, California. Papers, panels, reports, tutorials and workshop sessions should emphasize applying the principles and methods of traditional engineering disciplines to software engineering. This includes topics such as * Analytic techniques that allow prediction of performance, safety, reliability of software-intensive systems * The role of laboratories and experimentation in engineering and engineering education, and it application to software engineering * Professionalism: certification, licensing, ethics Other areas of emphasis are * Continuing education's role in software process improvement * Distance learning and other technology-assisted education mechanisms * The full range of academic programs in software engineering: BS, MS, PhD. Paper and panel proposals are due by March 16, 1992. For more information contact the General Chair Dr. Carol Sledge Telephone: 412-268-7708 Software Engineering Institute FAX: 412-288-5758 Carnegie Mellon University Internet: cas@sei.cmu.edu Pittsburgh, PA 15213 USA or the Administrative Contact Mary Ellen Rizzo Telephone: 412-268-3007 Software Engineering Institute FAX: 412-288-5758 Carnegie Mellon University Internet: mer@sei.cmu.edu Pittsburgh, PA 15213 USA A number of publications, including technical reports and curriculum materials, are available from the SEI: Software Engineering Institute ATTN:L Publications Requests Carnegie Mellon University Pittsburgh, PA 15213-3890 The "Software Engineering Education Directory", May 1991, prepared by the Software Engineering Curriculum Project, CMU/SEI-91-TR-9, is of particular interest. Part I contains brief descriptions of software engineering courses taught at various universities in the United States, Canada, Australia, Mexico and Scotland. Part II covers graduate degree programs in software engineering offered at 19 different universities in the US. IV. CS Course for Minorities (Grades 6-9) Enclosed are the remarks I received concerning my request for information on introductory CS courses for minorities and girls in grades 6-9. I have eliminated all headers and names from the summary. Many of the message originators suggested that I contact them for more information. For those of you who may be interested in contacting these originators, please send your requests to me. Unfortunately, I was not able to conduct this class because the program fell victim to New York state budget cuts. Sandra Johnson Baylor sandyj@watson.ibm.com (914) 784-7984 ************************************************************* There was a program at my undergrad school that brought female students who were bright enough, but not pointed towards science, into the college for a day of intro workshops. We were limited to 2 hours I think, so we kept it simple. We introduced a talk program and left it as just a fun exercise to figure out who you were connected to. Also, used touchup on some sun stations to show how easy it was to so graphics. Another was taking apart a PC and talking about how it worked and letting the students play with the pieces. My feeling from participating in the program was that it was more helpful to let the students know that it could be interesting work and that it isn't that difficult or mysterious rather than trying to actually 'teach' one thing about CS. Also they were taken down to the room with the old VAX init and then shown the new computer being put together (and its size) ------------------------------------------------------ I currently teach a community college class, "Women in Engineering" - it is geared towards high school and jr. college students who plan to study/major in engineering. If you would like info on the curriculum, let me know. I would be happy to discuss it with you via phone as well. I have also done a lot of stuff with lower grade students as well. I have a few handouts which could be modified perhaps, or at least some lecture notes and ideas on topics to discuss. ------------------------------------------------------ I haven't done teaching on this level, but the people who have the best handle on this are located at the University of Oregon, International Society for Technology in Education (ISTE), formerly the International Council on Computer Education (ICCE). They publish The Computing Teacher which contains a wealth of information, including classroom activity sheets from time to time. ISTE also publishes a wealth of booklets which could be very helpful to you. You may contact ISTE via e-mail: ISTE@oregon.bitnet ISTE is also the administrative headquarters for the National Education Computer Conference (NECC) which has been held annually since 1979. They sell copies of the proceedings of NECC and many of these would be articles about what teachers are doing in classes. There are also many other excellent sources and people, but ISTE and NECC will probably give leads thru their materials to the major sources. PS There is/was a kit on Careers in Computing which was available thru ACM. ACM has a committee on Computing in Pre-college. The committee is chaired by Dr. Susan Merritt, Dean, School of Computer Science and Info Sys, Pace University, 1 Martine Ave, White Plains, NY 10606 e-mail: merritt@Pacevm There are many programs for women and minorities. Dr. Carol Edwards heads up a program in Atlanta. [Most of these are referenced in NECC conference proceedings] ------------------------------------------------------ I suggest you contact gail whitney at the Saturday Academy here in Portland. she has an email address: gwhitney@admin.ogi.edu (you might look at a book published by MIT Press - called (something like) visual design with LOGO. it is very impressive. I've used it with college freshmen. perhaps you can get some stuff from it useful for kids! ------------------------------------------------------ I've never taught that age either, but my son (who is now 22) taught himself to program at about 10 and then during middle school taught a lot of his friends. Since we had the computer, I got to watch (at a distance) and listen. One word of warning: don't underestimate them! According to the little I know about the mental development of children, 11-12 years is the age at which we really are able to reason, when logic clicks in, if you will. I don't have any references on this, but you might call the child development/ed psych dept of a local university to talk to someone about that. The point I'm trying to make is that the examples should be realistic but relevant (no Ninja Turtles for that age group) -- you have a paper route and need to do accounting or you're commander of the Starship Enterprise trying to track Klingons (I know, I know that's not realistic, but even my college students always loved that one). The underlying information about computers has to be correct (or you'll get caught) and shouldn't be too watered down. I have had a long standing opinion (no facts) that one of the reasons we have trouble with teenagers is that we too seldom give them anything impor tant to do and too seldom consider them smart/mature enough to contribute. I think many kids that age are emotionally (and obviously physically) immature but intellectually a lot smarter than they're given credit for. ------------------------------------------------------ I am a consultant for Junior Achievement's Project Business. I am in an 8th grade class room one day a week for 9 weeks discussing business and economics..what is economics, economic systems, America's economic system, business cycle, supply and demand, personal finances, etc. The class I'm involved in is mostly minorities...Hispanic and Asian, gender mix is half and half, low income families. A couple of things I have noticed with this age group.. o Attention span very short. o Don't lecture as their eyes will glaze over. o Learning 'activities' work the best. o Allow time to set up activities...lots of explanation of exactly what you are doing and what you expect them to do. o They are very interested in what you have to say. o They are interested in you as a person..expect surprise personal questions..be prepared on how far you will let them go. o They relate better to any lesson when it involves something they are interested in. o My group is very quick and smart. o VERY rewarding when they give feedback on a lesson. Hope this helps, ------------------------------------------------------ Expanding Your Horizons conferences for young women in grades 7-12 always feature computer workshops, with hands-on activities. The Math Science Network can give you models. ------------------------------------------------------ In the summer of 1979, I taught a six-week short course in computer science to twelve junior high age kids (11 and 12 year olds). I had never taught at all before, and this was an interesting introduction. We used the BASIC programming language to write a variety of programs. Here are bits and pieces of advice: - These kids are beginning to be (or have long been) interested in the opposite sex. Girl/boy teasing will probably be an element in your classroom dynamics, and though I don't know what you can do about it, you might as well be prepared for it. Some of the kids were truly interested in playing with and learning about computers; others were mostly interested in showing off. - If I had to do it again, I'd make sure that each unit of teaching would pretty quickly lead to something satisfying to practice or make. When they learned about BASIC concepts, this worked out, but when I tried to teach the kids about a text editor, the gratification was missing. (By the way, these kids were learning a very old version of UNIX - the only editor was "ex", a line-oriented editor which had the advantage over "ed" of having a prompt!) - Along the same lines, there were some limits to what they could understand. I recommend that you try to be quick to catch hints of frustrating conceptual blocks, since if they persist for too long the kids can decide that none of it is fun anymore. (This happened with one of mine.) - Early on, the class had too much structure. The kids needed a balance between time spent listening, time spent doing, and time spent just acting out their high spirits. I think that they would have liked it if I had consulted them more to get feedback on how things were going. I learned this after they went on strike one day. :-) They made a point of coming to class, parading around outside the window so I could see them, then disappearing. I took the point and loosened up, and we all had a better time. At the end of clasthey bought me a bottle of wine, so I think all was forgiven. Have fun! It will be a challenge, but it is very exciting to watch the kids grasp abstract concepts and use them. Many of the kids in my class were very ambitious in the final projects they chose. ------------------------------------------------------ Although I haven't taught such a course, I have some experience presenting computing concepts to high school students. I think a main objective should be hands-on activities. In fact, in the May, 1991, issue of Physics Today, an article on Project SEER which focuses on getting science to girls and minorities states that the "process approach" (from the '60s), which stresses hands-on exploration, works especially well with minorities and girls. So maybe there's some research that reinforces our own intuition that we learn by doing. Of course, hands-on activities depend entirely on the facilities available to you and on the number of students. An interesting activity might be an introduction to electronic mail (via an inquiry of mine several months ago, one syster indicated that kids are especially intrigued by the notion of people across the country exchanging written messages in an instant). If you could get Internet access (which must not be too difficult -- the DMCC6 Conference I just attended set uan electronic mail center in the hotel), then kids could learn how to compose and send a message. You could have them write something about themselves and pose a question about computer science. They could send the message to someone in cs, who would take a moment to reply. I'm sure you could get cs volunteers from within IBM ... . Just a thought... I've actually done the following class activity, and had some success with it. It introduces students to the concept and merit of parallel processing in computing. You ask the students how to add up a list of numbers (e.g., size of list is twice the number of students in the class, say K). It's just a summation with K-1 adds. If each add is done serially, then it takes K-1 time steps; let a time step equal one second (or some other value) so that you have some tangible amount of time. You can talk about one person sitting down with a paper full of numbers and doing the adds. Then ask the students how this summation might be done faster. I don't know if you can lead them to come up with the idea of doing more than one add at a time -- maybe. They should think about working on the summation as a group rather than just one person. One problem is to divide up the work among the members of the group. Each person has a sheet of paper in front of them (their "local memory") and is assigned two numbers from the list of numbers. Now how is the summation done? Obviously each person can do a "local add" on his/her paper, getting a partial sum. The problem now is coordinating the efforts of the group to get the total sum. Communication is needed. Technically, the algorithm is a logarithmic (tree) sum exchange among persons, where exchanges are done between persons at specific "distances" apart. For example, suppose there are 8 students and 16 numbers. A local sum is done. Students adjacent to each other (distance 1) exchange partial sums, i.e., copy the partial sum from the neighbor (these pairs exchange: 0,1; 2,3; 4,5; 6,7). Another local sum is done. An exchange is done, this time between "distance 2" neighbors (0,2; 1,3; 4,6; 5,7). Another local sum is done. An exchange is done, this time between "distance 4" neighbors (0,4; 1,5; 2,6; 3,7). A final local sum is done, yielding the total sum on each person's paper. This required 4 sums and 3 exchanges, and letting each take one second (obviously different computation:communication ratios exist), the time required is 7 seconds. Done by one person, 15 seconds. The win is bigger for larger lists. I usually tally the number of adds and the number of exchanges as we step through the exercise. Although it may seem more complicated "in parallel", you can emphasize that once the students learn how to cooperate efficiently, it's quite simple and fast. I've found this to be a fun learning activity that gives students an appreciation for a computing concept. Finally, let me comment that a short presentation showing changes in computing might be of interest if you have some good pictures or "show-and-tell" items. I think it gives students a good perspective on how far and how fast computing has grown. I recall seeing a book at the store recently that was a compilation of a pictorial exhibit IBM had on display, perhaps at the NYC location, showing artifacts of computing over a span of some years. It -- or pieces of the display, depending on its status -- might be a good resource. I'm always interested in this stuff. I'll look for a summary on Syster's should you post it, or you can send to me directly. I'm still in the process of compiling some responses to an earlier query of mine, so I know it sometimes takes a while. Have fun! ------------------------------------------------------ I don't have a lot of experience other than with my own children and their friends. But in working with them, I've found that the more abstract (and incidently silly) analogies you can make from CS back to what they know, the more interested and retentive they are. e.g., we explained arrays to our son (then about 8) as a group of boxes into which you could only put one kind of thing - like puppy boxes. Can't put cats in, etc. Good luck. Jr. High is a tough audience. I'd be interested in other suggestions you get. ------------------------------------------------------ I have recently had to speak to a few sessions of students about that age. I was not happy with how it went, and would be glad to get some responses if you get any good ones. One thing that was a problem for me is that I don't know what they know. The only experience I have had with people that age was with my own sons, and that was a few years ago. I think it is better to plan things that they can get involved in a bit, rather than just talking to them. In one group I got a question about why a computer game was so picky about what you typed in (it sounded like an "adventure" type game that kept responding "I can't ", with no clue about what to do next. I used the opportunity to talk about tproblems of understanding English, because of the problem of ambiguity. I used the good old "Time flies like an arrow" with its three interpretations. I got them to suggest what it might mean, and led them through the other options. That went better than anything else, because they got involved in it. I don't know if they really related that to the question, or to computer use in general, but theyenjoyed it. ------------------------------------------------------ Have you spoken to the people at the Lawrence Hall of Science, in Berkeley? I don't have the number, but they are in the phone book - they have run such courses for some time (CS for girls...) and they might have advice. ------------------------------------------------------ I've "done" computer science for various children's workshops, scouts, etc. I have three suggestions: 1. Be prepared for the fact that by grade 6 they can think, and can (sometimes) cover material a lot faster than adults. Have more material prepared than you think you will need for the first session. 2. Unless you have some prior knowledge of your audience, also be prepared for the fact that your audience will range WIDELY in experience with CS, from kids who have been using computers at home since they were two and are already proficient programmers to kids who don't know how to insert a disk. 3. My favorite introductory activity for groups like this is the peanut butter and jelly sandwich. You show up the first day with a loaf of bread, a jar of peanut butter, a jar of jelly, and a knife. (Also with a BUNCH of paper towels). Early on, when you're taking about programming and what it's like you explain that you're going to give them an example. You're going to play computer and they get a chance to program you to make a peanut butter and jelly sandwich. Then you get out your bread, pb and jelly, and knife, and say "Okay, what do I do first?" You want to do your best to give them a hard time. If someone says "take a piece of bread" and the bag is closed, you say "I can't", until someone figures it out and says "open the bag". If you have the peanut butter jar in one hand, and it's closed, and the knife in the other, then you can't spread peanut butter. Etc, etc. You also want to do your best to misinterpret their instructions. If you're holding a piece of bread with pb on it, and someone says "put it down" you do--peanut butter side down. If they say "spread the peanut butter on the bread you spread it on the edge. And so on, the messier the better. (This has to be tempered, of course, by an awareness of their frustration level--if they're stuck give a hint or make your "error messages" more informative, and ease up a little on how d etailed you're making them be.) This is just about guaranteed to have the whole group rolling on the floor laughing by the time you're done, so it's a nice warmup exercise. It's also a good introduction to the idea of breaking a task down into steps, and to the idea of bugs in a procedure. It's also guaranteed to need most of the paper towels you bring. I've taught various kinds of CS and programming to kids ranging from kindergarten through high school, and for time periods ranging from 30 minutes to 20 hours; if you want to talk about it or you'd like more information about what I did, let me know. And HAVE FUN! ------------------------------------------------------ I was involved in a workshop last summer which concentrated not only on computer science but science. A group of young women from our local vo-tech school were given an all paid week of science. Two of those days they came to my university (Lehigh University) and spent their time in different labs etc. I had 4 groups come in for my session in one day. The age group was 13-14 year olds. It was very enjoyable. Let me summarize my observations. * It helps to change the topic every 1/2 hour or so to keep their interest going. I first talked to them about women in science - I told them a story that happened to me. In my first physics class in college (I was a freshman majoring in physics), our instructor announced to the class that women should not be in engineering or especially physics! I told them to ignore folks like that and to go after whatever they wanted. After that I showed them the inside of a computer, a disk drive, a hard disk and a floppy taken apart. They seemed to like that. Next, I put them all at computers and had them use a spreadsheet (QUATTRO - same as Lotus). I led them through the basic steps of plotting a bar chart of their weight vs. different planets. They then played with the text fonts, pie charts, line graphs etc. They seemed to have fun. * I would advise hands on experience as much as possible - they will enjoy it more and they will retain what they learn much better. You can't do too much since their math or programming backgrounds are weak (due to the grade level). I would guess software packages that wo with graphics would be good. Since you have more time than I did, maybe you can go over some basic programming skills?? * A problem I had was the varying skill levels of the students. I had about 30 students and about 20 were asking for help! Needless to say I ran around quite a bit that day. It would help you a great deal to have someone else in the room to answer questions when the students are working on the computers. Some students will finish early (some may even know how to ogram!). It might help to have something extr a for those students to work on while the others catch up. That's all I can think of right now. Good luck and let me know how things go! What you're doing I feel is very important. We need desperately to attract more women and minorities to science! ------------------------------------------------------ I have worked with kids in this age group on several occasions. They are very eager to learn. They like lots of hands on activities and can learn to do simple programming in BASIC or LOGO. Generally their attention span flags after about an hour. Having discovery activities--try this, what did you observe--which are very structured are also useful. If you have access to simple graphics tools, they love this. For girls we recently had an Expanding Your Horizons workshop at . Girls from 6th through 10th grade came to campus on a Saturday. They were placed in 45 minute workshops with women who had math, engineering, or science careers. These women brought activities for the girls to participate in which were related to their work. They also described their careers and what type of coursework is needed to pursue that career. We had over 500 participants and it was very successful. Each girl went to about 6 workshops. I am happy to help, if you would like more information. I am a professor of computer science at . ************************************************************* there seemed to be a lot of interest in programs to recruit women and minorities at the SEI meeting so I'm passing along some information. Laurie Werth University of Texas at Austin Austin, TX 78712 4================================4================================4 Subject: A New Text Book For Upper-level Undergraduate or Graduate Courses. From: Sol Shatz It may be of interest to the SE education community to know about a new text book that I have just finished. It is tentatively entitled Development of Distributed Software: Concepts and Tools. It is oriented toward upper-level undergraduate or graduate courses. If helpful and desired, I can provide a table of contents. The book is under publisher's review now and should be available late next Fall. It will be published by Macmillan Publishing, New York. Sol Shatz Department of EECS Univ. of Illinois at Chicago 5================================5================================5 Subject: PROFESSIONAL REGISTRATION/CERTIFICATION From: Lionel Deimel We can expect to hear more about registration or certification of software professionals as a public policy issue. Some of you are no doubt aware of the recent attempts by the New Jersey legislature to require certification of software engineers. Comments on the question of whether there should be compulsory professional registration of engineering faculty are solicited in the December 1991 issue of "Computer." (Thanks to Gary Ford for calling this item to my attention.) Paul I. Davis, chair of the IEEE Computer Society Committee on Public Policy writes: Several States in the US have recently enacted legislation that requires compulsory professional registration for all college professors who teach engineering design. The pressure for universal compulsory registration of engineering faculty continues to escalate. [v. 24, n. 12, p. 82] Davis does not mention potential impact on the teaching of software engineering, but the implications are worth considering. Readers are told to send comments to John W. Dickinson University of Idaho College of Engineering Computer Science Department Moscow, ID 83843 Dickinson apparently thinks compuslary registration is not a good idea. End=============================End=============================End %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % Managing Editor: Pen-Nan Lee % % fase@cs.uh.edu % % % % % % % % % % % % % % Organizing Committee % % % % Keith Pierce % % University of Minnesota, Duluth % % Currently on leave at the Software Engineering Institute % % Carnegie Mellon University % % Pittsburgh, PA 15213-3890 % % Telephone: (412)268-8145 % % Fax: (412)268-5758 % % Email: krp@sei.cmu.edu % % % % % % Laurie Werth % % Dept. of Computer Science % % Taylor Hall 2.124 % % University of Texas at Austin % % Austin, Texas 78712 % % Telephone: (512) 471-9535 % % Fax: (512)471-8885 % % Email: lwerth@cs.utexas.edu % % % % % % Pen-Nan Lee % % Dept. of Computer Science % % University of Houston % % Houston, TX 77204-3475 % % Telephone: (713)749-3144, 749-4791 % % Fax: (713)749-2378 % % Email: pnlee@cs.uh.edu % % Email: fase@cs.uh.edu % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%