Iowa State University

Iowa State University

2005-2007 Courses and Programs

Iowa State University Catalog

Search for classes offered this term

Catalog Index

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Computer Engineering

200 | 300 | 400 | Graduate Courses

ecpe.ece.iastate.edu

(Administered by the Department of Electrical and Computer Engineering)

Arun K. Somani, Chair of Department
Distinguished Professors: Jiles
Distinguished Professors (Emeritus): Brown, Fouad, Lord, Nilsson, Pohm
University Professors (Emeritus): Jones
Professors: Bowler, Dalal, Geiger, Kamal, Kothari, Kuschner, Lamont, Luecke, McCalley, Rover, Sheble, Somani, Weber, Woods
Professors (Emeritus): Anderson, Basart, Brearley, Brockman, Comstock, Fanslow, Hale, Horton, Hsieh, Koerber, Kopplin, Melsa, Potter, Read, Smay, Stewart, Swift, Townsend, Triska, Venkata
Professors (Emeritus Adjunct): Hillesland
Professors (Collaborators): Khammash, Lee, Udpa L, Udpa S, Vittal
Associate Professors: Ajjarapu, Aluru, Bartlett, Berleant, Chang, Chen, Cruz-Neira, Davidson, Davis, Dickerson, Jacobson, Kim, Kruempel, Kumar, Russell, Salapaka, Tuttle, Tyagi
Associate Professors (Emeritus): Bond, Carlson, Coady, Mericle, Pavlat, Scott, Stephenson
Associate Professors (Adjunct): Biswas, Bowler,
Associate Professors (Collaborators): Adolphs, Hassoun
Assistant Professors: Chu, Daniels, Dogandzic, Elia, Govindarasu, Guan, Hornbuckle, Ma, Patterson, Qiao, Reiners, Song, Tirthapura, Wang, Zhang
Assistant Professors (Adjunct): Amin, Bode, Mina
Assistant Professors (Collaborators): Balasubramaniam, Barton, Chandramouli, Nath

Undergraduate Study

For the undergraduate curriculum in computer engineering leading to the degree bachelor of science, see College of Engineering, Curricula. This curriculum is accredited by the Engineering Accreditation Commission of the Accreditation Board for Engineering and Technology.

The Electrical and Computer Engineering (ECPE) Department at Iowa State University provides undergraduate students with the opportunity to learn electrical and computer engineering fundamentals, to study applications of the most recent advances in state-of-the-art technologies, and to prepare for the practice of computer engineering. The student-faculty interaction necessary to realize this opportunity occurs within an environment that is motivated by the principle that excellence in undergraduate education is enhanced by an integrated commitment to successful, long-term research and outreach programs.

The computer engineering curriculum offers emphasis areas in computer architecture, software engineering, information security, networking, concurrent systems and VLSI. Students may also take elective courses in control systems, electromagnetics, microelectronics, VLSI, power systems, and communications and signal processing.

The objective of the Computer Engineering program at ISU is that its graduates should demonstrate expertise, engagement, learning, leadership, and teamwork within five years after graduation.

Expertise: Graduates should establish peer-recognized expertise together with the ability to articulate that expertise and use it for problem solving in the analysis, design, and evaluation of computer and software systems, including system integration and implementation, using contemporary practices.

Engagement: Graduates should be engaged in the engineering profession, locally and globally, contributing to the development of the nation, the quality of life of its people, and the engineering profession through the ethical, competent, and creative practice of computer engineering in industry, academia, or the public sector, or graduates may use the program as a foundation for interdisciplinary careers in business, law, medicine, or public service.

Learning: Graduates should demonstrate sustained learning through graduate work or professional improvement opportunities and through self study, and they should demonstrate the ability to adapt in a constantly changing field.

Leadership: Graduates should exhibit leadership and initiative to advance professional and organizational goals, facilitate the achievements of others, and obtain results.

