正在加载图片...
942 TEACHING THE METHOD $29.4 formal methods(as noted above);functional programming;logic programming(where the connection with assertions should be emphasized);introduction to artificial intelligence (where inheritance is a key concept for knowledge representation);databases (which should reserve a central place for the notion of abstract data type,and include a discussion of object-oriented databases). Even computer architecture courses are not immune from the influence ofO-O ideas, as concepts of modularity,information hiding and assertions can serve to present the topic in a clear and convincing manner. Graduate courses At the graduate level,many O-0 courses and seminars are possible,covering more advanced topics:concurrency,distributed systems,persistence,databases,formal specifications,advanced analysis and design methods,configuration management, distributed project management,program verification. A complete curriculum This incomplete list shows the method as being so ubiquitous that it would make sense to design an entire software curriculum around it.A few institutions have made some progress in that direction.No doubt in the years to come someone will jump and convince the management of some university to go all the way. 29.4 TOWARDS A NEW SOFTWARE PEDAGOGY Not only does object technology affect what can be taught to students of software topics; the method also suggests new pedagogical techniques,which we will now explore. An important note:the strategies described in the rest of this chapter are still somewhat futuristic.I believe that they must and will become prevalent for teaching software,but their full application will require an infrastructure which is not yet fully in place,in particular new textbooks and different administrative policies. If you or your institution are not ready to apply such strategies,this does not mean that you should remove objects from your teaching.You can still,as described in the preceding sections,instill variable doses of object technology in your courses while retaining compatibility with your current way of teaching.And you should read the rest of this chapter anyway since,even if you do not follow its more radical suggestions,you might find an idea or two immediately applicable in a more conventional context. The consumer-to-producer strategy An O-O course on data structures and algorithms can,as noted above,be organized around a library.This idea actually has much broader applications. A frustrating aspect of many courses is that teachers can only give introductory examples and exercises,so that students do not get to work on really interesting942 TEACHING THE METHOD §29.4 formal methods (as noted above); functional programming; logic programming (where the connection with assertions should be emphasized); introduction to artificial intelligence (where inheritance is a key concept for knowledge representation); databases (which should reserve a central place for the notion of abstract data type, and include a discussion of object-oriented databases). Even computer architecture courses are not immune from the influence of O-O ideas, as concepts of modularity, information hiding and assertions can serve to present the topic in a clear and convincing manner. Graduate courses At the graduate level, many O-O courses and seminars are possible, covering more advanced topics: concurrency, distributed systems, persistence, databases, formal specifications, advanced analysis and design methods, configuration management, distributed project management, program verification. A complete curriculum This incomplete list shows the method as being so ubiquitous that it would make sense to design an entire software curriculum around it. A few institutions have made some progress in that direction. No doubt in the years to come someone will jump and convince the management of some university to go all the way. 29.4 TOWARDS A NEW SOFTWARE PEDAGOGY Not only does object technology affect what can be taught to students of software topics; the method also suggests new pedagogical techniques, which we will now explore. An important note: the strategies described in the rest of this chapter are still somewhat futuristic. I believe that they must and will become prevalent for teaching software, but their full application will require an infrastructure which is not yet fully in place, in particular new textbooks and different administrative policies. If you or your institution are not ready to apply such strategies, this does not mean that you should remove objects from your teaching. You can still, as described in the preceding sections, instill variable doses of object technology in your courses while retaining compatibility with your current way of teaching. And you should read the rest of this chapter anyway since, even if you do not follow its more radical suggestions, you might find an idea or two immediately applicable in a more conventional context. The consumer-to-producer strategy An O-O course on data structures and algorithms can, as noted above, be organized around a library. This idea actually has much broader applications. A frustrating aspect of many courses is that teachers can only give introductory examples and exercises, so that students do not get to work on really interesting
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有