Course Description

CPE 100         Introduction to Computer Technology          (1 Unit)

The Computer System; Basic part of a Computer; Store Program Concept; Computer Development; Computer Software; Introduction to Computer Networks; Computer Arithmetic; Algorithms; Flow-charting; Programming Concepts and Programming in BASIC

CPE 201             Computer Programming for Engineers                (3 Units)

Computer Environment: Program, Data and Results; Programming concepts; Introduction to Pascal: Structure of Pascal program, Pascal Fundamentals, Pascal Character set; Procedures and functions; Data Types; Standard Functions; Pascal Control structure; Types of Pascal Statements; Nested repetitive control structures; Transfer of control; Sub-programming; Arrays; Table manipulation; Record Structure and Files.

CPE 202         Computer Logic         (3 Units)

Introduction to logic circuits; Elements of Logic circuits: AND, OR, NOT and NAND gate; Logic functions and truth table; Application of Boolean Algebra to logic circuits; Simplification using Boolean algebra theorems simplification using Karnaugh’s maps; Electronic realization of logic values and gates; Practical design and implementation of combinational circuits using selected standard integrated circuits; Logic families, open collector and tri-state gate and their applications; Semi-custom logic and programmable devices; Elements of sequential circuits: R-S flip-flop, J-K flip-flop, D-flip-flop and T flip flops and their electronic realization; Analysis and design of sequential circuits.

CPE 203   Computer Programming for Engineers Laboratory         (1 Unit)

This entails the use of application of structured programming in Pascal Language to real life models. Typical examples should be emphasized and reports submitted as classified by groups.

CPE 204         Introduction to Programming Applications            2 Units

Structured Programming; Control flow and invariant relation of a loop; Bottom-up design;

Debugging and debugging techniques; Test verification and code inspection; Test constructions;  Records; Passing records as arguments; Array of records; Binary files and records; Special uses of the seek function; Files and applications; Strings; Formal theory; String processing algorithms; Parsing; Types of parsers; Pointers; Linked lists.

CPE 205         Overview of Digital Computer System        (2 Units)

Binary arithmetic operations addition, subtraction, multiplication, division. Binary point. Floating point and fixed point. Basic logic gates, symbols, truth tables. Boolean Algebra; Theorems, Minimization methods, Karnaugh maps (up to six variables) etc. Logic expressions, minimization, sum of product forms. Physical considerations (gate delays, fan-in, fan-out). Error correlation, parity. Introduction to type of circuits- combinatorial and sequential. Introduction to instruction format: OPCODE OPERAND. Binary representation: bits, nibbles, bytes: character representation: numeric, non-numeric, alphanumeric, EBCDIC, BCD, ASCII, ANSI. Fundamental building blocks (logic gates, ip-ops, counters, registers, PLA/PAL). Design of combinatorial circuits with emphasis on application.  Design of sequential circuits, synchronous and asynchronous.  Design of simple CPU, peripheral devices (I/O), memory/storage devices. Stored-program concept.

CPE 206         Introduction to Web Technologies                         (2 Units)

Broadly examines the key technologies and programming models of the web and its underlying Internet infrastructure including client-side technologies such as HTML, CSS and Javascript, content formats and server-side technologies such as web and application servers, database back ends, client-server programming model, communication protocols such as http and tcp/ip. Students should also be introduced to content creation with client-side technologies and time permitting, some basic database driven application using a familiar application framework.

CPE 301         Java Programming and Technology        (3 Units)

Brief survey of programming paradigms Procedural programming Object-oriented programming, Functional programming Declarative programming, non-algorithmic programming Scripting languages. The effects of scale on programming methodology, Fundamentals of Java programming; Basic data types; Console input and output; Controlling program execution; Modular programming using Functions; Data arrays; Pointers; Standard Java strings; Classes; Operator overloading; Composition and Inheritance.

CPE 302         Software Development Techniques        (3 Units)

Software development life cycle. Top-Down design. Program, design using pseudo-code, flowchart. Flowchart ANSI symbols and usage. Extensive examples, and exercises using pseudo-code/flowchart to solve practical problems in engineering. Debugging and documentation techniques. Programming using a structural language such as C: Symbols, keywords, identifiers, data types, operators, various statements, operator precedence, type conversion, conditional and control structures, function, recursive functions. Arrays: 1-D, and multi-dimensional arrays, passing elements or whole array to a function. Simple sorting and searching on arrays, pointers, strings, dynamic memory allocation. Structures and Unions: Structure declaration and definition, accessing structures, array of structures, pointers and structures, union declaration, enumerated variables. File Handling: Concept of a file, files and streams, standard file handling functions, binary files, random access files. Advanced Topics: Command line parameters, pointers to functions, creation of header files, stacks, linked lists, bitwise manipulation. Software development in C in MS Windows, UNIX/LINUX environments, header file, preprocessor directives, make, makefile. Static and dynamic linking libraries. Extensive examples, and exercises programming in C to solve practical problems in engineering. Exercises are to be done in the Computer Laboratory.

CPE 303         Introduction to Software Engineering                  (3 Units)

Introduction to software engineering fundamentals. Object oriented programming. Number representations. Data structure and algorithms, Abstraction, modules and objects. Designing for efficiency. Object oriented software design, implementation and testing. Team software specification and management. Cross-platform tools and GUI development. Advanced software algorithms and architecture. Software engineering practice and methods.

CPE 304         Digital Electronic Circuit        (3 Units)

Registers; Shift registers; Serial transfer between registers; Counters: Asynchronous counters, frequency division, Counters with MOD numbers, Asynchronous down counters, Propagation delay in Asynchronous counters, Synchronous counters, Pre-settable counters, BCD counters/ decade counter, Shift-register counter, Ring counter and Johnson counter; Application of gates: decoders, BCD-to- decimal decoders, BCD-to-7-segement decoder, Encoders, Half adders, Full adders; Interfacing: Types of Standard bus system and controllers, ISA bus, EISA bus, MCA bus, VESA local bus, PCI local bus, USB, AGP, Memory Interfacing, Interfacing techniques,  Digital to analog devices, Digital to analog/Analog to digital conversion, R/2R Ladder DAC.

CPE 305         Database Design & Management        (2 Units)