Teamwork: Graduates should demonstrate effective teaming and commitment to working with others of diverse cultural and interdiscipplinary backgrounds by applying engineering abilities,.

As a complement to the instructional activity, the ECPE Department provides opportunities for each student to have experience with broadening activities. Through the Cooperative Education and Internship Program, students have the opportunity to gain practical industry experience. See College of Engineering, Cooperative Programs. Students have the opportunity to participate in advanced research activities; and through international exchange programs, students learn about engineering practices in other parts of the world. Well qualified juniors and seniors in Computer Engineering who are interested in graduate study may apply for concurrent enrollment in the Graduate College to simultaneously pursue both B.S. and M.S. or B.S. and M.B.A. degrees. See Graduate Study for more information.

Students are required to prepare and to maintain a portfolio of their technical and non-technical skills. This portfolio is evaluated for student preparation during the student's curriculum planning process. Results of the evaluation are used to advise students of core strengths and weaknesses.

Graduate Study

The department offers work for the degrees master of science and doctor of philosophy with major in computer engineering and minor work to students with other majors. Minor work for computer engineering majors is usually selected from a wide range of courses outside computer engineering.

The degree master of science with thesis is recommended for students who intend to continue toward the doctor of philosophy degree or to undertake a career in research and development. The nonthesis master of science degree requires a creative component.

The normal Prerequisite to major work in computer engineering is the completion of undergraduate work substantially equivalent to that required of computer engineering students at this university. It is possible for a student to qualify for graduate study in computer engineering even though the student's undergraduate or prior graduate training has been in a discipline other than computer engineering. Supporting work, if required, will depend on the student's background and area of research interest. Prospective students from a discipline other than computer engineering are required to submit, with the application for admission, a statement of the proposed area of graduate study.

The department requires submission of GRE general test scores by applicants from other countries. All students whose first language is not English and who have no U.S. degree must submit TOEFL examination scores. Ph.D. students must pass a department qualifying examination.

The Department of Electrical and Computer Engineering is a participating department in the interdepartmental M.S. and Ph.D. degree programs in Bioinformatics and Computational Biology. Students interested in these programs may earn their degrees while working under an adviser in Electrical and Computer Engineering.

The Department of Electrical and Computer Engineering is also a participating department in the interdepartmental Master of Science in Information Assurance program. Students interested in studying Information Assurance topics may earn a degree in Computer Engineering or in Information Assurance. (See catalog section on Information Assurance.)

Well qualified juniors and seniors in Computer Engineering who are interested in graduate study may apply for concurrent enrollment in the Graduate College to simultaneously pursue both B.S. and M.S. or B.S. and M.B.A. degrees. Under concurrent enrollment, students are eligible for assistantships and simultaneously take undergraduate and graduate courses. Details are available in the Student Services Office and on the department's web site.

Courses open for nonmajor graduate credit: all 300 and 400 level courses except 310, 370, 396, 397, 398, 466, 490, 491, 492, 494, and 498.

Courses primarily for undergraduate students


Cpr E 166. Professional Programs Orientation. (Same as E E 166.) (1-0) Cr. R. F.S. Overview of the nature and scope of electrical engineering and computer engineering professions. Portfolio construction. Departmental rules, student services operations, degree requirements, program of study planning, career options, and student organizations.

Cpr E 185. Introduction to Computer Engineering and Problem Solving I. (2-2) Cr. 3. Prereq: Credit or enrollment in Math 141. Introduction to Computer Engineering. Project based examples from computer engineering. Individual interactive skills for small and large groups. Computer-based projects. Solving engineering problems and presenting solutions through technical reports. Solution of engineering problems using the C language.

Cpr E 186. Introduction to Computer Engineering and Problem Solving II. (0-2) Cr. 1. S. Prereq: 185. Project based examples from computer engineering. Group skills needed to work effectively in teams. Group problem solving. Computer based projects. Technical reports and presentations. Students will work on 2 or 3 self-directed team based projects that are representative of problems faced by computer engineers.


