Software engineers develop large software applications while focusing on delivering quality software that meets the customers' needs.
Software Engineering at Ship
Software engineers develop really big software applications. Since a lot of people are going to have to work on the software, the quality of the internal design of the software matters. We need good ways to divide the system into pieces so different people can work on it and so that functionality can continue to be added to it. There are specialized tools and team management processes that we use to ensure that the pieces we are building will fit together without losing any functionality. In addition, we need to be able to predict when we will be able to make a quality deliverable to our customer.
The Mathematics and Computer Technologies Center is home to the Department of Computer Science and Engineering (CS) and the university’s Information and Computing Technologies Center (ICTC). The CS and ICTC departments work together to provide state-of-the-art computing facilities for our students. All computing facilities on campus have access to the Internet, and students are given e-mail accounts and space for web pages. In addition, 24-7 labs are available around campus.
CS students have many computing resources available to them, including:
- Classrooms with up-to-date PC or Mac machines with Linux and possibly Mac OS-X at each seat
- High-end Apple workstations with a Gigabit network for tasks that require high performance computing
- An 802.11 wireless network covers all of our classrooms, labs, and study areas
- CS student accounts on the dedicated CS servers allow students to store their files in a central location
- Academic partnerships with Microsoft, IBM, Sun, and Oracle
- Software used in the classrooms is also installed in the labs or available for student’s personal computers
- Resources to support specific parts of our program, including robot toolkits and hand held computers
Admission and Degree Requirements
Typically, students who plan to study software engineering in college take 4 years of math in high school: algebra I and II, geometry and trigonometry. Advanced Placement credit is available for those who were successful in calculus or computer science in high school. Students should have some experience with computers, but no programming experience is required. Communication skills, both oral and written, are also critical for students entering the program.
Students studying software engineering complete a core of computer science courses and specialized courses in project management, large-scale architectures, and team product development. The first 2 years consist of a core of computer science and mathematics courses including:
- Discrete mathematics
- Programming and data types
- Software engineering
In the upper-division courses, students will continue to learn advanced computer science techniques like database management. In addition, they will take courses in software design and software engineering techniques.
The department offers a computer science minor, which is especially attractive to students seeking to combine other disciplines with computer science.
Careers in Software Engineering
Ship’s software engineering graduates are sought by software development organizations that have rigorous demands on their software. This includes military applications, fault tolerant applications like airplane control systems, and applications that are too large to fit on one machine. Also, large software development organizations employ software engineers to coordinate the activities of many software developers. This means that software engineers can work on anything from PC-based applications to real-time embedded control systems to enterprise-wide systems. Since they are well-versed in computer science techniques, software engineers can work in any software development activity, and take on multiple roles as managers, testers, marketers, and customer supporters.
Software engineering at Shippensburg requires an industrial internship. This experience enables students to encounter actual work situations. Usually, the internship is during the summer before the senior year. Some students choose 6-month internships during both their junior and senior years and graduate after 5 years with one year of practical experience under their belts. These internships are with leading companies and national and state agencies.
The department has a student chapter of the Association for Computing Machinery (ACM). It is active in bringing in speakers from firms involved in computing, assisting with department and university activities, and holding annual game-a-thons.
The Programming Team is a unique student organization at Ship. Our team competes with other colleges and universities on the basis of members’ ability to write correct programs as quickly as possible. The team consistently places well in the ACM regional contest. In recent years, the team has placed in the top twenty out of more than one hundred colleges and universities, beating teams like Princeton, University of Delaware, and University of Pennsylvania.
Women in Computer Science (WiCS) promotes an inclusive community within the department and provides a place for our female students to meet and share experiences. Through podcasts showcasing our female students, WiCS actively promotes an increase in the percentage of women in the discipline.