Specializations
The degree program consists of two foundation courses, seven required core courses and an array of electives, from which you choose at least three. The required courses provide a solid foundation in the design and coding of a wealth of applications, as well as in software design techniques, and comprise a majority of the coursework. You'll select electives to intensify your skills in four different areas of specialization: web development, mobile applications development, database management, or software design.
Web Development
Businesses, government, and other organizations are continually improving and updating their web presence to advertise products and promote services, which creates a high demand for skilled web developers. In fact, the need for trained web developers is growing so rapidly that the U.S. Bureau of Labor Statistics projects an impressive 27% increase in web developer jobs through the next decade. Students who specialize in web development will build applied skills in stacked web development technologies, both front-end (client-side) and back-end (server-side). Specific technologies students will learn include HTML5, CSS3, JavaScript, Bootstrap, jQuery, Angular JS, AJAX, ASP.NET Core MVC, PHP, JSP, GIS, and RESTful services. Courses in this specialization also cover responsive web design techniques, web hosting, Apache Hadoop, CMS, web security, cloud computing, and web performance issues.
Mobile Applications Development
Our increased dependency on smartphones speaks to the ongoing need for app developers. CNNMoney and PayScale listed Mobile Applications Developer first on their 2017 Best Jobs list and ninth on their fastest-growing job list with anticipated 19% jobs growth over the next decade. Students who specialize in mobile applications development will acquire skills in Android native app development, mobile web app development, hybrid app development and electively, iPhone app development.
Database Management
Employment of database administrators is projected to grow 11 percent from 2016 to 2026. Database administrators (DBAs) use specialized software to store and organize data. They ensure that data is available to users, consistent and clearly defined, and secure from unauthorized access. Students who specialize in database management will build skills pertaining to relational databases, including SQL, normalization, functional dependency and entity relationship diagrams, database design, recovery, security, client server systems, and the programming and administration of database systems.
Software Design
With computer applications supporting everything from the space program to the mobile device, there is a need for people who can create the software programs that run them. Systems analysts and software application designers are responsible for the critical design and development plan that leads to the creation of all kinds of software, from complex corporate systems that support the operations and processes of a corporation, to mobile phone applications, or apps. Students who specialize in software design will study software development methodologies, associated tools used to support development throughout the systems development lifecycle and approaches to project management, as well as requirements analysis, database design, application interface design, software design foundations, software engineering fundamentals, and popular software architectures.