Programmes_CME

ACADEMIC PROGRAMMES OF THE DEPARTMENT OF COMPUTER ENGINEERING

 

  1. Overview of the department
  2. Admission Requirements for the Postgraduate Programmes
  3. Bachelor of Engineering Programme

          Click here to see the undergraduate programme details.

  1. Master of Engineering Programme and Doctor of Philosophy Programme in Computer Hardware and Control Engineering
  2. Master of Engineering Programme and Doctor of Philosophy Programme in Software and Systems Engineering
  3. Doctor of Philosophy Programme in Information Technology Engineering
  4. Doctor of Philosophy Programme in Information Management Engineering
  5. Postgraduate Course Synopsis

 

  1. OVERVIEW OF DEPARTMENT OF COMPUTER ENGINEERING

Decree No. 48 of the Federal Government of Nigeria established the Michael Okpara University of Agriculture, Umudike in May 1992. In due course, it became clear that the mission of the Institution could not be properly achieved, neither could Agriculture be successfully developed nor meaningfully utilized in the industrialization and sustenance of the nation without an accompanying College of Engineering. Thus in 2001/2002 academic session, the College of Engineering and Engineering Technology came into existence with the establishment of the Department of Agricultural Engineering followed in quick succession by Departments of Civil Engineering, Mechanical Engineering and Electrical/Electronics Engineering in the 2003/2004 academic session. Then the department of Computer Engineering and Chemical Engineering were established to have a total number of six departments that makes up the College of Engineering and Engineering Technology.

 

  1. Computer Hardware and Control Engineering

The Master of Engineering Programme

      FIRST SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 801 Software Project Management 2 C 30 15
CME 802 Advanced Engineering Mathematics 3 C 30  
CME 811 Principles of Artificial Intelligence 2 C 30  
CME 812 Advanced Computer Graphics 3 C 30  
CME 813 The Hardware/software Interface 3 C 30 15
CME 814 Digital System Design 2 C 30 15
                           Total 15      
 SECOND SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 821  Microprocessor & Microcontroller Systems Design 3 C 30 15
CME 822           Object Oriented Programming 3 C 30 15
CME 823 Expert Systems and Knowledge Engineering 3 C 30  
CME 824   Advanced Assembly Language Programming 3 C 30 15
CME 825              Computer Organization/Architecture 3 C 30 15
         Total 15      

THIRD SEMESTER (Students are expected to offer CME 803 and any other Three Courses from here)

         THIRD SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 803 Seminar 2 C 30  
CME 831 Advanced Operating Systems 2 C 30  
CME 832 Advanced Control Theory 2 E 30  
CME 833 Robotic Control 2 E 30  
CME 834 Digital systems Design with VHDL 2 E 30  
                           Total 8      
 FOURTH SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 800          THESIS 6 C 45 60
              Total 6      

 

Doctor of Philosophy Programme in Computer Engineering Hardware

      FIRST SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 911 Modern Control Theory 3 C 30 15
CME 912 System Modelling and Analysis 3 C 30  
CME 913 Computer Network Design

 

3 C 30 15
CME 914 Advanced Microprocessor and Micro Controller Systems 3 C 30 15
                           Total 12      
 SECOND SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 921           Advanced Digital Logic Design 3 C 30 15
CME 922 Technopreneurship and Cyber Law 3 C 30  
CME 923 Real Time Computing and Control II 3 C 30 15
CME 924 Data Communication and Networking 3 C 30 15
         Total 12      

 

         THIRD SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 915 Wireless and mobile Communication 3 C 30  
CME 916 Digital Image Processing 3 C 30  
CME 917 System Development, Software and Prototyping 3 C 30  
CME 918 Ph.D Seminar 1 C 30  
                           Total 10      
 FOURTH SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 900 Ph.D Dissertation 18 C 45 60
              Total 18      

 

 

  1. Computer Software & Systems Engineering

Master of Engineering Programme in Computer Software & Systems Engineering

      FIRST SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 801 Software Project Management 2 C 30 15
CME 802 Advanced Engineering Mathematics 3 C 30  
CME 811 Principles of Artificial Intelligence 2 C 30  
CME 812 Advanced Computer Graphics 3 C 30  
CME 815 Design and Analysis of Algorithms 3 C 30 15
                           Total 13      
 SECOND SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 822           Object Oriented Programming 3 C 30 15
CME 823 Expert Systems and Knowledge Engineering 3 C 30  
CME 826 Cryptography and data Security 3 C 30  
CME 828 Advance Scripting In Engineering 2 C 30  
CME 827 Advanced Software Engineering 2 C 30  
         Total 13      

 

THIRD SEMESTER (Students are expected to offer CME 803 and any other Three Courses from here)

         THIRD SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 803 Seminar 2 C 30  
CME 831 Advanced Operating Systems 2 C 30  
CME 835 Principles of Database Management Systems 2 E 30  
CME 836 Advanced Structured Query Language 2 E 30  
CME 837 Advanced Computer Networks 2 E 30  
                           Total 8      
 FOURTH SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 800          THESIS 6 C 45 60
              Total 6      

 

Doctor of Philosophy Programme in Computer Engineering Systems and Software

               FIRST SEMESTER        
COURSE CODE COURSE TITLE  UNITS STATUS LH PH
CSE 911 Software Engineering and development 3 C 30 15
CSE 912 Object-Oriented Programming 3 C 30
CSE 913 Advanced Intelligent System Engineering 3 C 30
CSE 914 Advanced Computer Based  Modelling and Simulation 3 C 30
Total   12      
  SECOND SEMESTER        
CSE 921 Geospatial Information Systems 3 C 30  
CSE 922 Managing Software Professionals 3 C 30  
CSE 923 Advanced Project Management 3 C 30 15
CSE 924 Mobile Hardware For Software Engineers 3 C 30  
        Total 12      

SECOND YEAR -FIRST SEMESTSER

COURSE CODE COURSE TITLE UNITS STATUS LH PH
CME 917 System development, Software tools and Prototyping 3 C 30
CSE 916 Advanced Artificial Neural Networks 3 C 30
CSE 917 Decision and risk analysis II 3 C 30
CSE 918 Ph.D Seminar 1 C 30
Total   10      
  Third Semester        
CSE 900 Ph.D Dissertation 18      
Total 18      

 

 

 

 

 

  1. Doctor of Philosophy Programme in INFORMATION TECHNOLOGY
COURSE CODE COURSE TITLE UNITS STATUS LH PH
ICT 911 Advanced information Technology 3      
ICT 912 Internet Engineering 3      
ICT 913 Applied Information Assurance 3      
ICT 914 Satellite Communication system 3      
Total 12      
Second Semester        
ICT 921 Wireless Communication System 3      
ICT 923 Network Security and management 3      
ICT 923 Advanced Computer Architecture 3      
CME 922 Technopreneurship and Cyber Law 3      
Total 12      

SECOND YEAR-FIRST SEMESTSER

COURSE CODE COURSE TITLE UNITS STATUS LH PH
CSE 917 Decision and risk analysis II 3 C 30  
ICT 915 Advanced Information Preservation System II 3 C 30  
ICT 916 Data Communication and Computer Network II 3 C 30  
ICT 917 Ph.D Seminar 1 C 30  
Second Semester        
ICT 900 Ph.D Dissertation 18 C 45 60
Total 18      

 

  1. Doctor of Philosophy Programme in INFORMATION MANAGEMENT SYSTEM
  FIRST SEMESTER        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
ICT 911 Advanced information Technology 3 C 30  
ICT 912 Internet Engineering 3 C 30  
IMS 911 Database Engineering 3 C 30 15
IMS 912 Engineering Practices and Backup System 3 C 30  
  Total 12      
          SECOND SEMESTER        
CME 922 Technopreneurship and Cyber Law 3 C 30  
IMS 921 Economics and Information Systems 3 C 30  
IMS 922 Machine Learning and Large-Scale Data Analytics 3 C 30  
IMS 923 Advanced Web designing 3 C 30  
Total 12      

 

 

           Ph.D:

