{"title":"An active learning module for an introduction to software engineering course","authors":"A. F. Ackerman, Montana Tech","doi":"10.1109/CSEET.2014.6816803","DOIUrl":null,"url":null,"abstract":"Many schools do not begin to introduce college students to software engineering until they have had at least one semester of programming. Since software engineering is a large, complex, and abstract subject it is difficult to construct active learning exercises that build on the students' elementary knowledge of programming and still teach basic software engineering principles. It is also the case that beginning students typically know how to construct small programs, but they have little experience with the techniques necessary to produce reliable and long-term maintainable modules. I have addressed these two concerns by defining a local standard (Montana Tech Method (MTM) Software Development Standard for Small Modules Template) that step-by-step directs students toward the construction of highly reliable small modules using well known, best-practices software engineering techniques. “Small module” is here defined as a coherent development task that can be unit tested, and can be carried out by a single (or a pair of) software engineer(s) in at most a few weeks. The standard describes the process to be used and also provides a template for the top-level documentation. The instructional module's sequence of mini-lectures and exercises associated with the use of this (and other) local standards are used throughout the course, which perforce covers more abstract software engineering material using traditional reading and writing assignments. The sequence of mini-lectures and hands-on assignments (many of which are done in small groups) constitutes an instructional module that can be used in any similar software engineering course.","PeriodicalId":418645,"journal":{"name":"2014 IEEE 27th Conference on Software Engineering Education and Training (CSEE&T)","volume":"81 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 IEEE 27th Conference on Software Engineering Education and Training (CSEE&T)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSEET.2014.6816803","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Many schools do not begin to introduce college students to software engineering until they have had at least one semester of programming. Since software engineering is a large, complex, and abstract subject it is difficult to construct active learning exercises that build on the students' elementary knowledge of programming and still teach basic software engineering principles. It is also the case that beginning students typically know how to construct small programs, but they have little experience with the techniques necessary to produce reliable and long-term maintainable modules. I have addressed these two concerns by defining a local standard (Montana Tech Method (MTM) Software Development Standard for Small Modules Template) that step-by-step directs students toward the construction of highly reliable small modules using well known, best-practices software engineering techniques. “Small module” is here defined as a coherent development task that can be unit tested, and can be carried out by a single (or a pair of) software engineer(s) in at most a few weeks. The standard describes the process to be used and also provides a template for the top-level documentation. The instructional module's sequence of mini-lectures and exercises associated with the use of this (and other) local standards are used throughout the course, which perforce covers more abstract software engineering material using traditional reading and writing assignments. The sequence of mini-lectures and hands-on assignments (many of which are done in small groups) constitutes an instructional module that can be used in any similar software engineering course.
许多学校在学生至少学过一个学期的编程之后才开始向他们介绍软件工程。由于软件工程是一门庞大、复杂和抽象的学科,因此很难构建基于学生编程基本知识的主动学习练习,并且仍然教授基本的软件工程原理。还有一种情况是,初学的学生通常知道如何构建小程序,但他们对开发可靠且长期可维护的模块所必需的技术缺乏经验。我通过定义一个本地标准(Montana Tech Method (MTM) Software Development standard for Small Modules Template)来解决这两个问题,该标准一步一步地指导学生使用众所周知的、最佳实践的软件工程技术构建高度可靠的小模块。“小模块”在这里被定义为可以进行单元测试的连贯开发任务,并且可以由单个(或一对)软件工程师在最多几周内完成。该标准描述了要使用的流程,并为顶级文档提供了模板。教学模块的迷你讲座和练习序列与使用这个(和其他)本地标准相关,在整个课程中使用,它必须使用传统的阅读和写作作业来涵盖更抽象的软件工程材料。迷你讲座和实践作业的序列(其中许多是在小组中完成的)构成了一个教学模块,可以在任何类似的软件工程课程中使用。