Graduate Courses in Computer Engineering


This list of graduate courses is current as of July 7, 2008. Please check the Virginia Tech Timetables and the Banner system for up-to-date prerequisite information.


ECE 5504: COMPUTER ARCHITECTURE


(Cross-listed with CS) Advanced computer architectures, focusing on multiprocessor systems and the principles of their design. Parallel computer models, programming and interconnection network properties, principles of scaleable designs. Case studies and example applications of pipeline processors, interconnection networks, SIMD and MIMD processors. Pre: ECE/CS 4504 (3H, 3C)


5505-5506: Testing and Verification of Digital Systems


Various topics on digital circuit testing and verification. 5505: digital circuit testing including simulation, test pattern generation, design for testability, built-in-self-test, and diagnosis. 5506: circuit verification including two-level and multi-level circuit verification, sequential circuit verification, model-checking simulation-based verification, and ATPG-based verification. (3H,3C) I,II.


5514: Design of Systems on a Chip


System On a Chip (SOC) components. System level design representations and modeling languages. System level modeling. Target architecture models. Intra-chip communication. Graph partitioning algorithms. Task time measurement. Interconnect latency modeling. Back annotation of lower timing to high level models. Synthesis of SOC components. Co-verification of SOC components: emulation, co-simulation. Pre: knowledge of a high-level programming language Pre: 4514. (3H,3C).


5524: PATTERN RECOGNITION


Computational methods for the identification and classification of objects. Feature extraction, feature-space representation, distance and similarity measures, decision rules. Supervised and unsupervised learning. Statistical pattern recognition: multivariate random variables; Bayes and minimum-risk decision theory; probability or error; feature reduction and principal components analysis; parametric and nonparametric methods; clustering; hierarchical systems. Syntactic pattern recognition: review of automata and language theory; shape descriptors; syntactic recognition systems; grammatical inference and learning. Artificial neural networks as recognition systems. Pre: STAT 4714. (3H,3C). Typically offered Spring.


5530: Configurable Computing


The design and implementation of high-performance computing machinery using configurable computing technology is studied. Contemporary computing methodologies are investigated, modeled, and constructed in laboratory exercises. Computational solutions are implemented by using field programmable gate arrays and adaptive computing devices. Pre: 4514, 5504. (3H,3C). Typically offered Spring.


5534: Electronic Design Automation


Introduces graduate students to the various electronic design automation artifacts, algorithms, and methodologies. It includes system level design languages, abstractions, models of computation, high level synthesis, modeling and model transformations, simulation based validation, etc. The course deals with state-of-the-art design practices, algorithms, and methodologies. It requires a solid background in computer architecture, digital design, and proficiency in programming and modeling. Pre: 4514. (3H,3C) II.


5544: CODING THEORY


Use of codes to improve the reliability of transmission over noisy channels. Algebraic structure of codes. Includes error detecting and correcting codes. BCH Codes, Reed Solomon Codes, and convolutional codes and codes for checking arithmetic operations. Pre: STAT 4714 or equivalent, MATH 4124 or equivalent. (3H,3C). II.


5545-5546: Advanced VLSI Design


Advanced concepts in CMOS-based digital system design are studied. The topics include implementation of special purpose structures for complex digital systems, automation and verification of the design process, and design for testability (5545); and design techniques for low-power design, power dissipation estimation, and application of low-power techniques in the different levels of the design hierarchy (5546). Pre: ECE 4540. (3H, 3C).


5554: THE THEORY & DESIGN OF COMPUTER VISION SYSTEMS


Analysis of digital images and three-dimensional scenes. Image acquisition, representation of two- and three-dimensional shapes, visual cues for range estimation. Image filtering and histogram-based analysis for image enhancement, noise suppression, edge detection, region detection, and image segmentation. Introduction to such topics as visual texture, stereo vision, structured-light ranging, and motion analysis. Pre: STAT 4714. (3H,3C). Typically offered Fall.


ECE 5560: Network and Computer Security


Introduces both fundamental security principles as well as real-world applications of network and computer security. Covers a wide range of topics including authorization and access control, basic cryptography, authentication systems, e-commerce security, sensor network security, and legal and ethical issues. Pre: ECE 4564 or ECE 5565; (3H, 3C). Typically offered Fall.


ECE 5564: Wearable and Ubiquitous Computing


Issues in the design and use of wearable and ubiquitous computing systems. Topics covered include current research issues in system-level low power design, input/output devices, location and context-awareness, and networking. Students are expected to design, implement, and evaluate a wearable computing device or application. Pre: ECE 4534 or ECE 4550. (3H, 3C)


ECE 5565-5566: NETWORK ARCHITECTURE AND PROTOCOLS
(Cross-listed with CS) ECE 5515 has been replaced by ECE 5504.


5565: Principles and concepts of networking and protocols, with emphasis on data link, network, and transport protocols. Contemporary and emerging networks and protocols to illustrate concepts and to provide insight into practical networks including the Internet. Quantitative and qualitative comparisons of network architectures and protocols.


5566: Performance evaluation, design, and management of networks. Use of queuing and other analytical methods, simulation, and experimental methods to evaluate and design networks and protocols. Network management architectures and protocols.


Pre: 5565: Graduate standing; STAT 4714. (3H, 3C); 5566: (3H, 3C).


ECE 5575-76: Object-Oriented Software Development I, II


5575: Use cases, class models, state models, interaction modeling, constraint modeling, message design, and concurrent and real-time systems. Students develop analysis documentation for an Engineering related project.


