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 advisor at 1-866-492-5336.
|Course Code||ITEC 6111||Course||Information Technology in the Organization||Credits||3|
|Course Code||ITEC 6115||Course||Computer Networking and Operating Systems||Credits||3|
|Course Code||ITEC 6140||Course||Data Modeling and Database Design||Credits||3|
|Course Code||ITEC 6030||Course||Principles of Programming||Credits||3|
Through a review of modern computer systems and the social and economic issues related to their use, this course introduces the conceptual foundations for designing, developing, and deploying large-scale management information systems. It investigates 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.
Data is the lifeblood of nearly every business enterprise. Through careful planning and management, the organization can ensure that its critical data remains consistent, correct, secure, and available. This theoretical and practical introduction to relational database systems presents students with accepted practices for data modeling, database design, and implementation in a range of application contexts.
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|
|Course Code||ITEC 6150||Course||Principles of Software Engineering||Credits||3|
|Course Code||ITEC 6650||Course||Software Systems Engineering and Requirements Management||Credits||3|
|Course Code||ITEC 6660||Course||Software Design and Construction||Credits||3|
|Course Code||ITEC 6670||Course||Software Quality and Testing||Credits||3|
|Course Code||ITEC 6680||Course||Software Engineering Management and Processes||Credits||3|
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. This course surveys the evolution and current practices of software engineering through the entire software life cycle, with emphasis on the elements that significantly influence software system quality.
This course sets 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. This course provides a broad perspective of the system engineering life cycle, including requirements, design, integration, transition, operation, maintenance, and support. It focuses 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.This course covers 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.