Course Descriptions

COE201 Computer Proficiency [0-2, 1 cr.] (Offered yearly)

This course covers word processing, spreadsheet, presentation software, internet, e-mail, database, and web design.

COE212 Engineering Programming [3-0, 3 cr.] (Offered yearly) 

This course covers a high-level programming language syntax, structured programming, basic constructs, arrays, object programming, case studies, and projects tailored towards solving engineering and mathematically-oriented problems.

COE312 Data Structures [3-0, 3 cr.] (Offered yearly) 

This course covers the programming principles, stacks and recursion, queues, lists, searching, and sorting algorithms, binary trees, and the introduction to object-oriented programming concepts.

Prerequisite: COE 212 Engineering Programming.

COE 313 Data Structures Lab [0-3, 1 cr.] (Offered yearly)

This Lab provides hands-on experience in designing, implementing, and using the most-commonly used data structures including arrays, stacks, queues, linked lists, trees, hash tables, and graphs. Other topics may include sorting algorithms, polymorphism, and recursion.

Prerequisite: COE 312 Data Structures.

COE321 Logic Design [3-0, 3 cr.] (Offered yearly) 

This course provides an introduction to digital logic circuits and covers binary number representations, combinational logic design, Boolean algebra, arithmetic circuits, regular logic, programmable logic devices, flip flops, registers, counters, sequential state machines, and asynchronous and synchronous logic.

Prerequisites: COE201 Computer Proficiency, COE 212 Engineering Programming, MTH 207 Discrete Structures I.

COE322 Logic Design Lab [0-3, 1 cr.] (Offered yearly) 

This laboratory course provides hands-on experience implementing digital logic design systems using modern computer-aided design tools, discrete components, breadboards, and digital probes.

Concurrent with COE321 Logic Design.

COE323 Microprocessors [3-0, 3 cr.] (Offered yearly)  

This course covers the internals of the microprocessor and assembly language, storing, manipulating, moving data, basics of control flow, interfacing to other devices, basics of writing good assembly code using the stacks and position independent codes.

Prerequisite: COE321 Logic Design.

COE324 Microprocessor Lab [0-3, 1 cr.] (Offered yearly) 

This is a lab course with experiments in microprocessors.

Concurrent with COE323 Microprocessors.

COE414 Operating Systems [3-0, 3 cr.] (Offered yearly) 

This course provides an overview of operating systems and provide the basic structure and architecture of some operating systems in the market. This course covers the process creation, management, synchronization, communications, and scheduling. Memory management and protection.

Prerequisites: COE 312 Data Structures, COE323 Microprocessors.

COE416 Software Engineering [3-0, 3 cr.] (Offered yearly) 

This course covers the analysis, development, design and documentation of software.

Prerequisite: COE312 Data Structures.

COE418 Database Systems [3-0, 3 cr.] (Offered yearly)  

This course covers the data modeling, relational database, SQL, query languages, object oriented databases, and client-server databases.

Prerequisite: COE212 Engineering Programming.

COE423 Computer Architecture [3-0, 3 cr.] (Offered yearly) 

This course introduces computer components and systems. Topics include evolution of computer systems, bus interconnections, I/O mechanisms, memory management and hierarchy, instruction set design, and basic pipelined techniques.

Prerequisite: COE323 Microprocessors.

COE424 Digital Systems [3-0, 3 cr.] (Offered yearly) 

This course is an introduction to digital systems design and covers timing concepts, area-delay tradeoffs, pipelining, and synthesis. Register transfer notation and VHDL are introduced to model, simulate, and verify designs. Topics include field-programmable gate arrays, technology mapping, layout synthesis, and routing.

Prerequisite: COE323 Microprocessors.

COE425 Digital Systems Lab [0-3, 1 cr.] (Offered yearly) 

This laboratory course provides hands-on experience implementing complex digital systems using modern computer-aided design tools, FPGA-based boards, and various I/O devices.

Concurrent with COE424 Digital Systems.

COE431 Computer Networks [3-0, 3 cr.] (Offered yearly) 

This course covers the topologies, installation and configuration, testing, modeling and simulation of networks. In addition to: protocols, standards, TCP/IP, and socket programming.

Prerequisite: Fourth year standing required.

COE493 Professionalism in Engineering [3-0, 3 cr.] (Offered yearly) 

Overview of the nature and scope of engineering profession. Working on a multidisciplinary team environment; professional and ethical responsibility; the impact of engineering solutions in a global and societal context; contemporary issues; and life-long learning.

Third year standing required.

COE498 Professional Experience [0-6, 6 cr.] (Offered yearly) 

This course entails professional experience through training in the execution of real-life engineering projects.

Prerequisite: Fifth year standing, and the consent of the instructor.

COE 521 Embedded Systems [3 – 0, 3 cr.] (Last offered: Fall 2015)

