Forum for Advancing Software engineering Education (FASE) Volume 8 Number 09 (104rd Issue) - September 15, 1998 844 subscribers Note: If you have problems with the format of this document, try ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Table of Contents Note from the Listserv manager: New listserv for FASE This Month's Topic: Graduate SE Program Survey Results & Evaluation Next Month's Topic: SEE&T Outside of the USA December '98 Topic: Software Engineering Ethics Education and Training Upcoming Topics Features CTC Software Engineering Education Panel Summary News Items Licensing - Update Calls for Participation IEEE Software Special Issues Conference Announcements International Conference on Functional Programming Contact and General Information about FASE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From: Don Bagert Note from the Listserv manager: New listserv for FASE All of you received a test email (two if you are also on FASE-TALK) for the new FASE (and FASE-TALK) listserv. I hope that these tests did not disturb your daily routine much. So now, to rejoin (or have someone else join) the FASE mailing list, write to and, in the text of your message (not the subject line), write: subscribe fase For instance, if your name is Jane Smith, write: subscribe fase Jane Smith If you wish to leave this list, write to and, in the text of your message (not the subject line), write: unsubscribe fase For the FASE-TALK listserv, merely substitute FASE-TALK for FASE. If you have any problems with the new listserv(s), please contact me at bagert@ttu.edu. Thanks once again for your support of FASE. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From: Pete Knoke via Don Bagert This Month's Topic: Graduate SE Program Survey Results & Evaluation 1. INTRODUCTION --------------- SURVEY ORIGINS "SE Graduate School Opportunities" was the special topic for FASE V7 N04 (15 Nov 97). That issue contained material and opinions from several SE educators. There was a consensus that the outlook for graduate SE education was considerably improved over the previous six months. Details can be found in the FASE archive (http://www.cs.ttu.edu/fase/archive.htm). The SE graduate materials included a list of 68 SE graduate programs divided into 11 categories. It was derived from a slightly more inclusive list distributed by Nancy Mead of SEI at the 1996 CSEET at Virginia Beach, Virginia. The following statement accompanied that SEI list: "This list was compiled on March 4, 1996, from anecdotal information, not by comprehensive survey. It is not thought to be complete" Also in FASE V7 N4 the following appeared: [Editor's Note: It is my understanding that SEI is no longer maintaining this list of graduate software engineering programs. Would you like to have FASE do an annual survey which would update this list? Please let me know - Don] Since there was considerable positive response to this note, Don Bagert (FASE Academic Editor) decided to go ahead with the survey. SURVEY GOALS The main goal of this first survey was to update the SEI list to make it more complete. Another goal was to capture some data which might, after processing, shed some light on the SE graduate programs picture. SURVEY IMPLEMENTATION A group of interested people helped to generate a survey form with suitable questions and format. Don Bagert, Pete Knoke, Nancy Mead, Dennis Frailey, Kara Nance, and Laurie Werth, were among those who contributed. This task was completed on 8 May 98. The survey form was then distributed directly via the SIGCSE list and indirectly by FASE via a pointer to a web URL. The survey web page address was and is: http://itdc.elmer.uaf.edu/users/knoke/survey_form.cfm The survey form header included a request for form completions on or before 31 Aug 98 to allow some time for survey data processing for this report. GENERAL RESULTS The main survey goal was achieved because the the number of programs on the SEI list was increased by the addition of 21 new programs, a 31% expansion. The new list contains 89 programs instead of the previous 68. However, it is still incomplete. Some survey data processing results were obtained. Our thanks to those who managed to fill out the forms. 2. SURVEY RESULTS ----------------- SOME SPECIFICS * 37 survey forms were returned, 29 from the SIGCSE list and 8 from the web page site. * Of the 37, 4 were dual responses from the same school. Therefore, there were 33 different schools represented. * Of the 33 schools, 7 had no SE courses. Therefore, only 26 different schools with some number of SE courses remained. * Of these 26 schools, 5 already had programs represented on the SEI list. Therefore, there were only 21 new schools. * Some of these 21 new schools had more than one SE-related graduate program. However the processor (Knoke) noticed that the original SEI list didn't seem to treat schools with multiple programs consistently, showing multiple programs for some schools and not others. He decided to list only one SE program from each new school, leaving resolution of this multi-program issue for a later list update. UPDATED SE PROGRAMS LIST The update of the 1996 SEI list, renamed to avoid confusion, is given below. New programs are identified with an asterisk. FASE 1998 List of Graduate SE Programs (Update of SEI 1996 List - 9 Sep 98) -------------------------------------- **MS in Software Engineering --------------------------- Andrews University Brazilian University Consortium City University Colorado Technical College DePaul University Drexel University Edith Cowan University* Imperial College of Science and Technology Mercer University* Monmouth University National Technological University National University Southern Polytechnic State University* Southern Methodist University University of Houston, Clear Lake University of Karlskrona/Ronneby University of Maryland University of Missouri-Kansas City University of Pittsburgh University of Scranton University of St. Thomas University of Stirling ------------------------------- **Master of Software Engineering ------------------------------- Carnegie Mellon University Embry-Riddle Aeronautical University Kansas State University Oregon University System* Santa Clara* Seattle University Texas Christian University Wang Institute of Graduate Studies ------------------------------- **MEng in Software Engineering ------------------------------ University of Colorado -------------------------------------------------- **Master of Science in a software-related discipline --------------------------------------------------- Air Force Institute of Technology (Software Systems Management) Allentown College of St. Francis de Sales (Information Systems)* George Mason University (Software Systems Engineering) Rochester Institute of Technology (Software Development and Management) University of Detroit Mercy (Software Management) University of Hawaii (Information and Computer Sciences)* ------------------------------------------------------- **Master of in a software-related discipline -------------------------------------------------------- Miami University (Systems Analysis) University of St. Thomas (Software Design and Development) ------------------------------------- **MEng in Software Systems Engineering ------------------------------------- University of Colorado at Colorado Springs ------------------------------------------------------- **MS in Computer Science (or similar), optional SE track ------------------------------------------------------- Air Force Institute of Technology Azusa Pacific University (Applied Computer Science and Technology) Boston University (Systems Engineering) Clemson University* East Tennessee State University Florida Atlantic University Georgia Institute of Technology Grand Valley State University (Computer Information Systems) Instituto Tecnologico y de Estudios Superiores de Monterrey (Informatics) Jurusan Teknik Informatika* Mississippi State University North Carolina A&T State University* Northeastern University* Oregon State University* Portland State University Queen's University in Kingston Slovak University of Technology* University of Alabama in Huntsville University of Alaska Fairbanks University of Central Florida (Computer Engineering) University of Central Florida (Computer Systems) University of Iowa University of Memphis* University of Michigan-Dearborn* University of Southern California University of Texas at Austin (Electrical Engineering) University of West Florida Villanova* ----------------------------------------------------------- **Master of Computer Science (or similar), optional SE track ----------------------------------------------------------- Wichita State University ------------------------------------------------------------ **MS in Computer Science (or similar), SE electives available ------------------------------------------------------------ Arizona State University Howard University Purdue University Rensselaer at Hartford* Universidad Autonoma Madrid* University of Florida University of Maryland University of Tennessee ------------------------------------------------------------ **Master of Computer Science (or similar), SE electives available -------------------------------------------------------------- Arizona State University California State University - Fresno* ----------------------------------------------------------- **PhD in Computer Science (or similar), SE electives available ----------------------------------------------------------- Arizona State University George Mason University George Mason University (Information Technology) Mississippi State University* Purdue University Texas Tech University* University of California at Irvine University of Florida University of Maryland ------------------------------- NOTE: * => new SOME DATA ANALYSIS A small amount of survey data analysis was done for this report. More is planned for later. Hopefully, the later analyses can use a larger base of survey forms than now exists. The limited analysis used two unambiguous survey questions for which the answers are numbers. They were, with the data: Minimum Maximum Average Question 13 # of SE courses 2 16 7.9 Question 14 # of FT faculty w. primary interest in SE 0 13 4.3 # of ADJ faculty w. primary interest in SE 0 5 1.7 3. FUTURE SURVEY WORK --------------------- It is proposed to continue the work of updating the SE programs list, seeking improved completeness and accuracy. Efforts will be made to resolve survey issues that have surfaced. These include question ambiguity, the proper handling of multiple inconsistent forms from the same school, etc. Also, survey data processing work is incomplete, and further processing could produce some useful results. Needed are more completed forms to create an expanded data base for processing. 3. A POSSIBLE COMPLEMENTARY APPROACH ------------------------------------ The problem of describing and examining academic graduate programs is of course not unique to SE graduate programs, and there exist commercial data bases of graduate programs that can easily be checked automatically at no cost. One such database is Peterson's. This is on the web, free, and easily searchable with a good search engine (http://peterson.com/graduate). I checked it out recently. The data base consisted of 3795 North American graduate program documents. Using the keyword search feature, the "advanced search" mode, and the keywords "software engineering" I generated a list of 249 SE graduate programs in seconds. Out of curiosity I tried a few different keywords. A sampling of results is below: Keyword # Hits (out of 3795 documents) ------- ------------------------------ engineering 1585 software 773 computer science 678 computer information systems 583 computer engineering 284 software engineering 249 software metrics 21 software process 14 software process improvement 5 CMM 5 Each hit can be easily checked for additional information. This system works by conducting a full text search of all 3795 graduate program documents for each keyword phrase. When further information is requested for a hit, the document is displayed with all instances of the keyword phrase uniquely marked wherever they occur in the document. I believe that this system can be helpful in future SE graduate program list updates, and intend to try using it later. 5. REQUEST FOR ASSISTANCE, COMMENTS, ETC. ----------------------------------------- In this exercise, few survey forms were returned for SE programs that were already on The 1996 SEI list. If more of these were available, processing the survey data base would be more meaningful. More such forms would be appreciated. We would also appreciate simply the names and categories of SE programs that exist but are not now included on the updated list in this report. Comments, criticisms, and advice regarding survey questions (e.g., good new ones, bad old ones) are welcome. Again, many thanks to those who helped with this effort, especially those who took the time to fill out the survey forms. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From: Michael Ryan Next Month's Topic: SEE&T Outside of the USA The tentative structure for the presentation of this topic: Guest editor's comments - Prof. Michael Ryan The European Thematic Network for Computing - Dr. Micheal O'hEigeartaigh, Mr. Ken Maher Software Engineering Education in the United Kingdom - Prof. Andrew McGettrick Software Engineering Education in Germany - Professor Gerhard Zimmermann Software Engineering Education in Poland - Dr. Jacek Bazewicz, Dr. Eva Lukasik Software Engineering Education in Tanzania - Dr. Allen Mushi A small country and software : the software industry in Ireland - Ms. Jennifer Condon [If you are interested in patrticipating, please contact Dr. Ryan.] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From: Don Gotterbarn December '98 Topic: Software Engineering Ethics Education and Training The December issue of FASE will address software engineering ethics education and training in academe and industry. Discussion of course content and methodologies will be included. If you have any useful educational materials on this subject or successful teaching approaches to this subject that you would like to share with other readers, please send your contributions to the guest editor, Don Gotterbarn at gotterba@etsu.edu. Some topics in this area include: Responsibility and liability for development and implementation; Encouraging and enforcing professional standards - Licensing, codes of conduct and standards of practice; Socially responsible hardware and software marketing; Value and accuracy of data and information; Privacy and monitoring; Security and computer misuse; Internet design and use; and the potential tension between (a) financial goals, politics and personal agendas, and (b) social and professional responsibility. Don Gotterbarn gotterba@etsu.edu +1 (423) 439-6849 fax(423) 439-7119 Software Engineering Ethics Research Institute Professor East Tennessee State University Computer and Information Science Box 70,711 Johnson City, TN 37614-0711, USA ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ By: Don Bagert (Academic/Misc Editor) Upcoming topics Nov 1998: To be scheduled Dec 1998: Software Engineering Ethics Education and Training Guest Editor: Don Gotterbarn, East Tennesse State gotterba@etsu.edu [See above Call for Participation] Jan 1999: Software Security and Survivability Education & Training Guest Editor: Nancy Mead, Software Engineering Institute nrm@sei.cmu.edu All dates are subject to change. For more information about a particular issue's topic, please contact the corresponding guest editor. Please refer to the article format provided at the end of each issue when making submissions. Here are some of the other topics planned for future issues: * Accreditation * CASE Tools * Curriculum Models * Distance Learning * Software Process Improvement Education * Student Team Projects Please send any suggestions for future topics to bagert@ttu.edu. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Features ###################################################################### From: Nancy Mead CTC Software Engineering Education Panel Summary At the Conference on Teaching Computing/ItiCSE held in Dublin Ireland this past August, there was a panel on software engineering education. Panelists included: Nancy Mead - SEI - Panel Chair Don Bagert - Texas Tech Oddur Benediktsson - University of Iceland Tom Hilburn - Embry-Riddle Aeronautical University Michael Ryan - Dublin City University Frances Van Scoy - West Virginia University The panel developed the first 7 questions and posted them at the conference, allowing additional questions to be added to the poster by attendees (questions 8-11). The questions were then voted on to determine which ones would be discussed. Questions 1,2,4,7 and 9 received the most votes and two panelists were to speak to each of these questions, as shown. In spite of the small number of questions, we ran out of time in the sessions. Some of the panelist and audience comments are included below. Software Engineering - Panel discussion questions ---------- 1) Is there really a discipline of software engineering on which to base education? (Oddur, Don) 2) Can software engineering education be effectively delivered as part of a university education, or is it best left to industry training or on the job experience? (Michael, Frances) 3) What does it mean to license or certify software engineers? What are the implications for educators? 4) What part of software engineering education is best reserved for graduate study and what should be included in undergraduate study? (Don, Michael) 5) How does SW engineering relate to traditional engineering? 6) What kind of support and resources are needed to offer a SW engineering program? 7) Should part of the software engineering discipline be considered science and other parts engineering? (Oddur, Tom) 8) When/how do you get (worked-out) projects? 9) How can we integrate Human Engineering and HCI considerations into SE? (Frances, Tom) 10) How can we convince students that scale is the big issue? 11) How can we convince students of the importance of reliability? ---------------------------------------------------------------------- Question 1: Is there really a discipline of software engineering on which to base education? Answer to Question 1 from Oddur Benediktsson [Oddur discussed the 4 decades of SW history and the innovations that took place in each decade. This was his argument that there is a SW engineering discipline] ---------- SE - History 1960s 1970s 1980s 1990s IBM/360 PDP-8 Unix Intel 4004 VAX/VMS MVS Ethernet IBM PC Machintosh Internet MS Windows Motif $1000-PC Sun Solaris Windows 95 & NT Linux WWW Assembler Std. Fortran Std. Cobol C PL/I Ada Pascal SQL C++ Java Web tools Flow diagrams Record layouts Decision tables SE defined Life-cycle Requirements specifications, Structured programming Top down & BU Pseudocode Structured A&D DFD, ER HIPO Testing methods Peer Reviews Metrics-Boehm CASE Processes WSH ISO9000&TickIt SW Project mgmt. FP estimation Cleanroom Deming & Crosby OO-Rumbaugh Use Cases - IJ UML QDF CMM ISO12207 LC ISO15504 SPICE ---------------------------------------------------------------------- Answer to question 1 from Don Bagert: When considering "Is there a software engineering discipline on which to base education?", these questions came to mind: Is computer science education insufficient for what is desired from software engineering education? Answer: Yes. (Computer science focuses on the scientific aspects of all areas of computing. The primary goal of an engineer is to produce a reliable product on time and within budget. CS does some training in this area, but does not completely prepare a graduate for the development of complex software systems. Software engineering would.) Is there a distinct software engineering body of knowledge (BoK)? Answer: Yes. (Various groups, including the IEEE-ACM task force which a pilot survey for determining the BoK, and team developing the "Guidelines for Software Education", have identified various aspects of a body of knowledge separate from - although sometimes overlapping - computer science.) Is there a distinct software engineering research base? Answer: Yes. (IEEE Transactions on Software Engineering is 24 years old, and the International Conference on Software Engineering is even older. Computer science programs have been graduating Ph.D. with dissertations focusing solely on software engineering for many years. Just as with other major engineering disciplines, software engineering has areas of research which can be, should be, and have been addressed by industry, government, and academia.) Therefore, yes, I believe there is a software engineering discipline upon which to base education. ---------------------------------------------------------------------- Comments on question 1, courtesy of Frances: Michael spoke of the need for professional formation of our students. An audience member suggested that we are expecting too much of undergraduate software engineering programs, and pointed out that we do not expect someone with a bachelor's degree in biology to practice medicine immediately after graduation. Michael talked about the difference between theory and application in terms of bicycles. There is a body of theoretical knowledge, which explains how a bicycle stays up, but the skills needed to ride a bicycle are of a different sort. An audience member from the UK said that at his university an industrial panel review proposed project topics submitted by students and judges their appropriateness. --- Is there a real academic discipline? --- Don: 1. Is CS doing the job we want in SE? Yes in theory No in complex systems (If CS doesn't do it, EE will.) 2. Is there a distinct SE body of knowledge? 3. Is there a distinct SE research base? Yes, and we need to think about Ph.D. programs in SE Oddur: Changes in languages taught over the years 1960s Assembly, Fortran, C 1970s C, PL/I, Ada, Pascal [Actually I would put Ada in the 1980s since the LRM came out in 1979, although universities were working on implementing it in the 1970s] 1980s SQL, C++ 1990s Java, web tools Industry in Iceland forced the universities to have a more practical curriculum than that advocated by the ACM ---------------------------------------------------------------------- Audience comments on question 1, courtesy of Frances: Audience comment: Software fails not because of technical issues but because of scale/complexity/misunderstandings so we need more management, psychology, and "group theory" [as in group dynamics, not as a specialty of abstract algebra] Audience comment [from Australia] Does software engineering belong in computer science or engineering? At his university a new degree program was stalled for 2 years because this question could not be answered. Audience Comment: Graphics and animation are electives in a CS degree SE should be electives in the CS degree, not a separate degree Don: For SE to be taught properly in a CS degree program, we would need a major change in the view of CS faculty towards software Audience comment: CS is more open to cognitive science than SE is ---------------------------------------------------------------------- Question 2: Can software engineering education be effectively delivered as part of a university education, or is it best left to industry training or on the job experience? Answer to question 2 from Frances: ROLE OF UNIVERSITIES IN EDUCATION AND TRAINING I didn't fully appreciate the variety of software engineering education and training offered by West Virginia University until a friend's husband phoned me this spring. He is a pharmacist, but is feeling restless and would like to change careers. He enjoys working with computers and knows that there are software engineering jobs in the area. What courses does WVU offer that would qualify him for some of these jobs? His house is paid for, his children are grown and through college, and his wife is employed, so he can afford to take some time off to re-train. I explained to him that he has four options: (1) He can earn a second bachelor's degree in computer science with an emphasis in software engineering. Because of the prerequisite structure of the required courses this would likely take three years. (2) He can earn a "certificate" in software engineering by taking night classes in his hometown. (Coincidentally he works in Morgantown, where WVU is located, but lives about 20 miles away in Fairmont, where most of the software engineering jobs in the region are located.) There are two ways to be admitted to this program: a bachelor's degree in computer science or related field or a bachelor's degree in anything and a full time job in software or technology. The certificate program consists of 5 graduate level courses: an introduction to objected oriented design, software systems analysis and design, software development program management, applied verification and validation, and system life cycle and configuration management. He can complete this program, highly popular with local employers, in one year of evening classes. (3) Upon completion of the certificate he can continue for a Masters of Science in Software Engineering. This will take an additional one to two years. Information on both of these programs can be found at http://www.csee.wvu.edu/students/grad/msse.html (4) He can take evening or weekend courses, which serve as preparation for vendor certification programs. Currently WVU offers weekend courses, which prepare students for the Oracle certification exams. WVU and other colleges in the state are developing courses in support of certification by Cisco, Microsoft, and Novell. This program is much more modular than the other more traditional options and is the one he chose. Additional comments: It should be taught by universities. Software engineers need to learn their profession. Industry should assume some responsibility. ---------------------------------------------------------------------- Question 4: What part of software engineering education is best reserved for graduate study and what should be included in undergraduate study? This question was not discussed due to time constraints, but here is Don's response: The best way for me to provide an answer to the undergraduate question is to use my own school, Texas Tech, as an example. Computing courses in the BS in CS curriculum are broken down (using my own classification system, not the university's) as follows: Software engineering - 9 hours (introduction to SE and two- semester capstone senior project) Computer science - 33 hours (CS1, CS2, discrete structures, concepts of programming languages, systems programming, design & analysis of algorithms, operating systems, and 9 hours of electives) Computer engineering - 12 hours (computer organization & assembly languages, computer architecture, and two semesters of digital logic) Total - 54 hours of computing courses in the current BS in CS program at Texas Tech This might be how an undergraduate software-engineering curriculum might look someday at TTU: Software engineering - 24 hours (SE seminar, introduction to SE, specification & design, construction & evolution, formal methods, software process improvement, project management, two-semester capstone senior project) Computer science - 21 hours (CS1, CS2, discrete structures, concepts of programming languages, design & analysis of algorithms, and operating systems) Computer engineering - 9 hours (computer organization & assembly languages, computer architecture, and one semester of digital logic) Total - 54 hours of computing courses in the projected BS in SE program at Texas Tech (the same as in CS) For a graduate program where the student has already had the SE courses above, the focus should be on: More theory Advanced versions of some undergraduate courses More application domain-specific courses Areas of CS too specialized for undergraduate education ---------------------------------------------------------------------- Question 7: Should part of the software engineering discipline be considered science and other parts engineering? Answer to question 7 from Oddur: Profession Typical activities Samples Computer and EE Hardware design Design of interfaces, transport layers... Embedding systems Intel CPU Xerox Parc - Ethernet RS232, X.25... Appliances Computer Scientist Mathematical CS New paradigms New frontiers NN - New algorithms Dijkstra - OS Architecture Codd - Relational database Hoare - Monitors Software Development Professional SW system A&D Application/ modification of algorithms and data structures Implementation Thompson & Ritchy Linux - Linux OS Stroestroup - C++ Rumbaugh -- OMT NN - Systems Management and SW Engineer Project management Quality control Support activities Risk analysis. Computer and SW Business Administrator Organizational goals Management Human resource management Infrastructure Bill Gates Question 7: Notes on the discussion, courtesy of Frances: Tom 4 views of relation between CS and SE (Tom drew Venn diagrams: SE inside of CS-- as in ACM IEEE-CS curricula CS inside of SE CS and SE intersecting CS and SE totally disjoint -- the view of some colleagues) Oddur List of job titles reduces to: (1) Computer and electrical engineer (2) Computer scientists (3) Software development professional (4) Management and software engineering (5) Computer and software business administration We need most of (3) (3), (4), and (5) are all caused by new ISO study Audience comment: I fear we're specifying a product we're incapable of delivering! Comment from Michael: If we call it Computing then we don't get into the debate of whether it is science or engineering, and computing is a broader term. ---------------------------------------------------------------------- Question 9: How can we integrate human engineering and HCI considerations into software engineering? Answer to question 9 from Frances: HUMAN COMPUTER INTERFACES AND SOFTWARE ENGINEERING EDUCATION I'd like to address this topic in two ways (1) What we currently do And (2) What I view as the mid-term future At times I lead an ethics seminar. One resource we use in that seminar is "The Case of The Killer Robot," which has a user interface component. Also, one course in our Masters of Science in Software Engineering program is "Human Computer Interfaces." I believe there is a body of generally accepted practice, such as that described by Ben Schneiderman in Designing the User Interface (1998, 3rd edition, Addison-Wesley), which can and should be taught to software engineering students. However, I also believe that there is much need for additional (computer science?) research in such interfaces. The key word driving this work is one I've heard on various recent trips to Europe-- "defenestration." In Prague I heard the word used to describe the fate of some poor men who left the castle involuntarily, through the window. In Dublin this week I heard the word used to describe the decision to build the parliament building (now the Bank of Ireland) [I don't have my tour book with me at the office so am unsure of the original name of the building--this is the curvy building across the street from Trinity College] without windows to save money on the window tax. Tom DeFanti of the University of Illinois at Chicago uses the word (in his paper The Coming Defenestration: Immersive Environments without Windows, IEEE Multimedia, and volume 3, number 4, winter 1996, pages 6-9) to describe a time in the near future (already here in some research labs) when our familiar windows+mouse+icon user interface will be replaced by an immersive environment, which includes 3d vision and 3d sound. Today it costs about one million US dollars to build a 10 foot square immersive environment. What will be the user interface a few years from now when most computing faculty have offices that are immersive environments? (This is a topic which researchers at my university are exploring.) ---------------------------------------------------------------------- Answer to question 9 from Tom: According to Jacob Nielson book--Usability Engineering -- 30% of the effort is in HCI . How to capture HCI in CS and SE? Sneak it into 1st year, where CS faculty don't teach, and instill a desire to produce artifacts that satisfy users. In the UK many departments are moving from well defined textual user interfaces to an "applet first" approach that is, from an engineering approach to hacking. We need to sensitize students to concept that products are used by people with foibles. SE and usability engineering must permeate curriculum as both ACM and BCS recommend ---------------------------------------------------------------------- From Frances Van Scoy: Notes from my Slides (generally not used at ITiCSE) Software Engineering and the Discipline of Computing Frances L. Van Scoy Associate Professor of Computer Science West Virginia University Morgantown, WV 26506-6109 USA 304-293-0405 fax 304-293-8602 Co-Project Director, WV EPSCoR 886 Chestnut Ridge Road, P.O. Box 6845 Morgantown, WV 26506-6845 USA 304-293-2466 fax 304-293-8155 http://www.cs.wvu.edu/~vanscoy Integration of Technology into Computer Science Education Dublin, Ireland August 20, 1998 We can view computing as passing through 4 phases to date, each with its own emphasis and dominant programming language. In the mid 1940s to mid 1960s the emphasis was on computer programming and the significant language was Fortran. After the design of Algol and the serendipitous recognition of the relationship between the BNF notation used to describe Algol and the formal language work of Noam Chomsky and others, computing entered a time of emphasis on computer science. An example achievement of computer science is the extension of formal language theory to results applicable to commercial compiler construction. This period lasted from the mid 1960s to the mid 1980s. Increased efforts to solve the "software crisis" led to an emphasis on software engineering and Ada beginning in the mid 1980s. I've claimed that the previous computing phases of computer programming and computer science lasted about 20 years each. Are we nearing the end of high visibility of software engineering? In fact we may have already in the mid 1990s moved to a new phase of computing--information technology with an emphasis on the web, digital libraries, and virtual environments and the Java language. My advice, then, for an academic department of computing is to remain flexible and nimble--always looking for new paradigms, new languages, new concepts to include in curricula while retaining the best of earlier phases of the discipline. For example, at West Virginia University we continue to offer service courses and electives in computer programming (such as a C++ course) and have a compiler construction course as a prerequisite for a required course in our masters program in computer science. Our undergraduate degree program has undergone major revisions in the past decade to give it a software engineering emphasis. These changes persist, including an Ada-based introductory sequence, a strong emphasis on working with formal specifications in the second course, and a required third year survey of software engineering with a unit on the personal software process. Meanwhile our students learn to write Java applets, and work with university and state initiatives in electronic theses and virtual environments. (In August 1998 WVU became the 2nd US university to require all graduate theses and dissertations to be submitted electronically. In summer 1998 we are buying an ImmersaDesk to support research and education in virtual environments.) Colleges and universities have the luxury and privilege of providing education (versus training) to their students. An example is the principles of programming languages course described in a paper presented at this conference. A major goal of this course is preparing students to learn in the future not-yet-designed languages independently as opposed to providing in depth training in a current high-demand language such as Java. As another example, several years ago I taught a masters level course in software verification and validation. After a few weeks a company vicepresident pulled his people from my class and complained to the head of my department that I obviously didn't know the course material because rather than teach the one best way of doing V & V I presented several approaches and pointed out the weaknesses (as well as strengths) of each. He saw this as an indication of weakness and uncertainty on my part. I believe he expected training for his employees, while I tried to provide education. Tax-supported universities have several constituencies, often with conflicting goals. Students want education that gives them many employment options. Universities are eager to comply, since alumni dispersed nationwide (and worldwide) can enhance a university's reputation, and 20 years after graduation an alumnus/alumna now a CEO of a Silicon Valley company can provide many kinds of assistance to his/her alma mater. Local industry wants a work force with skills focused on its specific needs. Universities can provide both breadth and specialization at the cost of adding a year to the degree program, an option not favored by parents. In West Virginia we are attempting to meet these needs in several ways. WVU's bachelors, masters, and doctoral programs in computer science all provide opportunities for instruction and projects in software engineering. A new master of science in software engineering program, intended for people currently working in the local software industry, is offered evenings at an industrial consortium site in a neighboring county. The state community college system is developing courses to prepare adults to take exams leading to vendor certification by companies such as Oracle and Cisco. These courses will be offered in asynchronous mode using distance learning techniques. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ News Items ###################################################################### From: Don Bagert (Academic/Misc Editor) Licensing - Update [Editor's Note: This is the latest of a continuing series of articles concerning licensing issues in software engineering, including most issues of FASE since December 1997.] * According to Dave Dorchester of the Texas Board of Professional Engineers, the National Council of Examiners for Engineering and Surveying (NCEES) voted at their annual meeting in August to investigate the possibility of developing licensing exams for software engineering. Such examinations could then be used throughout the USA by any state board that wanted to use them. * The August/September issue of Engineering Times (Volume 20, Number 7), published by the National Society of Professional Engineers, has an article titled "Software Engineers Licensed" (page 1+). Dennis Frailey, co-chair of the Joint IEEE Computer Society and ACM Steering Committee for the Establishment of Software Engineering as a Profession, John Speed, Executive Director of the Texas Board of Professional Engineers, and FASE Co-Editor Don Bagert were interviewed for this article. Later in this issue, in a letter to the editor on page 4, Guy Letourneau, a Professional Engineer with Warren, Oregon, writes: "Texas has the right idea. Let the state engineering boards step in quickly and issue state-backed software and network engineering credentials to qualified persons." (This quote was featured in large type on that page.) (A previous article on the licensure of software engineers was in the May 1998 issue of Engineering Times, as noted in the May issue of FASE.) * The same issue of Engineering Times has an article entitled "National PE Licensure Debate Heats Up" (page 1+). The article is also on the NSPE web page at http://www.nspe.org/etweb/18fea-98.htm. An editorial supporting a discussion of national licensure is on page 4 of the same issue. Although software engineering was not mentioned in these items, if national licensing of professional engineers did come to pass, this might affect how quickly SE licensing spreads from Texas to the rest of the U.S. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Calls for Participation ###################################################################### From: SEWorld listserv via Laurie Werth IEEE Software Special Issues CALL FOR ARTICLES AND REVIEWERS Critical Success Factors in Software Projects What makes a software project successful? IEEE Software seeks reports from consultants, project teams, researchers, and other software practitioners on the key factors in effective software projects. Contributions may be from a software engineering perspective or an application-oriented context. They should be original and conform to the instructions to authors available at http://www.computer.org/software/. Note particularly the different genres of article accepted by IEEE Software, including essays, case studies, and how-to's. Each submission will be peer reviewed according to its article genre. Submissions need not be scholarly research papers. Manuscripts due: 30 Oct 1998 For more information, contact guest editor: Andy Bytheway University of the Western Cape +27 21 959 2578 Fax Email: andy_bytheway@csi.com To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including figures and tables, which count for 200 words each. CALL FOR ARTICLES AND REVIEWERS Cross-Pollinating Disciplines In modern society, software controls many systems, products, and services that permeate all aspects of our lives. Ideally, every engineering discipline should learn from each other's strengths to minimize the risk to public safety. However, the specialization within each discipline often inhibits mutual learning. We are looking for lessons the software industry can learn from other engineering disciplines, and vice versa. If your background is in a field other than software, we would especially like you to submit an article to our upcoming issue on Cross-Pollinating Disciplines. The software industry includes many people with different backgrounds, and all engineers would benefit from the sharing of knowledge. For more information, contact guest editor: Tomoo Matsubara Matsubara Consulting tmatsu@xa2.so-net.ne.jp To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including figures and tables, which count for 200 words each. CALL FOR ARTICLES AND REVIEWERS Process Diversity The phrase "process diversity" means different things -all interesting!-to different people. IEEE Software seeks articles on: * Processes that work * Processes that fail * RAD processes * Processes for high-reliability software * Internet processes * Formal vs. informal processes * Large-project vs. small-project processes * Modifications and customizations of CMM, ISO,... To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including tables and figures, which count for 200 words each. CALL FOR ARTICLES AND REVIEWERS The Linux Operating System January/February 1999 Are you a participant in the development of Linux? Can you clearly explain its essential features and capabilities? Have you used Linux in an application where it proved to be either highly beneficial or flatly inappropriate? Have you done a detailed comparison of Linux to other operating systems? Are you a software vendor who decided to support Linux? Have you thought about how the open software process of Linux differs from traditional centralized software development, and what those differences might imply? Have you thought about the international implications of a free, open operating system that makes supercomputing possible for any group with a large number of PCs? If you answered yes to any of these questions, IEEE Software would like you to submit an article for our upcoming special issue on The Linux Operating System. We are looking for articles that address a range of Linux issues, from easy-to-read basic introductions to thorough analyses and predictions of how Linux could change the future of PC-based computing, parallel computing, and software development. Manuscripts due: 1 Nov 1998 For more information, contact the guest editors: Terry Bollinger The Mitre Corporation +1 703 883-5638 phone +1 703 883-7762 fax terry@mitre.org Peter H. Beckman Los Alamos National Laboratory +1 505 665-0800 phone +1 505 665-4939 fax beckman@acl.lanl.gov To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including figures and tables, which count for 200 words each. CALL FOR ARTICLES AND REVIEWERS Life in an Internet World: Software Security Major sectors of the global economy like energy, transportation, and telecommunications are depending more and more on the Internet. This interconnectedness increases some security risks and creates a few new ones. We are looking for articles that address the following issues: * How secure is online personal information? * How vulnerable are major elements of our infrastructure (power, telephone, banking, etc.) to electronic attack? * What is the tradeoff between easy access and security? What is technically feasible? * How do we recover from short-term security breaches? To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including tables and figures, which count for 200 words each. Calls for Papers IEEE Software wants you! Actually, we want articles by you on * Linux * Fixing the Software Labor Shortage * Software Development in the Face of Rapid Technology Change * Effective Ways to Address the Challenge of Distributed Development (multisite, multiculture, and so on) * Process Diversity * Cross-Pollinating Disciplines * Licensing & Certification of Software * Design of Software Organizations * Life in an Internet World: Software Security * What Needs to be Done to Define Software Engineering as a Profession * Software Development for Embedded Consumer Systems * Software Estimation: Recent Advances * Critical Success Factors for Software Projects * We are also interested in papers on general software development topics. These topics fall within the scope we've defined so far. If you think we'd be interested in other topics, by all means tell us! To submit an article or to become a reviewer, contact Angie Su at asu@computer.org. Articles must not exceed 5,400 words including figures and tables, which count for 200 words each. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Conference Announcements ###################################################################### From: Matthias Felleisen International Conference on Functional Programming CALL FOR PARTICIPATION INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING BALTIMORE '98 --- September 27-29, 1998 Sponsored by ACM SIGPLAN with DEC CRL, Ericsson, Lucent (Bell Labs), Microsoft Research (Cambridge), NEC Research, and MIT Press http://www.cs.rice.edu/Conferences/ICFP98/ ---------------------------------------------------------------------- Scope: ICFP provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. The conference covers the entire spectrum of work, from practice to theory, including its peripheries. General Chair: Matthias Felleisen (Rice University) Programs Chairs: Paul Hudak (Yale University) Christian Queinnec (Universite Paris 6) Local Organizer: Scott F. Smith, Johns Hopkins University ---------------------------------------------------------------------- For more details, see http://www.cs.rice.edu/Conferences/ICFP98/ Program: http://www.cs.rice.edu/Conferences/ICFP98/schedule.html Registration Form: eletronic: http://www.acm.org/sigs/icfp/icfpreg.htm fax/postal: http://www.acm.org/sigs/icfp/icfpreg.txt Conference Center/Hotel Information: http://www.cs.rice.edu/Conferences/ICFP98/center-hotel.html ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 ; Academic education, and all other categories to Don Bagert . Items must be submitted by the 8th of the month in order to be considered for inclusion in that month's issue. Also, please see the submission guidelines immediately below. FASE submission format guidelines: All submissions must be in ASCII format, and contain no more than 70 characters per line (71 including the new line character). This 70-character/line format must be viewable in a text editor such as Microsoft Notepad WITHOUT using a "word wrap" facility. All characters (outside of the newline) should in the ASCII code range from 32 to 126 (i.e. "printable" in DOS text mode). [NEW SUBSCRIBE/UNSCRIBE INFORMATION - September 15, 1998] Everyone that is receiving this is on the FASE mailing list. If you wish to leave this list, write to and, in the text of your message (not the subject line), write: unsubscribe fase To rejoin (or have someone else join) the FASE mailing list, write to subscribe fase For instance, if your name is Jane Smith, write: subscribe fase Jane Smith But what if you have something that you want to 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 and, in the text of your message (not the subject line), write: subscribe fase-talk For instance, if your name is Jane Smith, write: subscribe fase-talk Jane Smith 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 the editor for inclusion into FASE. Anyone that belongs to the FASE-TALK mailing list can post to it. FASE-TALK is also used by the editors for "breaking stories" i.e. news that we feel that you would want to hear about before the next issue of FASE comes out. (We do this sparingly, though.) As always, there is no cost for subscribing to either FASE or FASE-TALK! Back issues (dating from the very first issue) can be found on the web (with each Table of Contents) at or through ftp at . The FASE Staff: Don Bagert -- Academic/Misc Editor, ListMaster, and Archivist 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