SECOND YEAR-FIRST SEMESTSER

  Second year-First Semester        
COURSE CODE COURSE TITLE UNITS STATUS LH PH
IMS 915 Advanced Content management System 3 C 30  
IMS 916 Current Trends in Information Technology II 3 C 30  
IMS 917  Advanced System Security & Data Integrity 3 C 30  
IMS 918 Ph.D Seminar 1 C 30  
Total 9      
Second Semester        
IMS 900 Ph.D Dissertation 18      

 

 

  1. COURSE DESCRIPTION/ SYNOPSIS

 

CME 801        Software Project Management                                   (2 UNITS)                         

This Project Management course examines project management in theory and practice and the roles and responsibilities of the project manager. The course offers a practical approach to managing projects, focusing on organizing, planning, and controlling the efforts of the project. Students participate in structured workshops where simulated project plans are designed and implemented. The course is based on the best and most current thinking in the field, particularly the Project Management Institute’s (PMI®) approach described in A Guide to the Project, Case studies, active participation in team exercises, and practical information reinforce learning. At the end of the course, attendees will understand why project management requires a high degree of professionalism, and how to achieve that end in future projects.

                                                                             

CME 802        Advanced Engineering Mathematics                                    (3 UNITS)                                   

Revision of linear algebra, ordinary differential equation, and laplace, fourier and z-transforms, complex variable, analysis, and applications. Fast computational methods for linear algebra and integral transom algorithms. Short time fourier transform and applications. Short time fourier transform and applications, wavelet transform. Green’s function, Bessel functions, gamma function, Euler transform, Metric spaces, and algebraic structure, linear spaces: Brannch and Hilbert spaces; operators in Hilbert spaces. Singular value.

 

CME 811   Principles of Artificial Intelligence                                         (2 UNITS)           

Overview: foundations, scope, problems, and approaches of AI.

 

Intelligent agents: reactive, deliberative, goal-driven, utility-driven, and learning agents

 

Artificial Intelligence programming techniques

 

Problem-solving through Search: forward and backward, state-space, blind, heuristic, problem-

 

reduction, A, A*, AO*, minimax, constraint propagation, neural, stochastic, and evolutionary

 

search algorithms, sample applications.

 

Knowledge Representation and Reasoning: ontologies, foundations of knowledge

 

representation and reasoning, representing and reasoning about objects, relations, events, actions,

 

time, and space; predicate logic, situation calculus, description logics, reasoning with defaults,

 

reasoning about knowledge, sample applications.

 

Planning: planning as search, partial order planning, construction and use of planning graphs

 

Representing and Reasoning with Uncertain Knowledge: probability, connection to logic,

 

independence, Bayes rule, bayesian networks, probabilistic inference, sample applications.

 

Decision-Making: basics of utility theory, decision theory, sequential decision problems,

 

elementary game theory, sample applications.

 

Machine Learning: learning from observations (data), problem-solving, interaction and

 

experimentation. Representative learning algorithms, learning nearest neighbor, naive Bayes and

 

its variants, neural networks and their variants, and decision trees and their variants, Q-learning

 

for learning action policies, sample applications. Sample Applications of AI, student project presentations.

 

Brief Survey of selected additional topics: perception, communication, interaction, and action; multiagent systems

 

CME 812        Advanced Computer Graphics                                            (3 UNITS)           

Review of the Cathode Ray Tube (CRT) and point plotting displays, Computer control of pointing displays, Vector generation-dots, Lines, Line strength estimate. Digital and Analog methods. Display Processors:- Controlling a vector – drawing display, channels and display processors, character generators.

Display File Compilers:- Display code generation, Graphical function. The viewing algorithm, segmented display files, free storage allocations display subroutines: Graphical data structures.  2-Dimentional transformations:- the need for transformation, concatenation, matrix representations. Clipping And Windowing: Clipping, view ports, windows and instances.

Transformation System: Adding transformation to the display compiler. The transformation of sub-pictures, pseudo display files, transformed display, File compilation, sequencing of transformations, display procedures, practical programming exercises to test understanding of the subject matter.

 

CME 813 The Hardware/software Interface                                    (3 UNITS)  

This course examines key computational abstraction levels below modern high-level languages; number representation, assembly language, introduction to C, memory management, the operating-system process model, high-level machine architecture including the memory hierarchy, and how high-level languages are implemented. We will develop students’ sense of “what really happens” when software runs — and that this question can be answered at several levels of abstraction, including the hardware architecture level, the assembly level, the C programming level and the Java programming level. The core around which the course is built is C, assembly, and low-level data representation, but this is connected to higher levels (roughly how basic Java could be implemented), lower levels.

 

CME 814        Digital system Designs                                           (2 UNITS)       

Design and evaluation of control and data structures for digital systems. Hardware design languages are used to describe and design both behavioral and register transfer level architectures and control units with a microprogramming emphasis.

Cover basic computer architecture, memories, digital interfacing, timing and synchronization, and microprocessor systems.

Number systems, Digital logic families, Digital logic gates, Boolean Algebra, Arithmetic and Code Conversion circuits, sequential logic circuits, Registers, Counters, Multiplexers and Demultiplexers, Multivibrators, Digital, Analog Remote control, Analog – to – Digital and Digital – to – Analog converters and Introduction to Microcomputer circuits. Etc. Advanced Structured Digital Logic Design.

 

CME 821        Microprocessor & Microcontroller Systems Design            (3 UNITS)           

This course consists of two parts.  The first part studies of 8- and 16-bit microprocessor and microcomputer architectures, instruction sets and resources, and how to apply these to real-world design problems.  Focusing on a wide range of microcontroller or microprocessor design scenarios, topics range from memory organizations, interfacing techniques, buses and protocols, to computer arithmetic using integer, fractional and floating point systems, multi-byte arithmetic and numerical techniques.  Includes overviews of control applications using classical and fuzzy control techniques; reliability, redundancy and multi-processor applications; selected programming techniques and issues; and ethics and professionalism in microcontroller design.  The second part consists of a student project requiring both hardware and software design, solving a practical problem, and incorporating elements from the lecture. 8086,8088 Processor Feature and Overview, 8051 family Instruction Set & Addressing Modes , Hardware & Software Development Tools for the 8051, Interrupts & Exceptions. Parallel I/O, Timer Functions, Analog, Interface (ADCs & DACs), Serial Communication (SCI, SPI, and 1 or 12c), Introduction to Controller Area Network (CAN), Introduction to Real Time Operating System (RTOS).

 

CME 822        Object Oriented Programming                                            (3 UNITS)           

As the Java language was designed to facilitate object oriented programming, we begin a thorough coverage of classes/objects, methods, console and file input/output, exceptions, and the concepts of inheritance, encapsulation, and polymorphism. We spend a significant amount of time covering the Java class hierarchy and discussing how to exploit the use of super-classes and interfaces to achieve coding efficiency, flexibility, maintainability, and generality. We then spend several weeks learning about the development of graphical user interfaces (GUIs) in Java, including the use of layout managers and design/installation of event listener objects. In the final weeks, we cover advanced topics including input/output streams, multi-threading/synchronization, internet networking, and database connectivity. At the conclusion of the course, the student will be expected to complete a project involving the design of a fairly complex Java program that consists of a GUI and utilizes at least two of the advanced programming areas.

 

CME 823        Expert Systems and Knowledge Engineering                       (3 UNITS)           

This course deals with concepts, methods, and applications of decision modeling to address various management issues. Unlike conventional capstone business courses that focus on conceptual material this course will attempt to provide skills to translate conceptual understanding into developing specific operational models for improved decision-making – a skill in increasing demand in corporations today.

Using PC and UNIX-based computer software, students will develop Spreadsheet Models and Artificial Intelligence based Decision Support Systems for varying managerial decision contexts.

