Students completing a major in Software Development are prepared to function as professionals in the discipline or to continue their education in graduate school. The program is designed to provide students with fundamental skills and knowledge to succeed as a corporate, vendor, or independent software developer, while allowing them to specialize in a number of tracks for more advanced topics. Students will learn software engineering approaches to identify and analyze problems and to design and deliver appropriate solutions. Learning outcomes for students are in accordance with recommendations from the Association for Computing Machinery’s Curricula Report.
Student Learning Outcomes
Students completing the major in Software Development will be able to:
- Critically evaluate, analyze and interpret information to solve problems and make business decisions
- Use technology to develop and enhance business processes
- Communicate effectively in both written and oral forms
- Act ethically while adhering to the highest standards of personal, social and professional integrity
- Collaborate effectively in diverse teams across cultures
- Show mastery of software development knowledge and skills and of the professional standards necessary to begin practice as a software developer.
- Demonstrate an understanding of and apply appropriate theories, models, and techniques that provide a basis for problem identification and analysis, software design, development, implementation, verification, and documentation.
- Work both individually and as part of a team to develop and deliver quality programs/applications.
- Demonstrate an understanding and appreciation of the importance of negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment.
- Design appropriate solutions in one or more application domains using software engineering approaches that integrate ethical, social, legal, and economic concerns.
- Reconcile conflicting project objectives, finding acceptable compromises within the limitations of cost, time, knowledge, existing systems, and organizations.