The Software Engineering Minor prepares students to design, implement, test, and maintain reliable software systems using modern programming languages, tools, and methodologies. Emphasizing problem-solving, algorithmic thinking, and data management, the minor integrates core computer science principles with practical software engineering practices across the development lifecycle.
Students gain experience in object-oriented programming, data structures, databases, and software design patterns through project-based learning. The program equips students from other majors with computational and analytical skills to complement their primary field of study and prepares them for careers in software development, systems architecture, and related areas in Indiana’s growing tech sector.
What you'll learn
- Proficient programming in Java or Python
- Object‑oriented design and modular software construction
- Algorithmic thinking and efficient use of data structures
- Requirements gathering, analysis, and documentation
- Software architecture and system design (including UML)
- Testing and quality assurance (unit, integration, system testing)
- Debugging, code reviews, and version control workflows
- Database modeling, SQL querying, and data lifecycle awareness
- Project planning, estimation, and team collaboration
- Ethical, secure, and responsible computing practices
- Effective technical communication across stakeholder groups
Minor requirements
18-20 credit hours.
Select one two-course programming sequence (6–8 cr.)
- CSCI-C 155 Problem Solving and Programming I and CSCI-C 255 Problem Solving and Programming II · Online · Fall, Spring
- CSCI-C 200 Introduction to Computers and Programming and CSCI-C 212 Introduction to Software Systems · On-Campus, Online · Fall, Spring
- CSCI-A 204 Introduction to Programming and CSCI-A 205 Computer Programming · Online · Fall, Spring, Summer
- DSCI-D 210 Programming with Python 1 and DSCI-D 211 Programming with Python 2 · On-Campus, Online · Fall, Spring
- INFO-I 210 Information Infrastructure I and DSCI-D 211 Information Infrastructure II · On-Campus, Online · Fall, Spring
- INFO-C 210 Problem Solving and Programming I and INFO-C 211 Problem Solving and Programming II · On-Campus, Online · Fall, Spring
Select one data structures course (3 cr.)
- CSCI-C 310 Data Structures – Python · Online, On-Campus · Fall, Spring, Summer
- CSCI-C 343 Data Structures – Java · Online, On-Campus · Fall, Spring, Summer
Two core courses (6 cr.)
- CSCI-C 308 System Analysis and Design or CSCI-C 330 Object-Oriented Systems Analysis and Design I · Online, On-Campus · Fall
- CSCI-P 465 Software Engineering for Information Systems I · Fall · On-Campus
Select one additional course (3 cr.)
- CSCI-P 467 Software Quality Assurance · On-Campus · Spring · On-Campus
- DSCI-D 308 Database Design or CSCI-C 442 Database Systems · Online, On-Campus · Fall, Spring
- INFO-I 402 Informatics Project Management or INFO-C 452 Project Management · Online, On-Campus · Fall, Spring