Specifically, course objectives are to provide you with understanding of the role of Artificial Intelligence, Expert Systems and Decision Models in managerial decision-making. Develop abilities to apply, build and modify decision models to solve real problems. Explore the issues involved in the design and development of Artificial Intelligence Based Decision Support Systems and discuss the role these systems play in the business environment. Gain an In-Depth Knowledge of a particular type of Artificial Intelligence Technique, namely Genetic Algorithms. Gain the knowledge to build a prototype Artificial Intelligence Based Decision Support System.

 

CME 824        Advanced Assembly Language Programming                        (3 UNITS)          

Introduction to Assembly Language: Computer organization Number and character representation – IBM PC programming model, Directives The MOV instruction  addressing modes, Arithmetic instructions, Logic, shift and rotate instructions, Interrupts, DOS and BIOS, The processor status and flags register, Flow control instructions, The stack introduction to procedures, Software constructs, Arrays addressing modes revisited. OS Windows and assembler – general introduction, Development of applications in assembler for the OS Windows – console applications and DLL libraries, Development of applications in assembler for the OS Windows – window-based applications and OpenGL, Introduction to the instructions of the MMX extension, Applications of the MMX extension, Introduction to the instructions of the SSE technology, Applications of the SSE technology, Optimizations of the assembler code, Protected mode of the IA-32 processors – registers and instructions, memory models, Protected mode of the IA-32 processors – basic data structures, memory management, Protected mode of the IA-32 processors – principles of the data and code protection ,Protected mode of the IA-32 processors – task management, 64-bit processors and interfacing of 8051 Microcontroller.

 

CME 825 Computer Organization/Architecture                                    (3 UNITS)           

Introduction to design technique and synthesis of digital computers, ALU CONTROL, CPU, I/O DEVICES and CO-PROCESSORS. Principles of computer structure and design as applied to major computer component functions. Bus architecture, plug and play systems. Duplex, double 8888 module and single non module. Design, methodology, processor and CPU design memory organization; input-output communication and multiple CPU systems.

 

CME 831        Advanced Operating Systems                                              (2 UNITS)           

Operating system design and construction techniques. Concurrent programming, operating system kernels, correctness, deadlock, protection, transaction processing, design methodologies, comparative structure of different kinds of operating systems, and other topics. A detailed study of advanced topics in operating systems, including synchronization mechanisms, virtual memory, deadlocks, distributed resource sharing, computer security and modeling of operating systems.

Kernel: interrupt handler, dispatcher, wait/signal, Process Manager and Intercommunications: deadlocks, semaphores, concurrency, message passing,  Memory Manager: segmentation, paging, shared memory, Drivers: I/O, buffering, spooling, File Structure: directory, storage, integrity, Scheduler: queuing theory, scheduling policy, shared resources, Protection: fault avoidance, error detection, error handling, error, recovery, Performance Measurement, Tuning and Modeling.

 

CME 832        Advanced Control Theory                                           (2 UNITS) 

Brief history and comparison of classical control with modern control. Revision of linear algebra in control theory: Matrix operations, types of matrix, elementary operations, rank, determinant, inverse, transpose, Eigen values-distinct, repeated, complex and their eigenvectors, diagonalization of matrix. Computation and applications of Eigen values and eigenvectors. State space description of dynamic systems, linear system response, transfer function matrix. Analysis of linear system, stability, observability and controllability. Smith MCMillan form. Optimal control: Linear regulator problem, linear quadratic methods, state regulation, state estimation, Ricatti equations. Dynamic programming, Calculus of variation, pontragin principle. Kalman filter and Extended Kalman filter: State space model, state estimation, applications. Digital control system: Z transforms, transfer functions, Difference state space models, stability, Jury test, linear regulator design. Fuzzy logic control: Linguistic variables, fuzzy sets and operators, knowledge rules, system analysis, design and implementation, application of fuzzy logic in control system. Neural Network: Introduction to mathematical analysis of neural network and learning rules, applications of neural network to control systems. Genetic algorithm and applications to control system. Introduction to robotic kinematic

CME 833               Robotic Control                                                                      (2 UNITS)          

This course focuses on the application of control theory in robotics. Topics to be covered include: review of classical and modern control design methods such as PID control, state feedback, optimal control, adaptive control, and hybrid system control; control of mobile robots; control of robot manipulators; reinforcement learning; cognitive robotics. The lab session of CME 833 helps students gain experience in applying control design methods in robotics, and the topics covered include: PID control and state feedback control of robot arms; movement control and navigation of mobile robots.