Cpr E 210. Introduction to Digital Design. (3-2) Cr. 4. F.S. Prereq: Sophomore classification. Number systems and representation. Boolean algebra and logic minimization. Combinational and sequential logic design. Arithmetic circuits and finite state machines. Use of programmable logic devices. Introduction to computer-aided schematic capture systems, simulation tools, and hardware description languages. Design of a simple digital systems.

Cpr E 211. Introduction to Microcontrollers. (3-2) Cr. 4. F.S. Prereq: 210, Com S 207 or 227. Introduction to microprocessor instruction sets. Assembly language programming and interfaces to higher-level languages. Input/output programming. Interrupt handling. Hardware/software design tradeoffs and issues. Design projects.

Cpr E 298. Cooperative Education. Cr. R each time taken. F.S.SS. Prereq: Permission of department and Engineering Career Services. First professional work period in the cooperative education program. Students must register for this course before commencing work.


Cpr E 305. Computer Organization and Design. (3-2) Cr. 4. F.S. Prereq: 211 or Com S 321. Introduction to computer organization. Evaluating performance of computer systems, instruction set design, computer arithmetic, and processor design. Datapath and control, pipelining and pipelined control design. Memory organization. Interfacing processors and peripherals. Laboratory component using HDLs. Nonmajor graduate credit.

Cpr E 308. Operating Systems: Principles and Practice. (3-3) Cr. 4. F.S. Prereq: 305, 310. Operating system concepts, processes, threads, IPC, scheduling algorithms, deadlocks, memory management, file systems, I/O systems, Linux-based kernel-level lab experiments. Nonmajor graduate credit.

Cpr E 310. Theoretical Foundations of Computer Engineering. (3-0) Cr. 3. F.S. Prereq: Credit or enrollment in Cpr E 211, Com S 228. Propositional logic and methods of proof; set theory and its applications; mathematical induction and recurrence relations; functions and relations; counting and discrete probability; trees and graphs; applications in computer engineering.

Cpr E 330. Integrated Electronics. (Same as E E 330.) (3-3) Cr. 4. F.S. Prereq: E E 201, credit or enrollment in E E 230, 210. Semiconductor technology for integrated circuits. Modeling of integrated devices including diodes, BJTs, and MOSFETs. Physical layout. Circuit simulation. Digital building blocks and digital circuit synthesis. Analysis and design of analog building blocks. Laboratory exercises and design projects with CAD tools and standard cells. Nonmajor graduate credit.

Cpr E 370. Toying with Technology. (Same as Mat E 370.) See Materials Engineering.

Cpr E 396. Summer Internship. Cr. R each time taken. SS. Prereq: Permission of department and Engineering Career Services. Summer professional work period.

Cpr E 397. Engineering Internship. Cr. R each time taken. F.S. Prereq: Permission of department and Engineering Career Services. One semester maximum per academic year professional work period.

Cpr E 398. Cooperative Education. Cr. R each time taken. F.S.SS. Prereq: 298, permission of department and Engineering Career Services. Second professional work period in the cooperative education program. Students must register for this course before commencing work.

Cpr E 416. Software Evolution and Maintenance. (Same as Com S 416.) Cr. 3. Prereq: Com S 309. Fundamental concepts in software evolution and maintenance; practical software evolution processes; legacy systems, program comprehension, impact analysis, program migration and transformation, refactoring. Tools for software evolution and maintenance. Case studies, experimental software projects. Written reports and oral presentation. Nonmajor graduate credit.

Cpr E 417. Software Verification and Testing. (Same as Com S 417.) (3-0) Cr. 3. S. Prereq: Com S 309, either Com S 330 or 310. Software verification topics include propositional, predicate, and temporal logics, model-based verification using model checking, program verification using theorem proving, and tools for verification. Software testing topics include testing process software defects, inspection, white/black box testing, unit/system testing, object-oriented and GUI software testing, automatic test generation, test planning and management, and tools for testing. Oral and written reports.

