Home Page

Home Course Description

Course Description for Department of Computer Engineering


(250101) Calculas I
General Introduction. Differentiation. Mean value theorem. Integration- the fundamental theorem and applications. Techniques of integration. Sequences. Infinite and power series. Conic section. Polar coordinators. Vector functions. Differentiation. Curves. Arc length. Applications in mechanics.

(250102) Calculas II
Infinite and power series, Conic Sections, Polar Coordinates, Vector functions, Arc-Length, Applications in mechanics, Functions of several variables, Partial differentiation, The Gradient, Directional derivatives, Tangent lines, Tangent planes, The Normal line, Maxima and minima, The Second partial test, Lagrange method, Multiple integrals (double and triple). Line and surface integrals, Theorems of Green, Gauss and Stokes.

(650260) Engineering Analysis I
Differential equations & mathematical modeling. First order differential equations. Linear second & high order differential equations. Modeling of Electrical and mechanical systems.
Laplace Transform. Series solution of differential equations. Initial value problem. Simple nonlinear Differential equations. Partial differential equations & boundary value problem.

(630262) Engineering Analysis II
Matrices, Determinants, Solution of Linear and nonlinear equations. Direct and iterative solutions. Interpolation and curve fitting. Numerical integration and differentiation. Numerical Solution of differential equations. Fourier series and Fourier Transform.

(630263) Programming Language
C and C++ Programming Environment: Compiled language, program creation, structure of programs, Problem solving techniques, Elements of C++ programming language, Operands of C++, Expressions, Program design process, Control structures, Looping, Functions, C++ stream input/output, Structured types, Data abstraction and classes, Arrays, Pointers, dynamic data and reference types, File processing, Templates.

(630260) Discrete Mathematics
Numbers & operations. Set theory. Data types: an introduction to algebraic specification. Functions & their manipulation. Structures: sequences, graphs, trees. Propositional logic, Predicate logic, Binary relationships.

(630221) Object Oriented Programming
Introduction to OOP: structures, classes. Dynamic memory management: pointers, arrays, structures. Classes & Abstracted Data Types. Class Operators & Templates. Inheritance: Base classes & derived classes, protected members, templates & inheritance.
(630222) Software Laboratory (1)
The experiments given in this lab. will improve the student skills in C & C++ programming.

(630224) Data Structures and Algorithms
Data types: records, files, and sets. Dynamic data structures. Single, double, and circular linked. Lists and queues. Stacks, and binary trees. Shell sort, quick sort, binary search, and hashing. Data compression. Definitions of algorithms. Design & analysis of algorithms: Divide and conquer, Greedy algorithm. Dynamics programming. Backtracking. Branch and bound technique. NP-hard and NP-complete problems.

(630211) Logic Circuits
Number Systems: Binary, Octal, Decimal, and Hexadecimal. Boolean Variables and Algebra. Minimization of Boolean Functions. Combinational Circuits With MSI Components. Sequential Circuits Analysis and Design. MSI Counters and Registers. Memories. Introduction to Computers.

(630212)  Logic Circuits Lab
Basic Logic Circuits (Familiarization with AND, OR, NOT, NOR, and NAND gates). De Morgan's Theorems. Combinational Circuits. MSI Components. RS, JK, D, and T Flip-Flops. Sequential Circuits. Registers and Counters.

(630323) Data Base
Introduction to data bases. Data base system architecture. Introduction to relational data-bases. Introduction to SQL. The relational model. Domains and relations. Data base algebra. Relational calculus. Data base design and applications.

(630336) Software Laboratory (2)
This lab. covers the main concepts of data structures: Arrays , Records, Stacks, Queues and Lists Sorting and merging. Searching techniques. The principles of algorithms: Analysis, design, dynamic programming. Back tracking. Branch techniques. Also, tutorials to cover database systems.

(630325) Software Engineering I
Basic concepts: S/W engineering tools and methodologies. Requirements engineering: S/W document, validation & evolution. Requirements Analysis: Viewpoint – oriented, method-based. System contexts. Systems methods: Data Flow, semantic. Object Requirements definition & specifications. Software prototyping. Formal specification. Development Process. Development for Reliability: Fault avoidance, Fault tolerance, Exception handling. Defensive programming.


