Forum for Advancing Software engineering Education Volume 7 Number 03 - October 15, 1997 http://www.cs.ttu.edu/fase ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Table of Contents: Letter from the Corporate/Government Editor This month's topic: Industry/University Collaborations Upcoming topics Features Training Site of the Month Training Book of the Month Calls For Participation EASE'98 Annals Of Software Engineering Special Volume – Final Reminder Conference Advance Programs QWE'97 Metrics'97 Faculty Positions The University of Southwestern Louisiana News Items IEEE-CS/ACM and Software Engineering as a Profession: Update Draft Software Engineering Code Of Ethics IEEE-CS/ACM Joint Task Force on Software Engineering Curriculum Announcement of SEWORLD OOPSLA '97 Report Letters of Comment Contact and General Information about FASE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Letter from the Corporate/Government Editor: Hello, FASE subscribers, all 650 of you in 40 countries around the world. I'm still in awe that we can "talk" to one another so readily over the Internet about software engineering education and training activities. My personal goal is to hear from at least one representative from each of the 40 countries on our mailing list. If you work in or are interested in corporate and government software engineering education and training, please email me your success stories, your Lessons Learned, your training tips, your bio, or just greetings that I can share with our subscribers. My email is: Kathy.Beckman@cdsi.com. To challenge you, I've set up a monthly "planetary schedule." Please let me hear from SOMEONE from your country as follows: October 1997: Argentina, Australia, Austria, Bahrain, Belgium, Brazil, Brunei, Darussalam November 1997: Bulgaria, Canada, China, Denmark, Finland, France, Germany, Greece December 1997: Hong Kong, Hungary, India, Indonesia, Ireland, Israel, Italy, Japan January 1998: New Zealand, Norway, Poland, Slovak Republic, Slovenia, South Africa, Spain, Sweden February 1998: Switzerland, Taiwan, Thailand, Ukraine, United Kingdom, United States, Yugoslavia I'll send Don Bagert, our Editor and ListMaster, my statistics on responses each month. Help me meet my monthly schedule, and don't let your country down! Thanks for your participation in FASE. Kathy Beckman +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Introduction by: Kathy Beckman This month's topic: Industry/University Collaborations for Software Engineering Education and Training My focus professionally, and as your Editor, is on our software professionals-how do we effectively continue their education and training once they join our organizations? And how do we conduct this training in cost-effective and time-effective ways that our organizations can support and our software professionals will endorse? In other words, what works? I think there are multiple answers to that question. We're going to explore one solution, collaborations between universities and corporate/government organizations, in this issue. We'll address this topic from the following angles: What is a Collaboration? SEI Directory of Industry/University Collaborations Examples of Collaborations Bibliography ################################################################# What is a Collaboration? Universities and industry collaborate in many different ways. For purposes of this discussion, an industry/university collaboration is a formal, joint effort by a university (or universities) and a business or government organization(s), where each party provides specified products and services to achieve common goals. Examples of collaboration using this definition are given below: * University collaborates with industry or government to develop and deliver courses (credit or non-credit) at an industry or government site. * University and industry organization(s) collaborate to market and deliver public and/or customer site software engineering training. * University/universities develop and deliver a certificate or degree program for an industry/government organization or group of organizations, guided by an Industry Advisory Board or equivalent. * A university, or Center affiliated with a university, provides software engineering education and training activities (classes, seminars, forums, conferences) to members for an annual membership fee, guided by an Industry Advisory Board or equivalent. * In collaboration with university and industry participants, a non-profit organization (e.g., a Software Process Improvement Network) organizes software engineering education and training activities. There are many other industry/university interactions which, while important activities, we are not considering as collaborations for this discussion because they focus primarily on individual employees or courses rather than on organization-wide initiatives. * Individual employee takes university courses reimbursed by the employer. * Students do "real world" work for industry as their course projects. * Industry funds summer internships for faculty or students. * University hires adjunct faculty from industry or government organizations. ################################################################ SEI Directory of Industry/University Collaborations Each year, SEI publishes the "Directory of Industry/University Collaborations with a Focus on Software Engineering Education and Training." You can access the 1996 directory on the Web at: http://www.sei.cmu.edu/products/publications/96.reports/96.sr.011.html. The 1997 directory update is in progress and will be available by the end of this year at the SEI Web site. Kathy Beckman is the directory's author. This directory describes more than 20 formal collaborative efforts to promote software engineering education and training activities among industry organizations (including government) and universities in the United States, Canada, and Australia. These collaborations vary in their organizational structure and types of services offered. All attempt to bridge the gap between industry needs and academic software engineering education and training offerings. Each directory entry lists the collaboration's purpose, organization, how to participate, and software engineering education and training activities. Most importantly, each entry lists the point(s) of contact for the collaboration. If you are considering establishing a collaboration, be sure to get in touch with these points of contact. ################################################################# Examples of Collaborations (from 1996 SEI Directory) Here are 4 examples of collaborations to illustrate the various approaches these partnerships can take. Example 1: California State University, Long Beach Software Engineering Forum for Training Long Beach, California (U.S.A.) Formed in September 1993, the California State University, Long Beach (CSULB) Software Engineering Forum for Training (SEFT) is a training partnership among companies in the Long Beach, Los Angeles, and Orange County areas. CSULB SEFT provides high-quality, cost-effective, tailored training in software engineering process improvement and management practices to employees of member companies. Membership in the consortium provides the opportunity to influence and guide the training curriculum. Organization SEFT has an advisory executive board and a technical committee composed of member and CSULB representatives. The Executive Board is the policy-making body, and the Technical Committee develops curricula and assists the board. SEFT is administered by University College and Extension Services and has a charter and documented operating plan. Membership Members of SEFT include The Boeing Company, Northrop Grumman Corporation and TRW. Funding of SEFT is provided through the sale of annual memberships. Membership fees are applied directly to the training that companies receive. Members have seats on the Executive Board and the Technical Committee, priority access to training at a reduced membership rate, and direct input into the selection of course topics and curriculum, and schedule. Software Engineering Education and Training Activities Following a thorough needs assessment, course topics and objectives are identified, and detailed course outlines are reviewed, modified, or written. Potential instructors are solicited to begin customization of courses. SEFT works with training providers, and faculty from the Computer Engineering and Computer Science Department on campus, to design and develop curriculum. Courses cover subject areas related to software process improvement, for example, computer-aided software engineering tools, software configuration management, software metrics, software risk management, software testing, and ISO 9000. Courses are open to the public. University College and Extension Services has extensive mechanisms, such as videoconferencing and web technology, for delivering distance education. Point of Contact for Further Information Sheneui Sloan Program Director, SEFT University College and Extension Services California State University, Long Beach 3515 Harbor Blvd. Costa Mesa, CA 92626 Phone: 714 / 513-6484 Fax: 714 / 513-6534 Email: scsloan@uces.csulb.edu Web Address: http://www.uces.csulb.edu/seft/ Example 2: Quebec Master's Program in Software Engineering Montreal, Canada The Quebec software engineering program was designed based on the needs expressed by leading software industries in Quebec. This program leads to a master's degree in computer engineering or computer science, with emphasis in software engineering. Each of seven participating schools or universities offers courses in this program. Organization Each educational partner designates a professor specialized in software engineering to coordinate the program at his/her school. This professor represents his/her school on a coordination committee that determines the courses to be offered in the program, student admission requirements, and the criteria for granting degrees. The coordination committee establishes the membership of a business and industry committee that advises on the applicability of the program to their working environments and guides the evolution of the program. Membership The educational partners participating in the master's program in software engineering in Quebec are: * L'Ecole Polytechnique de Montreal * L'Ecole de Technologie Superieure * L'Institut National de Recherche Scientifique * L'Universite Concordia * L'Universite Sherbrooke * L'Universite du Quebec a Montreal * L'Universite Laval Software Engineering Education and Training Activities To complete the program, the student must earn 45 credit units, equally distributed over * A foundations module. * An area of specialization. * An integrated learning experience composed of courses, an optional case study, and a project requiring at least 27 hours per week. The courses focus on topics such as data representation, expert systems and artificial intelligence, system security, parallel systems, and object-oriented approaches. Point of Contact for Further Information M. Pierre N. Robillard L'ecole Polytechnique de Montreal Campus de L'Universite de Montreal 2900 Chemin Edouard-Montpetit Case postale 6079, succursale Centre-ville Montreal, Canada, H3C 3A7 Phone: 514 / 340-4238 Fax: 514 / 340-3240 Email: robillard@rgl.polymtl.ca Web Address: http://www.polymtl.ca/ Example 3: Software Engineering Research Centre (SERC) Melbourne, Australia The Centre was founded in mid-1994 by the two major universities, Royal Melbourne Institute of Technology (RMIT) and the University of Melbourne,with core funding from Ericsson Australia (EPA). In the contract between the three stakeholders the objectives include fundamental research into telecommunications related software and the transfer of the research results to industry. The transfer include reports, prototype products, and training. Organization The Centre is formally a joint research centre between the two universities, with administrative support being provided by RMIT. The research and technical direction is provided by a steering committee chaired by the EPA Director of Development, with the Dean of Applied Science, RMIT, and the Dean of Engineering, University of Melbourne being the primary members. The structure of the steering committee is set by the SERC contract, with these three designated representatives, plus four additional members invited by the three permanent members. Currently the four additional members are the Director of SERC, two Associate Deans, and a senior Development Manager from EPA. The committee formally reviews the SERC work program twice a year, with a formal written report being submitted to the committee. The committee meets every two months to give ongoing supervision to SERC's projects, including the development of educational programs. Membership Not applicable. Software Engineering Education and Training Activities A primary focus for the software engineering research of SERC is the functional programming paradigm, and the realization of this paradigm using the Ericsson-developed Erlang environment. This environment is now incorporated in the Open Telecommunications Platform (OTP), the new standard for developments by Ericsson. As a result, SERC has the role of developing and delivering courses on OTP and Erlang both to Ericsson and to other groups that wish to work with Ericsson. The mandate covers Australia and New Zealand, and the courses are typically two to three days duration, depending on the background of the participants. The courses include design techniques as well as programming techniques, reflecting the totally different paradigm that is followed. Point of Contact for Further Information Professor Fergus O'Brien, Director SERC 723 Swanston Street, Melbourne Vic 3053 Australia Phone: +61 3 9282 2472 Fax: +61 3 9282 2444 Email: fob@serc.rmit.edu.au Web address: www.serc.rmit.edu.au/fob/ Example 4: The University of Southern California Center for Software Engineering Los Angeles, California (U.S.A.) The University of Southern California (USC) Center for Software Engineering (CSE) was formed to develop more mature software engineering organizations to meet the demand for complex software systems of the future. Its bottom-line objective is to improve the long-range state of software engineering practice by catalyzing a new generation of software engineering courseware and delivery capabilities. Its 10-year strategy for achieving this objective involves a combination of sustained programs in software engineering education, research, and technology transition (Prospectus for the USC CSE affiliates Program, January 1996) Organization The USC CSE takes a multifaceted approach to improving the state of software engineering practice. It performs necessary gap-filling research in such areas as knowledge-based software engineering, environments, processes, architectures, and economics. In the fall of 1993, it initiated an MS in computer science with a software engineering specialization. It has plans to develop textbooks, videos, computer models, games, tools, exercises, and role-model artifacts for training the next generation of software engineers. The USC CSE has an affiliates program with an active affiliates Steering Committee. The CSE director is part of the USC Computer Science Department; the center principals include USC professors in electrical engineering and business, and professors at the USC Information Sciences Institute. Membership Industry and government affiliates are a key aspect of the CSE. Through payment of an annual membership fee, affiliates acquire a seat on the affiliates Steering Committee. Center personnel provide an annual one-day visit to the affiliate organization, involving a professor and an agenda of the affiliate's choice. Affiliates participate in focused workshops, executive software seminars, an annual software engineering conference, and monthly Software Process Improvement Network (SPIN) meetings in collaboration with University of California Irvine. Affiliates receive prototype tools for experimentation, technical reports, and exploratory videos and courseware. There are currently 29 affiliate organizations. Software Engineering Education and Training Activities While the center does not produce courses specifically for affiliates, member organizations benefit from annual one-day USC professor lectures and visits to the affiliate's organization. Periodic focused workshops provide the opportunity for technical interchange among professors, researchers, and practitioners. Most of the software engineering MS courses are offered on a regional interactive television network; some of the courses are also offered nationally by the National Technological University. Point of Contact for Further Information Barry Boehm Director, USC Center for Software Engineering Computer Science Department University of Southern California Los Angeles, CA 90089-0781 Phone: 213 / 740-8163 Fax: 213 / 740-4927 Email: boehm@usc.edu Web Address: http://sunset.usc.edu/index.html ################################################################ By: Kathy Beckman Bibliography for Industry/University Collaborations [Amar 94] Amar, Bernard; Benoit, Yves; Guyar, Jacques; Jacquot, Jean-Pierre. -Implication of Practitioners in a Post- graduate Curriculum,+ Software Engineering Education, pp. 251-261, in Lecture Notes in Computer Science (750), (Jorge L. Diaz-Herrera, Ed.). Proceedings of SEI Conference on Software Engineering Education, San Antonio, Texas: Berlin Heidelberg: Springer-Verlag, 1994, January 5-7, 1994. [Baird 96] Baird, Dawna M. Software Process Improvement Network (SPIN) Directory. Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, March 1996. Web Address: http://www.sei.cmu.edu/participation/spins.html [Beckman 97] Beckman, Kathy; Coulter, Neal; Khajenoori, Soheil; & Mead, Nancy R. Industry/University Collaboration: Closing the Gap Between Industry and Academia. Los Alamitos: Accepted for publication in the November, 1997 issue of IEEE Software. [Carpenter 95] Carpenter, Maribeth B. & Hallman, Harvey K. Training Guidelines: Purchasing Training for a Software Organization (CMU/SEI-95-TR-010). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, December 1995. Web Address: http://www.sei.cmu.edu/products/publications/95.reports/95.tr.010.html [Coulter 94] Coulter, N. & Dammann, J. -Current Practices, Culture Changes, and Software Engineering Education.+ Computer Science Education 5, 2 (1994): 211-227. [Ford 91] Ford, Gary. 1991 SEI Report on Graduate Software Engineering Education (CMU/SEI-91-TR-2, ADA236340). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, 1991. Web Address: http://www.sei.cmu.edu/SEI/pubs/abstracts/sei91tr2.html [Fowler 90] Fowler, Priscilla & Rifkin, Stan. -Appendix E: Training and Education,+ 117-120. Software Engineering Process Group Guide (CMU/SEI-90-TR-24, ADA235784). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, September 1990. Web Address: http://www.sei.cmu.edu/SEI/pubs/abstracts/sei90tr24.html [Haikala 92] Haikala, Ilkka J. & Marijarvi, Jukka. -(Continuing) Education of Software Professionals,+ Software Engineering Education, pp. 180-193, in Lecture Notes in Computer Science (640), (Carol Sledge, Ed.). Proceedings of SEI Conference on Software Engineering Education, San Diego, Calif.: Berlin Heidelberg: Springer-Verlag, 1992, October 5-7, 1992. [Hirmanpour 96] Hirmanpour, Iraj; Ceberio, Anna; & Khajenoori, Soheil. –An Industry/Academic Partnership That Worked: An In-Progress Report,+ 234-246. Proceedings of the 9th Conference on Software Engineering Education. Daytona Beach, Fla., April 21-24, 1996. Los Alamitos: IEEE Computer Society, 1996. [Mann 91] Mann, P.; Mason, A.; & Norris, M.T. -Industrial Training for Software Engineers,+ Software Engineering Education, pp. 99-113, in Lecture Notes in Computer Science (536), (J. E. Tomayko, Ed.). Proceedings of SEI Conference on Software Engineering Education, Pittsburgh, Pa.: Berlin Heidelberg: Springer-Verlag, 1991, October 7-8, 1991. [Mead 97] Mead, Nancy R., Beckman, Kathy; Coulter, Neal; Khajenoori, Soheil; & Carter, David. Panel: Industry-University Partnerships: The Wave of the Future? +214-218. Proceedings of the 10th Conference on Software Engineering Education & Training. Virginia Beach, Va., April 13-16, 1997. Los Alamitos: IEEE Computer Society Press, 1997. [Paulk 95] Paulk, M.C.; Weber, C.V.; Curtis, B.; & Chrissis, M.B. The Capability Maturity Model for Software: Guidelines for Improving the Software Process. Reading, Mass.: Addison- Wesley Publishing Company, 1995. [Sloan 96] Sloan, Sheneui C. -Industry and University Partnership Through Consortia, + 221-228. Proceedings of the 9th Conference on Software Engineering Education. Daytona Beach, Fla., April 21-24, 1996. Los Alamitos: IEEE Computer Society, 1996. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ By: Don Bagert (Academic/Misc Editor) Upcoming topics The topic for the November issue of FASE will be graduate school opportunities. The following question will be addressed: "What advice would you give to a prospective graduate student who wishes to specialize in software engineering?" The intention here is supply some information and ideas which can be passed on to your students. Please send any suggestions or contributions to me at bagert@ttu.edu by October 8. In December, FASE will look at Industry training programs. Please send any contributions to Kathy Beckman (Kathy.Beckman@cdsi.com) Distance learning will be the topic for the January 1998 issue. Sheneui Sloan of UC-Long Beach (scsloan@uces.csulb.edu) will be the guest editor; please contact her if you want to participate. Here are some of the topics tentatively planned for future issues: * Software engineering education and training outside of the U.S. * Software education across the computing field (CSEE&T tie- in) * Object Technology Education and Training * Software Metrics * Web Pages Please send any suggestions for future topics to me at bagert@ttu.edu. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Features ################################################################ Training Site of the Month http://www.masie.com This site is the home page for the Masie Center, founded by Elliot Masie. The MASIE Center is an international thinktank located in Saratoga Springs, NY. The Center is dedicated to exploring the intersection of learning and technology. It focuses on these key areas: * How do people learn to use technology? * How can technology be used to help people learn? * New models for providing learning across distance and time. * New roles for training and learning professionals. The site provides helpful links to training and development sites like American Society for Training and Development and Training and Development via the Internet. A useful feature is its Knowledgebase, with articles written by Elliot Masie that have appeared in many technology and learning/training magazines. I especially enjoyed his article, "My Mother Goes on the Web," both for its humor and its lesson on adult learning: give adults a reason to learn, and they'll adapt to the new technology required to achieve their goal. ################################################################ Training Book of the Month (from inSITE Training & Development, Inc. Newsletter, Vol. 11, Fall, 1997. Reviewer: Susan Porter) Future Training, by James Pepitone Pepitone's book reminds us that we must transform the Training Department from a mere "training resource to a source of competitive advantage." Some major points from his book: 1. Recognize that if the contribution to a business goal is not clear, then the activity is probably optional. 2. Keep up with corporate strategy. 3. Find out what's #1 on management's hit list, and do something to help. 4. Do needs analysis by having short talks, not distributing long surveys. While these aren't radical or new ideas, it is really important to get away from just scheduling classes, and begin thinking and acting more like an independent business owner! James Pepitone offers us all some good advice. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Calls for Participation ################################################################ From: David Budgen (db@cs.keele.ac.uk) (Editor's Note: This is the same announcement that was attached to the end of my special email concerning the listserv mailing lists on September 18.) CONFERENCE ANNOUNCEMENT & CALL FOR PAPERS EASE'98 Empirical Assessment & Evaluation in Software Engineering 30th March - 1st April 1998 Keele University, Staffordshire, U.K. Sponsors: BT Laboratories, National Computing Centre British Computer Society, Institution of Electrical Engineers Keele University, University of Sunderland The empirical component of Software Engineering practice is still in a formative phase. The effect of this is that we continue to lack any widely accepted procedures for systematically assessing the effectiveness of both the technical and organisational practices that are used for software development and procurement, or for assessing the quality of the resulting products. Following on from the success of EASE'97, selected papers from which are to appear in November as a special issue of the Information and Software Technology journal, this conference will address issues concerned with both assessment and evaluation needs and practices, as well as the analysis element within these. EASE'98 will be relevant to researchers and practitioners in all branches of Software Engineering. Keynote speakers will include Robert L Glass, Editor of the Journal of Systems and Software and publisher of the Software Practitioner magazine and Dr. Marian Petre from the Open University, UK. TECHNICAL PAPERS: We are seeking papers that are related, but not limited, to the following topics: * Certification practices and their effectiveness * Measurement * Procurement needs * Product acceptance * Product assessment and evaluation * Process assessment and evaluation * Quality assessment * Testing strategies Once again we expect to consider conference papers for journal publication. EXPERIENCE REPORTS of a less formal nature are invited from Software Engineering practitioners and will be made available during the conference. Selected reports will be presented during an `industrial experiences' session. POSTERS: All participants will be invited to provide posters describing their evaluation needs and problems. Practitioners and research students are particularly encouraged to take up this opportunity to elicit comments from those who are studying evaluation techniques and practices. Four copies of full technical papers (3000 - 5000 words) and experience reports (up to 1000 words) should be submitted to: EASE, Department of Computer Science, University of Keele, Keele, Staffs, ST5 5BG, UK. Expressions of interest can be registered either by email or via the Web pages. IMPORTANT DATES FOR TECHNICAL PAPERS 3rd. November 1997 - Submission deadline 16th. January 1998 - Author notification 27th. February 1998 - Final version IMPORTANT DATE FOR EXPERIENCE REPORTS 27th. February 1998 - Submission deadline IMPORTANT DATE FOR POSTERS 29th March 1998 - notice of intent (by email) FURTHER INFORMATION Email: ease@cs.keele.ac.uk URL: http://www.keele.ac.uk/depts/cs/Announcements/conferences/ease98.html ################################################################ Forwarded by: Laurie Werth (lwerth@cs.utexas.edu) ** FINAL REMINDER ** CALL FOR PAPERS SPECIAL VOLUME ON SOFTWARE ENGINEERING EDUCATION ANNALS OF SOFTWARE ENGINEERING ----------------------------------------------------------------- Please review the following call for papers and consider submitting an article. Please forward this message to others as appropriate. Neal Coulter Norman Gibbs Co-Guest Editors Special Volume on Software Engineering Education ANNALS OF SOFTWARE ENGINEERING ================================================================ ANNALS OF SOFTWARE ENGINEERING Special Volume on Software Engineering Education SEE http://manta.cs.vt.edu/ase/ for more information on Annals of Software Engineering and the Special Volume on Software Engineering Education (Volume 6 on the Annals homepage) ================================================================ The term "software engineering" was first mentioned at a NATO conference in 1968. Although there remains little consensus within the academic community on exactly what the term means, practitioners do need to be educated in more than fashionable ephemeral technologies. As the development of software evolves from an ad-hoc, labor-intensive activity toward an engineering discipline, there has to be a solid foundation in software engineering education that is based on principles, conventional knowledge and best-practice. In the early 1980's, software engineering education consisted of three professional software engineering degree programs and a few isolated computer science courses--mostly testing or software project management. Since then software engineering education has grown from an academic anomaly to a solid educational experience that prepares professionals to develop better systems. This special volume of Annals of Software Engineering will explore the state of the practice in software engineering education and attempt to predict what the future might hold. Original papers are solicited that present leading edge programs in universities, industry or government; studies of effectiveness based on measurable outcomes and results; novel delivery approaches; project and studio course experiences; surveys; and historical overviews. Suggested topics include (but are not limited to): * Identifying the knowledge and skills software practitioners need. * Determining the foundations of software engineering education. * Explicating the core curriculum for software engineers. * Continually educating and training software professionals. * Certifying and licensing software engineering * professionals. * Building in-house software engineering education and training programs that work. * Bringing software engineering best-practice and * conventional wisdom into the classroom. * Using technology to deliver software engineering education and training. * Measuring the effectiveness of the delivery of software engineering education and training. * Defining the roles of industry, government, and professional societies in software engineering education. * Determining the role of engineering design in software engineering education. * Bringing engineering discipline and engineering knowledge into software engineering education. * Establishing undergraduate and graduate degree programs that work. Annals of Software Engineering imposes virtually no length limitation on the submitted papers. A paper's length is judged with respect to the quality of its content. Submitted papers must not have been previously published or be currently under consideration for publication elsewhere. All papers will be rigorously refereed. Five (5) copies of the complete manuscript should be submitted to one of the Co-Editors before October 30, 1997. Prof. Norman E. Gibbs Prof. Neal S. Coulter Director, Information Technology Dept. of Computer Science and Services end Engineering Guilford College College of Engineering 5800 West Friendly Avenue Florida Atlantic University Greensboro, NC 27410, USA Boca Raton, FL 33431, USA E-mail: gibbsne@rascal.guilford.edu E-mail: neal@cse.fau.edu Tel: (910) 316-2360 Tel: (561) 367-3983 Fax: (910) 316-2956 Fax: (561) 367-2800 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Conference Advance Programs ################################################################ From: Laurie Werth (lwerth@cs.utexas.edu) The Technical Program for the 1st International Software Quality Week Europe (QWE'97) has been announced. You can see it on the WWW at URL: http://www.soft.com/QualWeek/QWE97. (If you don't have WWW access, send E-mail to "qw@soft.com" and we'll E-mail you a copy of the program and registration details ASAP!) QWE'97 includes over 50 speakers: Twelve full-day and half-day Tutorials, four Technical Keynotes, and a two-day four-track technical conference and exhibition. Hear about testing *ON* the Web, and testing *OF* the Web, about Year 2000 (Y2K) testing, the pros and cons of IS0-9000, all about Java and software quality, about test tools, about experiences from the field and new developments from the labs. Exhibits, product demos, special fun events! Mark you calendars now: QWE'97: 4-7 November 1997, Brussels, Belgium EU +----------------------------------+---------------------------+ | Quality Week Europe '97 | Phone: [+1] (415) 957-1441| | SR/Institute, Inc. | Toll Free: 1-800-942-SOFT| | 625 Third Street | FAX: [+1] (415) 957-0730| | San Francisco, CA 94107-1997 USA | E-Mail: qw@soft.com | | | WWW: http://www.soft.com | +-----------------------------------+--------------------------+ ################################################################ From: Laurie Werth (lwerth@cs.utexas.edu) Metrics'97 Fourth International Software Metrics Symposium Albuquerque, New Mexico USA November 5 - November 7, 1997 Sheraton Old Town Inn NOTE: abstracts for each of these papers and registration information can be found at our web site: http://www.cs.pdx.edu/conferences/metrics97/ Preliminary Program =================== Wednesday Morning, 11/05/97 (shared sessions with ISSRE '97) 8:00-9:00 ISSRE Panel: Everything You Wanted to Know about Software Reliability Engineering But Didn't Know Who to Ask. (Coordinator: John Musa) 10:00-11:00 Three ISSRE Parallel Tracks ISSRE Session 19: Vendor Presentations ISSRE Session 20: Vendor Presentations ISSRE Session 21: Industry Practice Track 3 11:30-1:30 PM Walking Lunch, vendor exhibit area. Wednesday Afternoon, 11/05/97. (shared sessions with ISSRE '97) 2:00 - 3:00: Welcome, Keynote (Chuck Howell, Sun Microsystems) 3:00 - 3:30: Break 3:30 - 5:00: Panel: Reliability of Predictions Wednesday Evening, 11/05/97 (start of Metrics'97 only events) 5:30-7:30: Welcome Reception "Fire & Ice" supported by the Albuquerque Convention & Visitors Center Thursday, 11/06/97 7:30 - 8:30: Continental Breakfast 8:30 - 10:00: Process Improvement Session Chair: James Herbsleb Evaluating the Interrater Agreement of Process Capability Ratings P. Fusaro, K. El Emam, and R. Smith Evaluation and Improvement of Software Products and Processes based on Measurement M. Francois and B. Abdelmalek Metrics of Software Evolution - The Nineties View M. M. Lehman, J.F. Ramil, P.D. Wernick 10:00 - 10:30: Break 10:30 - 12:00: Theory and Methodology I Session Chair: June Verner Inheritance Tree Shapes and Reuse B. Kang and J. Bieman A Unified Framework for Cohesion Measurement in Object-Oriented Systems L. Briand, J. Daly, and J. Wust The Impact of Costs of Misclassification on Software Quality Modeling T. Khoshgoftaar and E. Allen 12:00 - 1:30: Lunch Break 1:30 - 3:00: Metrics applied to Testing Session Chair: TBA An Empirical Analysis of Equivalence Partitioning, Boundary Value Analysis and Random Testing S. Reid Using Relative Complexity to Allocate Resources in Gray-Box Testing of Object-Oriented Code J. Zhuo, P. Oman, R. Pichai and S. Sahni Predicting Fault Detection Effectiveness J. Morgan, G. Knafl, and W. Wong 3:00 - 3:30: Break 3:30 - 5:00: Panel and open discussion of validation issues Lionel Briand, Fraunhofer Institute for Experimental Software Engineering Barbara Kitchenham, Keele University 7:00 - 10:00: Banquet Friday, 11/07/97 8:00 - 9:00: Continental Breakfast 9:00 - 10:00: Keynote - Vic Basili, University of Maryland 10:00 - 10:30: Break 10:30 - 12:00: Application/Phase/Paradigm Specific Measurement Session Chair: TBA Testability Measurements for Data Flow Design Y. LeTraon and C. Robach Metrics for Database Systems: An Empirical Study S. MacDonell, M. Shepperd, P. Sallis A Methodology for Risk Assessment of Functional Specification of Software Systems H. Ammar, T. Nikzadeh and J. Dugan 12:00 - 1:30: Lunch Break 1:30 - 3:00: Theory and Methodology II Session Chair: Horst Zuse Towards a Theoretical Framework for Measuring Software Attributes S. Morasca and L. Briand Software Metrics Model for Quality Control N. Schneidewind Some Misconceptions About Lines of Code J. Rosenberg 3:00 - 3:30: Break 3:30 - 5:00: Uses of Software Measurement Session Chair: Dennis R. Goldenson An Experience in Applying GQM to the Evaluation of the impact of Configuration Management G. Cugola, P. Fusaro, A. Fuggetta, L. Lavazza, S. Manca, M. R. Pagone, G. Ruhe, R. Soro Assessing Feedback of Measurement Data E. Berghout, E. Kooiman, and R. van Solingen Software Reuse Metrics for an Industrial Project R. Ferri, R. Pratiwadi, L. Rivera, M. Shakir, J. Snyder, D. Thomas, Y. Chen, G. Fowler, B. Krishnamurthy, and K. Vo =============================================================== Warren Harrison Department of Computer Science warren@cs.pdx.edu Portland State University http://www.cs.pdx.edu/~warren Portland, OR 97207-0751 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Faculty Positions ################################################################ From: Arun Lakhotia (arun@cacs.usl.edu) The Center for Advanced Computer Studies University of Southwestern Louisiana Visiting Position, Any Rank Announcement dated: Sept 26, 97 NOTE: If interested, pl. respond immediately. CACS has an opening for a Visiting Position for the Spring Semester 1998. The position is open for any rank. The visiting faculty would have background in program analysis techniques such as program slicing, type inferencing, or abstract interpretation. The person will be expected to teach a graduate level course in Software Engineering or Programming Languages, and participate in ongoing research in CACS in the area of software reengineering. It is expected, though not certain, that the Visiting Position will be extended for the following academic year. Remuneration will be subject to rank, and is negotiable. To know more about CACS: http://www.cacs.usl.edu/ To know more about ongoing reengineering work: http://www.cacs.usl.edu/~arun/Wolf For more details and application instructions interested person are requested to contact the following IMMEDIATELY, preferably by e-mail. Dr. Arun Lakhotia, arun@cacs.usl.edu The Center for Advanced Computer Studies (318) 482-6766 (Work) P. O. Box 44330 (318) 482-5791 (Fax) University of Southwestern Louisiana Lafayette, LA 70504 http://www.cacs.usl.edu/~arun ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ News Items ################################################################ From: Laurie Werth (lwerth@cs.utexas.edu) IEEE-CS/ACM and Software Engineering as a Profession: Update Two major professional organizations concerned with computing and software development, the ACM (Association for Computing Machinery) and IEEE Computer Society (the computer related branch of the Institute for Electrical and Electronic Engineers), joined forces to and appointed the Joint IEEE-CS and ACM Steering Committee for the Establishment of Software Engineering as a Profession in 1993. They were charged, "To establish the appropriate set(s) of criteria and norms for professional practice of software engineering upon which industrial decisions, professional certification and education curricula can be based." The Steering Committee oversees three task forces: * Software Engineering Body of Knowledge and Recommended Practices, * Software Engineering Ethics and Professional Practices and * Software Engineering Curriculum. Their initial recommendation in November 1993 included: * Adopt Standard Definitions, * Define Required Body of Knowledge and Recommended Practices, * Define Ethical Standards, * Define Educational Curricula for (a) undergraduate, (b) graduate (MS) and (c) continuing education (for retraining and migration). [Barnes97] The three task forces are briefly described below. Software Engineering Body of Knowledge and Recommended Practices A survey instrument has been written and prototyped. A list of topics was developed and workshops for expert practitioners to develop questions on each topic were held. The purpose of the survey is to pilot a data collection method to clarify the knowledge, skills, and scope of responsibilities required by software engineers to help in defining the profession's Body Of Knowledge. Tasks were sorted by Boom's taxonomic levels. Necessary responsibility levels included: novice, expert, specialist, manager and not applicable. The current survey represents only a subset of the domain of the required job knowledge and performance. The proposed survey and results are available via a web page (http://www.computer.org/tab/seprof/survey.htm). In November and December, 1996, 288 individuals responded to the survey posted via the World Wide Web. Survey respondents were software engineers with substantial job experience and represented a wide variety of organizations, job responsibilities and education levels. Most work in the United States, but there was some international participation. Some revisions of the survey are needed to improve usability and to expand topic coverage, but generally respondents were enthusiastic. The committee charged with developing the survey concluded that curricula recommendations may be derived from such survey results; thus curricula could be based on actual job expectations. They do note that some skills such as interpersonal skills, mentioned in the Ford and Gibbs [96] report "A mature profession of software engineering," might need to be included in future versions. Results are being analyzed and the survey improved for wider distribution. Software Engineering Ethics and Professional Practices This task force has eight working groups: Privacy, Reliability and Safety, Security, Social Justice, Institutional Support, Intellectual Property Professional Competence and Professional Relationships. The task force compared the ACM, IEEE and BCS (British Computer Society) codes of ethics and developed a Code of Ethics for Software Engineers which is being circulated on the Web (http://www.acm.com) and other places. It is currently undergoing its third revision. Software Engineering Curriculum The task force has recently been appointed and will work with the other two task forces to develop software engineering curriculum. Survey results will be input to developing curricula for Software Engineering. ################################################################ From: Laurie Werth (via the IEEE-ACM Intiative Joint Task Force on Software Engineering Ethics and Professional Practices) DRAFT SOFTWARE ENGINEERING CODE OF ETHICS PREAMBLE v (2.last) Computers now have a central and growing role in commerce, industry, government, medicine, education, entertainment, social affairs, and ordinary life. Those who contribute, by direct participation or by teaching, to the design and development of software systems have significant opportunities both to do good or to cause harm, and to influence and enable others to do good or cause harm. To assure, as much as possible, that this power will be used for good, software engineers must commit themselves to making the design and development of software a beneficial and respected profession. In accordance with that commitment, software engineers shall adhere to the following Code of Ethics. The Code contains eight Principles related to the behavior of and decisions made by professional software engineers, be they practitioners, educators, managers and supervisors, or policy makers, as well as trainees and students of the profession. The Principles identify the various relationships in which individuals, groups, and organizations participate and the primary obligations within these relationships. Each Principle of this code addresses three levels of ethical obligation owed by professional software engineers in each of these relationships. The first level identified is a set of ethical values, which professional software engineers share with all other human beings by virtue of their humanity. The second level obliges software engineering professionals to more challenging obligations than those required at level one. Level two obligations are required because professionals owe special care to people affected by their work. The third and deeper level comprises several obligations which derive directly from elements unique to the professional practice of software engineering. The Clauses of each Principle are illustrations of the various levels of obligation included in that relationship. The Clauses under each Principle consist of three different types of statement corresponding to each level. Level One: Aspire (to be human); statements of aspiration provide vision and objectives and are intended to direct professional behavior. These directives require significant ethical judgement. Level Two: Expect (to be professional); Statements of expectation express the obligations of all professionals and professional attitudes. Again, they do not describe the specific behavior details, but they clearly indicate professional responsibilities in computing. Level Three: Demand (to use good practices); statements of demand assert more specific behavioral responsibilities within software engineering, which are more closely related to the current state of the art. The range of statements is from the more general aspirational statement to specific measurable requirements. Although all three levels of professional obligation are recognized, the Code is not intended to be all inclusive, nor is it intended that its individual parts be used in isolation to justify errors of omission or commission. The list of Principles and Clauses is not exhaustive, and should not be read as separating the acceptable from the unacceptable in professional conduct in all practical situations. The Code is not a simple ethical algorithm which generates ethical decisions. In some situations standards may conflict with each other or with standards from other sources. These situations require the software engineer to use ethical judgement to act in a manner which is most consistent with the spirit of the Code of Ethics, given the circumstances. These ethical tensions can best be addressed by thoughtful consideration of fundamental principles, rather than reliance on detailed regulations. These Principles should influence you to consider broadly who is affected by your work; to examine if you and your colleagues are treating other human beings with due respect; to speculate on how the public would view your decision if they were reasonably well informed; to analyze how the least empowered will be affected by your decision; and to consider if your acts would be considered worthy of the ideal professional working as a software engineer. Since this code represents a consensus of those engaged in the profession one should take into account what is likely to be judged as the most ethical way to act in the circumstances by informed, respected, and experienced peers in possession of all the facts and only depart from such a course for profound reasons, backed with careful judgement. The dynamic and demanding context of software engineering requires a code that is adaptable and relevant to new situations as they occur. However even in this generality, the code provides support for the software engineer who needs to take positive action by documenting the ethical stance of the profession; it provides an ethical foundation to which individuals within teams and the team as a whole can appeal. The code also helps to define those things which are ethically improper to request of an software engineer. The code has an educational function, stating what is required of anyone wishing to join or continue in the software engineering community. Because it expresses the consensus of the profession on ethical issues, it can be used as a guide to decision making and as means to educate both the public and aspiring professionals about the professional obligation of all software engineers. PRINCIPLES v 2.last Principle 1: PRODUCT. Software engineers shall, insofar as possible, assure that the software on which they work is useful and of acceptable quality to the public, the employer, the client, and the user; completed on time and at reasonable cost; and free of error. In particular, software engineers shall, as appropriate: 1.01. Ensure that specifications for software on which they work have been well documented, satisfy the user's requirements, and have the client's approval. 1.02. Strive to understand fully the specifications for software on which they work. 1.03. Ensure that they are qualified, by an appropriate combination of education and experience, for any project on which they work or propose to work. 1.04. Ensure proper and achievable goals and objectives for any project on which they work or propose. 1.05 Ensure an appropriate methodology for any project on which they work or propose to work. 1.06. Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk. 1.07. Ensure realistic estimates of cost, scheduling, personnel, and outcome on any project on which they work or propose to work and provide a risk assessment of these estimates. 1.08. Ensure adequate documentation on any project on which they work, including a log of problems discovered and solutions adopted. 1.09. Ensure adequate testing, debugging, and review of software and related documents on which they work. 1.10. Work to develop software and related documents that respect the privacy of those who will be subjected to that software. 1.11 Be careful to use only accurate data derived from legal sources, and use only in ways properly authorized. 1.12 Delete, whenever appropriate, outdated or flawed data. 1.13. Work to identify, define and address ethical, economic, cultural, legal, and environmental issues. 1.14. Promote maximum quality and minimum cost to the employer, the client, the user and the public. Make any tradeoffs clear to all parties concerned. 1.15. Work to follow industry standards that are most appropriate for the task at hand, departing from these only when technically justified. Principle 2: PUBLIC. Software engineers shall, in their professional role, act only in ways consistent with the public safety, health and welfare. In particular, software engineers shall: 2.01. Disclose to appropriate persons or authorities any actual or potential danger that they reasonably believe to be associated with the software or related documents on which they work, or are aware of, may pose to the user, a third party, or the environment. 2.02. Approve software only if they have a well-founded belief that it is safe, meets specifications, has passed appropriate tests, and does not diminish quality of life or harm the environment. 2.03. Affix their signature only to documents prepared under their supervision or within their areas of competence and with which they are in agreement. 2.04. Co-operate in efforts to address matters of grave public concern caused by software or related documents. 2.05. Endeavor to produce software that respects diversity. Issues of language, different abilities, physical access, mental access, economic advantage, and allocation of resources should all be considered. 2.06. Be fair and truthful in all statements, particularly public ones, concerning software or related documents. 2.07. Not put self-interest, the interest of an employer, the interest of a client, or the interest of the user ahead of the public's interest. 2.08. Feel free to donate professional skills to good causes. 2.09. Accept full responsibility for their own work. Principle 3: JUDGMENT. Software engineers shall, insofar as possible and consistent with Principle 2, protect both the independence of their professional judgment and their reputation for such judgment. In particular, software engineers shall, as appropriate: 3.01. Maintain professional objectivity with respect to any software or related documents they are asked to evaluate. 3.02. Affix their signature only to documents prepared under their supervision and within their areas of competence. 3.03. Reject bribery. 3.04. Accept no payback, kickback, or other payment from a third party to a contract, except with the knowledge and consent of all parties to the contract. 3.05. Accept payment from only one party for any particular project, or for services specific to that project, except when the circumstances have been fully disclosed to parties concerned and they have given their informed consent. 3.06. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped and aspire to resolve them. 3.07. Participate in no decision of a governmental or professional body, as a member or advisor, concerned with software, or related documents, in which they, their employer, or their client have a financial interest. 3.08. Temper all technical judgements by the need to support and maintain human values. PRINCIPLE 4: CLIENT AND EMPLOYER. Software engineers shall, consistent with the public health, safety, and welfare, always act in professional matters as faithful agents and trustees of their client or employer. In particular, software engineers shall: 4.01. Provide service only in areas of their competence. 4.02. Assure that any document upon which they rely has been approved by someone authorized to approve it. 4.03. Use the property of a client or employer only in ways properly authorized, and with the client's or employer's knowledge and consent. 4.04. Not knowingly use illegally obtained or retained software on equipment of a client or employer or in work performed for a client or employer. 4.05. Keep as confidential information gained in their professional work that is not in the public domain (and is not inconsistent), where such confidentiality is consistent with matters of public concern. 4.06. Identify, document, and report to the employer or the client any problems or matters of social concern in the software or related documents on which they work or of which they are aware. 4.07. Inform the client or the employer promptly if, in their opinion, a project is likely to fail, to prove too expensive, to violate intellectual property legislation, in particular copyright, patent, and trademarks, or otherwise be problematic. 4.08. Accept no outside work detrimental to the work they perform for their primary employer. 4.09. Represent no interest adverse to their employer's without the employer's specific consent , unless ethical considerations demand otherwise. Principle 5 MANAGEMENT. A software engineer in a management or leadership capacity shall act fairly and shall enable and encourage those who they lead to meet their own and collective obligations, including those under this code. In particular, those software engineers in leadership roles shall as appropriate: 5.01. Assure that employees are informed of standards before being held to them. 5.02. Assure that employees know the employer's policies and procedures for protecting passwords, files, and other confidential information. 5.03. Assign work only after taking into account appropriate contributions of education and experience. 5.04. Provide for due process in hearing charges of violation of an employer's policy or of this code. 5.05. Develop a fair agreement concerning ownership of any software artifact to which an employee has contributed. 5.06. Attract employees only by full and accurate description of the conditions of employment. 5.07. Offer only fair and just remuneration. 5.08. Not unjustly prevent a subordinate from taking a better job for which that subordinate is qualified or experienced. 5.09. Not ask an employee to do anything inconsistent with this code. Principle 6: PROFESSION. Software engineers shall, in all professional matters, advance both the integrity and reputation of their profession as is consistent with public health, safety, and welfare. In particular, software engineers shall, insofar as possible: 6.01. Associate only with reputable businesses and organizations. 6.02. Assure that clients, employers, and supervisors know of the software engineer's commitment to this code of ethics, and their own responsibility under it. 6.03. Support those who similarly do as this code requires. 6.04. Help develop an organizational environment favorable to acting ethically. 6.05. Report anything reasonably believed to be a violation of this code to appropriate authorities. 6.06. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work. 6.07. Only accept remuneration appropriate to professional qualifications or experience. 6.08. Be accurate in stating the characteristics of software on which they work, avoiding not only false claims but claims that might reasonably be supposed to be deceptive, misleading, or doubtful. 6.09. Not promote their own interest at the expense of the profession. 6.10. Obey all laws governing their work, insofar as such obedience is consistent with the public health, safety, and welfare. 6.11. Exercise professional responsibility to society by constructively serving in civic affairs. 6.12. Promote public knowledge of software engineering. 6.13. Share useful software-related knowledge, inventions, or discoveries with the profession, for example, by presenting papers at professional meetings, by publishing articles in the technical press, and by serving on the profession's standard-setting bodies. Principle 7: COLLEAGUES. Software engineers shall treat all those with whom they work fairly and take positive steps to support collegial activities. In particular, software engineers shall, as appropriate: 7.01. Assist colleagues in professional development. 7.02. Review the work of other software engineers, which is not in the public domain, only with their prior knowledge, provided this is consistent with safety. 7.03. Credit fully the work of others. 7.04. Review the work of others in an objective, candid, and properly-documented way. 7.05. Give a fair hearing to the opinion, concern, or complaint of a colleague. 7.06. Assist colleagues in being fully aware of current standard work practices including policies and procedures for protecting passwords, files, security measures in general, and other confidential information. 7.07. Not interfere in the professional career progression of any colleague. 7.08. Not take steps to supplant another software engineer after steps have been taken for employment. 7.09. In situations outside of their own areas of competence, call upon the opinions of other professionals who have competence in that area. Principle 8: SELF. Software engineers shall, throughout their career, strive to enhance their own ability to practice their profession as it should be practiced. In particular, software engineers shall continually endeavor to: 8.01. Further their knowledge of developments in the design, development, and testing of software and related documents, together with the management of the development process. 8.02. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time. 8.03. Improve their ability to write accurate, informative, and literate documents in support of software on which they work. 8.04. Improve their understanding of the software and related documents on which they work and of the environment in which they will be used. 8.05. Improve their knowledge of the law governing the software and related documents on which they work. 8.06. Improve their knowledge of this code, its interpretation, and its application to their work. 8.07. Not require or attempt to influence any person to take any action which involves a breach of this code. 8.08. Consider violations of this code inconsistent with being a professional software engineer. This draft Code was developed by the ACM/IEEE-CS joint task force on Software Engineering Ethics and Professional Practices: Donald Gotterbarn Chair; Keith Miller and Simon Rogerson, Executive Committee; Members: Peter Barnes, Steve Barber esq., IleneBurnstein, Amr El-Kadi, N.Ben Fairweather, Milton Fulghum, N. Jayaram, Tom Jewett, Maj. Mark Kanko, Ernie Kallman, Duncan Langford, Joyce Currie Little, Ed Mechler, Manuel J. Norman, Douglas Phillips, Peter Ron Prinzivalli, Patrick Sullivan, John Weckert, S.Weisband, and Laurie Honour Werth. Please send comments on this draft of the Preamble and the Code to Donald Gotterbarn, Computer and Information Sciences, East Tennessee State University, Box 70711, Johnson City Tennessee, 37614-0711,( d.gotterbarn@computer.org.) or respond on the on the IEEE-CS and ACM web sites http://www.acm.org, http://computer.org/tab/seprof ################################################################ From: Laurie Werth (lwerth@cs.utexas.edu) The IEEE-CS/ACM Joint Task Force on Software Engineering Curriculum has recently been appointed. The Co-chairs are Richard LeBlanc (Georgia Tech) for the ACM and Gerald Engel for IEEE-CS. Bruce Barnes (NSF) and Laurie Werth (University of Texas at Austin) represent the IEEE Computer Society, while Martin Griss and Tony Wasserman represent the ACM. Doris Carver, president-elect of the Computer Society, will interface with the Board of Governors of the Computer Society and Bill Carroll has been asked by the IEEE to develop program criteria for the Accreditation Board for Engineering and Technology (ABET). The Joint Task Force, working in conjunction with the Joint Task Force on the Body of Knowledge and Recommended Practices and the Joint Task Force on Ethics and Professional Practices, has been charged with developing recommendations for a Software Engineering curriculum. ################################################################ From: alw@mroe.cs.colorado.edu We invite you to subscribe to a new, non-commercial mailing list for the Software Engineering community: SEWORLD@cs.colorado.edu. SEWORLD is intended to serve as a central place for relevant announcements of software engineering conferences, workshops, symposia, special journal issues, calls for papers, research and educational systems, and the like. The list is moderated to avoid spam, duplication, and other misuses. In addition, all e-mail addresses are registered privately to the list, and are not published nor will they be given out to anybody requesting them. Simple instructions on how to subscribe and/or contribute to SEWORLD are appended below. Visit the SEWORLD web site at: http://www.cs.colorado.edu/serl/seworld Please pass this invitation on to your colleagues and other interested parties. ============================================================ Subscriptions to SEWORLD ============================================================ Requests to be added to SEWORLD should be sent to majordomo@cs.colorado.edu To subscribe, send (in the body of the message) subscribe seworld To unsubscribe, send (in the body of the message) unsubscribe seworld To find out more options, send (in the body of the message) help Please contact "owner-seworld@cs.colorado.edu" if you encounter any problems or have any questions. ============================================================ Contributions to SEWORLD ============================================================ To contribute to SEWORLD, send your message to seworld@cs.colorado.edu ============================================================ More information ============================================================ Please visit the SEWORLD web page for more information: http://www.cs.colorado.edu/serl/seworld ################################################################ From: Don Bagert OOPSLA '97 Report I just wanted to put in a brief note about how impressed I was about the education segment of OOPSLA '97, which was held this past week (October 6-10) in Atlanta. There were more educational activities than at any of the previous five OOPSLAs that I had been to, and I was happy to see how software engineering-related most of those topics were. In one early 1998 issue, FASE will have as its topic Object Technology (OT) Education and Training. More information about specific resources in this area will be provided at that time, and OT items will also occasionally appear in other issues. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Letters of Comment ################################################################ From: Tony Cowling (A.Cowling@dcs.shef.ac.uk) Dear Don, This letter contains a comment from the other side of the Atlantic on the discussion item in the last issue, concerning Undergraduate Software Engineering (SE from now on). It presents the view from a university department (ie the Department of Computer Science at the University of Sheffield) where an undergraduate degree programme in SE is just starting its tenth year, although the comments below are basically a personal view rather than an official departmental one. Many of the comments made by the panel were actually to do with the political situation of SE in the USA, rather than with undergraduate education in SE, and these two issues do need to be kept separate.Of course, the fact that the political situation in the UK is rather different is significant, since the British Computer Society is now recognised as a professional engineering body, covering the whole field of Information Systems Engineering (which includes SE). This does mean that, in the UK, SE is now firmly established as a discipline in which reputable accredited undergraduate degree programmes are expected to exist. That has not always been the case, though, and when we first set up our undergraduate degree programme in SE in 1998, it was still very much a novelty - not quite the first such course, but very close to it. Despite that, though, there were some principles which were very clear then, and which are just as applicable to these sort of programmes now, whether here or in the USA. The most important principle is that the standard model of engineering formation applies just as much to SE as to other engineering disciplines, and applies (or should apply) just as much in the USA as it now does in the UK. This model requires a basic education (ie an accredited degree course), followed by some sort of programme of gaining experience (or Initial Professional Development, in the terminology used by the UK's Engineering Council). The important point of this is that the education is expected to equip the budding engineer to cope with the situations which they will experience, and to benefit from that experience. The fact that the criteria for accrediting such programmes in the USA may not yet be fully developed does not detract from this argument. Thus, the practical implication is that if graduates are going to be working in software development, then it is not only valid to provide them with degree courses that will equip them to do that (which is what SE degrees ought to be aimed at), but it is positively necessary to provide them with such courses. The fact that there may be some outfits that will employ some of these graduates, but that are not sufficiently professional to want to engineer their software products properly, is irrelevant to this argument. After all, there are probably some that aren't bothered about trying to achieve level 5 of the CMM, but that doesn't invalidate the CMM. Certainly, our experience from the outset was that there are enough potential employers who are trying to adopt good SE practice that graduates who have learnt something of how software systems ought to be developed will be eminently employable. The other main principle is that it is this focus on the development of software systems which gives an undergraduate degree in SE its distinctive characteristics. Thus, it needs to cover the key aspects of the software development process, including the way in which people relate to this process, and it needs to cover the key technologies used in such systems (such as HCI, databases, networking and operating systems). The fact that, in order to do this an SE degree also has to cover a large amount of fundamental computer science as well (such as program structures, algorithms, data structures, systems structures, hardware structures, supporting mathematics, etc) is not a problem. Indeed, it is part of the "marriage" of science and engineering to which Parnas refers in his recent article [1], and which he illustrates by reference to degrees in chemical engineering, which do have to include a lot of chemistry as well as a lot of engineering. Of course, what makes the difference in an SE degree programme is the reason why this computer science material needs to be taught. It is not there for its own sake, but rather because it supports the activities of designing software systems, and of trying to do so in such a way that their properties can be predicted and reasoned about, and that the properties of the design process itself (such as schedule and cost) can also be predicted and reasoned about. Thus, what really makes the difference is the purpose for which particular topics are being taught, and it is this that needs to be given the highest priority when the hard decisions are being made about how to allocate the scarce resource of curriculum time. As a result, in many respects the most important aspects of the undergraduate curriculum for SE are not so much what is taught, as how and why it is taught. Get that right and the rest falls into place. Reference: [1] D L Parnas, Software Engineering: An Unconsummated Marriage, Communications of the ACM 40.9 (September 1997), p 128. Tony Cowling Eur Ing Dr. A. J. Cowling, Department of Computer Science, University of Sheffield, Sheffield, S10 2TN, United Kingdom. Phone (and voice mail): (+44) 114 222 1823 Fax: (+44) 114 278 0972 - but this may change sometime soon, to become: (+44) 114 222 1810 Email: A.Cowling@dcs.shef.ac.uk [Note from Don Bagert: I should mention that there was an effort made to get some non-U.S. input into the October topic of undergraduate software engineering education, but we did not end up with any submissions. However, it should be mentioned that, due to it being the very first time we had done such a topic, there was only a two-week turnaround between requests for submissions, and the due date. As you can tell from the letter by my co-editor, Kathy Beckman, and from the list of upcoming topics, that we are very interested in getting FASE subscribers from the other 40 countries besides the U.S. involved. Tony, thanks for writing in - and being our very first LOC :) – we hope to hear from you again soon!] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Contact and General Information about FASE The Forum for Advancing Software engineering Education (FASE) is published on the 15th of each month by the FASE editorial board. Send newsletter articles to one of the editors, preferably by category: Articles pertinent to corporate and government training to Kathy Beckman, Kathy.Beckman@cdsi.com; Academic education, and all other categories to Don Bagert, bagert@ttu.edu. Items must be submitted by the 8th of the month in order to be considered for inclusion in that month's issue. Everyone that is receiving this is on the FASE mailing list. If you wish to leave this list, write to listserv@cpm211-1.cs.ttu.edu and, in the text of your message (not the subject line), write: signoff fase To rejoin (or have someone else join) the FASE mailing list, write to listserv@cpm211-1.cs.ttu.edu and, in the text of your message (not the subject line), write: subscribe fase But what if you have something that you want share with everyone else, before the next issue? For more real-time discussion, there is the FASE-TALK discussion list. It is our hope that it will be to FASE readers what the SIGCSE.members listserv is to that group. (For those of you that don't know, SIGCSE is the ACM Special Interest Group on Computer Science Education.) To subscribe to the FASE-TALK list, write to listserv@cpm211-1.cs.ttu.edu and, in the text of your message (not the subject line), write: subscribe fase-talk Please try to limit FASE-TALK to discussion items related to software engineering education and training; CFPs and other such items can still be submitted to me for inclusion into FASE. Anyone that belongs to the FASE-TALK mailing list can post to it. As always, there is no cost for subscribing to either FASE or FASE-TALK! Send requests for information problem reports, returned mail, or other correspondence about this newsletter to fase-request@cpm211-1.cs.ttu.edu. If it is a LOC (letter of comment) that can be included as such in a future issue of FASE, please put "letter of comment" (without the quotes) as the subject. Back issues (from 1997) can be found on the FASE web page (http://www.cs.ttu.edu/fase). The FASE Staff: Don Bagert -- Academic/Misc Editor and ListMaster Dept. of Computer Science 8th and Boston Texas Tech University Lubbock TX 79409-3104 USA Phone: 806-742-1189 Fax: 806-742-3519 Email: bagert@ttu.edu Kathy Beckman -- Corporate/Government Editor Computer Data Systems One Curie Ct. Rockville MD 20850 USA Phone: 301-921-7027 Fax: 301-921-1004 Email: Kathy.Beckman@cdsi.com Laurie Werth -- Advisory Committee Taylor Hall 2.124 University of Texas at Austin Austin TX 78712 USA Phone: 512-471-9535 Fax: 512-471-8885 Email: lwerth@cs.utexas.edu Nancy Mead -- Advisory Committee Software Engineering Institute 5000 Forbes Ave. Pittsburgh, PA 15213 USA Phone: 412-268-5756 Fax: 412-268-5758 Email: nrm@sei.cmu.edu