Software engineering is the study of systematic approaches to the development, operation and maintenance of software. In this major, students will learn how to write code in a variety of programming languages and develop efficient algorithms to solve problems. Additionally, students will study best practices for project management, design, testing, documentation, verification, and quality assurance. Large-scale projects and teamwork are integrated throughout the curriculum to provide hands-on experiences simulating real-world practices.
Program Learning Goals. Upon completion of the program students will be able to:
1. Understand algorithms and well-known programming constructs.
2. Understand similarities between commonly used programming languages and apply that knowledge to learn new, unfamiliar languages.
3. Employ coding standards and software development best practices, including effective design, documentation, testing, and source code control.
4. Complete a full software development life cycle, from planning to implementation and beyond in team-based projects.
5. Understand and respond to the ethical concerns associated with software development and advanced computation.
6. Express a developed view of programming as co-creation and computer science as Kingdom work.