Object-oriented software engineering
Object-oriented software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Learning Programming Using Program Visualization Techniques
HICSS '01 Proceedings of the 34th Annual Hawaii International Conference on System Sciences ( HICSS-34)-Volume 1 - Volume 1
UML Distilled: A Brief Guide to the Standard Object Modeling Language
UML Distilled: A Brief Guide to the Standard Object Modeling Language
The Rational Unified Process: An Introduction
The Rational Unified Process: An Introduction
The Object Primer: Agile Model-Driven Development with UML 2.0
The Object Primer: Agile Model-Driven Development with UML 2.0
Java How to Program (6th Edition)
Java How to Program (6th Edition)
Journal of Computing Sciences in Colleges - Papers of the twelfth annual CCSC Northeastern Conference
Journal of Computing Sciences in Colleges - Papers of the twelfth annual CCSC Northeastern Conference
An early software engineering approach to teaching cs1, cs2 and ai
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Patterns and traceability in teaching software architecture
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Software engineering course design for undergraduates
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
Instructors of Software Engineering (SE) classes in small Computer Science programs face the challenge of selecting a coherent set of SE concepts that can be taught in a one-semester course. This challenge is more significant when the students' background lacks significant exposure to Object-Oriented (OO) design. A second challenge is the design of "right-sized" case studies that rigorously illustrate the application of the selected SE concepts, can be comprehensively presented in the classroom and assigned as term projects. In this paper, we address the first challenge by proposing the use of a traceability-based methodology for SE instruction. We address the second challenge by advocating the use of a particular type of problem -- namely, "GUI-based workflow applications". We present an ATM case study in class and focus on how the issues inherent in this problem can be tackled by choosing appropriate OOSE concepts. We have found that this approach allows us to teach concepts such as design patterns and coding idioms as they naturally arise in the problem. Our experience with a small group of students indicates that, with this approach, they were able to better understand the SE process itself and come up with high-quality software designs in a similar term project.