ECE Focus Area: Software Engineering

Overview

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 the Software Engineering are encouraged to consider the track and EFA course selection suggestions listed below when completing their plan of study form.

EFA Requirements Suggested Options
Track Computer
Breadth Elective
(select one)
055:054 (ECE:3540) Communication Networks
Depth Elective
(select one)
055:180 (ECE:5800) Fundamentals of Software Engineering
055:181 (ECE:5810) Formal Methods in Software Engineering
100-Level ECE
Electives
(select two)
       All depth electives listed above and
055:182 (ECE:5820) Software Engineering Languages and Tools
055:183 (ECE:5830) Software Engineering Project
055:132 (ECE:5320) High Performance Computer Architecture
Technical Electives
(select three)
       All breadth, depth and 100-level ECE electives listed above and
REQUIRED: 22C:021 (CS:2230)  Computer Science II: Data Structures
22M:072 (MATH:3800) Elementary Numerical Analysis
22C:112 (CS:3620) Operating Systems
22C:144 (CS:4400) Database Systems
22C:096 (CS:3980) Topics in Computer Science I
055:133 (ECE:5330) Graph Algorithms and Combinatorial Optimization
055:130 (ECE:5300) Switching Theory
Additional Electives
(select two)
Any of the above OR courses selected in consultation with advisor.
 

Related Links