CME 834        Digital Systems Design with VHDL                                         (2 UNITS)
This course instructs the students the use of VHDL ((Very High Speed Integrated Circuit Hardware Description Language) for describing the behavior of digital systems. VHDL is a standardized design language used in computer/ semiconductor industry. This course will teach students the use of the VHDL language for representation of digital signals, use of IEEE standard logic package/library, design description, design of arithmetic, combinational, and synchronous sequential circuits. Students must demonstrate the use and application of Boolean Algebra in the areas of digital circuit reduction, expansion, and factoring, learn the IEEE Standard 1076 VHDL Hardware Description Language, be able to simulate and debug digital systems described in VHDL, be able to synthesize complex digital circuits at several level of abstractions and be able to implement logic on an FPGA and a CPLD. Each of the following topics will be covered in this course: Introduction and course overview, the Design Process, Design Descriptions and CAD Tools, System Design Concepts, Review of Transistors and PLD devices, Implementation of Logic Functions, Arithmetic Circuits, Building Block Approach for Combinational Circuits, Registers and Counters. Synchronous Sequential Circuits and Synthesis using VHDL.

 

CME 803        Seminar                                                                        (2 UNITS)  

This course is a graduation requirement for all Master’s. It is a forum to discuss computer Engineering-related academics and research. The course is organized as a number of lectures on giving presentations, writing papers, and other aspects of performing research and pursuing a graduate degree, along with a number of invited research talks and colloquia (including those in the departmental Colloquium Series). Additionally, students in the class will be giving presentations on their current work. Seminar’s student mentoring by supervisor part includes also discussions on such topics as Computer Engineering Postgraduate program requirements, what means to be a good Postgraduate student, what means to be a good researcher, picking an advisor, funding available for postgraduate students, career opportunities for computer Engineering graduates, computer Engineering publishing venues, library skills, teaching skills, preparing and giving research presentations.

 

CME 800        THESIS                                                                                  (6 UNITS)           

This course gives you an opportunity to produce and defend a thesis under your supervisor in the Area of your interest. This is a process oriented writing course that integrates reading, research, writing, design and oral presentations. You will carry out a research project on your option area, topic of your interest.  You will present the results of each stage of your work to your supervisor.

Additionally, students in the class will be giving presentations on their current work.

 

CME 815        Design and Analysis of Algorithms                                     (3 UNITS)           

Main concepts including the pure automatic formal logic machine, instruction addressing and execution, computer memory, basics of assembly language, linking and running a program will be addressed. In addition, the course examines program logic and control, stack, string and numeric processing. Argue the correctness of algorithms using inductive proofs and invariants. Analyze worst-case running times of algorithms using asymptotic analysis. Describe the divide-and-conquer paradigm and explain when an algorithmic design situation calls for it. Recite algorithms that employ this paradigm. Synthesize divide-and-conquer algorithms. Derive and solve recurrences describing the performance of divide-and-conquer algorithms. Describe the dynamic-programming paradigm and explain when an algorithmic design situation calls for it. Recite algorithms that employ this paradigm. Synthesize dynamic-programming algorithms, and analyze them. Describe the greedy paradigm and explain when an algorithmic design situation calls for it. Recite algorithms that employ this paradigm. Synthesize greedy algorithms, and analyze them. Explain the major graph algorithms and their analyses. Employ graphs to model engineering problems, when appropriate. Synthesize new graph algorithms and algorithms that employ graph computations as key components, and analyze them. Explain the different ways to analyze randomized algorithms (expected running time, probability of error). Recite algorithms that employ randomization. Explain the difference between a randomized algorithm and an algorithm with probabilistic inputs. Analyze randomized algorithms. Employ indicator random variables and linearity of expectation to perform the analyses. Recite analyses of algorithms that employ this method of analysis.

 

CME 816        Data Structures And Algorithms                                                   (2 UNITS)          

C++ programming language, pointers and arrays, classes, recursion, stacks, queues, lists, tables, trees, binary trees, search trees, heaps and priority queues; sorting, hashing, garbage collection, storage management; and the rudiments of the analysis of algorithms.

Basic Data Structures Stacks, Queues, Arrays, Linked Lists, etc. Analysis of Algorithms Rates of Growth: O(n),Ω(n),Θ(n),o(n),ω(n), Run-Time Complexity, Space Complexity, Completeness (Time Permitting), etc.

Sorting Algorithms Insertion Sort, Selection Sort, Merge Sort, Quick sort, Heap sort, Bucket Sort, Radix Sort, etc. Hash Tables Hash Functions, Open Hashing, Closed Hashing, etc. Trees Binary Trees, Binary Tree Manipulation, Ordered Binary Trees, Binary Search Trees, Heaps and Priority Queues, AVL Trees, B Trees, etc. Graphs and Graph Algorithms Dijkstra’s Algorithm, Prim’s Algorithm, Kruskal’s Algorithm, Depth-First vs Breadth-First Search, Connected Components, Maximum Flow, etc. Dynamic Programming Knapsack Problem, All-Pairs Shortest Path, etc.

 

CME 826        Cryptography and data Security                                         (2 UNITS)           

Principles and practice of cryptography and network security. Classical systems, symmetric block ciphers (DES, AES, other contemporary symmetric ciphers), linear and differential cryptanalysis, perfect secrecy, public-key cryptography (RSA, discrete logarithms), algorithms for factoring and discrete logarithms, cryptographic protocols, hash functions, authentication, key management, key exchange, signature schemes, security. Conventional and public-key cryptography. Selected cryptosystems, including DES and RSA. Digital signatures, pseudo-random number generation, cryptographic protocols and cryptanalytic techniques. Applications of cryptography to e-commerce.

CME 827        Advanced Software Engineering                                           (2 UNITS)           

This course aims to equip students to develop techniques of software-intensive systems through successful requirements engineering, design, testing, maintenance and evolution, and project and quality management. Students build on their basic software engineering knowledge by extending it with specific techniques for maintenance, evolution, dependability, reliability, safety, security, and resilience.

This course exposes students to the advanced problems of software engineering. After mastering the basics of requirements engineering, design, and testing, we explore maintenance and evolution, project and quality management, as well as the engineering for distinct quality characteristics. In detail, the course covers: 1. A recapitulation of software engineering process models 2. A recapitulation of the basic techniques for requirements engineering and design 3. Project management 4. Process and project metrics 5. Estimation for software projects 6. Project scheduling 7. Risk management 8. Maintenance and reengineering 9. Dependability of systems 10. Reliability engineering 11. Safety engineering 12. Security engineering 13. Resilience engineering.

 

CSE 828         Advance Scripting in Engineering                                      (2 UNITS)           

Java script, go programming, Perl programming JavaScript, create basic JavaScript script, types of scripts, the script tags, components of JavaScript, the alert statement, browser support, script errors, identify scripting php overview ,windows installations, Guidelines, comments, line terminators, managing the browser window, display messages on the status bar, objects, types of objects, client-side objects, core objects,  Configuring, exploring data, variables, mysql database, phpmyadmin,  open a connection to mysql, building a content management system, blueprinting your application, building the cms database, understanding relational databases, establishing your work area.

CSE 835         Principles of Database Management Systems                           (2 UNITS)          

An in-depth study of relational database theory. Topics include first-order logic, relational calculus and algebra, query languages, query optimization, functional and multi-valued dependencies, normal forms and concurrency control. Advanced topics in database management system, data models and their underlying mathematical foundations. Database manipulation and query languages, functional dependencies, physical data organization and indexing methods, concurrency control, crash recovery, database security and distributed databases. Data models and query languages (SQL, datalog, OQL). Object-oriented databases and object-relational databases. Principles of data storage and indexing. Query-execution methods and query optimization algorithms. Static analysis of queries and rewriting of queries, using views. Data integration. Data mining. Principles of transaction processing.

 

CSE 836         Advanced Structured Query Language                          (2 UNITS)           

Students gain extensive hands-on experience with exercises and a term project using Oracle, SQL Server, and other leading database management systems. Students learn to model persistent data using the standard Entity-Relationship model (ERM) and how to diagram those models using Entity-Relationship Diagrams (ERDs), Extended Entity-Relationship Diagrams (EERDs), and UML diagrams. Students learn the standards-based Structured Query Language (SQL) and the extensions to the SQL standards implemented in Oracle and SQL Server. Students learn the basics of database programming, and write simple stored procedures and triggers.

Database basics, Installing and connecting to a database management system, Relational database concepts, Relational database design using ERD, Normalizing database designs, Database integrity, Object-relational design using EERD, The Structured Query Language (SQL) and practice using Oracle, Advanced SQL. The DBMS lifecycle, Database transactions and concurrency, Preview of advanced topics in databases including: performance tuning, data warehouses, and distributed databases.

 

CME 837        Advanced Computer Networks                                        (2 UNITS)                                   

Data Communication Principles: Basic data communication concepts, communication channels, Error control procedures. Distributed Processing Network:  Structure of computer networks – Star, Ring and Hierarchical networks. Decentralized networks, physical vs Virtual circuit switching, store and forward techniques. Message and packet switching network modes and interface processors, Routine control.

Computer Network Protocols: Data transmission, RS-232 and X-21 standards. Bandwidth allocation and standards. Polling and contention. Error control, network and host protocols- protocol requirement, protocol distribution, calling/link, control/data exchange. Network flow,

Protocol standards and network – HLDC, the international X.25 standards, IBM, SNA, DECENT, Review of local area networks, Arpanet, tymnet, telnet, and Euro net network security considerations.

The course also covers the cloud security model and associated challenges and delves into the implementation and support of High Performance Computing and Big Data support capabilities on the Cloud. Through hands-on assignments and projects, students will learn how to configure and program IaaS services. They will also learn how to develop Cloud-based software applications on top of various Cloud platforms, how to integrate application-level services built on heterogeneous Cloud platforms, and how to leverage SaaS and BPaaS solutions to build comprehensive end-to-end business solutions on the Cloud.

 

CME 911               Modern Control Theory                                                 (3 Units)

Undergraduate course(s) in control theory; advanced undergraduate course in linear algebra. State-space analysis of dynamic systems.  Lyapunov Stability .  Controllability and observability.  Canonical forms and minimal realizations. Design of SISO and MIMO state-feedback controllers. State estimation and observers. . Quadratic optimal control. . Linear Time Varying Systems . Current interests and research topics in control engineering.

 

CME   912                 System Modelling and Analysis                                      (3 Units)

  • Macro-to-micro, top-down approach
  • Multidisciplinary examples
  • Incorporation of human knowledge to synthesise a systems model
  • Clear and concise systems delimitation
  • Complex systems using simple mathematics
  • “Exact” reproduction of historical data plus model generated secondary data
  • Systems simulation via systems models

 

CME     913                             Computer Network Design                              (3 Units)

In particular, it concentrates on the Internet technology. It first introduces the OSI and TCP/IP network architecture models. It then studies the implementation principles and design issues at each layer of these models. Lecture topics include: OSI and TCP/IP models, data transmission basics, data-link protocols, local area networks, wide area networks, Internet structures, TCP/IP protocol suite, and application Layer protocols. Laboratory work focuses on the implementation of stop-and-wait protocol based on the BSD socket. In addition, students will gain practical experience by building and studying a physical network using network devices such as switches and routers.

 

CME  9114       Advanced Microprocessor and Micro controller Systems                ( 3 Units)

This course aims at teaching primary concept of programing with machine language. It also aims to train the student for automated system design with the programing intelligence. The objective of this course is to become familiar with the architecture and the instruction set of an Intel microprocessor. Assembly language programming will be studied as well as the design of various types of digital and analog interfaces. The accompanying lab is designed to provide practical hands-on experience with microprocessor software applications and interfacing techniques.

At the end of the course, a student will be able to:

  1. State the internal organization of some popular microprocessors (8086, 8088)/microcontrollers (8051, PIC). 2. Understand the impact of microprocessor based system in process of automation. 3. Apply knowledge of soft skill and other resources to design automated system with programing module. 4. Discriminate the performance of pipe-lining (8086) and non-pipe-lining (8085) architecture microprocessor. 5. Conduct experiments for real time data collection by microprocessor based data acquisition system. 6. Design interfacing circuits of various devices with the microprocessor and microcontroller.

 

CME   921        Advanced Digital Logic Design                                                         ( 3 Units)

 

  • To understand the basic building blocks, logic gates, adders, multipliers, shifters and other digital devices
  • To apply logic minimization techniques, including Karnaugh Maps
  • To learn techniques and tools for programmable logic design

 

Unit – I

Review of Combinational and Sequential logic design – Structural models of combinational logic – Propagation delay – Behavioral Modeling – Boolean equation based behavioral models of combinational logic – Cyclic behavioral model of flip-flop and latches – A comparison of styles for behavioral modeling – Design documentation with functions and tasks

 

Unit – II

Synthesis of Combinational and Sequential logic – Introduction to synthesis – Synthesis of combinational logic – Synthesis of sequential logic with latches – Synthesis of three-state devices and bus interfaces – Synthesis of sequential logic with flip-flops – Registered logic – State encoding – Synthesis of gated clocks and clock enables – Anticipating the results of synthesis – Resets – Synthesis of loops – Design traps to avoid – Divide and Conquer: partitioning a design.

 

Unit – III

Design and Synthesis of Datapath Controllers – Partitioned sequential machines – Design example: Binary counter – Design and synthesis of a RISC stored-program machine – Processor, ALU, Controller, Instruction Set, Controller Design and Program Execution – UART – Operation, Transmitter, Receiver.

 

Unit – IV

Programmable logic devices – Storage devices – Programmable Logic Array (PLA) – Programmable Array Logic (PAL) – Programmability of PLDs – Complex PLDs – Introduction to Altera and Xilinx FPGAs – Algorithms – Nested loop programs and data flow graphs – Design Example of Pipelined Adder, Pipelined FIR Filter – Circular buffers – FIFOs and Synchronization across clock domains – Functional units for addition, subtraction, multiplication and division – Multiplication of signed binary numbers and fractions.

 

Unit – V

Postsynthesis Design Validation – Postsynthesis Timing Verification – Elimination of ASIC Timing Violations – False Paths – Dynamically Sensitized Paths – System Tasks for Timing Verificaion – Fault Simulation and Testing – Fault Simulation – Fault Simulation with Verifault-XL, lab exercises using Xilinx and Bluespec

 

 

CME   922                Technopreneurship and Cyber Law                                     ( 3 Units )

 

The course objectives are to: • Analyze statutory, regulatory, constitutional, and organizational laws as it is applied to cyber security • Explore the laws of other countries in relation to cyberspace • Demonstrate the ethical issues surrounding the use of the internet.

At the end of the course, a student will be able to:

Module 1  The Internet Unit

  1. Legal Framework of cyberspace Unit    Privacy and Censorship Unit  3. Net Neutrality
  2. Module 2 Cyber law in Nigeria Unit 1 Advance Fee Fraud and Other Fraud Related Offences (Amendment) Act Unit Cybercrime Act Unit  3. Evidence Act Unit  4. Nigeria Data Protection Regulation, cybercrime policy and strategy
  3. Module 3 Cyber Law: International Perspective Unit UN & International Telecommunication Union (ITU) Initiative Unit  2. Council of Europe-Budapest Convention on Cybercrime Module 4 Dispute in Cyberspace Unit 1 Intellectual Property Issues Unit  2. Jurisdiction and International law
  4. Module 5 Cyber Ethics and Emerging Trends Unit 1. Ethical Concepts and Professionalism Unit Emerging Trends in Cyber Laws and Ethics

 

CME  92         Real Time Computing and Control  11                                          ( 3 Units )

 

Due to its vital role in almost all application domains, such as ground and air/space vehicles, robots, buildings and even human bodies, as well as telecommunication systems and devices, real-time computing (RTC) has become an essential discipline in the field of computer science and engineering. The new emerging concept of cyber-physical system (CPS) is also rooted at real-time computing. This course is intended to cover principles and foundations (not case studies or applications) of real-time computing, which are based on three attributes: timeliness, reliability/safety, and environmental interface. These three attributes are strongly coupled with each other by a single precious resource, time, which is, in turn, dictated by limited resources, electric energy, space and weight. In this course, students will be exposed to the state-of-art (both analytical and experimental) research and development related to all these three attributes and their interplay.

At the end of the course, a student will be able to:

  1. Background, motivation and definition of real-time computing. 2. Cyber-physical systems: concepts, examples, and issues 3. Characterization of real-time computing systems: Performance measures and deadlines. 4. Estimation the execution time of real-time tasks, and evaluation of the system’s ability of meeting deadlines. 5. Task assignment and scheduling to meet deadlines. 6. Real-time OS and system software: requirements, principles, and examples. 7. Low-power embedded systems. 8. Time-sensitive communications: protocols and end-to-end delay guarantees, and their implementation. 9. Security and privacy of embedded systems and devices. 10. Model-based integration of embedded real-time software: algorithms, languages, tools and applications. 11. Formal methods for specification and verification of embedded real-time systems. 12. Fault-tolerance and evaluation techniques for RTC systems: models, algorithms and architectures for error detection, fault isolation, recovery

 

CME   924              Data Communication and Networking                                  (3 Units)

 

This course teaches the design and implementation techniques essential for engineering robust networks. Topics include networking principles, Transmission Control Protocol/Internet Protocol, naming and addressing (Domain Name System), data encoding/decoding techniques, link layer protocols, routing protocols, transport layer services, congestion control, quality of service, network services, Software Defined Networks (SDNs), programmable routers and overlay networks, wireless and mobile networking, security in computer networks, multimedia networking, and network management.

 

 

CME 915           Wireless and Mobile Communication                                      ( 3 Units )

This course examines the characteristics of mobile and wireless networks and the impact of these characteristics on the development of software and supporting protocols. Topics covered include: mobile and wireless application design and development environments, middleware support, protocol requirements for ad-hoc and sensor networks, wireless & mobile security vulnerabilities and standards, supporting reliable communication in lossy and intermittently connected networks; challenges and architectures for wireless mobility – 4G networks, Wi-Fi, Wi-Max, Bluetooth, Mobile IP, convergence of voice and data networks.

 

CME  916                   Digital Image Processing                                              ( 3 Units )

 

This course emphasizes on the application of processing and analysis of digital images. There are practically unlimited applications of this course in real life. Some of these include the Image Restoration, Satellite Image Analysis for Planning and remote sensing, Security and Surveillance Applications by detecting, tracking and recognizing certain objects, Medical Applications, Forensic Applications as well as Robotic Vision etc. The techniques and the algorithms used for such applications will be discussed in this course.

At the end of the course, a student will be able to:

Work on Image, its Representations and Properties, Data Structures for Image Analysis, Image Pre-Processing, Segmentation, the Image, its Mathematical and Physical Background and Image Data Compression.

 

CME  917         System Development, Software and Prototyping    ( 3 Units )

 

Introductory software prototyping courses can start with an overview of the software prototyping process. These courses familiarize you with the principles of prototyping, user experience (UX), and user interface (UI) design. These fundamental topics will help you to understand the benefits of prototyping within the software development life cycle. They may also include creating low-fidelity prototypes, such as paper prototypes. You may even get hands-on experience using rapid prototyping software like Axure.

At the intermediate level, you’ll progress to honing your skills with high-fidelity prototypes. You’re also likely to explore how to effectively collaborate with a development team throughout the software development process. You may also get practical experience using popular software prototyping tools like Balsamiq, Invision, or Adobe XD.

In advanced prototyping software development courses, the curriculum may include topics like rapid prototyping and prototyping for specific devices. These courses may emphasize hands-on learning and prepare you for complex projects that demand sophisticated prototypes. Moreover, an advanced-level software prototyping tutorial may incorporate user testing methodologies to boost your ability to gather valuable user feedback from stakeholders.

 

CSE  911    Software Engineering and Development                                            ( 3 Units )

The course is made up of four modules;

Module I:

Introductory concepts: Introduction, definition, objectives, Life cycle – Requirements analysis and specification. Design and Analysis: Cohesion and coupling, Data flow oriented Design: Transform centered design, Transaction centered design. Analysis of specific systems like Inventory control, Reservation system.

Module II:

Object-oriented Design: Object modeling using UML, use case diagram, class diagram, interaction diagrams: activity diagram, unified development process.

Module III:

Implementing and Testing: Programming language characteristics, fundamentals, languages, classes, coding style efficiency. Testing: Objectives, black box and white box testing, various testing strategies, Art of debugging. Maintenance, Reliability and Availability: Maintenance: Characteristics, controlling factors, maintenance tasks, side effects, preventive maintenance – Re Engineering – Reverse Engineering – configuration management – Maintenance tools and techniques. Reliability: Concepts, Errors, Faults, Repair and availability, reliability and availability models. Recent trends and developments.

Module IV:

Software quality: SEI CMM and ISO-9001. Software reliability and fault-tolerance, software project planning, monitoring, and control. Computer-aided software engineering (CASE), Component model of software development, Software reuse.

CSE 912    Object Oriented Programming                                                           ( 3 Units )

The course introduces the object-oriented paradigm, and a high-level object-oriented programming language with associated platforms and integrated development environments (IDE), with emphasis on object-oriented concepts applied to the creation of programs, and design of software applications. The course also covers methods for improving quality, such as naming conventions, decoupling, and separation of concerns.

On successful completion of the course the student will be able to:

Knowledge and understanding

  • Explain object-oriented concepts such as objects, classes, encapsulation and polymorphism using adequate terminology.
  • Describe and explain object-oriented design principles (e.g., Single responsibility principle, Open-closed principle, Composition, etc.)
  • Explain different object-oriented design patterns, including their purpose and effect.

 

CSE  913          Advanced Intelligent System Engineering                                   ( 2 Units )

The Advanced Intelligent System Engineering offers courses on a wide range of relevant topics. Students will learn about Artificial Intelligence (AI) search, optimization, reasoning, planning, diagnosis, machine learning, intelligent agents (reinforcement learning, information-theoretic foundations), and bio-inspired computing (neural networks, and evolutionary algorithms). This major provides a solid covering of the whole field of AI.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:
1. demonstrate a solid understanding of a variety of Intelligent Systems approaches.
2. formalise real-world problems and select the most appropriate Intelligent Systems method to solve such a problem.
3. implement Intelligent Systems algorithms and design and carry out empirical evaluations.

 

 

CSE  914            Advanced Computer Based Modeling and Simulation             ( 2 Units )

The course will introduce the basic concepts of computation through modeling and simulation that are increasingly being used by architects, planners, and engineers to shorten design cycles, innovate new products, and evaluate designs and simulate the impacts of alternative approaches. Students will use MATLAB to explore a range of programming and modeling concepts while acquiring those skills. They will then undertake a final project that analyzes one of a variety of scientific problems by designing a representative model, implementing the model, completing a verification and validation process of the model, reporting on the model in oral and written form, and changing the model to reflect corrections, improvements and enhancements.

CSE  921  Geospatial Information System                                                           ( 3 Units )

This course provides fundamental theories and concepts of Geographic Information Systems (GIS). The course content will include data input, storage and editing, spatial data structures, analytical functions of a GIS, data output, management of GIS, and applications of GIS. Laboratory exercises will complement the theory presented in the lectures. Participants will use a commercial GIS software product (ArcGIS) and gain a reasonable proficiency with that package.

Upon successful completion, students will have the knowledge and skills to:

 Introduction to GIS/LIS, Database Design and Development, Feature Extraction from Satellite Imagery, Data Acquisition Using GPS, Digital Cartography and Visualization, and Special Project.

 

CSE 922   Managing Software Professionals                                                             ( 3 Units )

This course will cover some of the challenges associated with software development management and is intended to serve as a guide to students maturing engineering discipline. Software succeeds when it meets the needs of the people who use it, performs flawlessly over a long period, it is easy to modify, and changes things for the better. Therefore, students will explore software development from a managerial perspective by learning the software process models, modeling, quality management, and managing software projects. This course teaches students how to build better software based on discipline and modern methods, which is acquired through an engineering approach. Discussion of advanced topics such as software process improvement and future software engineering trends will be addressed.

CSE 923  Advanced Project Management                        (3 Units )

A software project creates a specific, unique software product such as an operational system, a new feature or function for an existing system, or changes and corrections to running software. Managing a software project is different than all other project management in terms of the phased approach to software development, the unique mix of people who are assembled to form a solution team, and the product itself. This course addresses best practices in managing a software development project blending the best of both traditional and agile approaches.

Learning objectives

  • Describe the primary roles of the project manager
  • Evaluate the tasks and deliverables of the project manager
  • Create a project plan that outlines a successful product creation
  • Assess the risk landscape and discuss responsibility, identification, and management
  • Focus the purpose of communication between cross-functional teams and stakeholders
  • Manage overall product scope and changes to the product

 

CSE  924  Mobile Hardware for Software Engineers                  ( 3 Units )

Mobile devices are becoming an ever-present form of computing to the general public. The hardware of these devices provides challenges and opportunities in enabling applications. This course enables students to initiate, execute and reiterate a mobile centric project. As part of the course, we will analyze the implications of mobile hardware capabilities and restrictions in order to plan and develop mobile applications. Students will be able to devise and interface simple hardware additions to mobile platforms such as cell-phones, Internet tablets and wireless sensors. The course covers the elements of embedded systems development, such as hardware interface fundamentals, operating systems fundamentals, and cross-development, as well mobile topics such as power management, machine- to-machine communication, radio/RF subsystems and wireless protocols. Topics typically include: USB, GPIO, blue-tooth, cellular networks, 802.11, Zigbee, RFID, NFC, CCD cameras, audio, etc. Student teams will undertake development of the hardware/software application through inception to proof of concept.

 

CSE  916          Advanced Artificial Neural Networks                                         ( 3 Units )

 

Extension of theory and methodology for using multilayer perceptrons and error correction learning. More about learning theory and support vector machines (SVM). Basics about statistical methodology for learning systems and techniques based on “mixture of experts”. Use of attractor neural networks and SOM (Self-Organizing Maps) as associative memory and for clustering. Distributed and localized representation in neural networks, e.g. fuzzy representation and Gaussian mixtures. ANN for time series prediction. Development trends in brain-inspired algorithms and architectures.

A project where ANN is applied in practice on some larger problem involving classification, prediction, categorization, clustering and/or visualization.

 

CSE  917   Decision and Risk Analysis  11                                                    ( 3 Units )

 

This course addresses a fundamental issue in system design and management: the need for engineering leaders to recognize uncertainty in the performance of their plans or designs. How should we analyze and cope with risks in demand, requirements, cost, technology, etc.?

This course presents Discounted Cash Flow (DCF) Excel models, simulation, and decision analysis as primary ways to analyze possible outcomes of design and management strategies.

The learning objective is to provide an overall view of the use, benefit, and mechanics of essential tools for Risk and Decision Analysis. Specifically, we will find that:

  1. You can’t really avoid uncertainty (as design processes often do).
  2. Because, if you do, you get inferior results—and sometimes major financial losses.
  3. So you need to address uncertainty proactively as part of design process.
  4. You can choose between methods based on the circumstances.

 

ICT  911         Advanced Information Technology                                        ( 3 Units )

 

Designed to provide advanced capability using existing and emerging technologies, this course will redefine your IT career. Choose electives that align with your goals in the field of IT, including big data and analytics, user experience design, management of people and teams, cybersecurity and deeper exploration of technical topics like artificial intelligence. This program focuses on the infrastructure aspect of IT, specifically on designing and implementing the technical solutions needed by businesses such as cloud computing.

 

ICT  912           Internet Engineering                                                               ( 3 Units )

 

Basically, the course is made of 3 main parts. In each part particular subjects will be taught.

Part I:

Protocols and APIs for Network Programming:

Transport layer

  • Brief review of UDP & TCP
  • Socket programming

HTTP protocol variants

  • HTTP /1.X
  • HTTP /2.0
  • HTTPS, SSL

Real-time data streaming methods

  • XMLHttpRequest (XHR)
  • Server Sent Events (SSE)
  • WebSocket

Multimedia streaming (protocols and APIs)

  • SIP & Skype
  • WebRTC

Part II

Data Center Networking:

Topologies Congestion control Load balancing Storage

Part III

Software-Defined Networking: A Primer:

SDN OpenFlow

 

ICT  913        Applied Information Assurance                                                ( 3 Units )

 

In the digital era, records and information are being created and kept using a wide variety of digital technologies – web- and mobile-based user interfaces, databases, cloud, blockchain – running over the Internet. This has exposed records and information to new risks and introduced unprecedented challenges for records and information professionals charged with the management and long-term preservation of authentic records and information. In response, records and information professionals must learn new knowledge and skills in order to promote information security and assurance. This course therefore provides an overview of the fields of IT Security, Information Assurance and Risk Management. IT Security and Information Assurance are concerned with threats to the Confidentiality, Integrity and Availability (CIA) of information systems. Risk management comprises a set of coordinated activities to direct and control an organization about risk. This course will explore how IT Security, Information Assurance, and Risk Management intersect with the management of records and information in digital environments and will address the application of IT Security, Information Assurance and Risk Management theories, principles, and techniques to the management of records and information-related risks.

 

ICT  913            Satellite Communication System                                         ( 3 Units )

 

This course will examine satellite telecommunication systems with an emphasis on modern systems and their link budgets. Topics will include a historical perspective, current systems, orbital mechanics and constellations, choice of orbital parameters, propagation considerations, link budgets, interference issues, and other obstacles, and existing and proposed mobile and modern satellite systems. It will also look at some of the business aspects such as the cost of deploying and maintaining these systems.

 

ICT  921   Wireless Communication System                                                  ( 3 Units )

 

This is a course on the fundamental of wireless communication systems and techniques. Topics include wireless systems and standards, the cellular concept, wireless propagation, co-channel interference, digital modulation over fading channels, antenna diversity, spread spectrum techniques, TDMA and CDMA cellular architectures, handoff, 3G and 4G systems. The course provides a general background for advanced courses on wireless communication systems and networks.

At the end of the program, the students will be able to: 1. Understand wireless propagation, cellular concept, modeling and mitigating interference, system capacity and traffic, basic digital modulation in wireless channels, spread spectrum and multiple access methods; for the purpose of working in wireless communication industry or taking more advanced courses in related areas. 2. Understand the concepts of wireless communication systems and standards, and the fundamentals of different wireless networks such as GSM, CDMA, LTE, etc. 3. Design and conduct computer simulations on basic and real-world wireless communication systems and standards (such as Bluetooth).

 

ICT 922      Network Security and Management                                            ( 3 Units )

This course covers network security topics including network access control, intrusion detection and prevention, network and communication protection, network segmentation and flow control/monitoring. Network deep packet inspection and anomaly detection.

Student Learning Outcomes Upon completing this course, students should be able to: • Compare and contrast physical security and hardware security. • Identify the security principles and techniques required to secure a network infrastructure. • Describe and illustrate denial of service and DNS attacks; define firewalls and VPNs. • Explain attacks targeting networks including malware, denial of service, man in the middle, DNS poisoning, etc. • Describe web application attacks, Internet browsers and wireless security attacks; illustrate vulnerabilities and solutions. • Illustrate network security defenses, redundancy, back-up, and restoration and file encryption. • Illustrate different network security monitoring, assessment, and audit techniques; explain penetration testing, protocol analysis and log management. • Apply skills learned in previous courses and in this course to configure a network and implement security measures and policies; communicate the results digitally.

 

ICT  923     Advanced Computer Architecture                                               ( 3 Units )

 

This module focuses on advanced computer architectures and low-level system software such as pipelined and Multiprocessor systems. The area of computer architecture is undergoing rapid development; it’s important to focus not only on what computer architecture are today, but also on why and how they are designed the way they are. This methodology will equip us with a valuable conceptual grounding in the design principles of computer architecture and will help us architect future networks based on sound principles. Towards this end, new research themes that promise to revolutionize computer architecture will be introduced. In this course, we will study the fundamentals of building scalable computer architecture that enable innovation and services. We will go through the thought-process that went into designing the Internet— which is the best example of a computer architecture that has adapted and scaled to changing environment. By the end of the course, the students will be able to: 1) Develop an understanding of the principles upon which the global Internet was designed. 2) Develop an understanding of concepts, tools, and terminology necessary for understanding contemporary research topics 3) Have a broad understanding of various advanced research topics in computer architecture.

 

