A multidimensional software engineering course

Ohad Barzilay*, Orit Hazzan, Amiram Yehudai

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Software engineering (SE) is a multidimensional field that involves activities in various areas and disciplines, such as computer science, project management, and system engineering. Though modern SE curricula include designated courses that address these various subjects, an advanced summary course that synthesizes them is still missing. Such a course would enable young practitioners to get a comprehensive description of SE, to experience a genuine software development process, and to appreciate the relations and tradeoffs between the various domains of SE. This paper proposes a multidimensional SE course framework aimed at giving SE students just such comprehensive, cross-paradigm, practical, and theoretical experience and background. The course is organized along four axes: a) fundamentals of SE; b) practices and tools; c) productization; and d) technology evolution. Each of these axes, in themselves multifaceted, enables an examination of SE on various scales and from different perspectives; together they create a holistic multidimensional description of SE. The course is evaluated according to accepted criteria highlighting the course scope, pedagogic decisions, and relevance. The authors also describe their experience of teaching the course three times in the Tel Aviv University and the academic college of Tel-Aviv-Yaffo, Israel.

Original languageEnglish
Pages (from-to)413-424
Number of pages12
JournalIEEE Transactions on Education
Issue number3
StatePublished - 2009


  • Course design
  • Course evaluation
  • Educational axes
  • Multidimensional domain
  • Multidimensional software engineering course
  • Software engineering
  • Software engineering education


Dive into the research topics of 'A multidimensional software engineering course'. Together they form a unique fingerprint.

Cite this