Skills & abilities gained with this major

Software Design. Skills developed are ability to define a problem, analyze various components, and project and evaluate potential solutions, all of which are subject to limitations and constraints inherent in a given computer. Students will understand that in industry there must be more than just a working program; good software must also be fully documented, clearly written, and easily modifiable. Creating software requires much more than understanding language constructs and how to use them. There is a great deal of planning and organization that occurs before any code is even written.

Science + Art. There is a science to writing programs and there is also an art to writing them. The science involves understanding the language constructs and how to use them. The art of writing programs involves putting program segments together and providing documentation to meet the specified constraints.

Theory. Students develop skills they can use upon graduation, but they must also be prepared to adapt to a rapidly changing field. This requires a solid theoretical foundation with knowledge of how computers work and how they carry out tasks specified in applications software. This knowledge is an important ingredient to software design as it gives students the tools they need to analyze efficiency and evaluate various programming and data design options.