Overview of Database systems: model, schema, instance. Database system vs. File systems. Data abstraction levels, database languages, system architecture. Classification of DBMS. Data modelling: Entity-Relationship (ER) Model, Entities and Entity types, Relationship and Relationship type, Constraints, Weak Entity Types, ER, Diagrams. Semantic object model. Process of database design: requirement analysis, conceptual database design, database schema design. Database design using entity-relationship and semantic object models, database application design. Terminology in Relational Data model, Integrity Constraints, Primitive Operations on Relations, Relational Algebra (RA), Relational Algebra Operations, Relational Completeness, Additional Operations on Relations. Foundations of relational implementation. Structured Query Language (SQL): DML Features in SQL, DDL in SQL, updates in SQL, Views in SQL, Embedded SQL, Query-by-Example (QBE). Concurrency, recovery and security issues. Armstrong’s inference rules and minimum covers, normal forms. Current trends in database systems: Client-Server database systems, Open Database connectivity (ODBC) standard, knowledge-Based Systems, Object-Based Systems, data warehousing and data mining concepts, Web databases.

CPE 306         Digital Laboratory          (1 Unit)

Experience with digital systems design tools: Truth tables, Karnaugh maps (up to six variables); Experience with the use of Programmable Array Logic and Programmable Logic Array. Design, implementation, and testing of the following: Circuits using basic logic operations; devices based on Combinational logic: Devices using simple latches and ip-op (Using, for example, TTL devices); Experiments with Binary adders, synchronous counters, up-down counters. Prototype implementations are to be carried out via the use of breadboards and other logic apparatus.

CPE 307         Database Design & Management Laboratory          (1 Unit)

Students are assigned Database Design and Management software/tools for a specific study and design project. Experimental projects will be designed depending on available laboratory modules.

CPE 308         Assembly Language Programming                      (3 Units)

Introduction to machine and assembly language; Machine programming model i.e. register sets and memory structure; Concepts and instruction format; Data word definition; Addressing techniques including absolute, relative indexed and indirect modes; Implementation of high level language operations and constructs in assembly language; Stack operations; Procedure and parameter passing I/0 instructions and device handling; Operating System interfaces; Multi-module programs and their linkage; Linkers and loaders; Relocating loaders; Interfacing assembly language programs with high level language programming.

CPE 309         Introduction to Computer Engineering                   (3 Units)

Introduction to Computer Engineering; Circuits: Basic circuits, Gates, Flip-flops, Counters and Registers; General requirements/circuit parameters: Fan-in, Fan-out, Noise immunity, Gate delay, wire delay, Skew, logic levels, Noise margin and Power dissipation; Circuit families: TTL (transistor – transistor logic), ECL (emitter coupled logic), DTL (diode transistor logic) and I2L (Integrate injection logic); Special circuits: Pulse shaping, Driving, Addressing, Tuning (Delays and Strobing), Interconnection, Back-winding, Interfacing and Peripheral equipment circuitry; Reliability: Component selection, Sampled testing, Mean time between failure; Redundancy: Component  repetitive operation, System level repetitive operation; Error detection and correction: Parity, Grey codes, Processing Errors, Fail safe/soft.

CPE 310         Operating System                        (2 Units)

Early Systems, Simple Batch Systems, Multiprogrammed and Batched Systems, Time-Sharing Systems, Personal-Computer Systems, Parallel Systems, Distributed Systems, Real-Time Systems. Computer-System Structures: Computer-System Operation, I/O Structure, Storage Structure, Storage Hierarchy, Hardware Protection, General-System Architecture. Operating System Structures: System Components, Operating-System Services, System Calls, System programs, System Structure, Virtual Machines, System Design and Implementation, system Generation. Processes, Threads, Inter-process Communication. CPU Scheduling: Basic Concepts, Scheduling Criteria, Scheduling Algorithms, Multiple-Processor Scheduling, Real-time Scheduling, algorithm Evaluation. Deadlocks: System Model, Deadlock Characterization, methods for handling Deadlocks, Prevention, Avoidance, Detection, Recovery, Combined Approach. Memory Management: Address space, Swapping, Contiguous Allocation, Paging, Segmentation, Paged Segmentation. Virtual memory: Demand paging, page replacement, frame allocation, thrashing. File systems: File concept, Access Method, Directory Structure, Protection, File-System Structure, Allocation methods, Free-Space Management, Directory Implementation, Efficiency and Performance, Recovery. MS Windows and UNIX/LINUX architecture, applications, and programming.

CPE 311         Computer Engineering Laboratory          (1 Unit)

Computer Engineering Design and implementation techniques; Safety and operational integrity; Hardware Circuits valuation and evaluation. Computer circuit packaging. Design and  implementation laboratories: Basic logic operations; Combinational logic; Asynchronous counters; Synchronous counters; Up-down counters; Codes and code converters. Design and implementation of a microprocessor, Introduction to embedded systems.

CPE 312         Data Structures and Algorithms                        (3 Units)

Covers Abstract Data Types (ADTs) and their support and implementations in object-oriented languages. Topics include recursion, complexity analysis, linear data structures (stacks, queues, priority queues, lists and strings), and non-linear data structures (hash tables, binary trees, search trees, balanced trees, heaps), searching and sorting algorithms and graph algorithms. This will also include substantial programming assignments and projects. Introduction to algorithm for parallel & distributed computing.

CPE 313         Circuit Theory        (3 Units)

Review of Network theorems: Thevenin’s Norton’s, Superposition, Reciprocity, Star-delta transformation and maximum power transfer; Two port networks: y-parameters, z-parameters, h-parameters, and transmission parameters; Reponses of networks: Transient and steady state analysis; Network graphs and their application to network analysis; Complex quantities in A.C. networks Laplace transforms and applications; Fourier analysis: Real and complex form of Fourier series; Fourier analysis of complex waveform; Line spectra representation of periodic signals; Fourier transform and convolution concepts.

CPE 314         Information System Analysis & Design                      (3 Units)

System Development Life Circle: Strategy and planning system analysis, logical design, physical design, implementation maintenance. System Development Techniques and methodologies: by Process modelling, function decomposition diagramming, Entity-Relationship diagramming, data flow diagramming, and procedure modelling. Design and Layout of forms, screens, dialogues, and report. Integrated CASE tool e.g. Oracle Designer to be used for the system development life circle. RAD tools e.g. power Builder, Power Objects, visual Basic, IntraBuilder, or C++ Builder for concepts and techniques visualization.

CPE 315         Web Applications Development        (2 Units)

Introduction to framework-based web development. Students create interactive, dynamic web sites using a common web architecture and object-based database access. Programming for web development includes control structures, objects, functions, and use of composite data types. Covers client-server model for web applications and associated client-side and server side technologies, MVC development guideline and development of a complete web application using a framework such as Ruby of rails of Django.

CPE 316         Entrepreneurial Studies          (3 Units)

