Undergraduate Programs

CPE Technical Electives
Graduating Class of 2014

Student in design studioThe courses listed below are approved for CPE in-major and non-major technical elective credit. Actual course offerings will be based on sufficient resources, including faculty availability, and student demand. Refer to the university’s on-line timetable of classes for specific course availability information.

On this page:
In-Major Technical Electives

Non-Major Technical Electives
Mechanical Engineering Senior Engineering Design and Project
Graduate Courses Used as Technical Electives
In-Major Electives
All courses are grouped according to their inter-relatedness, but students are free to choose from multiple groups. If you are not sure of an academic focus, then you are encouraged to take courses from several groupings, giving you a broader background.
Computers (ECE)

4504 Computer Organization (4C) Prereq: CS 3204

4514 Digital Design II (4C) Prereq: 3504 (Design Technical Elective)

4520 Digital Design and Mixed-Signal System Testing and Testable Design (3C) Prereq: 2574, 3504

4524 Artificial Intelligence and Engineering Applications (4C) Prereq: 2574; Co-Req: STAT 4714 (Design Technical Elective)

4530 Hardware/ Software Codesign (3C) Prereq: 3504, 2534

4540 VLSI Circuit Design (3C) Prereq: 2204, 3504 (Design Technical Elective)

4550 Real-Time Systems (3C) Prereq: 4534 or CS 3204 (Design Technical Elective)

4560 Computer and Network Security Fundamentals (3C) Prereq: 4564

4564 Network Application Design (3C) Prereq: 2504, 2574 (Design Technical Elective)

4570 Wireless Networks and Mobile Systems (3C) Prereq: ECE 4564 or CS 4254 (Design Technical Elective)

4574 Large-Scale Software Development for Engineering Systems (3C) Prereq: 3574 (Design Technical Elective)

4580 Digital Image Processing (3C) Prereq: 4624, STAT 4714

Computers (CS)

Note on CS Course Restrictions

CS 3114 Data Structures and Algorithms (3C) Prereq: CS 2104, CS 2114, CS 2505, MATH 2534

CS 3214 Computer Systems (3C) Prereq: CS 2114, CS 2506

CS 3304 Comparative Languages (3C) Prereq: CS 3114

CS 3414 (Math 3414) Numerical Methods (3C) Prereq: Any programming course, Math 2214, 2224

CS 3744 Intro to GUI Programming and Graphics (3C) Prereq: CS 2114, MATH 1114, MATH 1224

CS 3824 Introduction to Computational Biology & Bioinformatics (3C) Prereq: CS 2204 CS 2606

CS 4104 Data and Algorithm Analysis (3C) Prereq: CS 2604 or CS 2606, Math 3134 or Math 3034

CS 4114 Formal Languages (3C) Prereq: Math 3134 or Math 3034

CS 4124 Theory of Computation (3C) Prereq: Math 3134 or Math 3034

CS 4204 Computer Graphics (3C) Prereq: CS 2604 or CS 2606

CS 4214 Simulation and Modeling (3C) Prereq: CS 1704, STAT 4714


CS 4234 Parallel Computation (3C) Prereq: CS 3214

CS 4244 Internet Programming (3C) Prereq: CS 3214

CS 4254 Network Arch Programming (3C) Prereq: CS 3214

CS 4304 Compiler Design (3C) Prereq: CS 3214

CS 4414 Issues in Scientific Computing (3C) Prereq: MATH 2214, MATH 3214

CS 4604 Introduction to Database Management Systems (3C) Prereq: CS 3114

CS 4624 Multimedia/ Hypertext (3C) Prereq: CS 3114

CS 4644 Special Topics – See timetable for topic and prerequisite requirements. Preapproval is required each semester by the ECE Curriculum Committee.

NOTE: The Computer Science Department restricts some of its courses to CS majors. Contact the CS department to follow their force-add procedure. CS requires a C or better in all in-major (CS or ECE) prerequisite courses. CS may accept some ECE courses as prerequisite substitutions. See the CS advisors in 114 McBryde for any clarification of prerequisite requirements. Note that many CS courses are taught in Java. If you use an ECE course as prerequisite, you will be expected to be proficient in Java before entering these upper level courses.


3614 Introduction to Communication Systems (3C) Prereq: 2704; Co-req: STAT 3614

4605 Radio Engineering (3C) Prereq: 3106, 3204, 3614; Co-req:4675

4606 Radio Engineering (3C) Prereq: 4605

4614 Telecommunication Networks (3C) Prereq: 2504, 2704, STAT 4714

4624 Digital Signal Processing and Filter Design (3C) Prereq: 3704

4634 Analog and Digital Communications (3C) Prereq: 3614, STAT 4714

4644 Satellite Communications (3C) Prereq: 3614

4664 Analog and Digital Communications Lab (3C) Prereq: 3614, Corequisite: 4634

4674 Scattering Parameters Lab (1C) Prereq: 4605, 4675

4675 Radio Engineering Lab (1C) Prereq: 3106, 3204; Co-req: 4605

4676 Radio Engineering Lab (1C) Prereq: 4675; Co-req: 4606