ICT   915            Advanced Information Preservation System 11                      ( 3 Units )

 

Module 1 Overview of Information Storage and Retrieval (ISR) Unit 1 Concept of Information Unit 2 Information Life Cycle

Module 2 Information Representation Unit 1 Representation of Bibliographic Information Unit 2 Representation of Non-Bibliographic Information Unit 3 Standard Metadata and Their Description Unit 4 Issues in Information Representation

Module 3 Information Organisation and Storage Unit 1 Organisation of Bibliographic Information Unit 2 Organisation of Digital Information Unit 3 Data Representation and Organisation on Information System

Module 4 Information Retrieval Models Unit 1 Retrieval of Bibliographic and Digital Information Unit 2 Information Retrieval Models Unit 3 Query Structure Unit 4 User Profiles.

Module 5 Information Retrieval Systems Unit 1 Information Retrieval System Unit 2 Web Information Retrieval Unit 3 Bibliographic Information Retrieval System and Evaluation.

 

ICT  916   Data Communication and Computer Network 11                       ( 3 Units )

 

This course will explore the various types of the data communication systems, networks and their applications. Concept & terminologies like computer networks, layer architecture (OSI & TCP/IP), network hardware, network software, standardization, network medium, and IP addressing will be explored. The practical aspect will deal with building small to medium level networks including Cabling, Configuring TCP/IP, Peer to Peer Networking, Sharing resources, Client Server Networking. By the end of this course, you will be able to: – Understand the concepts and principles of data communications and computer networks – Understand data transmission and transmission media – Understand Protocols and various networking components – Understand TCP/IP & OSI Reference Model – Understand LAN and WAN technologies – Understand and implement IP addressing. – Build small to medium level Computer networks.

 

