In this course, we shall be discussing Modelling and Simulation in the context of computing science and engineering. Simulation modelling, in the context of computing, is concerned with the techniques and concepts employed in precisely representing the state and dynamics of any object of interest. The object of modelling and simulation may be real, contrived or imaginary. The kind of model created for an object is a function of the purpose, scope and context of its application. We will look into the theories, concepts and fundamental principles underlying the creation of effective models and their efficient simulations. The function of computing as the instrument for constructing simulation modelling tools and techniques will be the focus of our discourse.
Specifically, we will examine the general issues about and around precise model construction and their implementation as computing artefacts through simulation. We will also demonstrate some key concepts using suitable case studies based on indigenous African experiences.
In this course we shall examine the fundamental issues underpinning the process of research in computing particularly in relation to the field of Computer Science and Engineering. The modern computing scientists and engineers face a number of challenges as the demand for new innovations continue to drive the development of more powerful systems, requiring ingenious treatment of scientific theories, and sometimes a review of old methods and concepts. The tools and methods for scientific analysis and the engineering techniques applied in the synthesis of innovative computing designs are changing rapidly. The literature on the body of information about and around the subject matter of computing is also growing in size and becoming more complex to organise, explore and apply. Despite these, the phenomenon underpinning computing in general, and computer science and engineering in particular, remains a very interesting subject that continues to appeal to, and engages, fruitful intellectual discourse.
In this course we will examine the concepts and ideas employed in the indigenous African intellectual tradition for various problem solving activities. We
will explore the strategies they have developed and deployed,
including the system of articulating and narrating, the solution
process. This is with the view to identifying and formally expressing
the computational processes embedded in the thinking responsible for
the creation and solution of problem on the one hand. And, on the
other hand, to expand the horizon of the field of computing and
problem solving in general. The Yoruba intellectual tradition will be the focus of our case study. Relevant references will be made to other African cultures when required.
The subjectmatter of this course is rooted in the substance of intelligent behaviour and how it can be characterised and formulated in precise language. To this end, it contains a number of controversial concepts that are, at the same time, thought provoking. The subjects of “logic”, “artificial”, and “intelligence” have continue to generate heated debates, individually and collectively, across diverse fields of study. The principal theme of such argument is to interrogate the questions as to: (i) ``whether reasoning can be automated'' and (ii) If so, to what extent and with what instrument?
We shall engage the subjectmatter of this course with the intention to broaden our horizon and understanding of concept of automated reasoning in the context of intelligence systems development. In this course, therefore, we shall be discussing a foundation issues in the area of Artificial Intelligence (AI) as it relates with the concepts and principles of the symbolic formulation of the human thought and reasoning processes. This is with the aim to precisely represent the processes and automate them as much as it is practically possible.
The fundamental assumption here is that, in principle at least, aspects of the logic of problem solving in the human reasoning processes are amenable to precise representation and hence mechanisation. This assumption presupposes that such task can be achieved by creating a definitive framework for contextualising, instantiating, codifying and manipulating abstract objects in the reasoning and though processes.
Automata theory is the most influential and, perhaps, the most exciting subject in computing. The subject matter of this course is situated in the concepts and principles underpinning computing science and engineering. Indeed many everyday devices that carry out some forms of computation are first conceptualised and formally expressed as Automata. The Theory of Automata, as presented in computing, is concerned with the body of concepts, techniques and strategies employed in understanding and formalising the thought processes underlying the solution of welldefined problems. It can be viewed as the symbolic reckoning and systematic formulation of the computational exposition and explanation of the thought processes involved in problemsolving ( Ìsirò).
Our aim in this course is to explore the formal structures and framework for codifying explanations to the mechanisms involved in problemsolving processes. Fundamentally, computing involves the definition of a set of symbols over a welldefined domain of conceptualisation and the formulation of mechanisms for manipulating the symbols. In this course therefore, we shall be engaging the systematic investigation of an enterprise whose primary purpose is problem solving. We shall also see that the concepts of computing, problemsolving and language are intertwined.
The subjectmatter of this course is the numerical rendering of problem with the aim to construct algorithmic procedures for their solution. Such algorithmic solution must also be implementable on a computing tool. The modern computing tool is the digital computer. Specifically, therefore, we will discuss the theoretical basis of computable and solvable numerically rendered problems. The topics that will be considered include;
 The character of the computing instrument;
Error and error propagation in the process of problem solving;

The role of methods and machine in error generation and propagation;

Precaution to handling and treating error so as to prevent the manifestation of errors from compromising the final solution computed;

Discuss how methods for solving problems described using nonlinear and linear models can be solved precisely;

Discuss how methods for solving dynamic problems described using ordinary and partial differential equation and models can be solved precisely;