Oladapo Kayode Abiodun

Course Title: Algorithm And Complexity Analysis

Course Code: CMP 411

Introduction

This is a three-credit unit course offered by the 400-level students of the degree programme in Cybersecurity, Information Technology, Software Engineering and Computer Science. An algorithm is a step-by-step process of solving a problem while the complexity of an algorithm is the cost, measure in running time, storage or whatever relevant units of using the algorithm in solving one of those problems. The overall aim of CMP 411 is about the methods for solving problems on computers and the costs (running time, storage) of using those methods. In this course content you will find useful details about this course, its aims and objectives, what the course is all about, course materials to be used, available services in support of this course, and details on assignments and examinations. I strongly recommend you check regularly for updates. I wish you all the best in your learning and the successful completion of this course.

Course Aim

This course aims to introduce the students to how to design and test algorithms and also help them identify various types of algorithm design paradigms.

Course Outline

Course Objectives

After completing the course successfully, the student should be able to:

  1. Explain the basic concepts of bits, bytes and word
  2. Understand linear and non-linear structures
  3. Describe arrays and tree structure
  4. Discuss sets and relations
  5. Describe the basic algorithmic analysis
  6. Explain the asymptotic analysis of upper and average complexity bounds
  7. Distinction in standard complexity classes time and space trade-offs in algorithm analysis
  8. Explain algorithmic strategies
  9. Describe the fundamental computing algorithms
  10. Describe the numerical, sequential and binary search algorithms
  11. Explain hash tables
  12. Understand the graph and its representation
  13. Discuss the application of this course in real-life
  14. Conduct and carry out a research paper concerning the course.

Assessment

Information about the instructor

Main Course

Week 1: Introductory Class

Simple Introductory Task

Week 2: Bits, Bytes, Word, Linear and Non-Linear Structures

Week 3 - 4: Arrays, Tree Structure, Sets and Relations

Week 5: Basic algorithmic analysis, Asymptotic analysis of Upper and average complexity bounds

Week 6: Standard Complexity Classes, Time and space trade-offs in algorithms analysis, recursive algorithms, and Algorithmic Strategies