Skip to content

R.B. Annis School of Engineering

Browse Department

UIndy engineering Software Engineering UIndy engineering

UIndy's software engineering curriculum is heavily focused on design and project-based learning, which gives you hands-on experience.

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. 

Freshman year: 

  • 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 

Curriculum Guides

University of Indianapolis General Education curriculum guide