Introductory Entrepreneurial skills: Relevant Concepts: Enterprise, Entrepreneur, Entrepreneurship, Business, Innovation, Creativity, Enterprising and Entrepreneurial Attitude and Behaviour. History of Entrepreneurship in Nigeria. Rationale for Entrepreneurship, Creativity and Innovation for Entrepreneurs. Leadership and Entrepreneurial Skills for coping with challenge. Unit Operations and Time Management. Creativity and Innovation for Self Employment in Nigeria. Overcoming Job Creation Challenges. Opportunities for Entrepreneurship, Forms of Businesses, Staffing, Marketing and the New Enterprise. Feasibility Studies and Starting a New Business. Determining Capital Requirement and Raising Capital. Financial Planning and Management. Legal Issues, Insurance and Environmental Considerations.

CPE 317      Design and Analysis of Computer Algorithms         (3 Units)

Introduction to algorithms and its importance, mathematical foundations: growth functions, complexity analysis of algorithms, summations, recurrences, sorting algorithms. Algorithm design: divide-and-conquer approach, greedy approach. Graph algorithms: graph searching, topological sort, minimum spanning tree, shortest paths, backtracking and its applications in games. String matching. Dynamic programming and longest common subsequence. Theory of NP-completeness. Turing machines and the halting problem.

CPE 318         Measurements and Instrumentation        (3 Units)                     

Basic Concept of Measurements: Units; Theory of errors: systematic and random errors; Measurement of circuit parameters: DC and AC signals; Resistance inductance, capacitance and impedance; Bridge measurement: Wheatstone bridge, Maxwell bridge, Wien bridge, Hay’s bridge, Schering bridge, Capacitive inductance bridge; Indicating instruments: moving coil, moving iron, dynamometer-type; Treatment of various types of ammeters, voltmeters, ohmmeters and their calibration; Electrostatic indicating instruments; AC Measurements; Multi-meters; Measurement of power and energy; Potentiometers;  Oscilloscope: Application of the CRT to measurements; Transducers: Measurements of pressure, velocity, temperature, strain, displacements, flow etc; Brief introduction to data logging, interferences, screening and grounding. Signal processing and modification; Analogue and digital display units; Operational amplifiers.

CPE 319         Software Requirements and Design                      (2 Units)

Definition of a software requirement, product and process requirements, functional and non– functional requirements, emergent properties, quantifiable requirements, and system and software requirements; Requirements process – process models and actors, process support and management, and process quality and improvement; Requirements elicitation – requirements sources and elicitation techniques.

CPE 331         Engineering Statistics        (3 Units)

Introduction to Statistics; Measures of dispersion: mean, mode and median, geometric mean, harmonic mean, for grouped and ungrouped data; Correlation and regression analysis; Probability theory: definitions, axioms, Normal, binomial, Poisson distributions, mathematical expectations and probability density function; Elementary Sampling theory; Test of hypothesis and significance; Correlation and regression, Analysis of variance; Introduction to SPSS for windows.

CPE 401         Satellite Communication       (3 Units)

Satellite frequency bands, services, transmission and multiplexing schemes, trans-multiplexing, multiple access schemes. Satellite orbit, satellite motion, paths, geostationary satellites, non-geostationary constellations, satellite subsystems, and satellite launching. Antennas: types, gain, pointing loss, G/T, EIRP; high power amplifiers; low noise amplifiers; BUC/LNB : conversion process, polarization hopping, redundancy configurations; earth station monitoring and control. Basic link analysis, attenuation, sources of interference, carrier to noise and interference ratio, system availability, frequency reuse, link budget, link design. Multiple access techniques: companded FDM-FM-FDMA, SSB-AM-FDMA, amplitude and phase nonlinearities, optimized carrier to noise and inter-modulation ratio; TDMA : frame structure, burst structure, frame efficiency, super-frame structure, frame acquisition and synchronization, satellite position determination, TDMA equipment, advanced TDMA satellite systems; CDMA : direct sequence CDMA (DS-CDMA), sequence synchronous and sequence asynchronous DS-CDMA, random access DS-CDMA, link analysis, FH-SS systems, FH-CDMA, acquisition and synchronization. Demand assignment multiple access (DAMA): types of demand assignments, DAMA characteristics, real time frame reconfiguration, DAMA interfaces, SCPC DAMA, SPADE, digital speech interpolation. Message transmission by FDMA: M/G/1 queue, message transmission by TDMA : pure ALOHA- satellite packet switching, slotted ALOHA, packet reservation, tree algorithm. Advantages and disadvantages of multibeam satellites, interconnection by transponder hopping, interconnection by on-board switching (SS/TDMA), interconnection by beam scanning, ISL : GEO-LEO, GEO-GEO, LEO-LEO, RF and optical links. VSAT networks: VSAT technologies, network configurations, multi-access and networking, network error control, polling VSAT networks.

CPE 403         Internet Technology and Programming      (3 Units)

The historical background and evolution of today’s Internet; Network topologies and models (OSI model); Technological foundations of the Internet and core Internet protocols (TCP/IP, SMTP, FTP, Telnet, ICMP, RSS, and HTTP); Client/server relationships in the context of the Internet and intranets; Web Essentials: Clients, Servers and Communication – The Internet – Basic Internet protocols – World wide web – HTTP Request Message – HTTP Response Message – Web Clients – Web Servers – HTML5 – Tables – Lists – Image – HTML5 control elements – Semantic elements – Drag and Drop – Audio – Video controls – CSS3 – Inline, embedded and external style sheets – Rule cascading – Inheritance – Backgrounds – Border Images – Colors – Shadows – Text – Transformations – Transitions – Animations; Java Script: An introduction to JavaScript–JavaScript DOM Model-Date and Objects,-Regular Expressions- Exception Handling-Validation-Built-in objects-Event Handling- DHTML with JavaScript- JSON introduction – Syntax – Function Files – Http Request – SQL;  An introduction to PHP: PHP- Using PHP- Variables- Program control- Built-in functions- Form Validation- Regular Expressions – File handling – Cookies – Connecting to Database. XML: Basic XML- Document Type Definition- XML Schema DOM and Presenting XML, XML Parsers and Validation, XSL and XSLT Transformation, News Feed (RSS and ATOM); AJAX: Ajax Client Server Architecture-XML Http Request Object-Call Back Methods; Web Services: Introduction- Java web services Basics – Creating, Publishing, Testing and Describing a Web services (WSDL)-Consuming a web service, Database Driven web service from an application –SOAP.

CPE 405    Internet Technology and Programming Laboratory    (1 Unit)

Students are assigned Internet Technology and Programmingsoftware/tools for a specific study and design project. Experimental projects will be designed depending on available laboratory modules.

CPE 407         Artificial Intelligence      (2 Units)

Techniques of Al, knowledge Representation; Problem solving; State space search heuristics; Pattern recognition; Classification; inference; Grammars; Knowledge elicitation; Knowledge engineering; Artificial intelligence applications; Natural language;  Vision; Robotics; Expert systems; Machine learning; Artificial intelligence tools.; Introduction to Prolog; Introduction to LISP system shell programming.

