Software Engineering

Overview

Our program drives technological innovation by developing the next generation of leaders in software engineering. We focus on state-of-the-art engineering methods, emergent technologies, and the solutions needed to address the construction of large-scale computer systems and software applications in the real world. Coursework is balanced between computer science theory and practical application of software engineering methodology. Specific training is provided in the areas of programming, object-oriented methodology, data structures, discrete structures, software design, software maintenance, and software testing. This program concludes with a senior capstone project aimed to imitate agile experience in a formal work environment. Students will use the skills they developed to immerse themselves in tackling complex problems that lead to groundbreaking final products.

Outcomes

Our graduates are skilled programmers ready for careers in software engineering. They are effective technical communicators capable of working well in groups on computing problems. They demonstrate the ability to identify, formulate, and solve engineering problems taking into consideration the impact of these solutions in global, economic, environmental, and societal contexts.

Major Course of Study Requirements

The Bachelor of Science in Software Engineering requires 45 hours of coursework in the following courses: HCSC 106 Introduction to Computer Science, HCSC 110 Computer Programming I with lab, HCSC 120 Computer Ethics and Human Values, HCSC 160 Computer Programming II with lab, HCSC 260 Computer Organization, HCSC 310 Data Structures and Algorithm Analysis, HCSC 330 Web Programming, HCSC 340 Human Computer Interaction, HCSC 385 Mobile App Development, HCSC 410 Database Systems, HCSC 415 Organization of Programming Languages, HCSC 418 Full Stack Development, HCSC 435 Software Engineering, HCSC 436 Advanced Software Engineering and the HCSC 460 Senior Capstone Project.