home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / edu / 2284 < prev    next >
Encoding:
Internet Message Format  |  1993-01-08  |  3.4 KB

  1. Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!news.cs.indiana.edu!umn.edu!news.d.umn.edu!not-for-mail
  2. From: kpierce@andre.d.umn.edu (Keith Pierce)
  3. Newsgroups: comp.edu
  4. Subject: Re: Projects in Software Engineering Courses
  5. Date: 8 Jan 1993 13:22:14 -0600
  6. Organization: University of Minnesota, Duluth
  7. Lines: 58
  8. Distribution: world
  9. Message-ID: <1ikk96INN7me@andre.d.umn.edu>
  10. NNTP-Posting-Host: andre.d.umn.edu
  11.  
  12. Here at the University of Minnesota Duluth, I've tried from-scratch
  13. development projects for several years. The results were usually
  14. disappointing: the product, if finished at all, was of very low quality
  15. and rarely met specifications completely; the one-quarter
  16. time limit was so short that near the end of the term students abandoned
  17. all of the engineering principles learned in class and resorted to
  18. fire-drill mode in order to get a product finished before finals; such
  19. practice negated much of what I tried to teach them about quality
  20. assurance, the value of inspections, the importance of a well-defined
  21. and rigorously followed process, and so forth. Lastly, most efforts were
  22. simply abandoned as unusable, thus further reinforcing the
  23. all-too-often-correct impression that in computer science we teach
  24. throw-away programming.
  25.  
  26. Lately, I've tried a project in which students are required to perform
  27. maintenance exercises on a large software artifact. This approach has
  28. been much more satisfying. Students write only a few hundred lines of
  29. code, and so they have time to put in place and follow a good process
  30. which includes mandatory inspections and formal reviews, a configuration
  31. management plan, a thorough test plan (which includes significant
  32. regression testing), as well as the usual requirements analysis and
  33. specification, design, coding, and testing of a modification. The
  34. project continues from quarter to quarter, each class starting with the
  35. product and documentation as it was left by the previous class.
  36.  
  37. The upshot is that students get a good dose of aspects of software
  38. engineering that they don't get in other courses, without the killer
  39. coding phase (so they have time for other activities like sleeping and
  40. studying for their other courses). In addition students gain very
  41. forcefully an appreciation for the quality attribute of maintainability,
  42. since their friends in the next class will have to live with what they
  43. leave behind.
  44.  
  45. For a couple of years I used the SEI's DASC artifact, a 10,000-line Ada
  46. program. Since our students don't know Ada, they lost several weeks just
  47. ramping up, which diminished the effectiveness of the project (this is a
  48. good basis for a project, though, if your students know Ada). This year
  49. I started using a compiler, written in Pascal, that compiles and
  50. interprets programs written in Pascal-S, a subset of Pascal. I'm pleased
  51. with the project: not only has it eliminated the language problem, but
  52. also students gain significant experience in regression testing, since I
  53. have obtained for their use a version of the Pascal Validation Suite,
  54. from which we extracted about 300 test programs. Students have had to
  55. wrestle with setting up automated test procedures.
  56.  
  57. I am planning to make this project available to the general public.
  58. Please reply to me if you would like to try the project.
  59.  
  60. In summary, consider maintenance projects for such courses.
  61.  
  62.  
  63. Keith Pierce, Professor
  64. Department of Computer Science 
  65. University of Minnesota, Duluth
  66. Duluth, MN 55812-2496
  67.  
  68. internet: kpierce@d.umn.edu
  69. bellnet:  218-726-7194
  70.