School of Electronic Engineering and Computer Science

People menu

Mr Gokhan Solak


Room Number: Peter Landin, CS 419


Data Mining (Undergraduate)

Data that has relevance for decision-making is accumulating at an incredible rate due to a host of technological advances. Electronic data capture has become inexpensive and ubiquitous as a by-product of innovations such as the Internet, e-commerce, electronic banking, point-of-sale devices, bar-code readers, and electronic patient records. Data mining is a rapidly growing field that is concerned with developing techniques to assist decision-makers to make intelligent use of these repositories. The field of data mining has evolved from the disciplines of statistics and artificial intelligence. This module will combine practical exploration of data mining techniques with a exploration of algorithms, including their limitations. Students taking this module should have an elementary understanding of probability concepts and some experience of programming.

Procedural Programming (Undergraduate)

This is an introductory module in computer programming using Java. You will learn the basic concepts of programming and learn to write and reason about simple programs. The main topics covered are: storing and manipulating data, control structures, methods and recursion, and algorithms for searching and sorting data. Classes include weekly lectures and lab sessions. You will be assessed by coursework throughout the term and by an end-of-term exam. Both will require you to demonstrate that you can write programs and understand theory.

Software Engineering (Undergraduate)

Software Engineering is concerned with applying engineering principles to the production of software. This module provides the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. The practical part of the module consists of lab assignments in which students use a range of relevant tools (a Java programming IDE, unit testing tool, configuration management tool, UML design tool, and project planning tool). Aims To ensure students have the necessary understanding of the principles and tools needed to build and test large-scale software systems. In particular, it provides the necessary background for students to undertake a significant group project assignment in subsequent modules or employment.


Research Interests:

Robotic manipulation, machine learning, artificial intelligence, inductive logic programming
Return to top