ECE Focus Area: Software Engineering
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|
|055:054 (ECE:3540) Communication Networks|
|055:180 (ECE:5800) Fundamentals of Software Engineering
055:181 (ECE:5810) Formal Methods in Software Engineering
| 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
| 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
|Any of the above OR courses selected in consultation with advisor.|