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
These curriculum guides outline the different classes you will need to take as a software engineer major. The general education guide provides a list of all the classes you need in order to fulfill UIndy’s general education requirements. The software engineering guide outlines and lists all of the classes you will need to take in order to fulfill the major’s requirements. Be sure to take a look at both guides in order to get a complete picture of what your classes will look like at UIndy.
*Pending final approval from the Higher Learning Commission.