CPE 409         Simulation and Modeling         (2 Units)

Introduction to modeling, Procedure for mathematical modeling, Samples of mathematical models, Types of Simulations: Live simulation, Virtual simulation and Constructive simulation; Basic concepts of modeling and simulation; Simulation versus experimentation with real systems; Simulation versus other modeling approaches; Simulation software; Selection of simulation software; Types of simulation model: Throwaway models, Ongoing use models, Regular use models, Generic models and Reusable models; Artificial neural networks; Evolution of simulation tools; Field application tools; Comparison of simulation and analytical methods; Random numbers; Petri nets.

CPE 411         Prototyping Techniques           (2 Units)

Introduction: Grounding, ground plane, digital ground, analogue ground, power decoupling, inductance and capacitive effects, feedthrough capacitors. Soldering techniques for pass-through and surface mount components, desoldering. Breadboarding, veroboarding. Wire wrapping techniques. Radio Frequency design and implementation techniques. Printed Circuit Board techniques, and production of PCB. Use of PCB CAD packages. Construction exercises using different prototyping techniques.

CPE 413         Concepts of Programming Languages                   (3 Units)

Preliminaries, evolution of programming languages, paradigms, language design considerations, language processing including syntax and semantic analysis, naming, binding, type checking, expression and assignment statement, statement-level control structures, subprograms, abstract data types, support for object-oriented languages, concurrency, exception handling, functional and logic programming.

CPE 415         Object-Oriented Analysis and Design            (3 Units)

Object–oriented approach to information system development, particularly in reference to the earlier stages of analysis and design. Importance of modelling, principles of modelling, object– oriented modelling, conceptual model of the Unified Modelling Language (UML), architecture, software development life cycle. The principles and basic concepts of object orientation and the different aspects of object–oriented modelling as represented by the UML technique. Case study of a typical UML–based CASE tool

CPE 417         Microprocessor System Design                            (3 Units)

Microprocessors and microcomputers; Microcomputer structure. Bit slices and 8/16 bit processors; Microprocessor architectures; Input/output interface adapters; Memory: RAM, ROM and memory mapped I/O;  Interrupt types, interrupt handling polling and vectored interrupts; Direct memory Access methods; Software Development and debugging aids; Editors, assemblers/ linkers, cross-compilers; Firmware development tools.; Hardware development aids; evaluation and development systems, logic analysis, in-circuit emulation.

CPE 419         Computer Architecture   (3 Units)

Computer Fundamentals: Development history of computer hardware and software. Hardwired vs. stored program concept. Von-Neuman architecture. Havard architecture: principle of operation, advantages, disadvantages. Single address machine. Contemporary computers. Computer system: block diagram, functions, examples, dataflow, control line. Computer Arithmetic: integer arithmetic (addition, subtraction, multiplication, division), floating-point representation (IEEE), floating-point arithmetic. arithmetic and logic unit (ALU). Introduction to CISC and RISC architecture: principle of operation, merits, demerits. Storage and Input/Output Systems: Computer function (fetch and execute cycles), interrupts, interconnection structures (Bus structure and bus types), Overview of memory system, memory chip organization and error correction, cache memory, memory storage devices. Overview of I/O, programmed and interrupt-driven I/Os, DMA, I/O channel and I/O processor. Control Unit: Micro-operations, control of the CPU, hardwired implementation, control unit operation, micro-instruction sequencing and execution, micro-programmed control. Use INTEL family, and MOTOROLA family as case study of a CISC computer system. Instruction Set and Register: Machine instruction characteristics, types of operands and operations, instruction functions, addressing modes, instruction formats, register organization, instruction pipelining. High performance computer systems: Techniques to achieve high performance, pipelining, storage hierarchy, units with function dedicated for I/O. RISC, introduction to superscalar processor, parallel processor. Use popular RISC processor (e.g. i960, Motorola PowerPC) as case study.

CPE 421         Electromechanical Systems                                     (3 Units)

Magnetic circuits; Transformer:  Transformer construction, Operation and Types, Ideal transformer, Equivalent circuits and basic analysis of practical transformers, Transformers on-load, Transformers on no-load, Open-circuit and Short-circuit tests, Phasor diagrams, Approximate equivalent circuits, Regulations of a transformer, Efficiency of a transformer, Efficiency from transformer test, Auto-transformer, Conversion of 2-winding transformer into Auto-transformer, Parallel operation of single-phase transformers; Generalized theory of electrical machines, Electromechanical Systems: Energy conversion, Dynamics of Electromechanical systems, Equivalent circuits, doubly and multi-excited systems, DC Machine contraction, Characteristics of D.C. generators, Excitation of D.C. machines, Torque-speed characteristics of D.C. motors; A.C. Machines: production of rotating magnetic fields; Simple theory of three phase induction motors; torque speed characteristics, three-phase induction motors; Single-phase motor – applications; Selection of motors, for practical applications; Synchronous machines; Special machines: Stepper motors and brushless motors.

CPE 423         Microprogramming                        (2 Units)

Addressing Modes: Immediate and Extended Addressing, Modified page zero addressing indexed, Register and Indexed addressing; Stack  pointer and subroutine Addressing; Status indicators Carry, add/subtract, parity/overflow, zero and sign; Flags and  Interrupts, Types; interrupt enable-disable; Load and exchange instructions; Bit manipulation: Jump, Call, Return; Input/output instructions.

CPE 425         Microprocessor Laboratory                              (1 Unit)

Students are assigned microprocessor training kits for a specific study and design project. Experimental projects will be designed depending on available laboratory modules.

CPE 427         Control Engineering                           (2 Units)       

Introduction: Classification and examples of control systems, Control system terminology, Open loop and closed loop block diagram model; Transfer function: Mathematical model of feedback systems; Types of response; Second order system, Open loop and closed loop transfer functions; System Stability: Characteristics of the system stability; Root locus; Rough test and Nyquist criterion; Hurwitz stability criterion; Fractional stability criterion; Block diagram Algebra: Procedure, blocks in cascade, canonical form of feedback system; Multi-input system; Reduction techniques signals flow graphs; Input-output formula; Reduction by signal flow graphs; Analysis & Design: Objective of analysis; root-locus analysis and design; Nyquist analysis and design; Bode analysis; Construct M circles; construct N-circles; Nichols chart; Compensation techniques: lead, lag, lead-lag and lag-lead compensators.

CPE 429         Software Engineering Process        (2 Units)

Software process definition – software process management and infrastructure, Software life cycles – categories of software processes, software life cycle models, software process adaptation, practical considerations; Software process assessment and improvement – software process assessment methods, software process improvement models, and continuous and staged software process rating; Software measurement – software process and product measurement, quality of measurement results, and software process measurement techniques; Software engineering process tools.

