|
HCE101
|
Principles of Programming Languages
|
This module examines the concepts and structures governing the design and implementation of programming languages. One major outcome is for students to be able to express syntax and semantics in formal notation, apply suitable programming paradigms and understand high level language design and implementation. Upon completion, students should be able to manage files with operating system commands, use top-down algorithm design, implement algorithmic solutions in a programming language and write small programs that allow them to accomplish useful goals.
|
|
HCE102
|
Electrical and Electronic Principles
|
Circuit elements theorems. Analysis of dc and ac single- phase circuits, phase representation of ac quantities, complex representation of ac quantities, transients, series and parallel resonance. Power and energy factor, Magnetic fields, electric fields, behaviour of charges in Law. Magnetic and dielectric materials, forces in electric and magnetic media, energy stored Faraday’s and Lenz laws. Motors and Generators, electrostatic generators, Magnetic circuits and flux measurement, self and mutual inductance, transformers. Introduction to three – phase circuits, star – delta transformations, current relations, power circuit calculations. Principles of operation of single-phase transformers. Fundamental concepts of semiconductors, primitive logic functions: NOT,AND,OR,XOR,NAND,NOR,XNOR, Numbering systems, Binary arithmetic, Boolean algebra, Kaunaugh maps, complex circuits from primitive logic elements, conditional circuits, state diagrams, tables and machines, interfacing with the analogy world, IC, basic operational characteristics and parameters, TTL circuits, practical consideration in the use of TTL, CMOS circuits, comparing CMOS and TTL characteristics, interfacing logic families, memory, IC applications, circuit board technology, technologies of the future, nano-technology.
|
|
HCE103
|
Software Engineering
|
The module gives the students practical experience in applying Software Life ycle Models, standards and technologies. Topics covered include: Software Process and Problems, Requirements, Specifications and Software Design approaches, Modular Designs, CASE tools, Case Studies. Object Oriented Analysis and Design using the Unified Modeling Language (UML) to capture Requirements, Model User Interactions and Business Process, Verification and Validation, Implementation and Integration Issues, Reuse Concepts and Maintenance.
|
|
HCE104
|
Mathematics 1
|
This module introduces and discusses the fundamentals of discrete mathematics as applied to computer engineering, focusing on providing a basic theoretical foundation for further work. Students are exposed to logic and proof techniques, set theory, elementary number theory, functions and relations, graphs, trees, modelling computations and abstract algebra. This module integrates symbolic tools, graphical concepts, and numerical calculations. Techniques of counting: permutations, combinations, recurrences, algorithms are also covered.
|
|
HCE111
|
Data Structures and Algorithms
|
This module builds on the programming skills acquired in Principles of Programming Languages. It couples work on Program Design, Analysis, and Verification with an introduction to the study of Data Structures. Students are able to identify appropriate data structures for solving computing problems in respective language and write several programs, ranging from very short programs to more elaborate systems, in any language. Emphasis is placed on the development of clear, modular programs that are easy to read, debug, verify, analyze, and modify.
|
|
HCE112
|
Digital Electronics and Logic Design
|
Introduction to digital design, number systems and codes, digital circuits, combinational logic design principles and practices, combinational circuit design examples, sequential logic design principles and practices, sequential circuit design examples. Memory (ROM, RAM, static and dynamic RAMs), CPLDs and FPGAs, computer aided design tools.
|
|
HCE113
|
Visual Programming
|
Basic .NET Concepts, Exploring the Development Environment, Creating a Visual Basic .NET Project, Understanding Programming Concepts, Working with Windows Forms, Working with Controls, Styling code, Data Types, Using Variables, Variable Scope, Converting Data Types, Creating and Using Structures, Storing Data in Arrays, Creating Procedures, Using Procedures, Predefined Functions, Conditional Expressions, Decision Structures, Conditional Loop Structures. Restricting User Input, Validating Field Data, Validating Form Data. Types of Errors, Using the Debugger, Handling Exceptions, Creating Menus, Creating Status Bars, Creating Toolbars, Working with Web Forms, Using XML Web Services, Database Concepts, Overview of ADO.NET, Working with Data, Deploying a Windows-based Application.
|
|
HCE114
|
Database Systems
|
The module focuses on concepts and principles related to database management systems and link these to Relational Database Systems. Topics covered include: Database Systems Evolution, Database Systems in the Organisation, Principles of Conceptual Design, Database Models, The Relational Data Model, Data Modeling, Database Design Theory, Data Definition and Manipulation Languages, Storage and Indexing Techniques, Query Processing and Optimization, Concurrency Control and Recovery and Database Programming Interfaces.
|
|
HCE115
|
Operating Systems and Computer Architecture
|
The topics covered will be divided between the traditional computer architecture and operating systems study domains: Computer Architecture: General-purpose computer, bus structure, the physical arrangement of buses, bus parameters. Block diagram of the processor. System of the interruptions, algorithm of the interruptions. Description of the system bus. Input and output devices, functions. Parallel port. Serial port, interfaces. Direct Memory Access.
Computer memory, types of memory, cache. Optical and magnetic storage media, methods of writing and reading. PC video system, types and parameters. Computer architecture: basic principles, instruction set, processor, memory hierarchy, I/O organization. Operating systems: Evolution and role of the operating system. Architectural concepts. Organization and functionality of an operating system. Process Management, Direct and indirect communication, Scheduling, Algorithm evaluation, Process synchronization, SW approaches for mutual exclusion, Synchronization constructs, Deadlock, Memory management, Virtual memory, Disk scheduling algorithms, File System, Free space management: bit vector, lists. Directory implementation: linear list, hash table. I/O subsystem, I/O techniques, Device driver and application interface, I/O kernel services
|
|
HCE201
|
Object Oriented Programming
|
The module aims at providing a solid foundation in Object Oriented Programming. Topics covered include: Objects overview and review, Creating class instances within constructors, Objects analysis: creating fields and properties, Inheritances and specialized classes, Base class and abstract classes, Events and exception, Providing services using interfaces and Abstract classes, Polymorphism: using classes, interchangeably, Shared and static members, Overloading operators, Overriding, Multithreading.
|
|
HCE202
|
Digital Signal Processing
|
The topics covered in this module include purpose of digital signal processing (DSP), theories and concepts, role of DSP in the context of computer engineering; analysis of digital spectra; application of discrete Fourier transforms, convolution types; filtering, digital filtering; transforms; discrete time signals; sampling issues; applications to include image processing, audio processing; use of relevant software tools
|
|
HCE203
|
Software Project Management
|
Software Project Management is the practice of controlling the cost, time, manpower, hardware and software resources involved in the development activity that commences with a problem statement and ending with the delivery of complete software product to the customer. It will include planning, monitoring and controlling, Project evaluation, scope management, team building, stakeholder management, risk assessment, scheduling, and quality and conflict management.
|
|
HCE204
|
Mathematics II
|
The main aim of this module is to equip students with the advanced mathematical tools necessary to solve complex problems .Topics to be covered include Calculus , Differential Equations, Laplace Transforms, Numerical Methods.
|
|
HCE205
|
Web & Mobile Technologies
|
Students will cover Web design fundamentals and internet technologies. They will have an appreciation of Web communication protocols and methods. They will learn how to use Scripting languages, interface design tools, Application Programming Interface (API), Web Services and design patterns in Web Application Development.
|
|
HCE211
|
Data Communications and Computer Networks
|
The module exposes students to the different technologies applied in data communication and the principles of computer networking. Topics covered include: Computer network technologies and applications, Role of Data communication in organizations, Transmission Media , Signaling, Communication protocols, Communication architectures – ISO OSI Model, Transmission media, Network connections (Data transmission modes, multiplexing), Network types (LAN,WAN,MAN), LAN topologies, LAN MAC protocols, Routing and routing algorithms (distance vector, link state, BGP), Basic router configurations and routing tables, switching and switching devices. Spanning tree protocol. Configuration, operation and administration of PC-based LAN and WAN, troubleshooting a network. Administration of multiple network Operating Systems e.g. Windows 2000, Linux and Unix services via TCP/IP protocol. IP addressing (IPv4and IPv6). Network security, Accessing the WAN protocols-ATM, Frame Relay, HDLC, PPP, PAP, CHAP and broadband links. WAN traffic control and Access Control Lists (ACL), Enterprise Network (NAT, DHCP and troubleshooting)
|
|
HCE212
|
Advanced Database Systems
|
This module builds on concepts covered in Database Systems. It includes Distributed Databases, Data Mining, Data Warehousing, Multimedia Systems and Introduction to Big Data and Analytics
|
|
HCE213
|
Microprocessors & Embedded Systems
|
This module introduces students to the basic concepts of microprocessors and the role that hardware and software play in the functional behaviour of microprocessor systems. Students are then introduced to some of the more common microcontrollers. Interfacing external memories as well as various input/output devices and sensors are also covered. The module enables students to analyse the requirements of a given task, make decisions in selecting an appropriate controller, design and implement prototype hardware/software for a typical embedded systems product. Practical workshops are designed to introduce microprocessor software development, testing and debugging. Workshops provide students with an opportunity to use both ‘C’ and assembly language
|
|
HCE214
|
Design and Analysis of Algorithms
|
This module investigates methods for designing efficient and reliable algorithms. It introduces several algorithm design strategies that build on data structures and programming techniques introduced in Data structures and Algorithms. These include induction, divide-and-conquer, dynamic programming, and greedy algorithms. Particular topics of study include graph theory, hashing, and advanced data structures
|
|
HCE260
|
Group Project
|
The students work in a group to produce a working Product including a Project Proposal, a Project Plan, a System Specification, User Documentation and perform Project Management Activities to ensure the product is delivered on time. The Implementation includes Developing the Product, Testing and Evaluation and Presentation.
|
|
HCE301
|
Information Security
|
The module covers concepts and applied methods in information security encompassing the confidentiality, integrity, and availability model of information assets. Topics include security threats, cryptography, security analysis (attack taxonomy), access control, threat protection, Security Policies, Laws, Computer Crimes and Cyber Security.
|
|
HCE302
|
Computer Graphics
|
The module covers characteristics of graphics I/O devices, 2D/3D transformations including scaling, translation, and rotation. It also explores Graphics Pipeline, Data Structures for Graphics, Geometrical representation, OpenGL programming, vertex processing, lighting and shading, rasterization including line and polygon drawing, ray casting, ray tracing, spline curves and surfaces, color models, fractals, computer graphics in games and Computer Animation; visualization.
|
|
HCE311
|
Parallel and Distributed Computing
|
The module covers Parallelism Fundamentals, Parallel Decomposition, Parallel Algorithms, Analysis, and Programming, Parallel Architecture, Parallel Performance, Formal Models and Semantics. The module will also cover key design principles of distributed systems including communication protocols, processes and threads, naming, synchronization, consistency and replication, fault tolerance, and security
|
|
HCE380
|
Industrial Attachment
|
Student Industrial Attachment is a “work-based experience programme” providing a real-life organisational context for students to develop specific or generic skills, valuable to their professional development. Students can apply and enhance their skills in reality, contribute to the Organisation, and, at the same time, obtain invaluable guidance from their mentors. Industrial Attachments are an excellent way to learn more about a career, find out what it is like to work in one’s potential career, gain valuable experience to build a resume, get to know employers and make a solid network.
|
|
HCE360
|
Internship Project
|
Students will be required to undertake an industrial standard project aimed at solving practical problems within the organization they are attached to using Computer Engineering skills. The project scope should be agreed upon between the industrial and academic supervisor hence the project will be jointly supervised.
|
|
HCE401
|
Theory of Computation
|
The module explores Turing machines, universal computation, the halting problem and general undecidability, Rice’s theorem, the recursion theorem, efficient computation models including finite automata, regular languages, context-free grammars, time and space (memory) bounds, deterministic and nondeterministic computation and their relationships, the P versus NP problem and hard problems for NP and beyond.
|
|
HCE402
|
Artificial Intelligence and Machine Learning
|
This module covers Artificial Intelligent fundamentals like problem solving, algorithms, AI Agents, various branches of Artificial Intelligence including Machine Learning. Students will also be exposed to tools and practical implementation of AI.
|
|
HCE403
|
Robotics
|
Robotics as an application draws from many different fields and allows automation of products as diverse as cars, vacuum cleaners, and factories. The module introduces basic computational concepts used broadly in robotics. The topics include simulation, kinematics, control, optimization, and probabilistic inference. The mathematical basis of each area is highlighted, and concepts are motivated using common robotics applications and programming exercises.
|
|
HCE411
|
Mobile and Wireless Communication
|
This module examines the technology underlying current and future mobile wireless systems. It provides the essential theoretical principles and concepts encountered in the design of typical modern wireless communications systems. Various analogue and digital modulation schemes essential for information transmission are examined, including the detrimental effect of noise in limiting system performance.
|
|
HCE412
|
Software Testing and Quality Assurance
|
The module will cover Software Testing fundamentals, Static Testing, Structural Testing, Regression Testing, Software Quality concepts and culture, Software Quality Assurance (SQA) process, Quality metrics, Configuration Management, Impact of Software Quality, Verification & Validation (V&V) concepts and techniques.
|
|
HCE413
|
Compiler Design
|
This module covers the principles and practices for the design and implementation of compilers and interpreters. Topics include stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization; and garbage collection. Students learn to construct a compiler for a simple language.
|
|
HCE460
|
Capstone Project 1
|
The Capstone Design Project involves supervision. This project is intended for the student to demonstrate skills acquired to develop systems for an organisation of their choice. Candidates must be able to demonstrate the highest level of innovation.
|
|
HCE461
|
Capstone Project 2
|
This is a continuation of the Capstone 1 Project. Students are expected to develop a working prototype .
|