The Subdisciplines of ECE
A Guide To The Technical Electives For Computer Engineering
See: List of Approved ECE/CS Electives for more help
Hardware, Systems and Networks
1. Computer Systems.
- ECE 462 - Logic
Advanced techniques for design of combinational and sequential logic circuits.
- ECE 411 - Computer Organization & Design
- ECE 412 - Microcomputer
Integrates topics from core courses. Extensive microprogramming, hardware design and debugging, interfacing experience.
- ECE 425 - Introduction
to VLSI System Design
Interactive graphics design of MOS VLSI circuit layouts. Electronics background unnecessary.
- CS 431 - Embedded Systems
- CS 433 - Computer System Organization (Fall)
Some overlap with ECE 411 and ECE 511. Less emphasis on hardware, more on algorithms.
2. Electronic Circuits.
- ECE 342 - Electronic Circuits
- ECE 395 - Advance Digital Project Laboratory
- ECE 444 - Theory
and Fabrication of Integrated Circuit Devices
IC fabrication with intensive laboratory. Limited enrollment.
- ECE 482 - Digital IC Design.
- ECE 428 / CS 425 - Distributed Systems
- ECE 438 / CS 438 - Communication Networks
- ECE 435 / CS 436 - Computer Networking Laboratory
- ECE 439 / CS 439 - Wireless Networks
- ECE 419 / CS 460 Security Lab
- ECE422 / CS461 Computer Security I
- ECE424 / CS463 Computer Security II
Applications and Theory
1. Engineering Applications
- Math 415 - Linear Alegebra
- ECE 470/CS 443 - Introduction to Robotics
- ECE 310 - Digital Signals Processing, digital filtering and signal processing. Follows ECE 210.
- ECE 402 - Electronic Music Synthesis
- ECE 403 - Topics in Engineering Acoustics
- ECE 473 - Fundamentals of Engineering Acoustics
- Music 103 - Rudiments of Music Theory I, NOT a technical elective, but it is a prerequisite for ECE 402.
- ECE 310 - Digital Signal Processing
- ECE 380 - Biomedical Imaging
- ECE 480 - Magnetic Resonance Imaging
- CS 418 - Interactive Computer Graphics
- CS 419 - Production Computer Graphics
Computer Assisted Instruction:
- CS 417 - Computer-Assisted Instruction
note: no credit for tech elective
2. Software, Languages, and Theory
- CS 423 - Operating System Design
Fundamental introduction to operating systems. Extensive programming.
- CS 424 - Real-Time Systems
- CS 411 - Database Systems
- CS 414 - Multimedia Systems
- CS 427 - Software Engineering, I
- CS 428 - Software Engineering, II
- CS 477 - Formal Software Development Methods
Languages and Compilers:
- CS 421 - Programming Languages and Compilers
Principle modern language paradigms -- imperative, functional, object-oriented and logic -- and their implementation.
- CS 422 - Programming Language Design
Advanced principles of computer programming language design. Follows CS 421.
- CS 426 - Compiler Construction (Spring)
Comprehensive treatment of lexical analysis, syntax-directed parsing, and code generation and optimization. Follows CS 421.
Theory of Computation:
- CS 373 - Theory of Computation
- CS 473 - Fundamental Algorithms
- CS 475 - Formal Models of Computation
- CS 476 - Program Verification
- ECE 448 / CS 440 - Introduction to Artificial Intelligence
- CS 446 - Machine Learning
3. Algorithms, Mathematical Tools
- CS 357 - Numerical Methods
- Math 415 - Applied Linear Algebra
- ECE 491/CS 450 - Numerical Analysis
- CS 458 - Numerical Linear Algebra
- CS 459 - Numerical Approximations & ODEs
- ECE 490 - Introduction to Optimization
Techniques for solution of linear and nonlinear optimization problems
- CS 413 - Intro to Combinatorics
- Math 213 - Basic Discrete Mathematics
- MATH 412 - Graph Theory
Students should choose courses for both breadth and depth. Most can be taken in a master's degree program. Some new ECE 398 and ECE 498 courses may be credited toward the requirements by petition. Contact the chief advisors in 156 Everitt Lab.
The following courses are not intended for computer engineering students: CS 231, CS 232, and CS 400.