CPE 431         Human Computer Interaction                              (3 Units)

Introduces the principles of user interface development, focusing on three key areas: (1). Design: How to design good user interfaces, starting with human capabilities and using those capabilities to drive design techniques: task analysis, user-centered design, iterative design, usability guidelines, interaction styles, and graphic design principles. (2). Implementation: Techniques for building user interfaces, including low-fidelity prototypes, Wizard of Oz, and other prototyping tools; input models, output models, model-view-controller, layout, constraints, and toolkits. (3). Evaluation: Techniques for evaluating and measuring interface usability, including heuristic evaluation, predictive evaluation, and user testing.

CPE 433         Software Testing & Quality Assurance             (2 Units)

How to assure it and verify it, and the need for a culture of quality. Avoidance of errors and other quality problems. Inspections and reviews. Testing, verification and validation techniques. Process assurance vs. Product assurance. Quality process standards. Product and process assurance. Problem analysis and reporting. Statistical approaches to quality control.

CPE 500         Current Issues in Computer Engineering            (2 Units)

Recent topics and developments in Computer Engineering are expected to be introduced from year to year. Apart from seminars to be delivered by lecturers or guests, students are expected to do substantial readings on their own.

CPE 501         Reliability and Maintainability        (2 Units)

Introduction to reliability, maintainability, reliability specification and metrics. Application to computer hardware system, communication equipment, power systems, electronic components. Basic maintenance types, and procedures of computer and digital communication system. Fault troubleshooting techniques. QoS and time of availability of data communication. Quality control techniques. Design for higher reliability, fault tolerance. Software Reliability: software reliability specification, software reliability Metrics, fault avoidance, fault tolerance, programming for reliability, software safety and hazard analysis. Comparison of hardware and software reliability. Software Quality and Assurance: definition of software quality, software quality factors, quality control, cost of quality, quality assurance. SQA activities, formal technical reviews, software quality metrics, statistical quality assurance. ISO 9000 Requirements and Certification, ISO 9000-3 for software quality process, process documentation, quality audit. Capability Maturity Model: Software Engineering Institute, levels of maturity, key process areas, Comparison between ISO 9000 Standards and CMM. Ensuring Quality and Reliability: verification and validation, measurement tracking and feedback mechanism, total quality management, risk management.

CPE 502         Embedded Systems Design                                    (2 Units)

Introduction to embedded system, components, characteristics, applications. Intel 8051/8031 Micro-controller: Features of the 8051/8031 family, block diagram and definitions of the pin of the 8051, I/O port structure, memory organisation: general purpose RAM, bit addressable RAM, register bank, special function registers, external memory, memory space mapping and decoding, bus control signals timing, a typical 8051 micro-controller based system. Instruction Set and Assembly Language Programming: Addressing modes, the 8051 instruction set and typical examples, assembler operation, assembly language format, assembler directives, operation of assemblers and linkers, programming examples. On-chip Peripheral Devices: I/O ports, operations and uses of port 0, port 1, port 2, port 3, timers: their operations, programming, and applications, serial port: operations and programming, typical applications, serial port interrupt. Interfacing to external memory, keypad, seven-segment LED display, ADC and DAC chips, and input / output port expansion, description and uses of hardware development tools. MOTOROLA M6811 Micro-controller: Features of the M6811 family, block diagram and definitions of the pin of the M6811, I/O port structure, memory organisation: general purpose RAM, bit addressable RAM, register bank, special function registers, external memory, memory space mapping and decoding, bus control signals timing. Instruction Set and Assembly Language Programming. On-chip peripheral devices and I/O interfacing. Introduction to PIC microcontroller: general architecture, applications and selection of microcontroller, advantages, low-end, and high performance PIC. Specific PIC microcontrollers: Features, architecture, block diagram, pin configuration, on-chip memory, and peripheral. Instruction set and Assembly language programming. Serial I/O interfacing: I2C, and SPI interfacing and programming. Memory interfacing: external memory interfacing, EEPROM and Flash memory interfacing. Design exercises using development system.

CPE 503         Software Engineering                                        (3 Units)

Introduction to software engineering fundamentals. Object oriented programming. Number representations. Data structure and algorithms, Abstraction, modules and objects. Designing for efficiency. Object oriented software design, implementation and testing. Team software specification and management. Cross-platform tools and GUI development. Advanced software algorithms and architecture. Software engineering practice and methods.

CPE 504         Hardware System Studies                           (3 Units)

A survey of fundamentals with emphasis on hardware and systems concept including: Interfaces and configuration, Computer application nodes, Batch processing, Real time; Timesharing, Multiplexing/De-multiplexing, MODEMS, ADC techniques, Systems Viability’, Graceful degradation, MITTR, MTBF, etc Computer selection for a given application, economic versus technical consideration.

CPE 505         Data Communications and Networks          (2 Units)

Basic concepts: data, data communications, networks, applications, standards, protocols, transmission modes (simplex, half-duplex, full duplex); OSI model (layers and their functions, protocols supported by each layer); TCP/IP protocol suite (layers of and protocols supported by each layer); Categories of Internet-works: LAN, MAN, WAN. LAN: Ethernet, Token ring, Token bus, FDDI; Encoding and Modulation: digital-to-digital, analogue-to-digital, digital-to-analogue, analogue-to-analogue conversion; Transmission: media guided (TP, UTP, coax, fibre) unguided and their characteristic features and applications; Multiplexing: FDM, WDM, TDM; application in telephone, DSL; Error Detection and Correction techniques e.g. VRC, LRC, checksum; Networking and Internetworking Devices: bridges, switches, routers, modems; Broadband technologies: ISDN, ATM, Frame Relay, etc.; Packet-switching Networks: topology, routing and routing algorithms, shortest path algorithms; TCP/IP:  architecture, Internet protocols, IPv4, IPv6, UDP, TCP, DHCP, mobile IP, Internet routing protocols, multicast routing; ATM networks: traffic management and QoS. Congestion control; MPLS; RSVP; Network Management: SNMP, SMI, MIB, Remote network monitoring.

CPE 506         Computer Security Techniques         (2 Units)

