(CO322 Foundations of Computing I, CO325 Foundations of Computing II, CO520 Further Object-Oriented Programming), or CO523 Fundamentals of Programming and Logic
This module cannot be taken with CO837 Natural Computation
OverviewThis module enables students to take ideas from the natural sciences and use them as inspiration for new computational techniques. You examine developments in biological-inspired computation and their applications. There is also a practical element to the module; you implement one of the algorithms discussed in the lectures on the computers. Topics covered, include evolutionary computation and swarm intelligence.
This module appears in:
- Computing Stage 2/3 Canterbury
- Humanities Undergraduate Stage 2 & 3
- Short-Term Study
- Social Sciences Undergraduate Stage 2 & 3
- STMS Undergradute Stage 2 & 3
To be able to describe what is meant by a natural computation paradigm, list a number of natural computing paradigms and give a brief description of each together with some examples of their (actual or potential) applications.
To be able to select the appropriate technique for a particular problem from a set of problem solving heuristics based on these natural computing paradigms, and to be able to justify this choice based on a knowledge of the properties and potential of these methods. To be able to compare the general capabilities of a number of such methods and give an overview of their comparative strengths and weaknesses.
To be able to analyse phenomena from the natural world from the point of view of their being computational systems. To be able to take these phenomena and distinguish between the features which are important for computational problem solving and those that are merely a fact of their realization in the natural world.
To be able to implement one of the algorithms discussed in the lectures on the computer, and apply this program to the solution of problems.
To be able to describe some examples of how physical devices other than traditional electronics can be used to form the basis of computing systems, and to be able to discuss in an informed way reasons why these devices might be better than traditional devices for some applications. To be able to apply similar reasoning to the analysis of related systems not directly studied on the course