5576: Object-oriented design, including both logical and physical design. In logical design, rules related to class interfaces, containment, inheritance, and associations are covered along with design patterns. Physical design addresses components, levelized designs, and the application of generic programming concepts in design. Students develop design documentation for an engineering software project.


Pre: 4574 (3H, 3C)


6504: ADVANCED TOPICS IN COMPUTER ENGINEERING


Advanced topics of current interest in computer engineering which are taken from current research topics and/or technical publications. Prerequisites at 5000 level dependent on specific topics. (3H,3C).


6514: APPLICATIONS OF AUTOMATA THEORY TO DIGITAL DESIGN


Applications of theory of finite automata, push-down automata, and Turing machines to the design of digital machines. Emphasis will be on the computational capabilities of classes of finite and infinite automata and on the consequences for digital design. Theory of NPcompleteness, description of NP complete problems in digital design, and the consequences for design processes. Pre: 3504, MATH 5454. (3H,3C) I.


6564: MULTIMEDIA NETWORKING


This course examines and explores recent advances in multimedia networking technologies. Major topics include multimedia compression and standards, quality of service (QoS) support mechanisms and protocols, performance analysis, network calculus, IP multicasting, Internet multimedia applications, and multimedia transport over wireless networks. Pre: 5565. (3H,3C) I.


Advanced Undergraduate Courses Approved for Graduate Credit

ECE 4500: FUNDAMENTALS OF COMPUTER SYSTEMS


Fundamental principles and concepts of computer systems. Computer hardware; Boolean logic; number systems and representation; design and operation of digital logic; instruction set architectures and computer organization; and basics of data communication and networking. Partially duplicates ECE 3504 and 4504. Master of Information Technology students only.


4514: DIGITAL DESIGN II


In this course, students will learn to use a hardware description language (VHDL) in the digital design process. Emphasis will be on system-level concepts and high-level design representations. Methods will be learned that are appropriate for use in automated synthesis systems. Students will have the opportunity to use commercial schematic capture and simulation tools to design a series of increasingly complex devices. Students will also use a logic synthesis tool and synthesize assignments into Field Programmable Gate Arrays. Pre: 3504. (3H,3L,4C). I,II.


4524: Artificial Intelligence and Engineering Applications


Problem solving methods; problem spaces; search techniques; knowledge representation; programming languages for AI; games; predicate logic; knowledge-based systems; machine learning; planning techniques; reactive systems; artifical neural networks; natural language understanding; computer vision; robotics. Pre: ECE 2574, STAT 4714. (3H, 3L, 4C). I.


4534: Embedded System Design


Microprocessor development systems, programming using assembly and higher-level languages. Implementation of embedded application algorithms. Details of a contemporary microprocessor architecture. Comparative analysis of advanced architecture and speciality architectures. Laboratory work is required. Software development including multiple memory models, device drivers, basic network principles including internet applications. Pre: ECE 3534. (3H, 3L, 4C).


4540: VLSI Circuit Design


Introduction to the design and layout of Very Large Scale Integrated Circuits (VLSI). Emphasis is placed on digital CMOS circuits. Static and dynamic properties of MOSFET devices, along with integrated circuit fabrication are examined. Computer-aided design tools are used to produce working integrated circuit designs. Pre: 3204 and 3504 or equivalent.


4550: Real-Time Systems


Introduction to real-time systems, real-time scheduling including multiprocessor scheduling, real-time operating systems (kernels), real-time communication, real-time programming languages, reliability and fault-tolerance, and real-time system requirements and design methods. Design, analysis, and implementation of real-time kernel mechanisms and real-time applications using kernels such as Linux and programming languages such as C (with POSIX primitives) and Ada 95. Pre: ECE 2504, CS 3204. (3H, 3C) II.


4560: COMPUTER AND NETWORK SECURITY FUNDAMENTALS


This course introduces fundamental security principles and real-world applications of Internet and computer security. Topics covered in the course include legal and privacy issues, risk analysis, attack and intrusion detection concepts, system log analysis, intrusion detection and packet filtering techniques, computer security models, computer forensics, and distributed denial-of-service (DDoS) attacks. Pre: 4564. (3H, 3C). II.


4564: NETWORK APPLICATION DESIGN


Application program interface and network transport services including User Datagram Protocol and Transmission Control Protocol from the Internet protocol suite. Client-server organization and design of synchronous, asynchronous, and multithreaded client and server applications. Design, implementation, and testing techniques to improve robustness and performance. Design and implementation of servers and clients for standard Internet application protocols. Partially duplicates CS 4254 and credit will not be allowed for both. Pre: 2504 and 2574. (3H, 3C). II.


ECE 4570: Wireless Networks and Mobile Systems


Multidisciplinary, project-oriented design course that considers aspects of wireless and mobile systems. Including wireless networks and link protocols, mobile networking including support for the Internet Protocol suite, mobile middleware, and mobile applications. Students complete multiple experiments and design projects. Pre: ECE 4564 or CS 4254 (3H, 3C).


ECE 4574: Large-Scale Software Development for Engineering Systems


Large-scale software implementations of the hierarchy of engineering analysis, design, and decision evaluation. Computer-aided engineering programs with state-of-the-art computer tools and methods. Operator overloading, dynamic polymorphism, graphical user interfaces, generic programming, dynamic link libraries, and multiple threads. Pre: 3574. (3H, 3C)