Courses

Primary tabs

LEVEL 2
Course ID Course Title CSE Course Description
ENCS211 DIGITAL ELECTRONICS & COMPUTER ORGANIZATION LAB
 Selected experiments on Logic gates, bi-stables, registers, counters, adders, design of combinational and sequential systems, design and implementation of ALUs including floating-point adders and multipliers, memory devices, processing units (3 practical hours).Prerequisite: (ENCS238 or ENCS336) or concurrent.
ENCS234 DIGITAL SYSTEMS
Number Systems. Boolean Algebra. Logic gates. Design of Combinational Logic. Logic families, interfacing between logic families. Sequential logic: latches, flip-flops, state diagrams and excitation tables. Design of registers, counters, and sequential systems, derivation of state tables and state diagrams. Memory devices. Intro to Programmable Logic Devices, and Hardware Description Languages. Overview on digital Integrated circuits.Prerequisite: COMP132 or COMP142 or COMP230
ENCS238 COMPUTER ORGANIZATION
Basic Computer Organization, computer structure and machine language, processing and input/output units, registers, principal machine instruction types and their formats, character representation, program control, fetch, indirect, execute, and interrupt cycles, timing, input/output operations, register transfer and micro operations, hardware implementation and sequencing of instruction fetch, address construction and instruction execution, data flow and control block diagram of simple processor, Central Processing Unit Organization, bus organization, ALU, stack, addressing modes, instruction formats, instruction types, interrupts, Micro-program Control Organization, concept of microprogramming, control memory, microinstruction formats, Input/Output Organization, peripheral devices, modes of data transfer. Assembly Language and programming.Prerequisite: ENEE 234
LEVEL 3
Course ID Course Title CSE Course Description
ENCS311 ASSEMBLY LANGUAGE LAB
Internal representation of data, addressing modes. Arithmetic operations and logic statements. Machine instructions. Assembler directives and macro definitions. Subroutine linkage and data-structures. I/O programming, exception processing and interrupts and traps. Experiments on hardware control through assembly language to provide speedy analysis and decision making in response to on-going system changes (3 practical hours)Prerequisite: ENCS238 or concurrent.
ENCS313 LINUX LAB
Fundamental concepts about UNIX and Linux. File system, Process Control, System Administration. Editors, shells and debuggers. Shell scripting. Graphics and advanced topics. (3 practical hours) Prerequisite: COMP132 or COMP142 or COMP230
ENCS333 DIGITAL INTEGRATED CIRCUITS
Analysis and design of digital integrated circuits; MOS logic circuit families; logic gate construction, modeling MOS devices - equations and SPICE models, MOS invertors; voltage transfer characteristics; noise margin; propagation delay; MOS logic circuits; static logic; transfer gates; clocked static circuits; dynamic logic; pre-charged logic; domino CMOS; buffer and I/O circuits; high capacitance drivers; semiconductor memories - DRAM, SRAM, ROM. A set of laboratory experiments will provide hands-on experience. Prerequisite: ENEE 236, ENCS 234.
ENCS336 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE
(For Computer Science Students) Basic Computer Organization, computer structure and machine language, processing and input/output units, registers, principal machine instruction types and their formats, character representation, program control, fetch, indirect, execute, and interrupt cycles, timing, input/output operations. Memory hierarchy, Cache memory, Internal memory, External memory. Assembly Language and programming: data representation, arithmetic and logic operations, instructions, interrupt processing. Prerequisite: ENEE 234
ENCS338 MICROPROCESSOR-BASED SYSTEMS AND APPLICATIONS
Microprocessor systems: microprocessor (MP), memory, input/output, interfacing devices, bus architecture. Bus loads and level conversion, clock frequency and data transfer rate. Interrupts. General Purpose programmable peripheral devices, serial and parallel input/output, study of the following controllers: 8255, 8259, 16550, ADC, DAC. Design of complete microprocessor-based systems. Prerequisite: ENCS 238
ENCS339 OPERATING SYSTEMS
The role of an Operating System in computer operations, memory management and virtual memory, process management, multiprogramming and multiprocessor systems, interrupt processing, input/output management and spooling, information management and security, introduction to distributed and networked operating systems, a comparative study of selected operating systems.Prerequisite: ENCS 338.
LEVEL 4
Course ID Course Title CSE Course Description
ENCS401 PRACTICAL TRAINING
Practical training in a specialized institution. The training may take place during summer or a regular semester. Please consult with department regulations. Prerequisite: Finishing a minimum of 110 credit hours.
ENCS411 COMPUTER LAB
Using computers for process control and operation timing. Serial interfacing terminals. Parallel interfacing. Peripheral devices. Applications of microprocessors. Advanced experiments in HDL. (3 practical hours) Prerequisite: ENCS211, ENCS338
ENCS412 INTERFACING LAB
Concepts and techniques for microcontroller-based systems to gather data and control peripheral devices, DAC, ADC, stepper motors, LCD, GPIP, PSOC and PIC. Experiments on different DAS systems and sensor interfacing. (3 practical hours) Prerequisite: ENCS438
ENCS413 COMPUTER NETWORKS LAB
Experiments on administration, security, integration, UNIX and other operating systems like windows, UNIX system administration, Network administration, switching, advanced IP routing, securing the network. (3 practical hours). Prerequisite: ENCS 433 or ENCS 436
ENCS431 DIGITAL SIGNALS PROCESSING (DSP)
Modeling of discrete systems in time domain and frequency domain, discrete convolution, DFT and FFT algorithms, design and implementation of FIR and IIR digital filters, Structures and implementation of digital filters. Prerequisite: ENCS 238, ENEE 334
ENCS432 COMPUTERS ORGANIZATION AND MICROPROCESSOR INTERFACE
(For Mechanical Engineering Students) Basic Concepts of Microprocessor programming and interfacing with analog devices. Contains digital control using microprocessors and microcontrollers. Computer components and functions, including bus transfer, memory, Input/output devices, serial communications, machine language and assembly language. Prerequisite: ENCS 234
ENCS433 COMMUNICATIONS AND COMPUTER NETWORKS
(For Computer Science Students) Introduction to data transmission and signal encoding techniques. Data link control and multiplexing. Circuit switching, packet switching, and routing in switched networks. LAN overview and high speed LANs. Introduction to wireless LANs. Prerequisite: ENCS 336
ENCS434 ARTIFICIAL INTELLIGENCE
A study of what is required to produce intelligent, human-like behavior in a computer system. Fundamental issues in intelligent systems. Search and optimization methods. Knowledge representation and reasoning. Learning. Agents. Multi-agent systems. Game theory and auctions. Prerequisite: (COMP142 or COMP230), COMP 233
ENCS436 COMPUTER NETWORKS
Data communication networks and open system standards, layered network architecture, local area networks (LANs), high-speed and Bridge LANs, wide area networks (WANs), internetworking, transport protocols, error detection and correction, ARQ strategies, framing, identification and addressing, M/M/1 queuing system, multiple access communication, routing and flow control. Prerequisite: ENEE 434 or ENEE 339
ENCS437 COMPUTER ARCHITECTURE
Traditional computer architectures, architecture of micro-programmed computer, pipeline systems, array systems, multi-processor systems, multi-computer systems, technology impact on computer system architecture, modular computers, adaptable architectures, parallel network processors associative processors, dedicated architectures, mixed architectures, mixed architectures, distributed processing, client-server systems, case studies. Prerequisites: ENCS 238 or ENCS 336
ENCS438 INTERFACING TECHNIQUES
Sensor types and characteristics. Examples on Temperature, displacement, pressure, strain, force, torque, etc. measurement will be studied. Analog signal conditioning circuit design and filtering. Advanced topics in Analog to Digital conversion and Digital to Analog converters and selection criteria. Speed versus hardware cost tradeoffs. Data Acquisition Systems (DAS), comparison and selection of DAS. Data acquisition and processing using serial, parallel, and USB ports. Microcontroller types and application Prerequisite: ENEE 236, ENCS 338
LEVEL 5
Course ID Course Title CSE Course Description
ENCS510 MICROCOMPUTER CONTROL LAB
(For Mechanical Engineering Students) Digital circuits, computer interfacing control and sensing circuits, electromechanical devices control using programmable microcontrollers, low level programming of microcontrollers, data acquisition systems (3 practical hours). Prerequisite: ENCS 432
ENCS514 REAL TIME SYSTEMS LAB
Design and implementation of embedded microprocessor based systems and real-time applications. Experiments on the concepts of timing, concurrency, inter-process communication, and input/output. (3 practical hours) Prerequisite: ENCS 531
ENCS515 ADVANCED COMPUTER SYSTEMS ENGINEERING LAB
Selected experiments on smart systems and robotics, experiments on small devices using the new web technologies and its application in developing innovative solutions in computer systems engineering field (3 practical hours). Prerequisite: ENCS 514
ENCS520 INTRODUCTION TO GRADUATION PROJECT
Data, information and material collection and analysis in area of study under the supervision of a faculty member, student presentations of findings and procedures and actions to be applied to complete the project in the following semester. Prerequisite: Fourth year standing
ENCS521 COMPUTER ENGINEERING ETHICS
Introduction to Professionalism, Ethical Dilemmas, Choices, and Codes of Ethics. Moral Frameworks for Engineering Professionalism. Safety and Risk Engineer Responsibilities and Rights. Copyright and Licensing Issues, Censorship and the Internet, Information Privacy Issues. Cautious Optimism and Moral Leadership. Prerequisite: Fourth year standing
ENCS530 GRADUATION PROJECT
Final graduation project. Students should either design or implement a system related to the computer system engineering field or do research on a particular subject under supervision of a faculty staff members. Prerequisite: ENCS 401, ENCS 520
ENCS531 REAL TIME APPLICATIONS AND EMBEDDED SYSTEMS
Variety of issues regarding the real-time application of embedded microprocessor systems, problems of real-time computer applications in process control or similar areas, digital processing, the physics of sensors and transducers, signal representation, and system design and software development, applications on automotive control, biomedical instrumentation, communication systems, speech processing, data compression and audio processing. Prerequisite: ENCS 313, ENCS 339, ENCS 438
ENCS532 DATA AND NETWORK SECURTIY
Theory and practice of computer security. Security aspects of the web and Internet. Cryptographic tools used to provide security, symmetric and public key encryptions, key exchange, digital signature and its usage in internet protocols and applications. System security issues and its applications. Prerequisite: ENCS 436
ENCS533 ADVANCED DIGITAL SYSTEMS DESIGN
Advanced features of a Hardware Description Language (HDL). CAD tools; logic synthesis and optimization, physical design, timing simulation, design flow, and examples from HDL code. Digital systems design; building block circuits, case studies from the building blocks of ALU and control unit. Asynchronous sequential circuits, race conditions and hazards. Testing logic circuits. Prerequisite: ENCS 437
ENCS539 SPECIAL TOPIC IN COMPUTER SYSTEMS ENGINEERING
Study of a particular subject related to computer systems engineering depending on students' needs and instructors' interests. Prerequisite: Fourth year standing and department approval
LEVEL 5 Special Topics
Course ID Course Title CSE Course Description
ENCS5311 DISTRIBUTED SYSTEMS AND ALGORITHMS
Fundamentals of distributed systems and algorithms. Problems, methodologies and paradigms for understanding and designing distributed applications. Distributed systems and algorithms. Fault tolerance application design. Practical applications from modern distributed systems. Prerequisite: COMP 2321, ENCS 339
ENCS5312 SYSTEMS PROGRAMMING
Design and implementation of various system software components including assembler, macro processor, compiler, loader, client-server applications, debuggers, mail servers, browsers. Analysis of modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems. Prerequisite: ENCS 313, ENCS 339
ENCS5313 VLSI
Introduction to CMOS and MOSFETs, their characteristics and use in analog and digital circuit design, static and dynamic circuits, CMOS VLSI design methodology, full-custom design, circuit and system levels, extensive use of Mentor Graphics CAD tools for IC design, simulation and IC verification, specific techniques for designing high-speed, low-power, and easily testable circuits, introduction to fault modeling, fault testing, fault locating, and testability. Prerequisite: ENCS 333
ENCS5314 WIRELESS NETWORKS
Wireless Communications, Radio Propagation, Spread spectrum technology, Media Access. Infrastructure Wireless network: Cellular network, wireless LANs/WANs. Mobile I P. Wireless internet. Infrastructure less network: mobile ad hoc network, wireless sensor network, blue tooth and IR. Prerequisite: ENCS 436
ENCS5315 FUZZY LOGIC AND NEURAL NETWORKS
Neuron Model, Learning Function Approximation, Error Correction Algorithms (LMS), Hebbian learning, Perception. Pattern classification and its Implementation, regression, approximation, time series models. Feed-forward multi-layer Perception. Nonlinear optimization. Back-propagation training. Clustering. Bayesian Network. Fuzzy set theory. Fuzzy Reasoning. Fuzzy Inferencing. Fuzzy Logic Control. Prerequisite: ENCS 434, ENEE 332
ENCS5316 PARALLEL COMPUTING
The course is centered on three concepts: Architectures, Algorithms and Programming. Parallel architectures: parallel computers taxonomy, examples of parallel computers, fundamental communication operations, and performance metrics. Parallel algorithms: design and analysis of parallel algorithms with emphasis on sorting, matrix problems, and graph problems. Parallel programming: types of parallelism, parallel programming paradigms, message passing programming, data parallel programming, and shared-address space programming in threads. Prerequisite: ENCS 437
ENCS5317 MULTIMEDIA SYSTEMS
Creating multimedia information systems. Design and effectiveness of multimedia information applications. Programming techniques for integrating video, sound, animation, and graphics, and design strategies for multimedia information systems. Compression and decompression. Multimedia servers and file systems. Networked and distributed multimedia systems. Prerequisite: ENCS 436
ENCS5318 ROBOTICS
Defining Robots. Current issues in robotics and embedded intelligent systems. How to combined sensing, action and planning in an uncertain and changing world. Mapping, localization and path planning. Survey the kinds of mechanical and electronic systems that constitute a robot today. Emphasis on algorithms, inference mechanisms and behavior strategies. Prerequisite: ENCS 338 or ENCS 432