正在加载图片...
946 TEACHING THE METHOD $29.5 administratively possible,it is by far preferable to run such a project over an entire schoolyear,even if the total amount of allocated work is the same.Trimester projects,in particular,border on the absurd;they either stop at the analysis or design stage,or result over the last few weeks in a rush to code at any cost and using any technique that will produce a running program-often defeating the very purpose of software engineering education.You need more time,if only to let the students appreciate the depth of the issues involved in building serious software.A year-long project,whether or not it is part of a longer-term policy,favors this process.It is more difficult to fit into the typical curriculum than the standard course,but worth the fight. 29.5 AN OBJECT-ORIENTED PLAN The idea of a long-term teaching strategy based on reuse,as well as the earlier suggestion of organizing an entire curriculum around object-oriented concepts,may lead to a more ambitious concept which goes beyond the scope of software education to encompass research and development.Although this concept will be appealing to certain institutions only,it deserves a little more thought. Assume a university department (computing science,information systems or equivalent)in search of a long-term unifying project-the kind of project that produces better teaching,development of new courses,faculty research,sources of publication, Ph.D.theses,Master's theses,undergraduate projects,collaborations with industry and government grants.Many a now well-respected department originally "put itself on the map"through such a collective multi-year effort. The object-oriented method provides a natural basis for such an endeavor.The focus of the work will not be compilers,interpreters and development tools(which may already be available from companies)but libraries.What object technology needs most to progress today is application-oriented reusable components,also called domain libraries. A good O-O environment will already provide,as noted,a set of general-purpose libraries covering such universal needs as the fundamental data structures and algorithms of computing science,graphics,user interface design,parsing.This leaves open entire application domains,from Web browsing to multimedia,from financial software to signal analysis,from computer-aided design to document processing,in which the need for quality software components is crying. The choice of such a library development project as a unifying effort for a university department presents several advantages: Even though this is a long-term pursuit,partial results can start to appear early. Compilers and other tools tend to be of the all-or-nothing category:until they are reasonably complete,distributing them may damage your reputation more than it helps it.With libraries,this is not the case:just a dozen or two quality reusable classes can render tremendous services to their users,and attract favorable attention. Because an ambitious library is a large project,there is room for many people to contribute,from advanced undergraduates to Ph.D.candidates,researchers and946 TEACHING THE METHOD §29.5 administratively possible, it is by far preferable to run such a project over an entire schoolyear, even if the total amount of allocated work is the same. Trimester projects, in particular, border on the absurd; they either stop at the analysis or design stage, or result over the last few weeks in a rush to code at any cost and using any technique that will produce a running program — often defeating the very purpose of software engineering education. You need more time, if only to let the students appreciate the depth of the issues involved in building serious software. A year-long project, whether or not it is part of a longer-term policy, favors this process. It is more difficult to fit into the typical curriculum than the standard course, but worth the fight. 29.5 AN OBJECT-ORIENTED PLAN The idea of a long-term teaching strategy based on reuse, as well as the earlier suggestion of organizing an entire curriculum around object-oriented concepts, may lead to a more ambitious concept which goes beyond the scope of software education to encompass research and development. Although this concept will be appealing to certain institutions only, it deserves a little more thought. Assume a university department (computing science, information systems or equivalent) in search of a long-term unifying project — the kind of project that produces better teaching, development of new courses, faculty research, sources of publication, Ph. D. theses, Master’s theses, undergraduate projects, collaborations with industry and government grants. Many a now well-respected department originally “put itself on the map” through such a collective multi-year effort. The object-oriented method provides a natural basis for such an endeavor. The focus of the work will not be compilers, interpreters and development tools (which may already be available from companies) but libraries. What object technology needs most to progress today is application-oriented reusable components, also called domain libraries. A good O-O environment will already provide, as noted, a set of general-purpose libraries covering such universal needs as the fundamental data structures and algorithms of computing science, graphics, user interface design, parsing. This leaves open entire application domains, from Web browsing to multimedia, from financial software to signal analysis, from computer-aided design to document processing, in which the need for quality software components is crying. The choice of such a library development project as a unifying effort for a university department presents several advantages: • Even though this is a long-term pursuit, partial results can start to appear early. Compilers and other tools tend to be of the all-or-nothing category: until they are reasonably complete, distributing them may damage your reputation more than it helps it. With libraries, this is not the case: just a dozen or two quality reusable classes can render tremendous services to their users, and attract favorable attention. • Because an ambitious library is a large project, there is room for many people to contribute, from advanced undergraduates to Ph. D. candidates, researchers and
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有