Cpr E 425. High Performance Computing for Scientific and Engineering Applications. (Same as Com S 425.) See Computer Science. Nonmajor graduate credit.

Cpr E 426. Introduction to Parallel Algorithms and Programming. (Dual-listed with 526; same as Com S 426.) (3-2) Cr. 4. F. Prereq: 308 or Com S 321, Com S 311. Models of parallel computation, performance measures, basic parallel constructs and communication primitives, parallel programming using MPI, parallel algorithms for selected problems including sorting, matrix, tree and graph problems, fast Fourier transforms. Nonmajor graduate credit.

Cpr E 430. Advanced Protocols and Network Security. (Dual-listed with 530.) (3-0) Cr. 3. Prereq: 305. Detailed examination of networking standards, protocols, and their implementation. TCP/IP protocol suite, network applications protocols, IP routing, network security issues. Emphasis on laboratory experiments. Nonmajor graduate credit.

Cpr E 435. Analog VLSI Circuit Design. (Same as E E 435.) (3-3) Cr. 4. S. Prereq: 324, 330, 332, and either E E 322 or Stat 330. Basic analog integrated circuit and system design including design space exploration, performance enhancement strategies, operational amplifiers, references, integrated filters, and data converters. Nonmajor graduate credit.

Cpr E 450. Distributed Systems and Middleware. (Dual-listed with 550.) Cr. 3. Prereq: 308 or Com S 352. Fundamentals of distributed computing, software agents, naming services, distributed transactions, security management, distributed object-based systems, middleware-based application design and development, case studies of middleware. Nonmajor graduate credit.

Cpr E 454. Distributed and Network Operating Systems. (Dual-listed with 554; same as Com S 454.) See Computer Science. Nonmajor graduate credit.

Cpr E 458. Real Time Systems. (Dual-listed with 558.) (3-0) Cr. 3. Prereq: 308 or Com S 352. Fundamental concepts in real-time systems. Real time task scheduling paradigms. Resource management in uniprocessor, multiprocessor, and distributed real-time systems. Fault-tolerance, resource reclaiming, and overload handling. Real-time channel, packet scheduling, and real-time LAN protocols. Case study of real-time system architectures, operating systems, and programming languages. RT-Linux based laboratory experiments. Nonmajor graduate credit.

Cpr E 465. Digital VLSI Design. (Same as E E 465.) (3-3) Cr. 4. S. Prereq: EE 330. Digital design of integrated circuits employing very large scale integration (VLSI) methodologies. High level hardware design languages, CMOS logic design styles, area-energy-delay design space characterization, datapath blocks: arithmetic and memory, architectures and systems on a chip (SOC) considerations. VLSI chip hardware design project. Nonmajor graduate credit.

Cpr E 466. Multidisciplinary Engineering Design. (Same as E E 466, I E 466,Mat E 466, M E 466.) (1- 4) Cr. 3. F. S. Prereq: Student must be within two semesters of graduation and receive permission of instructor. Application of team design concepts to projects of a multidisciplinary nature. Concurrent treatment of design, manufacturing and life cycle considerations. Application of design tools such as CAD, CAM, and FEM. Design methodologies, project scheduling, cost estimating, quality control, manufacturing processes. Development of a prototype and appropriate documentation in the form of design journals, written reports, oral presentations and computer models and engineering drawings.

Cpr E 483. Hardware Software Integration. (3-3) Cr. 4. S. Prereq: 305. Design of microprocessors with hardware description language and programmable logic devices. Use of microprocessors as system components. Bus architectures and standard interfaces. Embedded software development. Development of embedded systems by integrating embedded software and microprocessors. Laboratory-oriented design projects. Nonmajor graduate credit.

Cpr E 485. Java and Internet Programming. (2-2) Cr. 3. S. Prereq: Com S 309. The Java programming language, emphasizing internet related capabilities. May include JavaScript topics. Nonmajor graduate credit.

