Teaching Human Aspects of Software Engineering


We close this chapter with presetting an organizational framework that may be applied in the actual teaching of a human aspects of software engineering course.

Table 18.1 presents a two-dimensional course framework [Hazzan03]. One dimension addresses the two human aspects of software engineering discussed in this book: the cognitive aspect and the social aspect. The second dimension refers to each of these aspects on the individual level and on the team level. Each cell presents several topics that can be categorized into it and several activities that are appropriate to be conducted with respect to the topic that the cell addresses. Needless to say, the table exhausts neither all the topics discussed in the course nor all the possible activities that can be conducted in such a course.

Table 18.1: Two-Dimensional Human Aspects of Software Engineering Course Framework

Aspect Level

Cognitive Aspects

Social Aspects

Individual Level

Topics:

Topics

 

Program comprehension

Code of Ethics of Software Engineering

 

Reflective practitioner

Minorities and gender issues

 

Abstraction

 
 

Activities:

Roles in teamwork

 

Personal reflections on topics such as software development process

Activities:

 

Construction of ladders of reflection

Examination of individual motives during the process of software development

   

Examination of ethical dilemmas concerning software development processes

Team Level Topics: Topics:
 

Code inspection

Team discussions, analysis, and reflections on code inspection sessions

 

Learning organization

 
 

Customer requirements

Software development methods

 

Activities:

Activities:

 

Teamwork: structures, problems, benefits, and dilemmas

Analysis of social factors of software development methods and their influence on teamwork

 

Reflecting on communal learning processes

Analysis of connections between the structure of software teams and team social interaction

Task  
  1. Review the different chapters of this book. For each cell in Table 18.1, find at least three topics (or activities) that fit into it.

  2. For each cell in Table 18.1, add at least one topic and one activity.

We believe that a single course is not sufficient to include all the aforementioned. Covering the topics is not the problem, however. Rather, it is important to increase students awareness of the central role of the human aspects of software engineering in software development processes, and to equip them with learning skills that will enable them to cope successfully with new ( related to software engineering) situations, for which they will need to learn new topics. One of the best ways to achieve these goals is by addressing these issues throughout the entire undergraduate education.

Sometimes time constraints force us to squeeze the human aspects of software engineering course into a one-semester, or even smaller, timeframe. In such cases, we recommend the course not be based solely on lectures, but rather integrate interactive and reflective activities. Such an interactive nature of the course can be achieved by reflections, class discussions, case study analysis, and student presentations. For lecturers convenience, the Appendix of this book presents a sample of the course slides for several topics.




Human Aspects of Software Engineering
Human Aspects of Software Engineering (Charles River Media Computer Engineering)
ISBN: 1584503130
EAN: 2147483647
Year: 2004
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net