CPE Technical Electives

Students of the Computer Engineering undergraduate program are required to complete six hours of CPE Technical Electives. Students must select three credit hours from the ECE and CSE Course List shown below. The remaining three hours of CPE Technical Electives can be selected from the Expanded List, including upper-level Math, Physics, and Engineering courses.

***Note: The CSE department will no longer be offering CSE 3324 Distributed Client Server Programming. In the interim while degree changes are moving through the approval process, the ECE department will substitute 4 credit hours of any CPE Technical Elective or options that meet Professional Elective criteria. ***

ECE Courses

  • Approved 3000-level ECE courses:
    • Solid State Electronics (ECE 3213)
    • Electromagnetics I (ECE 3313)
    • Electromagnetics II (ECE 3323)
    • Fundamentals of Energy Systems (ECE 3614)
  • Approved 4000-level ECE courses:
    • Students may choose from any of the 4000-level ECE courses offered, that are not already required in the CPE program, for which the student meets pre-requisites.

A Directed Individual Study (ECE 4000) cannot be applied as a CPE Technical Elective unless, through the Accelerated Graduate Program, a student is taking a graduate level course for which there is no corresponding undergraduate course.

ECE 4800 Undergraduate Research cannot be applied as a CPE Technical Elective, but students can review options for using undergraduate research as Professional Enrichment.

CSE Courses

  • Approved listing of upper level (3000 or 4000) CSE pre-fix courses that are not already required of the program and for which the student meets the (prerequisites):
    CSE 3183 Systems Programming (Grade of C or better in CSE 2383).
    CSE 3713 Introduction to Cybersecurity (CSE 1284, CSE 1233, or equivalent).
    CSE 3763 Ethical and Legal Issues (Junior Standing).
    CSE 3813 Intro to Formal Lang (Grade of C or better in CSE 2383 and CSE 2813).
    CSE 4000 Directed Indiv Study Hours and credits to be arranged.
    CSE 4163 Des Parallel Alg (Grade of C or better in CSE 3324 or CSE 4733/6733).
    CSE 4173 Cryptography (CSE 2383 Data Structures and Algorithms).
    CSE 4214 Intro to Software Eng (CSE 2383 with a grade of C or better).
    CSE 4223 Manage Software Project (CSE 4214/6214 with grade of C or better).
    CSE 4233 SW Arch & Design (Grade of C or better in CSE 4214/6214).
    CSE 4243 Info & Computer Security (Credit in CSE 3183).
    CSE 4253 Secure Software Engineering (CSE 2213 and CSE 2383 both with a grade of C or better).
    CSE 4273 Intro to Computer Forensics (Senior standing in CSE/SE/CPE/MIS/CJ)
    CSE 4283 Software Testing and QA (Grade of C or better in CSE 4214/6214).
    CSE 4363 Software Reverse Engineering (Grade of C or better in CSE 3183).
    CSE 4383 Network Security (CSE 4173/6173 Cryptography; and credit or registration in CSE 4153/6153).
    CSE 4413 Computer Graphics (MA 3113 and grade of C or better in CSE 2383).
    CSE 4433 Virtual & Extended Reality Develop. (No listed prerequisites).
    CSE 4453 Game Design (Junior standing and CSE 2213 and CSE 2383 with a grade of C or better).
    CSE 4503 Database Management Systems (CSE 2383 and CSE 2813, both with a grade of C or better).
    CSE 4633 Artificial Intell (Grade of C or better in CSE 2383 and CSE 2813)
    CSE 4643 AI Robotics (Grade of C or better in CSE 2383 or CSE 1233 or with consent of instructor).
    CSE 4653 Cognitive Science (PSY 3713 or CSE 4633 or PHI 4143/6143 or AN 4623/6623).
    CSE 4663 Human-Computer Intera (Junior class standing or consent of instructor).
    CSE 4683 Machine Learning and Soft Comp (IE 4613, MA 4543, MA 4523, or equivalent).
    CSE 4714 Theory & Implemen of Prog Lang (CSE 2383 and CSE 3723 with a grade of C or better).
    CSE 4723 Compiler Construction (Credit or registration in CSE 4713/6713).
    CSE 4743 Operating Systems II (CSE 4733/6733 with grade of C or better).
    CSE 4763 Ethical and Legal Issues
    CSE 4773 Intro to Cyber Ops
    CSE 4990 Special Topic in CSE (Pre-requisites may vary)
    Note:
    CSE 3724 Computer Organization** **This course does not apply to the CPE Technical Elective.**
    CSE 4800 Undergraduate Research** **This course does not apply to the CPE Technical Elective.**

Expanded List of CPE Technical Electives

  • Additional 3000-level courses:
    • ASE 3333 - AeroThermodynamics
    • EM 3213 - Mechanics of Materials
    • EM 3313 - Fluid Mechanics
    • IE 3913 - Engineering Economy I
    • MA 3053 - Foundations of Math I *
    • MA 3163 - Introduction to Modern Algebra *
    • MA 3353 - Differential Equations II *
    • MA 3463 - Foundations of Geometry *
    • ME 3113 - Engineering Analysis
    • ME 3513 - Thermodynamics I
    • ME 3523 - Thermodynamics II
    • PH 3613 - Modern Physics
  • Additional 4000-level courses:
    • All 4000-level courses within the Bagley College of Engineering with prior approval from advisor/ECE Undergraduate Committee
    • MA 4000-level options:
      • MA 4143 Graph Theory
      • MA 4153 Mat & Lin Algebra
      • MA 4173 Number Theory
      • MA 4313 Numerical Analysis I - will need pre-req override from Math department, different programming course requirement
      • MA 4323 Numerical Analysis II - will need pre-req override from Math department, different programming course requirement
      • MA 4373 Int. Part. Diff Equations
      • MA 4633 Adv. Calculus I
      • MA 4733 Linear Programming (also listed as IE 4733)
      • MA 4753 Ap. Complex Variables
        • Data Analysis I, Applied Probability, Intro to Probability, Introductory Probability and Random Processes and Intro to Math. Stats I cannot complete the math minor because of overlap with other coursework required in ECE majors. Also Discrete Mathematics for students who take CSE 2813 Discrete Structures
    • Other 4000-level courses which may be selected include:
      • PH 4213 - Intermediate Mechanics I
      • PH 4513 - Intermediate Optics

* CPE students intending to earn a Mathematics Minor should select the final math course according to the stipulations shown under the Mathematics Minor section.