Software engineering is the application of engineering principles to the creation of software systems. Engineers approach problem-solving in organized ways and follow well-defined, best practices in their work. Likewise, software engineers employ organized ways of thinking about the analysis of problems to be solved and the design of the resulting software solutions, and they follow recognized practices to implement and test new software systems and to put them into production. The Software Engineering major prepares students to enter and excel in this profession.
Students will be trained in the two most popular languages in use today: Java and C#. Also, they should be able to effectively program in C++ with minor self-training because it is a predecessor of both Java and C# and similar to both. Additionally, students will get considerable experience with the Visual Studio .NET integrated development environment (IDE) in the C# courses, which is used extensively in Microsoft installations and with the Eclipse IDE in the Java courses.
Students graduating with a Software Engineering degree will be able to:
- Demonstrate a high level of programming skills (CS 120, CS 222, CS313, CS314, CS365)
- Understand computer architecture, operating systems, networks, and other key components that support the creation and execution of software systems (CS315, CS321, CS340)
- Be proficient in the use of software engineering processes (CS201, CS350, CS499)
- Understand the professional requirements associated with being a practicing software engineer (CS195, CS201, CS 495)
Software Engineering Course Requirements
To receive the Software Engineering degree, you must complete the Avila core requirements along with the Software Engineering Core Requirements which are as follows:
- CS 116 Problem Solving with Algorithms (2)
- CS 120 Intro to CS I (4)
- CS 222 Data Structures (4)
- SF 195 Intro to Software Eng. Careers (1)
- CS 313 C# Programming (3)
- CS 314 OOP in Java (3)
- CS 346 Foundations of Computing (3)
- SF 495 Internship (3)
- SF 499 Capstone (3)
- MA 120 College Algebra (3)
- MA 230 Discrete Math (3)
- EN 112 Composition II (3)
CS Hours: 30
Total Hours: 37
- SF 201 Software Engineering (3)
- CS 365 Programming Language Systems (3)
- CS 321 Networking (3)
- SF 315 Operating Systems (3)
- SF 340 Database Management Systems (3)
- SF 350 Systems Analysis & Design (3)
- CS 170 Web Page Design (3)
- CS 319 Web Page Programming (3)
CS Hours 30
Total CS Hours 60
Software Engineering Student Projects
In the Software Engineering program, students will learn programming and problem-solving techniques. They will learn the skills and techniques used by professional software engineers. Substantial software projects will be a significant part of several courses in the major.
In the Systems Analysis and Design course, students will work in teams to complete the analysis and design phases of a realistic software engineering project.
In the Capstone course, students will do major, software engineering projects individually or in teams.
The Internship will have students working on software maintenance or a software engineering project.
Software Engineering Internship
In order to graduate with a Software Engineering degree, every senior must complete an internship. It requires you to work between 100 – 120 hours in a semester of your senior year at a local company or non-profit organization. The work will involve software maintenance or a software project.
The following is a basic guideline about the internship process:
- You create a rèsumè based on your experience and skills. If you need help, Career Services is a great resource tool.
- Your professor will review your rèsumè, suggest any changes, and distribute your rèsumè to area businesses.
- Your professor will let you know when you’ve been accepted to a company for an internship along with all the details.
- Once you have met with your supervisor about your internship, you will need to create a project plan or job description for your time there.
- During your internship, you are to create a weekly status report to send to your professor as well as your supervisor.
- At the end of your internship, you will create an Internship Report, a reflection about your internship.
In the past years, our students have completed software-related projects at Sprint, Entire Computer Solutions, We-Are-IT, Harvesters, and other well-known companies and organizations. This internship is a great hands-on experience and will prepare seniors for the professional world
Software Engineering Career Outlook
The latest major study on job growth from the U.S. Bureau of Labor Statistics has projected a 12% job growth for all technology occupations for the period of 2014-2024. The employment of software engineers is projected to grow 17% from 2014 to 2024, much faster than the average for all occupations. The main reason for the rapid growth is a large increase in the demand for computer software, as well as the need for new applications on mobile devices and tablets. Dice is a website where many companies in the U.S. post computer and engineering-related jobs and contract positions.