Cpr E 486. Object Oriented Software Specification and Design. (3-0) Cr. 3. F. Prereq: 308, Com S 309. Study of software engineering life cycle topics focusing on specification and design activities: architectural design, component design, interface specification, data specification and design, and algorithm specification and design. Object-oriented specification and design using the Unified Process, Unified Modeling Language (UML) and Design Patterns. Term projects to provide hands-on experience in dealing with complex specification and design issues. Nonmajor graduate credit.

Cpr E 489. Computer Networking and Data Communications. (3-0) Cr. 3. F.S. Prereq: 305 or E E 324. Survey of modern computer networking and data communications. Contemporary concepts, facilities, practices, implementations, and issues. TCP/IP, OSI protocols, client server programming, local area networks. Nonmajor graduate credit.

Cpr E 490. Independent Study. Cr. arr. Prereq: Senior classification in computer engineering. Investigation of an approved topic.
H. Honors

Cpr E 491. Senior Design Project I and Professionalism . (Same as E E 491.) (2-3) Cr. 3. F.S. Prereq: E E 322 or Cpr E 308, completion of 24 credits in the E E core professional program or 29 credits in the Cpr E core professional program, Engl 314. Preparing for entry to the workplace. Selected professional topics. Use of technical writing skills in developing project plan and design report; project poster. First of two-semester team-oriented, project design and implementation experience.

Cpr E 492. Senior Design Project II. (Same as E E 492.) (1-3) Cr. 2. F.S. Prereq: Cpr E 491 or E E 491. Second semester of a team design project experience. Emphasis on the successful implementation and demonstration of the design completed in E E 491 or Cpr E 491 and the evaluation of project results. Technical writing of final project report; oral presentation of project achievements.

Cpr E 494. Portfolio Assessment. (Same as E E 494.) (1-0) Cr. R. Prereq: Credit or enrollment in 491. Portfolio update and evaluation. Portfolios as a tool to enhance career opportunities.

Cpr E 498. Cooperative Education. Cr. R each time taken. F.S.SS. Prereq: 398, permission of department and Engineering Career Services. Third and subsequent professional work periods in the cooperative education program. Students must register for this course before commencing work.

Courses primarily for graduate students, open to qualified undergraduate students


Cpr E 501. Analog and Mixed-Signal VLSI Circuit Design Techniques. (Same as E E 501.) (3-3) Cr. 4. F. Prereq: 435. Design techniques for analog and mixed-signal VLSI circuits. Amplifiers; operational amplifiers, transconductance amplifiers, finite gain amplifiers and current amplifiers. Linear building blocks; differential amplifiers, current mirrors, references, cascading and buffering. Performance characterization of linear integrated circuits; offset, noise, sensitivity and stability. Layout considerations, simulation, yield and modeling for high-performance linear integrated circuits.

Cpr E 505. CMOS and BiCMOS Data Conversion Circuits. (Same as E E 505.) (3-3) Cr. 4. Alt. S., offered 2006. Prereq: 501. Theory, design and applications of data conversion circuits (A/D and D/A converters) including architectures, characterization, quantization effects, conversion algorithms, spectral performance, element matching, design for yield, and practical implementation issues.

Cpr E 507. VLSI Communication Circuits. (Same as E E 507.) (3-0) Cr. 3. Alt. S., offered 2007. Prereq: 330 or 501. Phase-locked loops, frequency synthesizers, clock and data recovery circuits, theory and implementation of adaptive filters, low- noise amplifiers, mixers, power amplifiers, transmitter and receiver architectures.

Cpr E 511. Design and Analysis of Algorithms. (Same as Com S 511.) See Computer Science.

