Software engineers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or other devices, while others develop the underlying systems that run the devices or control networks. Software engineers design and develop many types of software, including computer games, business applications, operating systems, network control systems, and middleware. They must be experts in the theory of computing systems, the structure of software, and the nature and limitations of hardware to ensure that the underlying systems will work properly. This is different from computer hardware engineers, who develop computer systems and components, like processors, circuit boards, memory devices and networks.
Below is an example list of courses you'll be taking throughout your time in the Software Engineering program.
- Introduction to Engineering
- Calculus I
- Calculus II
- Introduction to C++
- Calculus-based Physics
Sophomore to Senior year:
- Data Structures and Algorithms
- Software Architecture
- Software Verification, Validation and Testing
- Software Project Management