ENGR3540 Complexity Science

The study of complex systems represents a new approach to science that investigates how relationships between parts give rise to the collective behaviors of a system and how the system interacts and forms relationships with its environment. (Wikipedia)

This class is about complexity science, data structures and algorithms in Python, and the philosophy of science:

  • Complexity science is an interdisciplinary field
    • at the intersection of mathematics, computer science and other disciplines such as physics and economics
    • -that focuses on models of systems with many components, local interactions, and complex behavior. These models are often characterized by structure, rules and transitions rather than by equations.
  • Data structures and algorithms in Python: This class picks up where Software Design leaves off, introducing additional data structures, algorithms, language features, design patterns, and software engineering tools that are appropriate for modeling, simulating and analyzing complex systems.
  • Philosophy of science: The models and results in this class raise a number of questions relevant to the philosophy of science
    • including the nature of scientific laws, theory choice, realism and instrumentalism, holism and reductionism
    • which we will discuss as they arise, along with related readings.

Topics may include the structure and dynamics of complex networks; cellular automata, self-organized criticality, and generative systems; fitness landscape models of biological and technological evolution; and agent-based models of social and economic behavior.



Recommended Requisites

ENGR2510 or permission of instructor