Professional Documents
Culture Documents
Ieeeargencon2020 - 136-Teaching Software Engineering An Active Learning Approach
Ieeeargencon2020 - 136-Teaching Software Engineering An Active Learning Approach
Ieeeargencon2020 - 136-Teaching Software Engineering An Active Learning Approach
experience
Sergio Villagra Guido De Benedetti Tomás Bruno
Computing Department Computing Department Computing Department
School of Engineering, University of School of Engineering, University of School of Engineering, University of
Buenos Aires Buenos Aires Buenos Aires
Buenos Aires, Argentina Buenos Aires, Argentina Buenos Aires, Argentina
guvillagr@fi.uba.ar gdebenedetti@fi.uba.ar tomas.bruno.o@gmail.com
Abstract—Teaching has changed; students, too. Software and Software Configuration Management KA are now
engineering is always evolving. In this paper, the authors present formally presented in the first programming courses. In the old
their experience teaching an introductory course to software curriculum, those topics were covered in advanced, more
engineering applying active learning, flipped classroom, focused SE courses.
gamification, and WAC (Writing Across the Curriculum) at the
University of Buenos Aires' School of Engineering. The old Requirements Engineering and Software Design
courses were replaced by two new courses -namely Methods
Keywords— Software engineering, education, active learning, and Models in Software Engineering I and II, respectively- in
flipped classroom, gamification, writing across the curriculum which all SE KA are covered, but with varying intensity. In
the first one, the focus is on discovering, specifying, and
I. INTRODUCTION modeling requirements, prototyping, and user experience
Since 1979, the University of Buenos Aires' School of design, software design, and coding. In the second course, the
Engineering offers a four-and-a-half-year program in systems focus is less on requirements and more on architecture design,
analysis which, despite its name, is oriented to software testing, deployment, software evolution, and process
engineering (SE) [1]. discipline.
The curriculum, which was updated in 1986, included In late 2014, we were appointed by the Computing
courses on calculus, algebra, computer design fundamentals, Department as instructors of Methods and Models in Software
programming, requirements analysis, software design, Engineering I. We delivered it for the first time in the first
database design, operations research, project management, semester of 2015. Previously, we had been teaching a software
economics, and software engineering management. economics course for almost ten years, applying successfully
an approach based on a blend of strategies: active learning,
In early 2008 it was clear that this curriculum, which flipped classroom, writing across the curriculum, and project-
worked pretty well for several years, needed a change. Faculty based teamwork. We decided to apply the same approach to
and graduates recognized that contents had to be updated, and the new course. At the time of writing this article, we have
also the strategy in which topics were presented to students. taught the course nine times and more than 270 students have
Like other similar programs, SE knowledge areas (KA) [2] attended.
were presented in a sequential, siloed way: first, several
programming courses; second, a requirements analysis In this paper, we describe our experience teaching the
course; later, design and software management courses. This course with this approach, the results we obtained, and our
approach created at least two problems: first, students didn't reflections about it.
get a general idea of how different SE disciplines and practices
work together until late in the program; second, coordination II. RELATED WORKS
of contents between instructor teams are complex and, Van Vliet [3] identifies several traps to avoid in the design
usually, topics inevitably overlap. and delivery of an introductory course to SE. Schilling and
Sebern [4] describe an experience applying active learning in
The Curriculum Advisory Committee, integrated by
a SE course. Páez [5] describes the adoption of a flipped-
representatives of faculty, graduates, and students, whose
classroom approach in an introductory course to SE. Ivanova,
main responsibility is keeping the program updated, started
Kozov and Zlatarov [6] describe an experience applying
the design of a new curriculum, which was implemented in
gamification in several SE related courses.
2014, after several years of work and talks between parties to
reach a consensus. III. TEACHING APPROACH
Besides refreshing content and creating new mandatory As mentioned before, our course covers several SE KA
and elective courses, the new program presents SE KA more related topics, including a general introduction to systems
iteratively and incrementally. For instance, Software Testing theory and software engineering, requirements engineering,
Course Evaluation
Bad Regular Good Very Good Excellent
Fig. 3. Students' evaluation of the teaching approach
Bad 1% 2% 0% 0% 0%
Teaching Approach