Cpr E 525. Numerical Analysis of High-Performance Computing. (Same as Com S 525, Math 525.) (3-0) Cr. 3. S. Prereq: 308, or one of Math 273, 471, 481; experience in scientific programming; knowledge of FORTRAN or C. Development, analysis, and testing of efficient numerical methods for use on state-of-the-art high performance computers. Applications of the methods to the student's area of research.

Cpr E 526. Introduction to Parallel Algorithms and Programming. (Dual-listed with 426; same as Com S 526.) (3-2) Cr. 4. F. Prereq: 308 or Com S 321, Com S 311. Models of parallel computation, performance measures, basic parallel constructs and communication primitives, parallel programming using MPI, parallel algorithms for selected problems including sorting, matrix, tree and graph problems, fast Fourier transforms.

Cpr E 530. Advanced Protocols and Network Security. (Dual-listed with 430, same as InfAs 530.) (3- 0) Cr. 3. Prereq: 305. Detailed examination of networking standards, protocols, and their implementation. TCP/IP protocol suite, network application protocols, IP routing, network security issues. Emphasis on laboratory experiments.

Cpr E 531. Information System Security. (Same as InfAs 531.) (3-0) Cr. 3. Prereq: 489 or 530 or Com S 586 or MIS 535. Computer and network security: basic cryptography, security policies, multilevel security models, attack and protection mechanisms, legal and ethical issues.

Cpr E 532. Information Warfare. (Same as InfAs 532.) (3-0) Cr. 3. S. Prereq: 531. Computer system and network security: implementation, configuration, testing of security software and hardware, network monitoring. Authentication, firewalls, vulnerabilities, exploits, countermeasures. Ethics in information assurance. Emphasis on laboratory experiments.

Cpr E 533. Cryptography. (Same as Math 533.) See Mathematics.

Cpr E 534. Legal and Ethical Issues in Information Assurance. (Same as InfAs 534, Pol S 534.) (3-0) Cr. 3. S. Prereq: 531. Legal and ethical issues in computer security. State and local codes and regulations. Privacy issues.

Cpr E 535. Steganography and Watermarking. (Same as Math 535.) See Mathematics.

Cpr E 536. Computer and Network Forensics. (Same as InfAs 536.) Cr. 3. Prereq: 308 and 489. Fundamentals of computer and network forensics, forensic duplication and analysis, network surveillance, intrusion detection and response, incident response, anonymity and pseudonymity, privacy-protection techniques, cyber law, computer security policies and guidelines, court testimony and report writing, and case studies. Emphasis on hands-on experiments.

Cpr E 537. Wireless Network Security. (3-0) Cr. 3. S. Prereq: Credit or enrollment in 489 or 530. Introduction to the physical layer and special issues associated with security of the airlink interface. Communication system modeling, wireless networking, base stations, mobile stations, airlink multiple access, jamming, spoofing, signal intercept, wireless LANS and modems, cellular, position location, spread spectrum, signal modeling, propagation modeling, wireless security terminology.

Cpr E 540. Principles and Practice of Compiling. (Same as Com S 540.) See Computer Science.

Cpr E 541. High-Performance Communication Networks. (3-0) Cr. 3. Prereq: 489. Selected topics from recent advances in local and metropolitan area networks, asynchronous transfer mode, next generation internet, high-speed optical networks, high speed switch architectures, quality of service.

Cpr E 542. Optical Communication Networks. (3-0) Cr. 3. S. Prereq: 489. Optical components and interfaces; optical transmission and reception techniques; wavelength division multiplexing; network architectures and protocol for first generation, single and multihop optical network; routing and wavelength assignment in second generation wavelength routing networks; traffuc grooming, optical network control.

Cpr E 543. Wireless Network Architecture. Cr. 3. Prereq: Credit or enrollment in 489 or 430/530. Introduction to the protocol architecture of the data link layer, network layer and transport layer for wireless networking. Operation and management of Medium Access Control in wireless local area networks; recent developments in 802.11 and Bluetooth; wireless ATM; Mobile Internet Protocol; Mobile Transmission Control Protocol; wireless application protocol; ad-hoc wireless networks.

