[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

An experimental card game for teaching software engineering processes

Published: 15 February 2005 Publication History

Abstract

The typical software engineering course consists of lectures in which concepts and theories are conveyed, along with a small "toy" software engineering project which attempts to give students the opportunity to put this knowledge into practice. Although both of these components are essential, neither one provides students with adequate practical knowledge regarding the process of software engineering. Namely, lectures allow only passive learning and projects are so constrained by the time and scope requirements of the academic environment that they cannot be large enough to exhibit many of the phenomena occurring in real-world software engineering processes. To address this problem, we have developed Problems and Programmers, an educational card game that simulates the software engineering process and is designed to teach those process issues that are not sufficiently highlighted by lectures and projects. We describe how the game is designed, the mechanics of its game play, and the results of an experiment we conducted involving students playing the game.

References

[1]
Abdel-Hamid, T., Madnick, S. E., 1991. Software Project Dynamics: an Integrated Approach, Prentice-Hall. Inc., Upper Saddle River, NJ.
[2]
Anderson, J.R. et al., 1995, Cognitive tutors: lessons learned. The Journal of the Learning Sciences 4(2), 167-207.
[3]
Brook, F.P., 1995. The Mythical Man-Month: Essays on Software Engineering, Addison-Wesley.
[4]
Bruffee, K.A., 1983. Collaborative Learning: Higher Education, Interdependence, and the Authority of Knowledge. John Hopkins University Press.
[5]
Burnell, L.J., Priest, J.W., Durrett, J.R., 2002. Teaching distributed multidisciplinary software development. IEEE Software 19 (5), 86- 93.
[6]
Callahan, D., Pedigo, B., 2002. Educating experienced IT professionals by addressing industry's needs. IEEE Software 19 (5), 57- 62.
[7]
Chi, M.T.H. et al., 1994. Eliciting self-explanations improves understanding. Cognitive Science 18, 439-477.
[8]
Collofello, J.S., 2000. University/Industry collaboration in developing a simulation based software project management training course. In: Mengel, S., Knoke, P.J. (Eds.), Proceedings of the Thirteenth conference on Software Engineering Education and Training IEEE Computer Society, pp. 161-168.
[9]
Conn, R., 2002. Developing software engineers at the C-130J software factory. IEEE Software 19(5), 25-29.
[10]
Cook, J.E., Wolf, A.L., 1998. Discovering process models of software processes from event-based data. ACM Transaction on Software Engineering and Methodology 7(3), 215-249.
[11]
Davis, R., 2000. Twenty dirty tricks to train software engineers. in: Proceedings of the 22nd International Conference on Software Engineering, ACM, pp. 209-218.
[12]
Drappa, A., Ludewig, J., 2000. Simulation in software engineering training. In: Proceedings of the 22nd International Conference on Software Engineering ACM, pp. 199-208.
[13]
Ferrari, M., Taylor, R., VanLehn, K., 1999. Adapting work simulations for schools. The Journal of Educational Computing Research 21 (1), 25-53.
[14]
Glass, R.L., 2003. Facts and Fallacies of Software Engineering. Addison-Wesley.
[15]
Hayes, J.H., 2002. Energizing software engineering education through real-world projects as experimental studies. In: Proceedings of the 15th Conference on Software Engineering Education and Training. IEEE, pp. 192-206.
[16]
Kusumoto, S., et al., 1997. A new software project simulator based on generalized stochastic petri-net. In: Proceedings of the 1997 International Conference on Software Engineering, ACM, pp. 293-302.
[17]
Lindheim, R., Swartout, W., 2001. Forging a new simulation technology at the ICT, IEEE Computer 34 (1), 72-79.
[18]
Madachy, R., 1996. System dynamics modeling of an inspection-based process. In: Proceedings of the Eighteenth International Conference on Software Engineering, IEEE Computer Society.
[19]
Mayr, H., 1997. Teaching software engineering by means of a virtual enterprise. In: Proceedings of the 10th Conference on Software Engineering, IEEE Computer Society.
[20]
McKendree, J., 1990. Effective feedback content for tutoring complex skills. Human-Computer Interaction 5, 381-413.
[21]
McMillan, W.W., Rajaprabhakaran, S., 1999. What leading practitioners say should be emphasized in students' software engineering projects. In: Saiedian, H. (Ed). Proceedings of the Twelfth Conference on Software Engineering Education and Training. IEEE Computer Society, pp. 177-185.
[22]
Raffo, D., Settle, J., Harrison, W., 1999a. Estimating the financial benefit and risk associated with process changes. In: Proceedings of the First Workshop on Economics-Driven Software Engineering Research.
[23]
Raffo, D., Vandeville, J.V., Martin, R.H., 1999b. Software process simulation to achieve higher CMM levels. The Journal of System and Software 46 (2-3), 163-172.
[24]
Randel, J.M. et al., 1992. The effectiveness of games for educational purpose: a review of recent research. Simulation and Gaming 23 (3), 261-276.
[25]
Rolfe, J.M., 1988. Flight Simulation (Cambridge Aerospace Series). Cambridge University Press.
[26]
Rus, I., Collofello, J.S., Lakey, P. 1999. Software process simulation for reliability management. The Journal of Systems and Software 46 (3), 178-182.
[27]
Sebern, M.J., 2002. The software development laboratory: incorporating industrial practice in an academic environment. In: Proceedings of the 15th Conference on Software Engineering and Training, IEEE, pp. 118-127.
[28]
Sharp, H., Hall, P., 2000. An interactive multimedia software house simulation for postgraduate software engineers. In: Proceedings of the 22nd International Conference on Software Engineering, ACM, pp. 688-691.
[29]
Skrien, D., 2001. CPU Sim 3.1: a tool for simulating computer architectures for computer organization classes. ACM Journal of Educational Resources in Computing 1 (4), 46-59.
[30]
Wohlin, C., Regnelt, B., 1999. Achieving industrial relevance in software engineering education. In: Saiedian, H. (Ed). Proceedings of the Twelfth Conference on Software Engineering Education and Training. IEEE Computer Society, pp. 16-25.

Cited By

View all
  • (2024)You Hacked My Program! Teaching Cybersecurity using Game-based LearningProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660672(1-7)Online publication date: 2-May-2024
  • (2024)Program Wars v.2.0 : Improving a Game-based Learning Approach for Teaching Fundamental Programming ConceptsProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660671(1-7)Online publication date: 2-May-2024
  • (2024)Learning Software Engineering Principles with Program Wars v.3.0Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 210.1145/3626253.3635551(1836-1837)Online publication date: 14-Mar-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 75, Issue 1-2
Special issue: Software engineering education and training
15 February 2005
225 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 15 February 2005

Author Tags

  1. educational games
  2. simulation games
  3. software engineering education
  4. software engineering simulation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)You Hacked My Program! Teaching Cybersecurity using Game-based LearningProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660672(1-7)Online publication date: 2-May-2024
  • (2024)Program Wars v.2.0 : Improving a Game-based Learning Approach for Teaching Fundamental Programming ConceptsProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660671(1-7)Online publication date: 2-May-2024
  • (2024)Learning Software Engineering Principles with Program Wars v.3.0Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 210.1145/3626253.3635551(1836-1837)Online publication date: 14-Mar-2024
  • (2023)A Conceptual Model to Support Teaching of Software Engineering Controlled (Quasi-)ExperimentsProceedings of the XXXVII Brazilian Symposium on Software Engineering10.1145/3613372.3614202(236-245)Online publication date: 25-Sep-2023
  • (2021)Games: The Motivation in Engineering EducationNinth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM'21)10.1145/3486011.3486483(395-399)Online publication date: 26-Oct-2021
  • (2021)Experience of Teaching a Course on Software Engineering Principles Without a ProjectProceedings of the 52nd ACM Technical Symposium on Computer Science Education10.1145/3408877.3432550(122-128)Online publication date: 3-Mar-2021
  • (2019)The Hurricane Decision SimulatorManufacturing & Service Operations Management10.1287/msom.2017.069421:1(103-120)Online publication date: 1-Jan-2019
  • (2019)Masters of the ProcessProceedings of the XXXIII Brazilian Symposium on Software Engineering10.1145/3350768.3352459(532-536)Online publication date: 23-Sep-2019
  • (2019)Program WarsProceedings of the 50th ACM Technical Symposium on Computer Science Education10.1145/3287324.3287496(393-399)Online publication date: 22-Feb-2019
  • (2019)Greenify: A Game with the Purpose of Test Data Generation for Unit TestingFundamentals of Software Engineering10.1007/978-3-030-31517-7_6(77-92)Online publication date: 1-May-2019
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media