Software Development Education: Breadth Courses for Developing Domain Competence and Systems Thinking

Posted on March 29, 2011


Author:  Sanjay Goel,


Training in general systems thinking helps in quickly understanding even unfamiliar areas [Weinberg, 1988].  Weinberg considered that linguistic and mathematical competencies are essential foundations for general systems thinking.   

Broad based education in diverse disciplines is likely to enrich linguistic sensibility and competence. While computing courses need to bring a higher focus on a systems approach in their delivery, the breadth courses in other disciplines can also very significantly contribute to develop general systems thinking by specifically bringing it as one of the prominent learning objectives. In order to help in general systems thinking, the courses need to be selected and redesigned with this aim.  In order to develop system thinking and ability to learn a new domain, the breadth courses too should try to enhance their focus on: (i) diversity and multi-perspective thinking, (ii) inter-disciplinary integration and applications, (iii) and systems approach.

Repeated exposure to complexity, complications, nonlinearity, uncertainties, and risks, and as highlighted and illustrated within the context of each of the specific breadth courses is likely to significantly enhance their ability to understand the nuances of unfamiliar domains, and also to orient their mindset to decision making in complex situations.

Within the context of many knowledge disciplines in sciences, mathematics, engineering, management, social sciences, and humanities, a body of knowledge has already been created around systems and systems thinking. In this context, operations research and mathematical theory of systems are well developed areas in mathematics. Control systems, system engineering, and modeling and simulation can be engineering departments’ contribution for this purpose.

Biological subjects are traditionally organized in terms of various systems, and over the last few years, the area of computational modeling of biological systems has also been well developed. Topics on statistical physics, complex system physics and nonlinear physics can be considered for exposing students to think in terms of large complex systems.

With reference to social sciences, humanities, and management, courses on the history of ideas, diversity of human languages, comparative economic systems, world cultures, world epics, socio-cultural systems analysis, operations management systems, business process modeling, etc., offer huge potential to engage students in systems thinking. Richness and diversity of such exposure will reinforce systems thinking and help in developing the ability to learn new domains.


1.   Design of Interventions for Instructional Reform in Software Development Education for Competency Enhancement: Summary of PhD Thesis

2. Gerald Weinberg, Rethinking systems analysis and design, Dorset House Pub. Co., USA, 1988.

3.  Do we not need to urgently make the base broader and interdisciplinary? – A Concept Note for starting 4 year BS (Interdisciplinary Informatics) in India

Posted in: Uncategorized