Cpr E 545. Fault-Tolerant Systems. (3-0) Cr. 3. Prereq: 305. Faults and their manifestations, errors, and failures; fault detection, location and reconfiguration techniques; time, space, and information (coding) redundancy management; design for testability; self-checking and fail-safe circuits; system- level fault diagnosis; Byzantine agreement; stable storage and RAID; fault-tolerant networks; fault tolerance in real-time systems; reliable software design; checkpointing and rollback recovery; and reliability evaluation techniques and tools.

Cpr E 548. Fundamental Algorithms in Computational Biology. (Same as BCB 548, Com S 548.) (3-0) Cr. 3. S. Prereq: 311 and some knowledge of programming. Introduction, design and analysis of fundamental algorithms and methods for molecular biology. Topics include pairwise sequence alignment, alignment heuristics, biological database and retrieval systems, multiple sequence alignment, phylogenetic trees, physical mapping, genome rearrangements, DNA-chips, fragment assembly, protein folding, and genetic networks.

Cpr E 549. Advanced Algorithms in Computational Biology. (Same as Com S 549.) See Computer Science.

Cpr E 550. Distributed Systems and Middleware. (Dual-listed with 450.) Cr. 3. Prereq: 308 or Com S 352. Fundamentals of distributed computing, software agents, naming services, distributed transactions, security management, distributed object-based systems, middleware-based application design and development, case studies of middleware. Nonmajor graduate credit.

Cpr E 554. Distributed and Network Operating Systems. (Dual-listed with 454; same as Com S 554.) See Computer Science.

Cpr E 556. Scalable Software Engineering. (3-0) Cr. 3. Prereq: 486. Study of methods, techniques and tools for design, development and evolution of complex software; aspect--oriented programming, domain-specific software technologies, automation for reliable and scalable software engineering, program analysis, comprehension, and transformation.

Cpr E 557. Computer Graphics and Geometric Modeling. (Same as I E 557, M E 557.) (3-0) Cr. 3. F. Prereq: M E 421, programming experience in C. Fundamentals of computer graphics technology. Data structures. Parametric curve and surface modeling. Solid model representations. Applications in engineering design, analysis, and manufacturing.

Cpr E 558. Real-Time Systems. (Dual-listed with 458.) (3-0) Cr. 3. Prereq: 308 or Com S 352. Fundamental concepts in real-time systems. Real-time task scheduling paradigms. Resource management in uniprocessor, multiprocessor, and distributed real-time systems. Fault-tolerance, resource reclaiming, and overload handling. Real-time channel, packet scheduling, and real-time LAN protocols. Case study of real-time system architectures, operating systems, and programming languages. RT-Linux based laboratory experiments.

Cpr E 563. Modeling and Optimization of Interconnect in Deep Submicron Design. (3-0) Cr. 3. Prereq: 465. Modeling and optimization techniques for high-performance digital and analog interconnect designs. RLC extraction. Interconnect modeling: Elmore delay model, moment computation, asymptotic waveform evaluation, Pade Via Lanczos, pole analysis, transmission lines. Driver modeling. Interconnect optimization: topology optimization, device sizing, wire sizing, buffer insertion, high-performance clock sizing.

Cpr E 564. Synthesis and Optimization of Digital Circuits. (3-0) Cr. 3. S. Prereq: 305. Algorithms and techniques to generate application-specific VLSI circuits from high-level behavioral modeling in hardware description languages. Boolean logic representation, two-level and multi-level logic synthesis, sequential logic optimization, hardware models, architectural-level synthesis and optimization, scheduling algorithms, resource sharing and binding.

Cpr E 566. Physical Design of VLSI Systems. (3-0) Cr. 3. Prereq: 465. Physical design of VLSI systems. Partitioning algorithms. Placement and floorplanning algorithms. Routing-global and detailed. Layout compaction. Physical design of FPGA's and MCM's. Performance-driven layout synthesis.

