Salt Lake City, Utah
June 20, 2004
June 20, 2004
June 23, 2004
9.1105.1 - 9.1105.7
Software Engineering Emphasis for Engineering Computing Courses: An Open Letter to Engineering Educators William Hankley Department of Computing & Information Sciences Kansas State University Manhattan, KS 66506 firstname.lastname@example.org
Abstract Software is an important component for engineering development for all engineering fields, not just for computing sciences. This paper addresses what might be included in a service course for engineering majors on the topic of software development. Typically, that consists of a single course on either programming or on using software packages, but those basic skills are inadequate foundation for real software product development. We recommend a second course on software design and development, to include concepts of interaction design, usability, aspects of common software structure, architecture patterns for common program kinds, standard libraries, and software tools. The notation for such design will center on UML, the unified modeling language, but the design experience is more than just knowing UML. These concepts form the basis for designing software rather than just programming in accordance with some design; design concepts are a foundation for communication between application engineers and software engineers. Such a software course can be an effective early design experience for engineering majors.
Introduction This paper is addressed to engineering educators in departments in which students may take some computing courses as breadth topics. The point of the paper is to recommend that a software design course is an essential second course for engineers, to explain why this is so, and to identify what topics would be in such a course. Unfortunately, a design course is usually not the second course available for non-CIS majors. If that is the case at your school, then it will take negotiation with the CIS department to offer such a course.
For computer science and engineering instructors, the topics of this paper are not new. The figures comprise a tour of UML notation, which is commonly used in both programming and software design courses. The point is not that engineers should see UML notation; if that were the intent, then adequate introduction could be done in a first programming course. Rather, the point is that engineering students (beyond just Computer Science and Engineering majors) should have an experience of software design. Today, that design experience is often reserved as a senior capstone course for CSE majors.
A key point of a design course is that students should see many different kinds of software models, such as structures for data management, visual direct manipulation, real-time control, games, and many others. The second point is that students should have extensive experience in
Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition Copyright © 2004, American Society for Engineering Education
Hankley, W. (2004, June), Software Engineering Emphasis For Computing Courses Paper presented at 2004 Annual Conference, Salt Lake City, Utah. https://peer.asee.org/13538
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2004 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015