Introduction: Overview of computer security, attacks and services, control of hardware software. Usage. Intruders, Viruses and Worms: Intrusion techniques. Nontechnical attacks. Password protection and its vulnerability. Intrusion detection. Nature of viruses. Malicious programs. Types of viruses. Antivirus approaches. Worm propagation and countermeasures: access control, intrusion detection and firewalls. Disaster Recovery: Recovery requirements, policy, strategy, technical team. Execution of recovery plans. Documentation and backup system. Loss estimation. Developing Secure Computer System: External Security Measures, Issue, Security Models [Specification and Verification, Bell and LaPadulla Model, Clark-Wilson Model, Goguen-Meseguer, TCPEC], Discretionary Access Requirements, Mandatory Access Requirements, User Authentication, Access and Information Flow Control, Auditing and Intrusion Detection, Damage Control and Assessment, Microcomputer Security. Entropy, perfect secrecy, unicity distance, complexity theory, NP completeness, number theory. Cryptographic System, Public Key Systems, digital signatures. Network and Telecommunication Security: Fundamentals, Issue, Objective and Threats, Security Services, Distributed System Security, The Trusted Network Interpretation, TNI Security Services, AIS Interconnection Issues, Firewalls Gateways, Application, Cost and Effectiveness .Database Security: Security Requirements to Databases, Designing the Security, Methods of Protection, Security of Multilevel Database .

CPE 507         Individual Project I        (3 Units)

This course afford the students the opportunity to try their hands on problems in one of the professional areas of emphasis which may include  Computer systems Design, Knowledge-base Systems, Hardware System design, and theoretical Computer Engineering, information and Communications Technology, Software Engineering, Modeling and simulation of physical or concurrent systems e.t.c.

CPE 508         Individual Project II                      (3 Units)

This course afford the students the opportunity to try their hands on problems in one of the professional areas of emphasis which may include  Computer systems Design, Knowledge-base Systems, Hardware System design, and theoretical Computer Engineering, information and Communications Technology, Software Engineering, Modeling and simulation of physical or concurrent systems e.t.c.

CPE 509         Hardware Design Laboratory                      (2 Units)           

This course is meant to provide students the opportunity to make their own hardware designs as teams and individuals and attempt to construct such design under the guidance of the course instructors.

CPE 510         Digital System Design with VHDL                            (2 Units)

Finite State Machine: definition, mealy and Moore models, state diagram, state table, transition table. Sequential circuits design using flip-flops, asynchronous, and synchronous circuit design. Algorithm State Machine. Design examples and exercises. Structured Design: Design constructs, Design Levels, Geometry-based interchange formats, Computer aided electronic system design tools, Schematic circuit capture, Hardware description languages, Design process (simulation, synthesis), Structural design decomposition. Introduction to VHDL: VHDL language abstractions, Design hierarchies, VHDL component, Lexical description, VHDL source file, Data types, Data objects, Language statements, Concurrent VHDL, Sequential VHDL, Advanced features of VHDL (library, package and subprograms). Structural level modelling, Register-Transfer level modelling, FSM with data path level modelling, Algorithmic level modelling. Introduction of ASIC, Types of ASIC, ASIC design process, Standard cell ASIC synthesis, FPGA Design Paradigm, FPGA synthesis, FPGA/CPLD Architectures. VHDL Design: Top-down design flow, Verification, simulation alternatives, simulation speed, Formal verification, Recommendations for verification, Writing RTL VHDL code for synthesis, top-down design with FPGA. VHDL synthesis, optimization and mapping, constraints, technology library, delay calculation, synthesis tool, synthesis directives. Computer-aided design of logic circuits.

CPE 511         Cryptography Principles & Applications        (2 Units)

History of Cryptographic System, Public Key Systems, Digital Signatures. Information Theory: Entropy, Perfect Secrecy, Unicity Distance, Complexity Theory, NP Completeness, Number Theory. Data Encryption Methods: Transposition Ciphers, Substitution Ciphers, Product Ciphers, Exponentiation Ciphers, Knapsack Ciphers, Breakable NP-Complete Knapsack, Encryption Standards DES, RSA, Elliptic Curves. Cryptographic Techniques: Block and Stream Ciphers, Autokey, Endpoints of Encryption, One-way Ciphers, Password and Authentication, Secret Keys and Public Keys, Threshold Scheme. Video scrambling techniques. Digital video encryption techniques: principle, IRDETO, Viaaccess, Videoguard, etc. Security and Legality Issues: Copyrights, Patents, Trade Secret, Ownership of Products, Computer Crimes, Ethical Issue in Computer Security.

CPE 512         Cyberpreneurship & Cyber Law              (2 Units)

Introduction: Definition of creativity, innovation, examples of creativity leading to innovation, commercialization of creative and innovative ideas. Trends in technology development. Entrepreneurship management and ownership. Characteristics of entrepreneur, starting a new business, business planning, strategic planning & management, site selection and layout. Establishing new venture, risk management. Business Plan Development: definition, need, preparation of business plan. Forecasting developments and charting an action plan . Identifying the product/service, market research and feasibility study. Financing business. Sources of debt financing. Creating the marketing plan, pricing, creative advertising and promotion. Entrepreneurship case studies: Overview and analysis of successful entrepreneurs such as Bill Gates, Michael Dell, David Filo and Jerry Yang of Yahoo, etc. Nigerian Entrepreneurship: Discussion of Nigerian business  environment, and illustrated with successful Nigerian entrepreneurs. Overview of the Nigerian Legal System: Civil and criminal. Basic concepts of law. Contract Law. . Current issues: digital signatures, Intellectual property and copyright. Speech Law: Defamation, Sedition, Printing Press Act. Speech on the Internet. Advertising Code: Made in Nigeria rules and guidelines, Advertising Standards. Media and Licensing law in Nigeria: Developing an in-depth understanding of the nature and function of Nigerian media law. Public and Private licensing. Intellectual and moral rights. Music royalties, synchronization rights, performance rights. Role of music publishers. Broadcast rights, merchandising. Detailed analysis of Communications and Multimedia Act. Ethic and Etiquette: New codes of social behaviour: the right to privacy.

CPE 513  Introduction to Enterprise Resource Planning Systems   (2 Units)

This course provides a technical overview of Enterprise Resource Planning Systems and their impact on organizations. Existing software package, such as SAP, should be used to illustrate the concepts, fundamentals, framework, general information technology context, the technological infrastructure, and integration of business enterprise-wide applications.

CPE 514         Robotics and Automation                            (2 Units)

Robot classification and manipulation. Technology and history of development of robots. Applications. Direct and inverse kinematics: arm equation. Workspace analysis and trajectory planning. Differential motion and statics. Manipulator dynamics. End-of arm tooling. Automation sensors. Robot vision. Work-cell support systems. Robot and system integration. Safety. Human interface. Robot control system. Circuit and system configuration. Task oriented control. Robot control programming. Fuzzy logic and AI based robot control. Fundamentals of automation. Strategies and economic consideration. Integration of systems. Impact to the production factory. Evaluation of conventional processes. Analysis of automated flow lines. Assembly systems and line balancing. Automated assembly systems. Numerical control and adaptive control. Robot applications. Automated materials handling and storage systems. Automation in inspection and testing. Linear feedback control system. Optimal control. Computer process control. Computer integrated manufacturing systems. Future automated factory.