3105 Electromagnetic Fields (3C) Prereq: 2004, MATH 2224, PHYSICS 2306

3106 Electromagnetic Fields (3C) Prereq: 3105

4104 Microwave and RF Engineering (4C) Prereq: 3106, 3204

4114 Antennas (3C) Prereq: 3106

4124 Radio Wave Propagation (3C) Prereq: 3106

4134 Fiber Optics and Applications (3C) Prereq: 3106

4144 Optical Information Processing (3C) Prerreq: 3106

4154 Perils of Space: An Introduction to Space Weather (3C) Prereq: 3106

4164 Global Positioning Systems (GPS) Theory and Design (4C) Prereq: 3106


3004 AC Circuit Analysis (3C) Prereq: 2704

3074 AC Circuit Analysis Lab (1C) Prereq: 2704. Co-req: 3004

3204 Analog Electronics (3C) Prereq: 2204, 2704. Co-req: 3274

3274 Electronics Lab (1C) Prereq: 2274. Co-req: 3204

4205 Electronic Circuit Design (3C) Prereq: 3204

4206 Electronic Circuit Design (3C) Prereq: 4205

4214 Semiconductor Device Fundamentals (3C) Prereq: 2204 or MSE 3204 or PHYS 3455

4220 Analog Integrated Circuit Design (3C) Prereq: 3204

4224 Power Electronics (3C) Prereq: 3204

4234 Semiconductor Processing (3C) Prereq: 2204, or 3054

4235 Electronic Packaging (3C) Prereq: 2204

4240 Intermediates Semiconductor Wafer Processing Laboratory (3C) Prereq: 4234 or MSE 4234

4284 Power Electronics Lab (1C) Prereq: 4224

Power Systems

3304 Introduction to Power Systems (3C) Prereq: 3004

3354 Power Laboratory (1C) Prereq: 3304

4304 Design in Power Engineering (3C) Prereq: 3304

4334 Power System Analysis and Control (3C) Prereq: 3304

4344 Electric Power Quality for the Digital Economy (3C) Prereq: 3304

4354 Power System Protection (3C) Prereq: 4334

4364 Alternate Energy Systems (3C) Prereq: STAT 4714

4374 Power System Protection Lab (1C) Prereq: 4334 Coreq: 4354

Systems & Controls

3704 Continuous and Discrete System Theory (3C) Prereq: 2704

4405 Control Systems (3C) Prereq: 3704

4406 Control Systems (3C) Prereq: 4405

4704 Principles of Robotics Systems (3C) Prereq: 3704

ME 4734 Mechatronics (3C) Prereq: 2504, 2704

ME 4736 Mechatronics II (3C) Prereq: ME 4734

Independent Work
& Special Studies

The courses listed below can generally be used for technical elective credit or design technical elective credit, based on the particular content of each course as it is taught in a given semester. Please discuss technical elective credit options for these courses with your advisor prior to registering for the courses.

4974 (ARR) Independent Study

4984 (ARR) Special Study
4994 (ARR) Undergraduate Research

4974, and 4994: Students must complete an Undergraduate Research, Independent Study Authorization Form, prior to Registration. Forms are available in the ECE Advising office in 340 Whittemore. For purposes of satisfying the major technical elective requirements, the sum of the number of hours taken from ECE 4904, 4974, 4994 cannot exceed 3, without prior approval.

Mechanical Engineering Senior Engineering Design and Project

ECE students, with the permission of the ME department, can enroll in the ME senior engineering design and project courses. Note: both semesters must be completed.

ME 4015 (3) Engineering Design and Project
ME 4016 (3) Engineering Design and Project (**)

Non-Major Technical Electives

ECE students may take up to 3 credit hours of non-major technical electives. Students are reminded that they DO NOT have to take a non-major technical elective. All technical electives can come from the in-major list.

  • 1) Any 3000 or 4000 level course, except those listed in Items 2 and 3, in Engineering, Biology, Chemistry, Mathematics, Physics, and Statistics NOT REQUIRED FOR GRADUATION, THAT DOES NOT DUPLICATE any course in the program of study, and for which you have the appropriate prerequisite, may be used as a non-major technical elective.
  • 2) Non-major 4904, 4964, 4974, 4984, 4994 courses and study abroad courses must be approved for non-major technical elective credit in advance. See your advisor for guidance.
  • 3) REMINDER: ESM 4404 – Fundamentals of Professional Engineering – CANNOT be used as a non-major technical elective and DOES NOT COUNT TOWARDS GRADUATION.

Graduate Courses Used as Technical Electives

ECE students who meet the University requirements to enroll in graduate courses may use graduate level ECE courses as technical elective credit.

  1. Per University policy, undergraduate students must have earned a 3.0 cumulative GPA to be eligible to enroll in graduate level courses.
  2. Note that undergraduate students enrolled in graduate courses to be used for undergraduate requirements cannot use those credits toward a graduate degree in ECE at VT. The exceptions to this policy are students enrolled in the Accelerated UG/G program. Please see your advisor if you have questions regarding this policy.
  3. To enroll in graduate level courses, undergraduates must complete an Application for Graduate Courses form. If prerequisites are met and space permits, students will be force-added to the graduate course(s).