• You are welcome to the Moodle home page of the Teaching and Learning Support System of the Ife-Compuitng and Intelligent Systems Research Group (Ife-CISRG) . Please you should create a new account in order to access the digital resources in the site. If you have created an account before, you do no need to create another account.You can access all your courses with your account. You need an active email account to create an account on this site. Please ensure that you are in custody of the email account and password that you will be using on this site, throughout the duration of your course.

                    ỌDẸ́JỌBÍ Ọdẹ́túnjí Àjàdí   


      EnteringOAU


Available courses

There are lots of question that the modern computing instruments have been used to answer. Majority of the questions that computing system have been used to answer are those that can be reduced into problem. The problem is then solved and the solution is then used to inform the answer the question. The activity in AI attempt to go beyond this by considering the possibility of creating machines that can directly answer the question, that than the problem rendered version of it. A number of questions arises in respect of the enterprise of AI. These include, but not limited to: Can we make the computer to think like humans? What is intelligence and how can we make a computer to manifest? Will such machine be conscious? Indeed, these are questions with which computing and intelligent system discourses have been concerned. The discourses of AI are also of the interesting subject-matter in a number of fields including, philosophy, human  language process and psychology as well as other related fields.

We will be discussing a number of the challenging topics relating to intelligence and consider perhaps whether and how we can craft out machines to mimic it.



In this course, we will be investigating and discussing the most important concept in computing, and perhaps, human society: Language. Indeed language had been the subject-matter of most of the fascinating issues in human discourse since the recorded history. To appreciate the importance of language, imagine a ``world without language''. What do you think it will be like? (e.g. possibility of thinking and sharing the outcomes of our thoughts and feelings with others). Now, also imagine a world where each ``individual speaks a unique language'' (Tower of Babel?). Your answers to these questions will lead you to the realisation of the important roles that language play in individual human and social activities. Language can be loosely defined as an instrument for abstracting and giving expression to human mental states and activities. In the minimum, a language functions as an instrument for formulating and communication messages. Human languages are those used among humans to achieve the abstraction and communication tasks. Some languages spoken by humans include Yorùbá, Hausa, Igbo and English. Human languages manifest in many different forms of expressions such speech, written text (orthography), gaits, signing and other formation such as Àrokò and other indigenous symbol system.

The languages use to programe machines are not the subject-matter of this course though the applications that will be demonstrated  in this course will be developed using programming languages such as Python. 

This is sessional undergraduate students' project course. During this course, you will be required to carry out focused, organised and informative study on a project of your choice. You may also be assigned a project by your supervisor. Specifically you will be expected to: (i) Select a topic in an area of computing and its applications, (ii) Carry out a review of the literature in the area. (iii) Craft our a project aim, (iv) State the specific objectives for achieving the aim, (v) construct the methodology to achieve the objective (vi) Carry out the activities in the methodology and (vii) document the activities in (i) through (vi). You will be guided by your supervisor to achieve this during this course. The purpose of the project is for you to demonstrate your ability to give expression to all you have learnt since Part one to the present. You will need to demonstrate your ability to carry out your selected project in line with the standard best practices in computing and intelligent systems. It various stages during the project, you will be called upon to present seminar and defend your work.

You are welcome to one of the core, and perhaps most interesting, subjects in modern computing: Numerical Computations. This course is core to modern engineering and scientific enterprise for a number of reasons. First, important tasks and activities involved in modern scientific investigations depend on evidences encoded as numerical data. Second, computing techniques are the principal instrument for the rendering, collection and processing of data. Third, all stages in the development of modern engineering devices or mechanisms depend on the use of computing instruments to support their representation, presentation and interpretation. Finally, it is well established that computational formulation of scientific and engineering problems provides the most effective approach to their practical solutions. Despite the power and versatility of modern computing instruments, however, their usefulness depends on the skills of humans to program and apply them appropriately. Such skills include the ability to exercise good judgement in the selection of effective numerical methods and the employment of appropriate computing technique for realising desired solution. It also include a strong awareness of the limits of the power of computing instrument in terms of what a machine can be programmed to do and how exactly the machine does it.

You are welcome to Automata Theory and  Computability.  This is the foundation, fundamental, and perhaps the canonical, subject in computing. The subject matter of this course permeates the entire field of computing. This is because the roots of the tree, from which the fundamental concept of the principles and theories underlying all computing instruments and artefacts emerges, are grounded in subject matter of this course. Specifically, the concepts and principles that we shall be considering in this course are key to the conceptualisation, formulation, design, implementation and evaluation of ideal and abstract computing processes or systems: from the very simple to the most complex. In this course, therefore, we will be examining some fundamental theoretical and
practical interpretations of the concepts underpinning computing. We shall, first of all, demonstrate that the purpose of computing is problem-solving.

Then we shall be discussing the set of criteria, theories and principles that are key to determining:

  1. What can be conceptually computed?
  2. How computed concepts be precisely and completely expressed?
  3. To what extent can  computable concepts be realised materially?