CPE 515   Multimedia Technology & Programming                    (2 Units)

Introduction: Multimedia state-of-the-art, the impact of multimedia, technology, and applications. Multimedia Components: Text, data, audio, image, video. Text: Text compression and decompression. Text coding and decoding. Multi-languages. Unicode. Data: Framing of data. Segmentation of data frames. Data formats, data encryption, data recovery, data representation and manipulation. Audio: Audio creation and encoding. Audio recording format, mono and stereo. Audio compression. Real-time audio. Audio streaming technique. Voice recognition. Image: Image formats, image colour scheme, image enhancement, image processing techniques, image compression, the scale of compression, multiple images, animation. Video: Video recording formats and standards, resolution, compression, video streaming techniques. Multimedia Systems: Integration, storing and presentation of multimedia. Comparison of analogue and digital recording. System integration and coordination. Real-time recording and transmission. Error recovery. Video conferencing systems: configuration, functions, transmission, technology. Multimedia over the networks: Hypertext: concepts. Hypertext Markup Language (HTML). HTML programming and multimedia document design. An introduction to XML. Uniform Resource Locators (URL). Protocols: HTTP, FTP, SMTP. Common Gateway Interface (CGI) processing. MIME specification. Script language. Platform independent language, bytecode and interpreter. Multimedia application over the Intranet and the Internet.

CPE 516         Mobile Communication Network                           (2 Units)

Evolution of mobile radio communications. Examples of mobile radio systems: radio paging, cordless telephones, cellular radio. Trends in cellular radio and personal communications. A basic cellular system, Frequency reuse, Roaming, Hand-off strategies, Co-channel interference, Traffic and Grade of service, System capacity, Improving the capacity of a cellular system. Propagation path loss, multi-path propagation problem, Raleigh fading, Rician distribution. Doppler effect. Field strength prediction models, co-channel interference and reduction, adjacent channel interference, near-far problem. Standards and overview of analogue and digital cellular systems: AMPS, TACS, GSM, CT2, PCN, DECT, PHS. Frequency management and channel assignment, speech coding, channel coding, bandwidth consideration, equalization, modulation techniques, multiple access techniques. GSM: Architecture, elements, and standard interfaces; FDMA/TDMA structure; Speech and channel coding; time slots and bursts; signalling; hand-offs; DCS 1800; GPRS; data services over GSM. Third Generation Wireless Standard: convergence; UMTS; IMT-2000; CDMA2000; WCDMA; UWC-136; Network layer standards. Paging services and technologies; Short Message Services. Call Processing: Signaling; Roaming and mobility management; Route optimization; Wireless Intelligent Networking; Databases; Protocols; Security and billing issues. Global Positioning System: principles, and applications.

CPE 517        Distributed, Parallel and Cloud Computing              (3 Units)

Analysis and Design of Parallel and Distributed Algorithms; Languages/Operating Systems for parallel processing; GPGPU computing; Architecture of parallel/distributed systems, Tools for parallel computing, Parallel (distributed) database systems, Networking aspects of parallel/distributed computing, Parallel/distributed scientific computing Applications; High performance computing Applications in molecular sciences; Multimedia applications for parallel/distributed systems; Grid networks, services and applications; Distributed File Systems; Hyper Scale/Hyper Converged Distributed Storage Design, Storage I/O Protocols; Cloud as a Service, Cloud Infrastructure, Management and operations, Performance, Scalability, Reliability, Virtualization, loud Provisioning Orchestration, Architecture support, Development Tools, Platforms and Applications, Legal aspects and Service Level Agreement, Mobile computing advances in the Cloud, Performance optimization.

CPE 518     Design & Installation of Electrical & ICT Services     (3 Units)

Electrical Installation: Induction to Health and safety at work act in Nigeria. Electrical safety. First aid. Electricity supply regulations. Lighting and Illumination: Luminous intensity and flux. Maintenance factor. Coefficient of utilization. Types of light sources. Calculation of lighting requirements. Glare. Stroboscopic effect. Installation Materials, cables, junction box, terminations, joints. Conduits and conduiting. Truck and trucking. Electrical Installation design in domestic, commercial and industry. Alarm and emergency systems. Earthling and Protection. Purposes of earthing. Faraday cage. Rod electrodes. Earth electrode resistance. Earthing system. Earth fault loop impedance. ICT services: NCC and FCC codes of practice and standards. Telecommunication design and installation: Satellite, VSAT, etc. Telephone design and installation. Computer networking design and installation. Wireless LAN design and installation. Preparation of Bill of Engineering Measurement Evaluation. Contract bidding. Consultancy.

CPE 519         Special Topics in Software Engineering               (2 Units)

Recent topics and developments in Software Engineering are expected to be introduced from year to year. Apart from seminars to be delivered by lecturers or guests, students are expected to do substantial readings on their own.

CPE 520         Antenna & Propagation                (2 Units)

Antenna Systems: Review of Maxwell’s equations. Polarization, polar diagrams, antenna gain, directivity, radiation resistance, impedance matching, effective length and capture area. Radiation by dynamic currents and charges, retarded potentials, the isotrope. Hertzian dipole, short and loop antenna, folded dipole antenna. Vertical and horizontal antennas, rhombic antenna, log-periodic antenna. Centre-fed linear antenna, linear arrays, radiation from diffraction gratings, Yagi-Uda arrays, integrated antennas. Microwave antenna, horn, parabolic reflectors, slot, lenses. Field analysis of antennas. Transmitting-receiving system, reciprocity relations. Equivalent circuit of receiving antenna. Radar Systems: Principles of pulse radar and Doppler radar. Radar equation and system parameters. Components of radar systems. Study of a practical radar system. Radar signal detection. Synthetic aperture radar, tracking and scanning radar, HF (OTR) radar. Radio Wave Propagation: Electromagnetic waves, wavefront, characteristic impedance of free space, reflection, refraction and diffraction. Ground waves and sky waves. The ionospheric layers, refractive index, virtual height, critical frequency and angle, maximum usable frequency, skip zone, skip distance, fading. VHF line of sight transmission. Tropospheric scattering communications. Relationship between transmitter power, antenna gains and received signal to noise in a free space radio link. VHF and microwave point-to-point link.

CPE 521         Computer Graphics and Visualization                   (2 Units)

