You are now in the main content area
Computer Engineering
- COE 318 - Software SystemsCourse DescriptionThe course introduces the software development cycle including requirements analysis and specifications, implementation, and testing, inspection and debugging techniques. An object-oriented programming language is used. Decomposition in to classes and modules is examined. The integration of independent modules is explored.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 328 - Digital SystemsCourse DescriptionThis course covers the basics digital logic circuits and emphasizes on good understanding of basic concepts in modern digital system design. The course introduces computer aided design (CAD) tools including the use of hardware description language (HDL) for design entry. It also discusses the use of the latest available implementation technologies including CPLDs and FPGAs for mapping the design to modern technology. This course covers basic logic circuits, Boolean algebra, and implementation technology (from transistor to CPLDs and FPGAs). It also introduces logic functions optimization and implementation, number representation and arithmetic circuits, combinational circuits, synchronous and asynchronous sequential circuits as well as introduction to control unit data path and CPU operations. The Laboratory work requires the uses of CAD tools to design and simulate basic digital circuits. Implementation and testing of simple digital systems in LSI and CPLD will also be considered. (Formerly ELE 328.)Weekly Contact:Lecture 4 hrs. Lab 3 hrs.GPA Weight:1.00Billing Units:2Count:1.00Antirequisites:BME 328
- COE 428 - Engineering Algorithms and Data StructuresCourse DescriptionThe main topics covered in this course include basic data structures (arrays, pointers), abstract data structures (trees, lists, heaps), searching, sorting, hashing, recursive algorithms, parsing, space-time complexity, NP-complete problems, software engineering and project management, object-oriented data structures. Case studies and lab exercises will be implemented using a high level programming language. (Formerly ELE 428.)Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 318Corequisites:MTH 314
- COE 501 - Electromagnetism: Theory and EffectsCourse DescriptionCoulomb's law and electric field intensity. Gauss's law and electric flux density, the electric potential and potential gradient, electric fields in material space, capacitance, magnetic field intensity, Ampere's circuital law and magnetic flux density, Magnetic forces, Faraday's Law, Self and mutual inductance, time-varying fields, Maxwell's equations, electromagnetic effects on circuits, grounding, shielding and electrical termination.Weekly Contact:Lecture 3 hrs. Tutorial 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:MTH 312Antirequisites:ELE 401
- COE 528 - Object Oriented Eng Analysis and DesignCourse DescriptionThis course deals with the analysis and design of complex engineering systems. In particular, students will be asked to create requirement specifications prior to the design and implementation of such engineering systems. Case studies from software development projects will be used to illustrate the design process. Development of expertise in analyzing, designing, implementing, and testing industrial-quality, reusable software systems. Project work include practice with an object-oriented programming language. (Formerly COE 618)Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Corequisites:COE 428
- COE 538 - Microprocessor SystemsCourse DescriptionThis course introduces students to small microprocessor-based systems, with an emphasis on embedded system hardware and software design. Topics will include microprocessor architecture and structure, with an overview of 8- 16- and 32-bit systems, assembly language programming and the use of high-level languages. Basic input/output including parallel communications with and without handshaking and serial protocols. Hardware and software timing. Using interrupts and exceptions. Overview of single-chip microprocessors and controllers with an emphasis on the Freescale HCS12. The internal structure and design of peripheral devices. Memory system design and analysis. The use and structure of development tools such as (cross) assemblers or compilers, monitor programs, simulators, emulators, etc.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 608 - Computer Organization and ArchitectureCourse DescriptionThe main topics of the course include basic architecture of modern computers, interaction between computer hardware and software at various levels, and performance evaluation and metrics. Instruction set design, computer arithmetic is also discussed. Data path and control unit design for RISC Processors are covered in detail. The laboratory work includes the design and implementation of a 16-bit RISC CPU using an FPGA development system and VHDL.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 628 - Operating SystemsCourse DescriptionTopics include: Operating systems basic concepts. Hardware and software features required for operating systems. Process management; scheduling, inter-process communication and synchronization, process starvation, deadlocks. Memory management, virtual memory, and file systems. The major lab project will involve developing operating system modules. (Formerly COE 518).Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Custom Requisites:This course previously coded as COE 518.
- COE 691 - Software Requirements Analysis and SPECCourse DescriptionIntroduces students to the requirement definition phase of the software development cycle with an emphasis on the design and implementation of system-level software, large architectural models for System-On-Chip systems, electronic-Design-Automation tool flows, and embedded systems. Methodologies for the analysis of system specification, the creation of appropriate descriptions of desired system behaviour and qualities along with relevant constraints and assumptions will be discussed.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 692 - Software Design and ArchitectureCourse DescriptionIntroduces students to issues, techniques, strategies, representations, and patterns used to implement software systems with an emphasis on the design and implementation of system-level software, large architectural models for System-On-Chip systems, Electronic-Design-Automation tool flows, and embedded systems.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 70A/B - Computer Engineering Capstone DesignCourse Description
This two-term course provides a training platform for systematic open-ended design process and project management. Student groups apply their acquired knowledge and engineering skills to develop and build a design project from concept to working prototype. The lecture component provides advice and information on the design process, project management, reliability, system components, documentation, safety, and program specific aspects. In the laboratory component, once a project topic is assigned, student groups plan, design, source components, build, test/debug, and analyze, under the supervision of a faculty lab coordinator and submit a final design project report.
Weekly Contact:Lecture 1 hr. Lab 1 hr./5hrs.GPA Weight:2.00Billing Units:1/1Count:2.00 - COE 718 - Embedded Systems DesignCourse DescriptionThis course will cover the basics of embedded system organization, system on programmable-chip technologies and real-time systems. It provides the advance knowledge required for embedded computer design and development as well as real-time operating systems. Students are introduced to software development concepts applicable to real-time and embedded systems. Particularly ARM Cortex M3 will be studied as a representative embedded processor and embedded software development is carried out for ARM Cortex CPUs. The students will be able to grasp the main principles of embedded system design and understand the concept of hardware-software codesign, system on programmable chip (SoPC), real-time operating systems and scheduling techniques. Embedded system co-specification and partitioning is also introduced in the course. SystemC or other languages (e.g. UML, C, etc.) can be employed to present a unified view of the embedded systems. SystemC is introduced as a representative Co-specification language. Embedded hardware-software design and development tools (such as Altera Quartus II and SOPC builder) will be introduced.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 538
- COE 758 - Digital Systems EngineeringCourse DescriptionThe emphasis of this course is an understanding of the system architecture around the processor. Course covers all types of modern semiconductor memory, cache and virtual memory organization, hard disk drives and video-output subsystem. Course gives classification of buses and description of concepts of bus organization, bus protocols, arbitration mechanisms and the concept of Direct Memory Access (DMA). The laboratory projects include design of Cache Controller and VGA-signal generator using VHDL in Xilinx CAD environment.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 768 - Computer NetworksCourse DescriptionThis is an introductory course in computer networks. In particular, it concentrates on the Internet technology. It first introduces the OSI and TCP/IP network architecture models. It then studies the implementation principles and design issues at each layer of these models. Lecture topics include: OSI and TCP/IP models, data transmission basics, data-link protocols, local area networks, wide-area networks, Internet structures, TCP/IP protocol suite, and application Layer protocols. Laboratory work focuses on the implementation of stop-and-wait protocol based on the BSD socket. In addition, students will gain practical experience by building and studying a physical network using network devices such as switches and routers.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00
- COE 817 - Network SecurityCourse DescriptionThis course provides an introduction to the theory and application of security in computer network environments. Students will develop the skills necessary to formulate and address the security needs of wired and wireless network environments. The course will begin by an overview of network security and cryptography. Latter topics will cover transport level security, IP security, e-mail security, WiFi security, malicious code, firewall, and intrusion detection systems.Weekly Contact:Lecture 3 hrs. Lab 1 hr.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 768
- COE 818 - Advanced Computer ArchitectureCourse DescriptionThe main topics include: instruction set architecture for advanced processor, advanced pipelining, including branch predication, instruction level parallelism. It also covers advanced architecture including superscalar VLIW, speculative, vector processors, multithreading and multi-processors. It discusses the performance limitations and scalability issues and introduces real-world examples including MMX technology, and Pentium architectures. The laboratory work includes performance evaluation of advanced architectures.Weekly Contact:Lecture 3 hrs. Lab 1 hr.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 758
- COE 838 - Systems-on-Chip DesignCourse DescriptionThis course will cover the basics of system-on-chip (SoC) design, hardware-software co- specification, co-synthesis and network-on-chip (NoC) systems. It provides the advance knowledge required for system-on-chip design, multi-core architectures and embedded systems on a chip. Students will also be introduced to the main principles of SoC modeling and design using SystemC. Various soft processor cores such as Nios-II and other IPs will be explored. Interconnection structures such as AMBA, Avalon and IBM Core-connect for SoC design will be covered in detail. Various SoC development tools will be utilized in the labs and projects.Weekly Contact:Lecture 3 hrs. Lab 1 hr.GPA Weight:1.00Billing Units:1Count:1.00
- COE 848 - Fundamentals of Data EngineeringCourse DescriptionData engineering is core to the effective development of scalable software applications. Rich data management schemes are needed to handle the sizeable Big Data that is available for processing. This course will cover related topics such as entity-relation diagrams, relational databases, data definition and manipulation languages, structured data representations formats, development of novel vocabularies and semi-structured data and also novel concepts in NoSQL databases.Weekly Contact:Lecture 3 hrs. Lab 1 hr.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 528
- COE 865 - Advanced Computer NetworksCourse DescriptionThis is an advanced level undergraduate course in computer networking. The course is designed to include materials relevant to the industry, for example IP routing and traffic engineering. The course deals with the principles, architectures, algorithms, and protocols related to the Internet, with emphasis on routing, transport protocol design, flow control and congestion control, quality of service, traffic engineering and MPLS. It also introduces network virtualization and software-defined networking (SDN). (Formerly ELE 865.)Weekly Contact:Lecture 3 hrs. Lab 1 hr.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 768
- COE 891 - Software Testing and Quality AssuranceCourse DescriptionIntroduces students to various techniques to verify and validate software and software-hardware co-design systems with an emphasis on the design and implementation of system-level software, System-On-Chip systems, Electronic-Design-Automation tool flows, and embedded systems.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 692
- COE 892 - Distributed and Cloud ComputingCourse DescriptionThis course will introduce students to concepts in the design and implementation of large-scale distributed/cloud computing systems. The topics will range from cloud technology to cluster and multi-core systems. The course will specifically cover the topics of cloud infrastructures, virtualization, software defined networks and storage, distributed storage systems, and programming models.Weekly Contact:Lecture 3 hrs. Lab 2 hrs.GPA Weight:1.00Billing Units:1Count:1.00Prerequisites:COE 768