{"title":"我希望我在学校学到的东西:30多年软件开发人员的反思","authors":"B. Selić","doi":"10.1109/CSEET.2005.43","DOIUrl":null,"url":null,"abstract":"Computer science and software engineering curricula are, by now, long established in most institutions of higher learning. They have evolved from a few utilitarian courses that taught essential programming skills to fully-fledged academic fourand even five-year programs to match the growing body of experience and knowledge in the field. Yet, it seems that some quite fundamental gaps persist in the education of software experts rendering many of them inadequately prepared for industrial software development. These problems, which are both technical and cultural, can be addressed only if there is a clearer understanding of the nature of software technology. Knowing how software differs from traditional technologies will indicate where innovative approaches to teaching are necessary, whereas knowing how it is similar to those technologies will help us understand where classical time-proven methods can be applied. This talk identifies some of the key problem areas in current curricula and describes suggestions for dealing with them from the perspective of a long-term practitioner of industrial software development. Bio: Bran Selic is an IBM Distinguished Engineer at IBM Rational and an adjunct professor at Carleton University in Ottawa, Canada. He has over 30 years of experience in designing and implementing largescale industrial software systems. Bran pioneered the application of model-driven development methods in real-time applications. He is chair of the OMG team responsible for the UML 2.0 standard. Proceedings of the 18th Conference on Software Engineering Education & Training (CSEET’05) 1093-0175/05 $ 20.00 IEEE","PeriodicalId":250569,"journal":{"name":"Conference on Software Engineering Education and Training","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"What I Wish I Had Learned in School: Reflections on 30+ Years as a Software Developer\",\"authors\":\"B. Selić\",\"doi\":\"10.1109/CSEET.2005.43\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Computer science and software engineering curricula are, by now, long established in most institutions of higher learning. They have evolved from a few utilitarian courses that taught essential programming skills to fully-fledged academic fourand even five-year programs to match the growing body of experience and knowledge in the field. Yet, it seems that some quite fundamental gaps persist in the education of software experts rendering many of them inadequately prepared for industrial software development. These problems, which are both technical and cultural, can be addressed only if there is a clearer understanding of the nature of software technology. Knowing how software differs from traditional technologies will indicate where innovative approaches to teaching are necessary, whereas knowing how it is similar to those technologies will help us understand where classical time-proven methods can be applied. This talk identifies some of the key problem areas in current curricula and describes suggestions for dealing with them from the perspective of a long-term practitioner of industrial software development. Bio: Bran Selic is an IBM Distinguished Engineer at IBM Rational and an adjunct professor at Carleton University in Ottawa, Canada. He has over 30 years of experience in designing and implementing largescale industrial software systems. Bran pioneered the application of model-driven development methods in real-time applications. He is chair of the OMG team responsible for the UML 2.0 standard. Proceedings of the 18th Conference on Software Engineering Education & Training (CSEET’05) 1093-0175/05 $ 20.00 IEEE\",\"PeriodicalId\":250569,\"journal\":{\"name\":\"Conference on Software Engineering Education and Training\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-04-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Conference on Software Engineering Education and Training\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSEET.2005.43\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Software Engineering Education and Training","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSEET.2005.43","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
What I Wish I Had Learned in School: Reflections on 30+ Years as a Software Developer
Computer science and software engineering curricula are, by now, long established in most institutions of higher learning. They have evolved from a few utilitarian courses that taught essential programming skills to fully-fledged academic fourand even five-year programs to match the growing body of experience and knowledge in the field. Yet, it seems that some quite fundamental gaps persist in the education of software experts rendering many of them inadequately prepared for industrial software development. These problems, which are both technical and cultural, can be addressed only if there is a clearer understanding of the nature of software technology. Knowing how software differs from traditional technologies will indicate where innovative approaches to teaching are necessary, whereas knowing how it is similar to those technologies will help us understand where classical time-proven methods can be applied. This talk identifies some of the key problem areas in current curricula and describes suggestions for dealing with them from the perspective of a long-term practitioner of industrial software development. Bio: Bran Selic is an IBM Distinguished Engineer at IBM Rational and an adjunct professor at Carleton University in Ottawa, Canada. He has over 30 years of experience in designing and implementing largescale industrial software systems. Bran pioneered the application of model-driven development methods in real-time applications. He is chair of the OMG team responsible for the UML 2.0 standard. Proceedings of the 18th Conference on Software Engineering Education & Training (CSEET’05) 1093-0175/05 $ 20.00 IEEE