The design, analysis, and implementation of numerical algorithms for solving problems in science and engineering. Emphasis on program design, data structures, computational complexity, scientific computing environments, and high-performance software packages. 3 hour lab required. Finite automata and regular sets. Introduction to Turing machines and undecidability.
Students begin writing a senior thesis.
Natural computation is the study of the computational processes in natural systems, especially the learning algorithms found in nature. This course will present these three approaches to learning and the essential ideas they have in common. You will need these skills to understand the material, do the homework and do the projects. Emphasis on faculty research. May be repeated.