Prepare to confidently address the IT challenges of today—and tomorrow. Build next-level skills and forge a rewarding future in an ever-changing field.
The Software Engineering specialization prepares you to develop the technology solutions organizations need to solve problems, seize new opportunities, and leverage their full potential. Learn to create complex, high-quality software products on time and on budget. Discover the relationship between process and product quality. Explore the quality, cost, and effectiveness of alternative software design techniques and take the opportunity to learn to apply proven software engineering design principles.
This sequence represents the minimum time to completion. Time to completion will vary by student, depending on individual progress and credits transferred, if applicable. For a personalized estimate of your time to completion, call an enrollment specialist at 855-646-5286.
|Course Code||ITEC 6111||Course||Information Technology in the Organization||Credits||(3 sem. cr.)|
|Course Code||ITEC 6115||Course||Computer Networking and Operating Systems||Credits||(3 sem. cr.)|
|Course Code||ITEC 6145||Course||Enterprise Database Design||Credits||(3 sem. cr.)|
|Course Code||ITEC 6030||Course||Principles of Programming||Credits||(3 sem. cr.)|
Through a review of modern computer systems and the social and economic issues related to their use, students in this course are introduced to the conceptual foundations for designing, developing, and deploying large-scale management information systems. Students investigate the role of information technology in an organization—particularly the collection, storage, and distribution of information for operations, planning, and decision making.
Within this course, students can learn the concepts of computer operating systems, including the main functions, similarities, and differences. Students can explore a variety of topics, including configuration, file systems, security, administration, interfacing, multitasking, and performance analysis. In addition, they can further their understanding of computers through the study of computer networks by learning key networking concepts, components, and the design of information and communication infrastructure solutions.
In this course, students discuss the design, implementation, and operation of databases using a principal relational database management system (DBMS). Many fundamental topics are covered in this course including: data modeling using entity-relationship diagrams; data storage, manipulation, and queries using structured query language (SQL); functional dependencies, normalization concepts, data warehouse architectures, data warehouse modeling, and data analytics.
The discipline of software development demands a variety of skills. Students in this course assess the fundamental practices and principles of designing and constructing object-oriented programs. They engage in substantial hands-on practice, reinforcing algorithmic thinking, logical design, precise coding, and careful attention to quality.
|Course Code||ITEC 6130||Course||Advanced Software Development||Credits||(3 sem. cr.)|
|Course Code||ITEC 6150||Course||Principles of Software Engineering||Credits||(3 sem. cr.)|
|Course Code||ITEC 6650||Course||Software Systems Engineering and Requirements Management||Credits||(3 sem. cr.)|
|Course Code||ITEC 6660||Course||Software Design and Construction||Credits||(3 sem. cr.)|
|Course Code||ITEC 6670||Course||Software Quality and Testing||Credits||(3 sem. cr.)|
|Course Code||ITEC 6680||Course||Software Engineering Management and Processes||Credits||(3 sem. cr.)|
Contemporary software development principles continue to evolve. In this course, students explore contemporary software development concepts and tools. Through application assignments designed to contextualize theories presented in the course, students apply object-oriented techniques, usability principles, and design for reuse. Students have the opportunity to acquire knowledge requisite to the development of sound, maintainable, and extensible software.
The principles of software engineering and software design allow for the methodical construction and controlled development of complex software systems. Students in this course survey the evolution and current practices of software engineering through the entire software life cycle, with emphasis on the elements that significantly affect software system quality.
Students in this course place software engineering in the context of systems engineering. Students discuss the role of software engineering in analyzing user needs and examine how to develop solutions while building systems involving various components. Students receive a broad perspective of the system engineering lifecycle, including requirements, design, integration, transition, operation, maintenance, and support. They focus on issues of requirements engineering such as the elicitation of requirements, analysis, specification, validation, and change management.
Software architects design software to meet desired quality attributes. They must minimize complexity while following heuristics and standards, even as they anticipate change. In this course, students explore the fundamentals of software design. They examine key issues such as concurrency, event handling, interaction, and fault tolerance.
Competitive organizations demand high-quality software. IT professionals employ software management techniques to measure, control, and ensure software quality. Students in this course cover software quality management processes, with a special focus on software testing.
Enterprise managers are keenly interested in implementing efficient and effective software development processes. Developments in the application of software engineering to help managers gain control over the production of software, including processes that measure progress, quality, and cost at the project and organizational levels, are covered in this course.