Flow Chart


Software engineers apply the principles of engineering to design, develop, maintain, test, and evaluate software, computer systems or anything that contains software.

Depending on the courses selected, completion of the software engineering area coursework can provide additional understanding of topics in formal methods of software design, high performance computer architecture, operating systems, database systems, and network communication.

Software engineers are employed worldwide in industry, government, non-profits, education, healthcare, and self-employed. They work as analysts, architects, developers, testers, technical support, managers, educators, researchers, patent lawyers, and consultants.

Students interested in this EFA are encouraged to consider the course suggestions listed below when completing their Plan of Study Form.

EE Computer Track Requirements Suggested Options
Track Computer Track
Depth Elective
(Select One)
ECE:5800 Fundamentals of Software Engineering (Same as: CS:5800)
ECE:5810 Formal Methods (Same as: CS:5810)
Breadth Elective
(Select One)
ECE:3540 Communication Networks
5000-Level ECE Elective
(Select Two)
All 5000-level depth electives listed above and


ECE:5820 Software Languages and Tools (Same as: CS:5820)
ECE:5830 Software Engineering Project (Same as: CS:5830)
ECE:5320 High Performance Computer Architecture (Same as: CS:5610)
Technical Elective
(Select Three)
All breadth, depth and 5000-level ECE electives listed above and


CS:2230 Computer Science II: Data Structures (Required and provides EEc students a CS minor)
CS:3700 Elementary Numerical Analysis (Same as: MATH:3800)
CS:3620 Operating Systems
CS:4400 Database Systems
CS:3980 Topics in Computer Science I (VARIES BY SEMESTER - Not all sections may be acceptable)
ECE:5330 Graph Algorithms and Combinatorial Optimization (Same as: IGPI:5331)
ECE:5300 Switching Theory
Additional Elective
(Select One*)
Any of the above OR course selected in consultation with advisor.


* Students graduating before Fall 2017 are required to select two additional electives.

Advising Notes

  • All Computer Track students satisfy the requirements for a minor in Computer Science.
  • A minor in Mathematics can be earned by including one qualifying Math course in the EFA plan.

Related Links