IMS   911             DataBase Engineering                                                         ( 3 Units )

 

This course intends to introduce topics related to Distributed Database Engineering and its applications in various business domains together with knowledge on how to develop products over them. Also, in depth knowledge of kernel processes that interface with database engines. The detailed course outline are;

 

– DB Engine and Kernel Interface, DB engine architecture and functions – Kernel managements – Kernel’s device interface – Memory and file managements of kernel – Kernel’s hooks for optimization of data transfers,

– Advanced IPC Mechanisms for Database Operations, Shared memory, mmap and shmget – shared memory synchronization techniques – Message queues – Netlink sockets for IPC – Futexes(Fast Userspace Mutexes) – Remote Direct Memory Access (RDMA) communication – Remote Procedure Calls (gRPC) framework – Desktop Bus(D-Bus)

_Algorithms – Memory Management and DB Engines,  Page replacement algorithms, LRU, LFU and CLOCK – Memory fragmentation and defragmentation techniques – Paging, Memory Mapping, TLB – NUMA – aware memory management – Huge Pages, Transparent Huge Pages (THP), regressions in THP – Sorting & Aggregations Algorithms – Memory allocation and caching strategies in DB engines

– DB Performance Measurement Strategies and Techniques, Performance metrics, Latency, throughput, cache hits/misses, query execution times – Query optimization and indexing – Benchmarking tools like pgbench and sysbench – Proofing tools like eBPF, Single Root I/O Virtualization (SR-IOV) – Storage I/O performance, Monitoring tools like Prometheus and Grafana – Query Planning & Optimization – Concurrency Control Theory.