This is a continuation of CSC201,  introductory programming course. Further concept of computing problem-solving will be presented. Solution formulation, specification and design. Algorithm and pseudo-code  tools of solution design will be presented. Program development will be demonstrated using the Python programming language. Various programming techniques and constructs will be demonstrated. Constants, variables, list, tuple, dictionary, etc. will be presented. Iteration and recursive process implementation will be demonstrated.

This is an introductory programming course. Basic concept of computing problem-solving will be presented. Solution formulation, specification and design. Algorithm and pseudo-code  tools of solution design will be presented. Program development will be demonstrated using the Python programming language. Various programming techniques and constructs will be demonstrated. Constants, variables, list, tuple, dictionary, etc. will be presented. Iteration and recursive process implementation will be demonstrated.

This is an introductory computing course. During this course, we shall discourse basic and fundamental  concepts in computing. This include definition of basic terms, history of computing, the language of computing, basic structure of computing systems, categories of computing equipment, modern computing applications.

This is the continuation of  CSC 101: Introduction to computing I. In this course, we will expand on our discussions of the topics treated in CSC 101. Specifically, we wll review the definition of concepts given in CSC 101 in the context of their uses in computing.

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 subject-matter 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 subject-matter 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 well-defined problems. It can be viewed as the symbolic reckoning and systematic formulation of the computational exposition and explanation of the thought processes involved in problem-solving ( Ìsirò).

Our aim in this course is to explore the formal structures and framework for codifying explanations to the mechanisms involved in problem-solving processes. Fundamentally, computing involves the definition of a set of symbols over a well-defined 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, problem-solving and language are intertwined.



The subject-matter 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;

  1. The character of the computing instrument;
  2. Error and error propagation in the process of problem solving;

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

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

  5. Discuss how methods for solving problems described using non-linear and linear models can be solved precisely;

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




You are welcome to the Theory  of Computation.  This is the foundation and perhaps the fundamental, subject in computing. The subject-matter of this course permeates the entire field of computing. This is because the roots of the tree, from which the fundamental concept of the principles and theories underlying all computing instruments and artefact emerge, are grounded in the subject-matter of this course. Specifically, the topics we shall be discussing in this course shall address the  principles and  instruments that are key, or central  to the abstraction, formulation, design, implementation and evaluation of ideal computing devices or systems. These include all range of computing devises from the very simple to the most complex. In this course, therefore, we will be examining some fundamental theoretical and practical explanatory instruments underpinning computing processes and procedures. We shall, first of all, demonstrate that the purpose of computing is problem-solving. Then we shall be discussing the set of criteria, theories and principles that are key to determining:

  1. The things that can be computed;
  2. The extent to which they can be computed;
  3. The extent to which the things that can be computed can be released though the material agency of machine?

The subject-matter of this course is research, specifically, in the context of computing. We will address questions such as, “what is research?”, “why must we conduct research in computing?”, “How are research in computing conducted”, “what are the instrument of computing research?”, “What is the most effective means of communicating research experiences”, and more importantly, “what is/are the fundamental principle of best practices in computing research?”

These topics will be demonstrated with examples that give expression to how to identify a researchable problem, craft the research topic, aim, objective and methodology.  The conduct of literature review, generation of valid evidence in the form of data as well as determining the appropriate theoretical foundation for the formulation and explanation of research findings and outcome will be discussed.

The subject-matter of this course is the formal expression of  computational models. We shall explore the various models for giving expression to computing processes. The relationship between computing, language and machines, in the context of problem-solving, will be explained with examples. Specifically, we it will be demonstrated that the formalisation and language rendering of computing processes is central to efficient problem-solving. It will also be demonstrated that the ultimate aim of  computing  activities is to give expression to the universe of precises process and system description through the language of symbols.

This is an introductory course to fundamental concepts in computation and numerical computing.  The basic symbols, terminologies, models, functions as well as methods for giving expression to computing concepts will be explored and explained. We will also discuss  indigenous concepts of computing in the context of  conventional and standard modern practices and methods.

The subject-matter of this course is central computing in general, and computing with numerals or numbers in particular. 

Automata Theory is, perhaps, the fundamental course in computing. The is because the subject-matter of Automata Theory is the most influential topic in every aspects of computing. The concepts and principles underpinning all the sub-fields of computing science and engineering have their roots in Automata Theory (AT). Indeed many everyday devices that carry out some forms of computation are first conceptualised and formally expressed as Automata. For example, the development (i.e. specification, formulation, design, modelling, implementation and simulation) of a number of important computing devices will be impossible without the use of concepts and principles from Automata Theory.



In this course we will explore and demonstrate the processes involved in the conduct and documentation of a project in computing as related to Information and Communication Technology. The purpose of the project, that you will be undertaking,  is for you to demonstrate your ability to give expression to all you have been taught since Part one to the present at UNIOSUN. You will need to select a topic of interest and demonstrate your ability to carry out the  following in line with the standard best practices in Information and Communication Technology:

  1. Statement of  the problem,
  2. Aim,
  3. Objective,
  4.  Methodology,
  5. Documentation, and
  6. Project seminar defense.