A new elective course will be introduced in the coming semester for 2nd year students – “Systems, Engineering, and Computational Thinking”. Here is the first draft of the brief outline.
I. Types of Thinking: Deductive Vs Inductive Vs Adbuctive, Reductionist Vs Holistic, Creative Vs Critical, Theoretical Vs Applied, Soft disciplines Vs Hard disciplines, Reflective, Multi-perspective, Scientific, Mathematical, Engineering, Systems, Computational, Common Fallacies in different types of thinking
II. Models of Decision making
III. Systems Thinking
Taxonomy of Systems, Levels of systems thinking, Criteria of Systems Thinking, Principles of System Architecture, Laws of Systems Thinking, Characteristics of systems thinkers, Soft Systems Methodology, Software as Socio-technical System, Ethical Aspects of Systems Thinking, Systems Modelling tools, e.g., Senge’s toolbox, Risk assessment, Sustainability
IV. Engineering Thinking
Taxonomy of Engineering Systems, Engineering Problem Solving, Characteristics of Engineering Thinkers, Mixing and matching, Tradeoffs & optimisation, Efficiency, Quality, Elegance, Reliability, Performability, Developing solutions under constraints, Adapting, Prototyping, Design Thinking, Common Engineering Fallacies, System Engineering
V. Computational Thinking
Taxonomy of Computing problems, Computing Problem Solving, Characteristics of Computational Thinkers, Model, constraints, abstraction, decomposition, heuristics, algorithms, recursion, concurrency, synchronization, efficiency, elegance, tradeoffs between processing and storage, caching, interpreting code as data and data as code, and prevention, detection and recovery from worst-case scenarios, interpretation, scales and limits, simulation, and automation, stepwise refinement, Common Computing and Software Engineering Fallacies, Computational Systems Engineering.
I shall appreciate any suggestions, reference material, and examples from working professionals.