(630311) Computer Architecture
Basic computer architecture and organization. Instruction set and addressing modes. Processor design. The execution unit and the control unit. Microprogramming memory hierarchy and organization. Input/output systems. Introduction to parallel processing.

(630313) Microprocessors
Introduction to microprocessor architecture. Addressing modes. Data movement instruction. Arithmetic & Logic instructions. Program control instructions. Microprocessor programming. Introduction to microprocessor interfacing.


(630314) Microprocessors Laboratory
Familiarization with the microprocessor lab. Microprocessor instruction set and assembly language fundamentals. Writing, debugging, and executing various assembly language programs. Memory (RAM) interfacing. I/O interfacing.

(630423) Intelligent Systems Design
Introduction. Knowledge representation and acquisition. The inference engine. Enhancements. Validation. Hybrid expert systems. Implementation of intelligent systems. Applications and code generation.

(630420) Software Laboratory (3)
Selected tutorials (as small projects) to cover the principles of software engineering: Analysis, design, verification, testing, software documentation and management.

(630422) Operating Systems
Importance, definition, and functions of an operating system. I/O programming. Interrupt structure and processing . Memory management: Partitioned, relocatable, paged, demand paged, segmented, segmented-and-paged. Processor management. Job and process scheduling. Process synchronization. Device management. Virtual devices. Information management.

(630411) Computer Networks
Data Communications and ISO model . Open system standard. Circuit switching and packet switching . The physical layer: functions, handshake concepts, bandwidth. Data link layer: transparency, framing, error detection, protocols. Network layer: circuit switching, message switching, packet switching and virtual circuits. Transport layer: TCP/IP protocol, IP addressing. LAN topologies and types. The Ethernet. Bridges and repeaters. Routers and Switches. Introduction to WAN and internet.

(630412) Computer Networks Laboratory 
Several tutorials to cover the principles of operating systems and analysis tutorials to cover the design and implementation of computer networks.


(630414) Embedded Systems
It includes system requirements specifications, architectural and detailed design, and implementation, focusing on real-time applications.  Learning the concepts will be enforced by a Project to design and develop an embedded system based on a single-chip microcontroller.


(630430) Computer Design Laboratory
Design and implementation of a single board microprocessor-based system comprising a CPU, PIA, VART, RAM, EPROM and PTM (Programmable Time) from a specific family such as MC 6809 using wire-wrapping technique; some basic experiments are done using this board such as its interfacing printer using PTM for frequency and time measurements. Square-wave generator.


(630521) Advanced Programming Language
This course will cover the features and applications of an advanced programming language, such as C# and JAVA. The course description will be decided by the department.


(630514) Neural Networks & Fuzzy Logic
Neural versus conventional computing. Learning processes. The preceptor. The backpropagation learning algorithm. Recurrent networks. Self-organization Feature maps. Applications. Introduction to Fuzzy theory. Fuzzy Logic. Fuzzy logic in engineering.

(630511) Advanced Computer Architecture
An Advanced treatment of computer architecture covering new technological developments. Including detail to multiprocessor systems and specialized machines. Special emphasis will be developed to new concepts such as data flow machines. higher level language processors and associative processor.


(630522) Modeling & Simulation
Introduction: Physical model. Symbolic model. Mental model. Modeling methodology: analysis, formulations, solution strategy, verification. Validation and certification. Discrete simulation. Continues simulation. Event activity and processes. Monte Carlo Simulation. Process oriented approach. Random number and random variables. Simulation Language.


(630512) Real-Time Systems
Introduction to Real-time systems. Time handling. Objects. Real-time applications. Real-time system lifecycle. Structured design approaches. Petri Net models. Language support and restriction . Verification & validation of real-time software. Real-time operating systems. Allocation & scheduling. Applications.


(630550) Engineering Project II
The student should attach himself to one or more faculty members who assign him a project. He analyzes this project and suggests a method to carry out the project in the next stage.


(630553) Engineering Project III
Based on the results obtained from the first stage. The student carries out the project suggested by the department.