Title :
Reflection and abstraction in learning software engineering´s human aspects
Author :
Hazzan, Orit ; Tomayko, James E.
Author_Institution :
Dept. of Educ. in Technol. & Sci., Technion-Israel Inst. of Technol., Haifa, Israel
fDate :
5/1/2005 12:00:00 AM
Abstract :
Intertwining reflective and abstract modes of thinking into the education of software engineers, especially in a course that focuses on software engineering´s human aspects, can increase students´ awareness of the discipline´s richness and complexity while enhancing their professional performance in the field. The complexity of software development environments includes the profession´s cognitive and social aspects. A course designed to increase students´ awareness of these complexities introduces them to reflective mental processes and to tasks that invite them to apply abstract thinking. For the past three years, we have taught a Human Aspects of Software Engineering course at both the Technion-Israel Institute of Technology and the School of Computer Science at Carnegie Mellon University. This course aims to increase software engineering students´ awareness of the richness and complexity of various human aspects of software engineering and of the problems, dilemmas, question, and conflicts these professionals could encounter during the software development process.
Keywords :
cognition; computer science education; educational courses; human factors; software architecture; software metrics; teaching; cognitive aspects; software development environments; software engineering course; software engineering human aspects; Computer science; Computer science education; Design engineering; Humans; Performance analysis; Programming; Reflection; Software engineering; Software performance; Software systems; education; human aspects of software engineering; software engineering; software engineering education;
DOI :
10.1109/MC.2005.200