Iowa State University

Iowa State University

2009-2011 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

100 |200 |300 |400 |Graduate Courses |500 |600 |

www.ece.iastate.edu

(Administered by the Department of Electrical and Computer Engineering)

Arun Somani, Chair of Department
Distinguished Professors: Somani, Soukoulis
Distinguished Professors (Emeritus): Brown, Fouad, Lord, Nilsson, Pohm
University Professor: Jacobson
University Professor (Emeritus): Jones
Professors: Ajjarapu, Aluru, J. Bowler, Dalal, Geiger, Kamal, Kothari, Kumar, Kushner, Liu, Luecke, Mccalley, Oliver, Rover, Shinar, Weber
Professors (Emeritus): Anderson, Basart, Brearley, Brockman, Comstock, Fanslow, Hale, Horton, Hsieh, Kopplin, Lamont, Melsa, Potter, Read, Sheble, Smay, Stewart, Swift, Townsend, Venkata
Professor (Adjunct): Shinar
Professor (Emeritus Adjunct): Hillesland
Professors (Collaborators): Jiles, Lee
Associate Professors: N. Bowler, Chang, Chen, Chu, Davidson, Davis, Dickerson, Dogandzic, Elia, Govindarasu, Guan, S. Kim, Song, Tirthapura, Tuttle, Tyagi, Z. Wang
Associate Professors (Emeritus): Bond, Carlson, Coady, Kruempel, Mericle, Pavlat, Russell, Scott, Stephenson
Associate Professors (Adjunct): Biswas, Sosonkina
Associate Professors (Collaborators): Ashlock, Salapaka
Assistant Professors: Aliprantis, Bigelow, Chaudhary, Chung, Daniels, Dong, Fayed, Hornbuckle, Jones, J. Kim, Ma, Neihart, Nguyen, Pandey, Qiao, Ramamoorthy, Stoytchev, Vaidya, Vaswani, L. Wang, Ying, Zambreno, Zhang
Assistant Professor (Adjunct): Amin, Bode
Assistant Professor (Collaborators): Balasubramaniam
Senior Lecturer: Mina, Wiersema

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 ABET.

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 focus areas in software, software systems, embedded systems, networking, information security, computer architecture, 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 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 interdisciplinary backgrounds by applying engineering abilities, communication skills, and knowledge of contemporary and global issues.

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 the bachelor of science and master of science or the bachelor of science and master of business administration 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. All students whose first language is not English and who have no U.S. degree must submit TOEFL examination scores. Students pursuing the doctor of philosophy must complete the department qualifying process.

The Department of Electrical and Computer Engineering is a participating department in the interdepartmental master of science and doctor of philosophy 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 bachelor of science and master of science or bachelor of science and master of business administration 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 primarily for undergraduate students