– Distributed Database Architecture and its Data Structures, Architectural models for distributed DBMSs – Client/Server systems – Peer-toPeer systems – Multidatabase systems – Security Implications of Memory Deduplication in a Virtualized Environment – B-Tree Indexes – Hash Indexes – GiST (Generalized Search Tree) Indexes – Bitmap Indexes – Column-Store Indexes – AgentsGraph – TimescaleDB – JSON/XML.

 

IMS 912                      Engineering Practices and Backup System                ( 3 Units )

 

This course provides participants with solid foundation in Backup and Recovery infrastructure. The course focuses on the concepts and technologies used in Backup and Recovery environments. Participants will learn about backup and recovery theory, including backup methods, planning and key terminology. The course includes topics on how storage technologies work and how their features such as replication and snapshots can be used for backup. This is followed with a look into data sources at the backup client and storage node backup targets.

Upon successful completion of the course, participants should be able to:

  • Describe backup and recovery terminology
  • Describe backup and recovery operations
  • Describe various types of storage systems, concepts and components
  • Identify major sources of backup data
  • Describe the different types of backup storage media, their advantages and disadvantages
  • Examine the steps involved in planning for backup and recovery
  • Describe the EMC portfolio of backup products

 

IMS  921          Economics and Information Systems                                           ( 3 Units )

 

