Advanced Course in Complex Systems Programming

A dinosaur
LecturerReiji SUZUKI, Associate Professor
DepartmentGraduate School of Information Science, 2013 Spring
Recommended for:Graduate School of Information (21.5 hours / session One session / week 15 weeks / semester)

Course Aims

This course will consist of lectures on programming and hands-on practice. This course will introduce and discuss several computational models from a broad range of complex systems sciences. Students will learn hands-on research methods based on constructive approaches including construction, implementation, experimentation, visualization, analysis, and reconsideration of models, using the programming language Python.

Key Features

The students who enter the Department of Complex Systems Science in the Graduate School of Information Science come from a variety of different academic backgrounds. Thus, I organize the course so that those who are not familiar with programming or constructive approaches can enjoy the fun of studying them, and so that those who have been studying other relevant areas can attain new knowledge and experience, as listed below:

  • This course will present several topics from a broad range of themes including biological populations (population dynamics), abstract complex systems (cellular automata), social groups (agent-based models), and technical applications (evolutionary computation) in order to cover student's diverse interests.
  • Students will use the programming language Python, which is used in both classes on computer science in Universities and the construction of software in leading companies around the world. Students are expected to implement programs on each topic in a simple manner, which will enable even beginning students to attain an understanding and ability to apply the concepts with comparative ease.
  • The students are expected to acquire skills useful in a broad range of research activities, including experimental data processing and visualization (graphs) with matplotlib.

In order to put the above principles into practice, this class will incorporate suitable hands-on practice (and homework) into the lectures.

Course Objectives

The constructive approach, which calculates on a computer models that allow us to perceive the essential characteristics of organisms and social phenomena, is one of the essential research methods in the Science of Complex Systems.

The aim of this course is to give students the essential knowledge and techniques relating to the use of computers and programming required to construct complex models and perform experiments and analysis

Reference Texts

As needed, an introductory text to Python may be necessary.

Course Schedule

Topics Contents (approximate number of class meetings)
0 Introduction (1 class)
1 Basics of Python in population dynamics (3 classes)
2 Visualization of experiment results with matplotlib (3 classes)
3 Cellular Automata (3 classes)
4 Agent-Based Model (3 classes)
5 Genetic Algorithm (3 classes)
6 Conclusion (2 classes)

Last updated

May 10, 2020