COSC 420/427/527

Biologically-Inspired Computation

Spring 2017


Bruce MacLennan [he/his/him]
Phone: 974-0994
Office: Min Kao 550
Office Hours: 2:30–3:30 WF, or make an appointment
Email: maclennan AT


Office: TBD
Hours:  make an appointment 
Email:  TBD at

Classes: 1:25–2:15 MWF in Min Kao 406

Directory of Handouts, Labs, etc.

This page:



COSC 420, 427, and 527 focus on biologically-inspired computation, including recent developments in computational methods inspired by nature, such as neural networks, genetic algorithms and other evolutionary computation systems, ant swarm optimization, artificial immune systems, swarm intelligence, cellular automata, and multi-agent systems.

Fundamental to the understanding and implementation of massively parallel, distributed computational systems is an investigation of the behavior and self-organization of a variety of systems in which useful work emerges from the interaction of many simple agents.  The question we address is: How should a multitude of independent computational (or robotic) agents cooperate in order to process information and achieve their goals, in a way that is efficient, self-optimizing, adaptive, and robust in the face of changing needs, damage, and attack? 

Fortunately, nature provides many models from which we can learn.  In this course we will discuss natural computational systems that solve some of the same problems that we want to solve, including adaptive path minimization by ants, wasp and termite nest building, army ant raiding, fish schooling and bird flocking, pattern formation in animal coats, coordinated cooperation in slime molds, synchronized firefly flashing, soft constraint satisfaction in spin glasses, evolution by natural selection, game theory and the evolution of cooperation, computation at the edge of chaos, and information processing in the brain.

You will learn about specific computational applications of these ideas, including artificial neural networks, simulated annealing, cellular automata, ant colony optimization, artificial immune systems, particle swarm optimization, and genetic algorithms and other evolutionary computation systems.  These techniques are also used in computer games and computer animation.
Since the goal of this goal of this course is for you to gain an intuitive understanding of adaptive and self-organizing computational systems, the lectures make extensive use of videos, simulations, and other computer demonstrations.  Your grade will be based on about six or seven moderate-sized projects, and I will consider group projects (but they will have to be more ambitious!). 

COSC 527 “Biologically-Inspired Computation” is approved for the Interdisciplinary Graduate Minor in Computational Science (IGMCS).


This is a project-oriented course and therefore all students will be expected to have basic programming skills; for undergraduate CS students, the recommended minimum background is completion of the core courses. Since this is a senior/graduate-level CS course, I will expect you to be competent programmers and to have the general background of a senior in CS.  For non-EECS students (e.g., those in biology, ecology, psychology, etc.) I will provide alternate non-programming assignments. If you have any questions about whether you should take this course, please send me mail.


Your grade will be based on the projects, in which you will conduct and write up experiments using either off-the-self software or software that you program yourself.  (Non-EECS students can do alternative, non-programming assignments.)

Students taking COSC 427 and COSC 527 will be expected to do specified additional work beyond what is required for COSC 420.

If you meet all the requirements of a project, you will generally get a B on it. Higher grades (B+, A–, A) are awarded for exemplary work. If you do not meet the project requirements, or your project is late, you will get a grade lower than B on that project.

Late Policy: There will be a 20% deduction for each day late, up to 2 days; after that your grade will be an F. No exceptions!

There will be occasional pop quizzes, which together will count no more than one project.


Flake, Gary William.  The Computational Beauty of Nature.  MIT Press, 1998.  See also the book’s online webpage (including software).


For Students with Disabilities
Students who have a disability that requires accommodation(s) should make an appointment with the Office of Disability Services (974-6087) to discuss their specific needs as well as schedule an appointment with me during my office hours.

Name and Pronoun Accommodations
If you use a name and/or pronouns other than what is in Banner, please email me with the name and/or pronouns that you would like me to use and I will be glad to accommodate this request.

Student Learning Outcomes

1. Students will be able to explain basic concepts of dynamical systems.

2. Students will be able to explain how biological systems exploit natural processes.

3. Students will be able to explain how large numbers of agents can self-organize and adapt.

4. Students will be able to explain how complex and functional high-level phenomena can emerge from low-level interactions.

5. Students will explain how computational processes can be derived from natural models.

6. Students will be able to implement simple bio-inspired algorithms.

7. Students will be able to design and conduct experiments to investigate empirically bio-inspired systems.

Evolving List of Topics

Chapter numbers refer to Flake unless otherwise specified.  Slides for each lecture will be posted in the course of the semester.  (Slides from the Spring 2016, Spring 2015, Spring 2014, Spring 2013, Spring 2012, Fall 2010, Fall 2009, Fall 2008, Fall 2007, Fall 2004 and  Fall 2003 versions of the course are still available on their websites.)  Note: An “*” indicates that the slides were revised after class.
  1. Overview: course description, definition of biologically-inspired computing, why it is important
      Part I  

  2. Spatial Models: Wolfram’s classification, Langton’s lambda, CA models in nature, excitable media (ch. 15)
      Part II.A — CAs  
      Part II.B — Pattern Formation  
      Part II.C — Slime Mold  
      Part II.D — Excitable Media  
      Part II.E — Segmentation  

  3. Recurrent Networks: artificial neural nets, associative memory, Hebbian learning, Hopfield networks (ch. 18)
      Part III.A — Hopfield Network 
      Part III.B — Stochastic Networks  
  4. Neural Networks and Learning: pattern classification & linear separability, single- and multilayer perceptrons, backpropagation (ch. 22)
      Part IV.A — Artificial Neural Net Learning 
      Part IV.B — Biological Neural Networks
        Sections 1–2  
        Sections 3–4  
  5. Evolutionary Programming: biological adaptation & evolution, genetic algorithms, schema theorem (ch. 20) 
      Part V.A — Genetic Algorithms  
      Part V.B — Thermodynamics, Life, and Evolution 

  6. Autonomous Agents and Self-Organization: termites, ants, flocks, herds, and schools (ch. 16)
      Part VI.A — Flocks, Herds, and Schools    
      Part VI.B — Ants (Real and Artificial)  
      Part VI.C — Nest Building  

  7. Competition and Cooperation: zero- and nonzero-sum games, iterated prisoner’s dilemma, stable strategies, ecological & spatial models (ch. 17)
      Part VII.A — The Iterated Prisoners’ Dilemma    
      Part VII.B — Synchronization 
  8. Review of Key Concepts
       Part VIII — Review of Key Concepts 

We will do about one topic every two weeks or so. 



Online Resources

Return to MacLennan’s home page
Send mail to Bruce MacLennan /

Valid HTML 4.01!This page is or
Last updated:  2016-10-28.