Cpr E 166. Professional Programs Orientation. (Cross-listed with E E). Cr. R. F.S.(1-0) Overview of the nature and scope of electrical engineering and computer engineering professions. Overview of portfolios. 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 281. Digital Logic. (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 288. Embedded Systems I: Introduction. (3-2) Cr. 4. F.S.Prereq: 281, Com S 207 or Com S 227. Embedded C programming. Interrupt handling. Memory mapped I/O in the context of an application. Elementary embedded design flow/methodology. Timers, scheduling, resource allocation, optimization, state machine based controllers, real time constraints within the context of an application. Applications laboratory exercises with embedded devices.

Cpr E 294. Program Discovery. (Cross-listed with E E). Cr. R.Prereq: 166 or E E 166. The roles of professionals in computer and electrical engineering. Relationship of coursework to industry and academic careers. Issues relevant to today's world. Satisfactory-fail only.

Cpr E 298. Cooperative Education. Cr. R. 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 308. Operating Systems: Principles and Practice. (3-3) Cr. 4. F.S.Prereq: 381, 310. Operating system concepts, processes, threads, synchronization between threads, process and thread scheduling, deadlocks, memory management, file systems, I/O systems,security, Linux-based 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 288, Com S 228. Propositional logic and methods of proof; set theory and its applications; mathematical induction and recurrence relations; functions and relations; and counting; trees and graphs; applications in computer engineering.

Cpr E 329. Software Project Management. (Cross-listed with S E). (3-0) Cr. 3.Prereq: Com S 309. Process-based software development. Capability Maturity Model (CMM), Project planning, cost estimation, and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics. Analysis of options and risks. Version control and configuration management. Inspections and reviews. Managing the testing process. Software quality metrics. Modern software engineering techniques and practices. Nonmajor graduate credit.

Cpr E 330. Integrated Electronics. (Cross-listed with E E). (3-3) Cr. 4.Prereq: E E 201, credit or enrollment in E E 230, Cpr E 281. 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 339. Software Architecture and Design. (Cross-listed with S E). (3-0) Cr. 3.Prereq: S E 319. Modeling and design of software at the architectural level. Architectural styles. Basics of model-driven architecture. Object-oriented design and analysis. Iterative development and unified process. Design patterns. Design by contract. Component based design. Product families. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reliability, reusability, etc. Analysis and evaluation of software architectures. Introduction to architecture definition languages. Basics of software evolution, reengineering, and reverse engineering. Case studies. Introduction to distributed system software. Nonmajor graduate credit.

Cpr E 370. Toying with Technology. (Cross-listed with Mat E). (2-2) Cr. 3. F.S.Prereq: C I 201, junior standing in non-engineering major. A project-based, hands-on learning course. Technology literacy, appreciation for technological innovations, principles behind many technological innovations, hands-on laboratory experiences based upon simple systems constructed out of LEGOs and controlled by small microcomputers. Future K-12 teachers will leave the course with complete lesson plans for use in their upcoming careers.

Cpr E 381. Computer Organization and Assembly Level Programming. (3-2) Cr. 4. F.S.Prereq: 281. Introduction to computer organization, evaluating performance of computer systems, instruction set design. Assembly level programming: arithmetic operations, control flow instructions, procedure calls, stack management. Processor design. Datapath and control, scalar pipelines, introduction to memory and I/O systems.

Cpr E 394. Program Exploration. (Cross-listed with E E). Cr. R.Prereq: 294 or E E 294. Exploration of academic and career fields for electrical and computer engineers. Examination of professionalism in the context of engineering and technology with competencies based skills. Introduction to professional portfolio development and construction. Satisfactory-fail only.

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

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

Cpr E 398. Cooperative Education. Cr. R. 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 412. Formal Aspects of Specification and Verification. (Cross-listed with Com S, S E). (3-0) Cr. 3.Prereq: Com S 309, S E 319. Introduction to prepositional/predicate/temporal logic, program verification using theorem proving, model-based verification using model checking, and tools for verification. Nonmajor graduate credit.

Cpr E 416. Software Evolution and Maintenance. (Cross-listed with S E). (3-0) Cr. 3.Prereq: Com S 309, S E 319. 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 418. High Speed System Engineering Measurement and Testing. (Cross-listed with E E). (3-2) Cr. 4. F.Prereq: E E 230 and 311. Measurement of high speed systems and mixed signal systems. Measurement accuracy and error. Network analysis and spectrum analysis used in high speed measurement and testing. Test specification process and parametric measurement. Sampling and digital signal processing concepts. Design for testability. Testing equipment. Applications. Nonmajor graduate credit.

Cpr E 425. High Performance Computing for Scientific and Engineering Applications. (Cross-listed with Com S). (3-1) Cr. 3. S.Prereq: Com S 311, Com S 330, Engl 250, Sp Cm 212. Introduction to high performance computing platforms including parallel computers and workstation clusters. Discussion of parallel architectures, performance, programming models, and software development issues. Sample applications from science and engineering. Practical issues in high performance computing will be emphasized via a number of programming projects using a variety of programming models and case studies. Oral and written reports. Nonmajor graduate credit.

Cpr E 426. Introduction to Parallel Algorithms and Programming. (Dual-listed with 526). (Cross-listed with Com S). (3-2) Cr. 4. F.Prereq: Cpr E 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 431. Basics of Information System Security. (3-0) Cr. 3. S.Prereq: credit or enrollment in Cpr E 489 or Com S 454. Introduction to and application of basic mechanisms for protecting information systems from accidental and intentional threats. Basic cryptography use and practice. Computer security issues including authentication, access control, and malicious code. Newtork security mechanisms such as intrusion detection, firewalls, IPSEC, and related protocols. Ethics and legal issues in information security. Other selected topics. Programming and system configuration assignments. Nonmajor graduate credit.

Cpr E 435. Analog VLSI Circuit Design. (Cross-listed with E E). (3-3) Cr. 4. S.Prereq: 330, E E 332, 324, 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 444. Introduction to Bioinformatics. (Dual-listed with 544). (Cross-listed with BCB, Com S, Biol, Gen). (4-0) Cr. 4. F.Prereq: Math 165 or Stat 401 or equivalent. Broad overview of bioinformatics with a significant problem-solving component, including hands-on practice using computational tools to solve a variety of biological problems. Topics include: database searching, sequence alignment, gene prediction, RNA and protein structure prediction, construction of phylogenetic tree, comparative and functional genomics. Nonmajor graduate credit.

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

Cpr E 454. Distributed and Network Operating Systems. (Dual-listed with 554). (Cross-listed with Com S). (3-1) Cr. 3. Alt. S., offered 2011.Prereq: Com S 311, Com S 352, Engl 250, Sp Cm 212. Laboratory course dealing with practical issues of design and implementation of distributed and network operating systems and distributed computing environments (DCE). The client server paradigm, inter-process communications, layered communication protocols, synchronization and concurrency control, and distributed file systems. Graduate credit requires additional in-depth study of advanced operating systems. Written reports. 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 operating systems. Laboratory experiments. Nonmajor graduate credit.

Cpr E 465. Digital VLSI Design. (Cross-listed with E E). (3-3) Cr. 4. S.Prereq: E E 330. Digital design of integrated circuits employing very large scale integration (VLSI) methodologies. Technology considerations in design. 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. (Cross-listed with A E, Aer E, E E, Engr, I E, M E, Mat E). (1-4) Cr. 3. Repeatable. 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 written reports, oral presentations and computer models and engineering drawings.

Cpr E 488. Embedded Systems Design. (3-3) Cr. 4.Prereq: 381 or Com S 321. Embedded microprocessors, embedded memory and I/O devices, component interfaces, embedded software, program development, basic compiler techniques, platform-based FPGA technology, hardware synthesis, design methodology, real-time operating system concepts, performance analysis and optimizations. Nonmajor graduate credit.

Cpr E 489. Computer Networking and Data Communications. (3-2) Cr. 4. F.S.Prereq: 381 or E E 324. Modern computer networking and data communications concepts. TCP/IP, OSI protocols, client server programming, data link protocols, local area networks, and routing protocols. Nonmajor graduate credit.

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

Cpr E 491. Senior Design Project I and Professionalism. (Cross-listed with E E). (2-3) Cr. 3. F.S.Prereq: 308 or E E 322, 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; design review presentation. First of two-semester team-oriented, project design and implementation experience.

Cpr E 492. Senior Design Project II. (Cross-listed with E E). (1-3) Cr. 2. F.S.Prereq: 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; project poster.

Cpr E 494. Portfolio Assessment. (Cross-listed with E E). 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. Repeatable. 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. (Cross-listed with E E). (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. (Cross-listed with E E). (3-3) Cr. 4. Alt. S., offered 2010.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 comparators, implementation issues.

Cpr E 507. VLSI Communication Circuits. (Cross-listed with E E). (3-0) Cr. 3. Alt. S., offered 2011.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. (Cross-listed with Com S). (3-0) Cr. 3. F.Prereq: Com S 311. A study of basic algorithm design and analysis techniques. Advanced data structures, amortized analysis and randomized algorithms. Applications to sorting, graphs, and geometry. NP- completeness and approximation algorithms.

Cpr E 525. Numerical Analysis of High-Performance Computing. (Cross-listed with Com S, Math). (3-0) Cr. 3. S.Prereq: 308, or one of Math 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). (Cross-listed with Com S). (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 528. Probabilistic Methods in Computer Engineering. (3-0) Cr. 3.Prereq: Com S 311. The application of randomization and probabilistic methods in the design of computer algorithms, and their efficient implementation. Discrete random variables in modeling algorithm behavior, with applications to sorting, selection, graph algorithms, hashing, pattern matching, cryptography, distributed systems, and massive data set algorithmics.

Cpr E 530. Advanced Protocols and Network Security. (Cross-listed with InfAs). (3-0) Cr. 3.Prereq: 381. 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. (Cross-listed with InfAs). (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. (Cross-listed with InfAs). (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. (Cross-listed with Math, InfAs). (3-0) Cr. 3. S.Prereq: Math 301 or Cpr E 310 or Com S 330. Basic concepts of secure communication, DES and AES, public-key cryptosystems, elliptic curves, hash algorithms, digital signatures, applications. Relevant material on number theory and finite fields.

Cpr E 534. Legal and Ethical Issues in Information Assurance. (Cross-listed with InfAs, Pol S). (3-0) Cr. 3. S.Prereq: Graduate classification, Cpr E or INFAS 531. Legal and ethical issues in computer security. State and local codes and regulations. Privacy issues.

Cpr E 535. Steganography and Watermarking. (Cross-listed with Math, InfAs). (3-0) Cr. 3. S.Prereq: Cpr E 531 or E E 524 or Math 533/Cpr E 533/InfAs 533. Basic principles of steganography and watermarking. Algorithms based on spatial domain approaches, transformations of data, statistical approaches. Techniques for images, video, and audio data. Communications models for data hiding. Analysis, detection and recovery of hidden data. Military, commercial and e-commerce applications. Known theoretical results. Software packages for data hiding. Social and legal issues, case studies, and digital rights management issues that affect technological development of steganography and watermarking. Current developments in the area.

Cpr E 536. Computer and Network Forensics. (Cross-listed with InfAs). (3-0) Cr. 3.Prereq: 381 and 489 or 530. 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 541. High-Performance Communication Networks. (3-0) Cr. 3.Prereq: 489 or 530. Selected topics from recent advances in high performance networks; next generation internet; asynchronous transfer made; traffic management, quality of service; high speed switching.

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; traffic grooming, optical network control; access networks; metro networks.

Cpr E 543. Wireless Network Architecture. (3-0) Cr. 3.Prereq: Credit or enrollment in 489 or 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 544. Introduction to Bioinformatics. (Dual-listed with 444). (Cross-listed with BCB, Com S, GDCB). (4-0) Cr. 4. F.Prereq: Math 165 or Stat 401 or equivalent. Broad overview of bioinformatics with a significant problem-solving component, including hands-on practice using computational tools to solve a variety of biological problems. Topics include: database searching, sequence alignment, gene prediction, RNA and protein structure prediction, construction of phylogenetic trees, comparative and functional genomics.

Cpr E 545. Fault-Tolerant Systems. (3-0) Cr. 3.Prereq: 381. 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 546. Wireless Sensor Networks. (3-0) Cr. 3.Prereq: Cpr E 489 or 530. Selected topics from recent advances in wireless sensor networks, including data-centric routing, query, and storage; data fusion and aggregation; coverage, connectivity, and lifetime of wireless sensor networks; wireless sensor networks deployment and management; security issues; energy-efficiency issues; radio and link characteristics in wireless sensor networks; medium access control protocols and link layer techniques; tracking and localization; geographical routing; robust routing; time synchronization; wireless sensor networks applications. Introduction to TinyOS and the nesC language. Hands-on experiments with Crossbow Motes.

Cpr E 549. Advanced Algorithms in Computational Biology. (Cross-listed with Com S, BCB). (3-0) Cr. 3. Alt. S., offered 2010.Prereq: Com S 311 and either Com S 228 or Com S 208. Design and analysis of algorithms for applications in computational biology, pairwise and multiple sequence alignments, approximation algorithms, string algorithms including in-depth coverage of suffix trees, semi-numerical string algorithms, algorithms for selected problems in fragment assembly, phylogenetic trees and protein folding. No background in biology is assumed. Also useful as an advanced algorithms course in string processing.

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

Cpr E 554. Distributed and Network Operating Systems. (Dual-listed with 454). (Cross-listed with Com S). (3-1) Cr. 3. Alt. S., offered 2011.Prereq: Com S 311, COM S 352. Laboratory course dealing with practical issues of design and implementation of distributed and network operating systems and distributed computing environments (DCE). The client server paradigm, inter-process communications, layered communication protocols, synchronization and concurrency control, and distributed file systems. Graduate credit requires additional in-depth study of advanced operating systems. Written reports.

Cpr E 556. Scalable Software Engineering. (3-0) Cr. 3.Prereq: Com S 309. 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 program transformations.

Cpr E 557. Computer Graphics and Geometric Modeling. (Cross-listed with Com S, M E). (3-0) Cr. 3. F.S.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 operating systems. 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: 381. 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 567. Bioinformatics I (Fundamentals of Genome informatics). (Cross-listed with Com S, BCB). (3-0) Cr. 3. F.Prereq: Com S 208; Com S 330; Stat 341; credit or enrollment in Biol 315, Stat 430. Biology as an information science. Review of algorithms and information processing. Generative models for sequences. String algorithms. Pairwise sequence alignment. Multiple sequence alignment. Searching sequence databases. Genome sequence assembly.

Cpr E 569. Bioinformatics III (Structural Genome Informatics). (Cross-listed with BBMB, Com S, Math, BCB). (3-0) Cr. 3. F.Prereq: BCB 567, Gen 411, Stat 430. Algorithmic and statistical approaches in structural genomics including protein, DNA and RNA structure. Structure determination, refinement, representation, comparison, visualization, and modeling. Analysis and prediction of protein secondary and tertiary structure, disorder, protein cores and surfaces, protein-protein and protein-nucleic acid interactions, protein localization and function.

Cpr E 570. Bioinformatics IV (Computational Functional Genomics and Systems Biology). (Cross-listed with BCB, Com S, GDCB, Stat). (3-0) Cr. 3. S.Prereq: BCB 567, Biol 315, Com S 311 and either 208 or 228, Gen 411, Stat 430. Algorithmic and statistical approaches in computational functional genomics and systems biology. Analysis of high throughput gene expression, proteomics, and other datasets obtained using system-wide measurements. Topological analysis, module discovery, and comparative analysis of gene and protein networks. Modeling, analysis, simulation and inference of transcriptional regulatory modules and networks, protein-protein interaction networks, metabolic networks, cells and systems: Dynamic systems, Boolean, and probabilistic models. Ontology-driven, network based, and probabilistic approaches to information integration.

Cpr E 575. Computational Perception. (Cross-listed with Com S, HCI). (3-0) Cr. 3. S.Prereq: Graduate standing or permission of instructor. This class covers statistical and algorithmic methods for sensing, recognizing, and interpreting the activities of people by a computer. This semester we will focus on machine perception techniques that facilitate and augment human-computer interaction. The main goal of the class is to introduce computational perception on both theoretical and practical levels. You will work in small groups to design, implement, and evaluate a prototype of a human-computer interaction system that uses one or more of the techniques covered in the lectures.

Cpr E 581. Computer Systems Architecture. (Cross-listed with Com S). (3-0) Cr. 3. F.Prereq: 381. 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: 381, 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; case studies.

Cpr E 583. Reconfigurable Computing Systems. (Cross-listed with Com S). (3-0) Cr. 3.Prereq: Background in computer architecture, design, and organization. Introduction to reconfigurable computing, FPGA technology and architectures, spatial computing architectures such as systolic and bit serial adaptive network architectures, static and dynamic rearrangeable interconnection architectures, processor architectures incorporating reconfigurabiltiy.

Cpr E 587. Text Mining, Text Processing, and the Internet. (3-0) Cr. 3.Prereq: 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. Hardware/software systems and codesign. Models of computation for embedded systems. System-level design. Modeling, specification, synthesis, and verification. Hardware/software implementation. Design space exploration. Performance analysis and optimization. Multiprocessor system on chip. Platform-based design. Design methodologies and tools. Case studies and design projects.

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-6. Repeatable.Formulation and solution of theoretical or practical problems in computer engineering.

Cpr E 592. Seminar in Computer Engineering. Cr. 1-4. Repeatable.Prereq: Permission of instructor. Projects or seminar in Computer Engineering.

Cpr E 594. Selected Topics in Computer Engineering. (3-0) Cr. 3. Repeatable.

Cpr E 599. Creative Component. Cr. arr. Repeatable.

Courses for graduate students

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

Cpr E 632. Information Assurance Capstone Design. (Cross-listed with InfAs). (3-0) Cr. 3.Prereq: 531, 532, 534. Capstone design course which integrates the security design process. Design of a security policy. Creation of a security plan. Implementation of the security plan. The students will attach each other's secure environments in an effort to defeat the security systems. Students evaluate the security plans and the performance of the plans. Social, political and ethics issues. Student self-evaluation, journaling, final written report, and an oral report.

Cpr E 681. Advanced Topics in Computer Architecture. (Cross-listed with Com S). (3-0) Cr. 3. Alt. S., offered 2011.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. (Cross-listed with E E). Cr. R. Repeatable.Prereq: Permission of department chair and Engineering Career Services, graduate classification. One semester and one summer maximum per academic year professional work period. Satisfactory-fail only.

Cpr E 699. Research. Cr. arr. Repeatable.