Main navigation
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 this FA are encouraged to consider the course suggestions listed below when completing their plan of study form:
Computer Science and Engineering Requirements | Suggested Options |
---|---|
Theory Elective (Select one) | CS:5340 Limits of Computation ECE: 5450 Machine Learning |
5000-Level ECE Elective (Select one) | ECE:5800 Fundamentals of Software Engineering (Same as: CS:5800) ECE:5810 Formal Methods (Same as: CS:5810) 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) ECE:5330 Graph Algorithms and Combinatorial Optimization (Same as: IGPI:5331) ECE:5300 Switching Theory |
ECE Elective (Select one) | All 5000-level ECE electives listed above, and |
4000-level or above CS Elective (Select one) | CS:4400 Database Systems CS:4640 Computer Security CS:4700 High Performance and Parallel Computing (Same as: MATH:4860) CS:5620 Distributed Systems and Algorithms CS:5630 Cloud Computing Technology ECE:5800 Fundamentals of Software Engineering (Same as: CS:5800) ECE:5810 Formal Methods (Same as: CS:5810) ECE:5820 Software Languages and Tools (Same as: CS:5820) ECE:5830 Software Engineering Project (Same as: CS:5830) |
CS Elective (Select one) | All 4000-level and above CS electives listed above, and CS:3700 Elementary Numerical Analysis (Same as: MATH:3800) CS:4980 Topics in Computer Science II |
Additional Electives (Select one 3 s.h. & one ≥2 s.h.) | Any of the above OR courses selected in consultation with advisor. ECE:3600 Control Systems |
Advising Notes
A minor in mathematics can be earned by including two qualifying math courses in the FA plan.