Examines the economics of information systems and information technology. Topics include estimating, budgeting, budget management, coast accounting, value assessment, and accountability as it relates to information systems and information technology.

After successful completion of this course, students will be able to

-Present a practical approach to Information Technology Economics focused on economic and financial trends, evaluating IT on performance, costs, and benefits, evaluating IT perspective on Intangible benefits, IT outsourcing.

-Define and describe in aspects of the IT investment decision process.

-Understand the knowledge of evaluating information technology investments.

-Perform the case studies on evaluation and project management

 

IMS  922    Machine Learning and Large-scale Data Analytics                          ( 3 Units )

 

The past decade has seen the increasing availability of very large scale data sets, arising from the rapid growth of transformative technologies such as the Internet and cellular telephones, along with the development of new and powerful computational methods to analyze such datasets. Such methods, developed in the closely related fields of machine learning, data mining, and artificial intelligence, provide a powerful set of tools for intelligent problem-solving and data-driven policy analysis. These methods have the potential to dramatically improve the public welfare by guiding policy decisions and interventions, and their incorporation into intelligent information systems will improve public services in domains ranging from medicine and public health to law enforcement and security.

The LSDA course series will provide a basic introduction to large scale data analysis methods, focusing on four main problem paradigms (prediction, clustering, modeling, and detection). The first course (LSDA I) will focus on prediction (both classification and regression) and clustering (identifying underlying group structure in data), while the second course (LSDA II) will focus on probabilistic modeling using Bayesian networks and on anomaly and pattern detection.  LSDA I is a prerequisite for LSDA II, as a number of concepts from classification and clustering will be used in the Bayesian networks and anomaly detection modules, and students are expected to understand these without the need for extensive review.

In both LSDA I and LSDA II, students will learn how to translate policy questions into these paradigms, choose and apply the appropriate machine learning and data mining tools, and correctly interpret, evaluate, and apply the results for policy analysis and decision making. We will emphasize tools that can “scale up” to real-world policy problems involving reasoning in complex and uncertain environments, discovering new and useful patterns, and drawing inferences from large amounts of structured, high-dimensional, and multivariate data.

 

IMS  923           Advanced Web Designing                                                             ( 3 Units )

 

Students review client-side web technologies used for static webpages and interactive web applications on clients. Students examine advanced topics in Hyper Text Markup Language, Cascade Style Sheet and JavaScript for interactive web applications that use rich user interfaces. Students then continue with server-side web technologies for dynamic web applications, such as server-side scripting programming, database access for three-tier data-driven applications, and asynchronous communication between client and server for fast partial update of client windows.

Upon successful completion of the course, the student will demonstrate the ability to:

  • Understand the major areas and challenges of web programming.
  • Distinguish web-related technologies.
  • Use advanced topics in HTML5, CSS3, Java Script
  • Use a server-side scripting language, PHP
  • Use a relational DBMS, MySQL
  • Use PHP to access a MySQL database.
  • Design and implement

_Typical static web pages and interactive web applications.

_Dynamic web applications.

 

IMS  915           Advanced Content Management System                                   ( 3 Units )

This course aims to provide learners with the knowledge and skills needed to use content management systems (CMS) as a tool for the creation of digital content. Successful achievement of this course will enable learners to understand CMS roles, content modelling, content aggregation, publication management and content migration. A content management system is a platform that allows users to build and update websites without having to code. Website managers can simply log into the platform and edit the site’s content and design without adjusting the source code — although many CMSes also offer the option to edit with HTML/CSS if desired.

One of the simplest examples of a website created with a CMS is a blog. You log in, click “add post,” and type in text and a title. But content management systems for websites go beyond the functionality of blogs to encompass websites of all kinds, from nonprofit information pages to e-commerce sites.

 

IMS  916          Current Trends in Information Technology 11                           ( 3 Units )

This course takes you through the different emerging technologies that companies use to develop new business models and create new digital process.

Course contents

  1. Cloud Computing 1.1. Introduction to Datacenter 1.2. Platforms. 1.3. DevoOps/Microservices/FaaS.

1.4. Cloud Analytics.

  1. Cibersecurity 2.1. Introduction 2.2. HDFS 2.3. YARN and Map Reduce 2.4. OT Security.
  2. Blockchain 3.1. Arquitecture. 3.2. Business Models. 3.3. Development platforms.
  3. IoT 4.1. Arquitecture and protocols. 4.2. IoT and Cloud.

 

IMS  917        Advanced System Security and Data Integrity                              ( 3 Units )

 

This course considers the technical, operational, and managerial issues of computer and network security in an operational environment. Industry best-practices relating to computer security including schemes for breaking security, and techniques for detecting and preventing security violations are the core focus of this course. This course will also explore the principles of data privacy, threats to privacy, international and national policy, particularly related to privacy-enhancing technologies as they apply to the management of information systems and e-Business.

Upon completion of the course, students should be able to: 1. Explain the fundamental principles of Information Technology Security and Privacy, and Data Protection. 2. Explain the concepts of threat, evaluation of assets, information assets, physical, operational, and information security, and how they are related. 3. Describe the need for the careful design of a secure organizational information infrastructure 4. Describe risk analysis and risk management in the context of business. 5. Describe both technical and administrative mitigation approaches. 6. Explain the need for a comprehensive security model and its implications for the security manager. 7. Demonstrate knowledge of security technologies. 8. Demonstrate knowledge of basic cryptography, its implementation considerations, and key management. 9. Demonstrate knowledge of designing and guiding the development of an organization’s security policy. 10. Demonstrate knowledge of determining appropriate strategies to assure confidentiality, integrity, and availability of information. Page 3 of 9 11. Apply risk management techniques to manage risk, reduce vulnerabilities, threats, and apply appropriate safeguards/controls. 12. Describe privacy issues associated with storing and distributing digital data. 13. Explain Privacy-by-Design (PbD) framework.