ABSTRACT
Software design is a complex endeavor because it requires mastery of engineering practices, insight into the domain knowledge, exploring of alternative ideas, and, most importantly, plenty of practice. Principles of good software design should be introduced early in the curriculum and practiced whenever possible. This work describes a LEGO-based activity for multiple teams to practice collaborative design, parallel development, and component integration to illustrate the advantages of well-designed component interfaces.
- A. Baker, A. van der Hoek, H. Ossher, and M. Petre. 2012. Studying Professional Software Design. IEEE Software 29, 1 (Jan 2012), 28–33. MS.2011.155 Google ScholarDigital Library
- William Billingsley and Jim Steel. 2013. A Comparison of Two Iterations of a Software Studio Course Based on Continuous Integration. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’13). ACM, New York, NY, USA, 213–218. Google ScholarDigital Library
- 2465592Google Scholar
- Jan Bosch and Petra Bosch-Sijtsema. 2010. From Integration to Composition: On the Impact of Software Product Lines, Global Development and Ecosystems. J. Syst. Softw. 83, 1 (Jan. 2010), 67–76. Google ScholarDigital Library
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarDigital Library
- Chenglie Hu. 2013. The Nature of Software Design and Its Teaching: An Exposition. ACM Inroads 4, 2 (June 2013), 62–72. Google ScholarDigital Library
- Stan Kurkovsky. 2015. Teaching Software Engineering with LEGO Serious Play. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’15). ACM, New York, NY, USA, 213–218. org/10.1145/2729094.2742604 Google ScholarDigital Library
- Stacey Omeleze, Vreda Pieterse, and Fritz Solms. 2015. Teaching modular software development and integration. In 6th Annual International Conference on Computer Science Education: Innovation and Technology (CSEIT 2015). 178–187. org/10.5176/2251-2195_CSEIT15.25Google ScholarCross Ref
- André L. Santos. 2015. Collaborative Course Project for Practicing Componentbased Software Engineering. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling ’15). ACM, New York, NY, USA, 142–146. Google ScholarDigital Library
- S. Sheth, J. Bell, and G. Kaiser. 2013. A competitive-collaborative approach for introducing software engineering in a CS2 class. In 2013 26th International Conference on Software Engineering Education and Training (CSEET’13). 41–50. Abstract 1 Introduction 2 Building Interfaces with LEGO Acknowledgments ReferencesGoogle Scholar
Index Terms
- Using LEGO to teach software interfaces and integration
Recommendations
Casting Software Design in the Function-Behavior-Structure Framework
How does software design compare with design in other disciplines? Using a general design framework--John Gero's Function-Behavior-Structure framework--as a reference, the author contrasts the software engineering process with processes in other ...
Design issues in client-server software maintenance
Software requires maintenance because there are often some errors remaining in the system that must be removed as they are discovered. Even without errors, software frequently undergoes change. The main reason is that software must be enhanced to ...
Essential elements of software engineering education
ICSE '76: Proceedings of the 2nd international conference on Software engineeringSoftware engineering involves the application of principles of computer science, management science, and other fields to the design and construction of software systems. Education in software engineering is fundamentally different from education in ...
Comments