Lab August 9, Course June 10-14

CX102 (Lab): Computer Programming for Complex Systems

This one day lab introduces computer programming in the Python language for those with little or no computer programming experience. It is designed as a precursor to CX202.

The lab will present programming concepts and hands-on exercises. Topics to be covered include: data structures, algorithms, variables and assignments, numerical and logical operations, lists and dictionaries, user-defined functions, flow control, loops, and visualization.

CX202: Complex Systems Modeling and Networks

This course provides an introduction to building models of complex systems (physical, biological, social and engineering), and network architectures dynamic processes.

It will cover the basic construction and analysis of models including identifying what is to be modeled, constructing a mathematical representation, analysis tools and implementing and simulating the model in a computer simulation. Particular attention will be paid to choosing the right level of detail for the model, testing its robustness, and discussing which questions a given model can or cannot answer. Python will be used as a primary computer programming language for modeling and simulation. Prior computer programming experience is helpful, but not required. Students are encouraged to bring to class their own laptop computers.

The study of networks will introduce the use of network topologies and the characterization of networks describing complex systems, including such concepts as small worlds, degree distribution, diameter, clustering coefficient, modules, motifs. Different types of network topologies and network behaviors that model aspects of real complex systems will be described including: modular, sparse, random, scale-free, influence, transport, transformation, and structure.

Early registration rates in effect until May 22.