This course provides an introduction to the design of embedded systems including both their hardware and software. Topics ranging from simple circuit design to computer architecture will be discussed. Different types of processors will be presented along with interfacing to memories, I/O devices, and other processors. The 68HC12 or PIC microcontrollers will be used as an example processor for assignments and the course project.

Prerequisite: COE323 Microprocessors.

COE522 High Performance Computer Architecture [3-0, 3 cr.] (Last offered: Spring 2016)

This course covers topics in advanced pipelined techniques and scheduling, instruction level parallelism, and dynamic scheduling. Advanced processor design techniques are introduced such as superscalar, super-pipelined, VLIW, multiprocessing, multithreading, and supercomputing architectures. In addition, relationships between high-performance computing and interconnection networks, embedded systems, advanced storage systems, and cloud computing examples are established.

Prerequisite: COE423 Computer Architecture

COE526 VLSI Design Automation [3-0, 3 cr.] (Last offered: Fall 2012)

This course covers the algorithms and methodologies for the synthesis, analysis, and verification of digital systems, silicon compilation, high-level synthesis, logic synthesis, and layout synthesis, hardware description languages and their use in the synthesis process, fault simulation and coverage analysis, and the extensive use of electronic design automation Tools.

Prerequisite: COE321 Logic Design.

COE527 VLSI Design [3-0, 3 cr.] (Last offered: Spring 2015)

This course covers the VLSI design, circuits’ layout, timing, delay, power estimation, use of layout editors and circuit simulation tools, synthesis, and an introduction to electronic design automation.

Prerequisite: COE321 Logic Design.

COE535 Optical Networks [3 – 0, 3 cr.] (Last offered: Fall 2011)

This course covers the fundamentals of optical networking. In particular, it touches on the following topics: the building blocks of optical wavelength division multiplexed networks, wavelength division multiplexing (WDM) and its enabling technologies, WDM-based access and metro optical network architectures, wavelength-routed optical wavelength division multiplexed networks used for wide area coverage, optical burst switched networks, and optical packet switched networks.

Prerequisite: COE 312 Data Structures.

COE543 Intelligent Data Processing and Applications [3 – 0, 3 cr.] (Last offered: Spring 2016)

This course provides an overview on state of the art algorithms and techniques allowing semi-structured and semantic-aware data processing, forming the main building blocks of the Semantic (Intelligent) Web vision. It covers semantic data descriptions and knowledge bases (taxonomies and ontologies), XML-based data representation and manipulation technologies (e.g., SVG, MPEG-7, RDF, OWL, etc.), structure and semantic similarity, Web information retrieval and related applications.

Prerequisite: COE 312 Data Structures and COE 418 Database Systems.

COE544 Intelligent Engineering Algorithms [3 – 0, 3 cr.] (Last offered: Fall 2015)

This course allows students to acquire basic knowledge of algorithms and methods of Artificial Intelligence, geared toward developing intelligent engineering solutions. The course covers concepts ranging over intelligent agents, fuzzy logic, neural networks, and genetic algorithms. A series of exercises, a set of simulations/ projects on computers, and a set of academic presentations (prepared in part by students) will allow students to better cover course materials, while concurrently developing applied projects. By the end of the course, students should be able to create software agents with intelligent features (intelligently perceiving surrounding environment, noise resistance, approximate (fuzzy) data processing, and simulating human behavior).

Prerequisite: COE 312 Data Structures

COE555 Queuing Theory [3 – 0, 3 cr.] (Last offered: Spring 2013)

This course introduces two modeling techniques, namely simulation and queuing modeling techniques. The following topics are discussed in this regard: single queue Markovian systems, semi-Markovian queuing systems, open queueing networks, closed queueing networks, pseudo-random number generation, estimation techniques for analyzing endogenously created data, and validation of a simulation design.

Prerequisite: GNE 331 Probability & Statistics.

COE591 Capstone Design Project [3-0, 3 cr.]  (Offered yearly) 

This course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a culminating major design experience that is concluded by a written report and an oral presentation.

Prerequisite: Fifth year standing.

COE593 COE Application [3-0, 3 cr.]  (Offered yearly) 

This course allows COE graduates to acquire the technical skills that are required to match a specific industry-related need. In particular, it exposes students to the techniques, which can improve their chances of gaining employment in jobs aligned with the considered need. This exposure is reinforced by an extensive hands-on experience that is brought into classroom through small-scale projects pertaining to problems inspired from the identified need.

Prerequisite: Fourth Year standing.

COE594 Undergraduate Research Project [3-0, 3 cr.] 

Engagement in a research project under the direction of a faculty member with emphasis on problem identification, formulation and solution. Requires a formal research report in the form of a paper. This course is considered as a technical elective (ECE elective).

COE599 Topics in Computer Engineering [1-3, 3 cr.] 

This course covers the treatment of new developments in various areas of computer engineering. Prerequisite: Prerequisite: Fifth year standing and the consent of the instructor.

Last modified: April 6, 2016