Bill Punch

Bill Punch

Associate ProfessorGraduate Director, Department of Computational Mathematics, Science and Engineering; Associate Director, Institute for Cyber-Enabled Research
Room 2501, Engineering Building
  428 S. Shaw Ln.
 (517) 432-0458

An alumunus of The Ohio State University, Punch graduated with a Ph.D. in Computer Science specializing in Artificial Intelligence. His primary research focuses on the use of evolutionary computation, in particular genetic programming, to solve AI/optimization problems. He is also interested in the use of parallel program to solve search problems as well as computer science education. 

Punch is a recent addition to the CMSE faculty, having been a long time faculty member in Computer Science.

  1. A.R. Burks and W.F. Punch, "An analysis of the genetic marker diversity algorithm for genetic programming", Genetic Programming and Evolvable Machines, Vol. 17, Issue 3, pages 1-31, Sept 2017.
  2. B.W. Goldman and W.F. Punch, " Fast and Efficient Black Box Optimization using the Parameter-less Population Pyramid,", Evolutionary Computation. Fall 2015, Vol. 23, No. 3, Pages 451-479
  3. A.R. Burks and W.F. Punch, "An Efficient Structural Diversity Technique for Genetic Programming", GECCO 2015, pages 991-998, July 2015.
  4. B. Goldman and W.F. Punch, "Length Bias and Search Limitations in Cartesian Genetic Programming", GECCO 2013, pp 933-940, July 2013
  5. P. Juhas, L. Granlund, P. Duxbury, W. Punch, SJL Billinge, “The Liga Algorithm for ab initio determination of nanostructure”, Acta Cryst. (2008). A64, 631-640
  6. William Punch, Richard Enbody. The Practice of Computing Using Python, 3rd  Edition, Addison-Wesley, March 2016
  7. Topchy, A.K. Jain, W. Punch, “Clustering Ensembles: Models of Consensus and Weak Partitions”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 27, No 12, pp 1886-1881, Dec 2005
  8. M.L. Raymer, W.F. Punch, E.D. Goodman, L.A. Kuhn and A.K. Jain, “Dimensionality Reduction Using Genetic Algorithms”, IEEE Trans. EC, Vol. 4, No. 2, pg 164-171, July 2000

Punch helped establish Python as an introductory programming language at MSU (publishing "The Practice of Computing using Python" with Dr. Rich Enbody) and is interested as well in modern C++ programming. 

He has taught many subjects at MSU including Intro to Programming I and II, Data Structures and Algorithms, Operating Systems, Graphics, Compilers, Artificial Intelligence and Evolutionary Computation.

Presently teaching:

  • CMSE 202, Computational Modeling Tools and Techniques