Abstract
Modeling is a hallmark of the practice of engineering. Through centuries, engineers have used models ranging from informal “back of the envelope” scribbles to formal, verifiable mathematical models. Whether circuit models in electrical engineering, heat-transfer models in mechanical engineering, or queuing theory models in industrial engineering, modeling makes it possible to perform rigorous analysis that is the cornerstone of modern engineering. By considering software development as fundamentally an engineering endeavor, RIT’s software engineering program strives to instill a culture of engineering practice by exposing our students to both formal and informal modeling of software systems throughout the entire curriculum. This paper describes how we have placed modeling in most aspects of our curriculum. The paper also details the specific pedagogy that we use in several courses to teach our students how to create, analyze and implement models of software systems.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Shaw, M.: Prospects for an Engineering Discipline of Software. IEEE Software 7(6), 15–24 (1990)
Parnas, D.L.: Software Engineering Programs Are Not Computer Science Programs. IEEE Software, 19–30 (Nov/Dec 1999)
Hilburn, T.B.: Software engineering education: a modest proposal. IEEE Software 14(6), 44–48 (1997)
Naveda, J.F., Lutz, M.J.: Crafting a baccalaureate program in software engineering. In: Proceedings of the Conference on Software Engineering Education & Training, April (1997)
Department of Software Engineering, Rochester Institute of Technology, http://www.se.rit.edu
Blaha, M., Rumbaugh, J.: Object-Oriented Modeling and Design with UML, 2nd edn. Prentice-Hall, Englewood Cliffs (2005)
Jackson, D.: Alloy: A Lightweight Object Modeling Notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 256–290 (2002)
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. John Wiley & Sons, Chichester (1999)
Ludi, S., Reichlmayr, T., Natarajan, S.: An Introductory Software Engineering Course That Facilitates Active Learning. In: Proceedings of ACM SIGCSE Conference, St.Louis, MO, February, ACM Press, New York (2005)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Eclipse Metrics Plug-in, http://metrics.sourceforge.net/
Vallino, J.: Design Patterns: Evolving from Passive to Active Learning. In: Proceedings of the Frontiers in Education Conference, Boulder, CO, November (2003)
Lutz, M.: Exploratory Mathematics: Experiences With Alloy In Undergraduate Formal Methods. In: Proceedings of 2006 American Society of Engineering Education Conference, Chicago, IL, June (2006)
Lutz, M., Vallino, J.: Concurrent System Design: Applied Mathematics & Modeling in Software Engineering Education. In: Proceedings of 2005 American Society of Engineering Education Conference, Portland, OR, June (2005)
Vallino, J., Czernikowski, R.: Thinking Inside the Box: A Multi-Disciplinary Real-Time and Embedded Systems Course Sequence. In: Proceedings of Frontiers in Education Conference, Indianapolis, IN, October (2005)
Bass, L., Clements, P., Kazman, R.: Software Architecture In Practice. Addison-Wesley, Reading (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Vallino, J. (2007). If You’re Not Modeling, You’re Just Programming: Modeling Throughout an Undergraduate Software Engineering Program. In: Kühne, T. (eds) Models in Software Engineering. MODELS 2006. Lecture Notes in Computer Science, vol 4364. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69489-2_36
Download citation
DOI: https://doi.org/10.1007/978-3-540-69489-2_36
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69488-5
Online ISBN: 978-3-540-69489-2
eBook Packages: Computer ScienceComputer Science (R0)