Cpr E 581. Computer Systems Architecture. (Same as Com S 581.) (3-0) Cr. 3. F. Prereq: 305. Quantitative principles of computer architecture design, instruction set design, processor architecture: pipelining and superscalar design, instruction level parallelism, memory organization: cache and virtual memory systems, multiprocessor architecture, cache coherency, interconnection networks and message routing, I/O devices and peripherals.

Cpr E 582. Computer Systems Performance. (3-0) Cr. 3. Prereq: 305, 310 and Stat 330. Review of probability and stochastic processes concepts; Markovian processes; Markovian queues; renewal theory; semi-Markovian queues; queueing networks, multiprocessor architectures; computer networks; switching systems.

Cpr E 583. Reconfigurable Computing Systems. (Same as Com S 583.) (3-0) Cr. 3. Prereq: Background in computer architecture, design, and organization. Introduction to reconfigurable computing, FPGA technology and architectures, spatial computing architectures, systolic and bit serial architectures, adaptive network architectures, bus- based and static dynamic rearrangeable interconnection structure architectures, reconfigurable computing architectures for processors.

Cpr E 587. Text Mining, Text Processing, and the Internet. (3-0) Cr. 3. Prereq: 486 or Com S 309 or Com S 311. Mining, retrieval, and other processing of text, including text and hypermedia on the world wide web. Human computer interaction in the context of text and hyper media. Topics of particular interest to enrolled students.

Cpr E 588. Embedded Computer Systems. (3-0) Cr. 3. Prereq: 308. Design, implementation, and testing of embedded computer systems. System- level design. Co-design of hardware and software. Concurrency, real-time control, hardware/software interfaces, and error handling.

Cpr E 589. Multimedia Systems. (3-0) Cr. 3. S. Prereq: 308 or Com S 352. Fundamentals concepts in multimedia systems. Resource management issues in distributed/networked multimedia systems, QoS routing and multicasting. Traffic shaping, Task and message scheduling, Internet QoS. Adaptive multimedia applications over the Internet. Operating system support for multimedia. Storage architecture and scalable media servers. Compression techniques, synchronization techniques, processor architectures for multimedia.

Cpr E 590. Special Topics. Cr. 1 to 6 each time elected. Formulation and solution of theoretical or practical problems in computer engineering.

Cpr E 592. Seminar in Computer Engineering. Cr. 1 to 4 each time elected. Prereq: Permission of instructor. Projects or seminar in Computer Engineering.

Cpr E 594. Selected Topics in Computer Engineering. (3-0) Cr. 3 each time selected.

Cpr E 599. Creative Component. Cr. var.

Courses for Graduate students

Cpr E 626. Parallel Algorithms for Scientific Applications. (Same as Com S 626.) (3-0) Cr. 3. Prereq: 526. Algorithm design for high-performance computing. Applications to finite-element and finite difference methods for numerical simulations, sparse matrix computation, multidimensional tree data structure and particle-based methods, random numbers and Monte Carlo applications, algorithms for computational biology.

Cpr E 681. Advanced Topics in Computer Architecture. (Same as Com S 681.) (3-0) Cr. 3. Alt. S., offered 2007. Prereq: 581. Current topics in computer architecture design and implementation. Advanced pipelining, cache and memory design techniques. Interaction of algorithms with architecture models and implementations. Tradeoffs in architecture models and implementations.

Cpr E 697. Engineering Internship. (Same as E E 697.) Cr. R each time taken. Prereq: Permission of department chair, graduate classification. One semester and one summer maximum per academic year professional work period. Offered on a satisfactory-fail basis only.

Cpr E 699. Research. Cr. var.

840. Published by: Office of the Registrar, registrar@iastate.edu.

Non-Discrimination Statement and Information Disclosures

Copyright © 2004, Iowa State University of Science and Technology. All rights reserved.