Florida Institute of Technology
High Tech with a Human Touch
Computer Science, Software Engineering
Today, it is hard to imagine life without computers, but in reality computers are just coming out of their infancy. An education in the field of Software Engineering prepares you for one of the fastest growing careers in the modern world of computing.
What is Software Engineering?
Software engineering is the application of a systematic, disciplined approach to the design, development, operation and maintenance of software. Put differently, we learn how to make what people need, in a way that ensures that it works.
What will I Study?
Imagine for a moment you are developing software to control a system that will help people vote during an election. The first challenge is the diversity of the population who will use this system. Can blind people use it? What about veterans who lost both arms in the war? How well does the system have to work for people who can't read English? Software engineering students study requirements analysis and human factors analysis to develop skills needed to approach these types of questions. As we gain an understanding of the users' needs, we begin building a model of the implementation. What data are we collecting, how will we analyze it or send it to a central election tabulator? What data do we keep to support auditing? How will we collect that data from the user and how do we ensure that it is collected correctly? Software engineering students study software design, the design of data structures and of complex databases and software testing. Voting systems are often mistrusted. What fundamental design decisions can help us make the system almost invulnerable to tampering? And if the system has been compromised, how can we tell? Software engineering students study testing and software security to address issues like these. Finally, the task doesn't stop when the first "perfect" system is complete. Regulations governing voting equipment change every year; last year's software is obsolete. Software engineering students learn how to design for change, studying software documentation and software evolution.
The freshman and sophomore years as a software engineers place emphasis on the development of fundamental skills necessary to develop computer applications. You will learn how to effectively communicate with a computer and use it to design solutions to problems. In the junior and senior years you will study advanced practical topics in Software Engineering ranging from Software Design to Metrics and Modeling to Requirements Engineering to Ethical and Social issues in computing.
What Courses Will I Take?
You can review the course catalog online at http://www.fit.edu/catalog.
What Research Opportunities are Available?
There are many opportunities on campus for research, including among others:
- The Center for Software Testing Education and Research
- The Software Evolution Lab
- The Center for Security Science