BACHELOR OF SCIENCE
Artificial Life Programming
Creating Future Intelligent Software Applications
Artificial Life Programming derives inspiration from biology to design and build
software systems that solve complex real-world problems. The concepts studied in
this program compliment the traditional computer science approach by providing
additional problem-solving methods and techniques. Students will study and develop
applications using evolutionary and genetic algorithms, cellular automata, artificial
neural networks, agent based models, and other artificial life methodologies.
Artificial Life Programming can be applied to many areas, including architecture,
autonomous systems, computer games, distributed systems, economics and market dynamics,
machine intelligence, self-assembly and self-organization, and sociology.
Artificial Life Programming Degree Objectives (BS)
Describe, implement and analyze fundamental data structures including
lists, trees, hash tables, and graphs, and algorithms including sorting
Describe and apply the mathematical and theoretical basis of computer
science and computer architectures.
Create a quality object-oriented software solution that meets specified
Follow a software development process to analyze a problem, and to design,
build, and test a software system in a team environment.
Demonstrate applicable skills using more than one programming language,
development environment, platform, and source control system.
Evaluate problems and create software solutions that demonstrate appropriate
applications for the following artificial life methodologies: L-systems,
evolutionary algorithms, agent-based models, cellular automata, and neural
Describe, implement and analyze artificial intelligence applications.
Create three software applications that demonstrate one of the following
artificial life methodologies: L-system, evolutionary algorithm, agent
based model, cellular automata, and neural network.