Overview of 3D animation and its application and types. Coordinate system, vertex, faces and object. Concept of wireframe, surface and solid modelling. Construction planes and differences between object space and world space. Principles of making characters alive. Polygonal Modelling techniques: the Box, using Edit Mesh, Smoothing Techniques, Subdivision Surfaces. Nurbs Modelling techniques: Utilizing NURBS toolbox, surface points and CVs. Importing and attaching NURBS surfaces, rebuilding surfaces, curve and surface approximation. Graphic animation process: Camera & Animation Camera, Set & Background (Image Plane), Light Linking. Animation Techniques: Walk Cycle and Facial Expression using Blend Shape. Dynamics animation: Rigid Bodies, Soft Bodies, constraint, Particles. Tips and tricks on rendering. Concept of Rendering in 3D modelling. Render options and file output.

CPE 522         Digital Signal Processing                 (2 Units)

Introduction: Advantages of digital over analogue signal processing, problems of digitization, overview of application of DSP, basic elements of DSP system. Digital Processing of analogue signals: Sampling of analogue signals, sampling theorem, aliasing, quantization, noise, and coding, types and selection of ADC/DAC, Sigma-delta ADC. Analytical tools: z-transform, properties, transfer function, inverse z-transform, z-plane poles and zeros, analysis of linear time-invariant in z-domain, system stability. Discrete Fourier Analysis: Discrete Fourier Transform and properties, inverse DFT, truncated Fourier transform, windowing, FFT algorithms. Discrete Time Signals & systems: Discrete time sequences (signals), classification and determination of discrete time system, discrete time i/o description (difference equation), solution of difference equations, convolution, correlation, impulse response. Digital Filters: Definition and types. FIR filters: Transfer function, characteristics, applications, design methods, Gibb’s effect and elimination, fir filter realisation. IIR filter: Transfer function, characteristics, applications, overview of analogue filter design techniques, design methods-conversion from analogue to digital filter design techniques, IIR filter realization. Structure of Discrete Time System: Block diagram representation of constant coefficient difference equations, IIR and FIR systems and their basic structures, stability of discrete time systems. Software implementation of DSP algorithms. DSP Microprocessors: Architecture, fixed point vs. floating point DSP, Finite word length effects. DSP chips: interfacing and programming. Practical application of DSP in audio, and video.

CPE 523         Expert Systems                                              (2 Units)

The evolution of computing, defining artificial intelligence, general problem-solving approaches in artificial intelligence, characteristic requirements for the realization of intelligent systems, programming languages for artificial intelligence and architecture for artificial intelligence machines. The psychological perspective of cognition; production systems; problem-solving by intelligent search; the logic proposition and predicates; default and non-monotonic reasoning. A structural approach to knowledge representation, the nature and goals of soft computing. The nature of expert systems; types of applications of expert systems; the relationship of expert systems to artificial intelligence and to knowledge-based systems; distinguishing features of expert systems; theoretical foundations; basic forms of inference; the representation and manipulation of knowledge in a computer; rule-based representations; logic-based representations; frames; semantic and partitioned nets; basic components of an expert system; generation of explanations; handling of uncertainties; truth maintenance systems; expert system architectures; an analysis of some classic expert systems; building expert systems; methodologies for building expert systems: knowledge acquisition and elicitation, formalization, representation and evaluation; knowledge engineering tools; expert systems paradigms.

CPE 524         Project Management                                                (2 Units)

Management Concepts. Project organization, teams, methods and tools for project management. Organization constraints on development. Project Planning Objectives, Resources, Project Estimation, Cost Factors, Decomposition Techniques, Estimation Models. Risk Strategies, Risk Identification, Risk Projection, Risk Monitoring and Management. Work Breakdown Structure, Task Allocation/Effort Distribution. Network Diagrams, PERT and Critical Path Method, Gantt Chart. Scheduling Strategies. Project Tracking, Controlling Progress. Quality measurement. Linear Programming and PERT/CPM applications. System Engineering, Software Development Process, Software Life Cycle, Software Metrics and Measurement.

CPE 526         Software Engineering Project Management          (2 units)

Determination and negotiation of requirements, feasibility analysis, and process for the review and revision of requirements; Software project planning – process planning, determine deliverables, effort, schedule and cost estimation, resource allocation, risk management, quality management, and plan management; Software project enactment – implementation of plans, software acquisition and supplier contract management, implementation of measurement process, monitor process, control process, and reporting; Review and evaluation – determining satisfaction of requirements, and reviewing and evaluating performance; Closure – determining closure and closure activities; Software engineering measurement – establish and sustain measurement commitment, plan the measurement process, perform the measurement process; and evaluate measurement; Software engineering management tools.

CPE 528         Software Engineering Security                                  (2 units)

History and terminology, security mindset, design principles, system/security life–cycle, security implementation mechanisms, information assurance analysis model, disaster recovery, and forensics; Security mechanisms–cryptography, authentication, redundancy, and intrusion detection; Operational issues–trends, auditing, cost/benefit analysis, asset management, standards, enforcement, legal issues, and disaster recovery; Policy–creation of policies, maintenance of policies, prevention, avoidance, incident response (forensics), and domain integration (physical, network, internet, etc.); Attacks – social engineering, denial of service, protocol attacks, active and passive attacks, buffer overflow attacks, and malware; Security domains–security awareness and possible domains; Forensics–legal systems, digital forensics and its relationship to other forensic disciplines, rules of evidence, search and seizure, digital evidence, and media analysis; Security services; Threat analysis model; Vulnerabilities.

CPE 530         Software Architecture and Design                            (2 Units)

An in-depth look at software design. Continuation of the study of design patterns, frameworks, and architectures. Survey of current middleware architectures. Design of distributed systems using middleware. Component based design. Measurement theory and appropriate use of metrics in design. Designing for qualities such as reliability, performance, safety, security, reusability, etc. Measuring internal qualities and complexity of software. Evaluation and evolution of designs. Basics of software evolution, reengineering, and reverse engineering.

CPE 532         Operations Research        (3 Units)

Nature and scope of operations research. Linear programming and graphical, simplex (including big M and two-phase) methods. Sensitivity analysis. Duality theory. Transportation and assignment problems. Network analysis: CPM and PERT. Inventory theory and applications. Sequencing and scheduling.

CPE 534         Fault-Tolerant Computing                          (2 Units)           

Introduction and overview of fault-tolerant schemes; fault and error modelling; test generation and fault simulation; concepts in fault-tolerance; reliability/availability modelling; system-level diagnosis; low-level fault-tolerance – coding techniques (basic principles, parity bit codes, hamming codes, error detection and retransmission codes, burst error correction codes, Reed-Solomon codes, etc.); high-level fault-tolerant techniques in systems: rollback, checkpointing, reconfiguration; software fault-tolerance; fault-tolerant routing; integrated hardware/software fault-tolerance; redundancy, spares and repairs – apportionment, system versus component redundancy, parallel redundancy, RAID system reliability, N-modular redundancy; software reliability and recovery techniques, network system reliability, reliability optimization.