Courses

Below on this page are SFWE graduate courses with descriptions, prerequisites and syllabi.

Additional information, including fees and grading bases, is available through the UA Catalog under Course Descriptions.

SFWE  501 - Software Assurance and Security

Units: 3
Students learn to develop and utilize secure SW coding standards and defensive programming techniques to ensure that the SW functions in its intended manner; free from coding errors and inadvertent bugs that may have been introduced during development. This course promotes software integrity, security, quality, and reliability in the SW as it is developed and tested. Concurrent with SFWE 401.
Co-requisite(s): ECE 275
Usually offered: Spring
SFWE 501 Syllabus (PDF)

SFWE 502- Software DevSecOps

Units: 4
Students develop a SW product using a SW DevSecOps workflow approach with common tools used in industry. Using DevSecOps workflows and continuous integration/continuous delivery approaches, students assess if the quality and reliability of the SW is increased. Concurrent with SFWE 402.
Co-requisite(s): ECE 275 recommended prior to enrollment.
Usually offered: Spring
SFWE 502 Syllabus (PDF)

SFWE 503 - Software Project Management

Units: 3
Students plan and track the progress of an Agile SW development project using metrics to monitor team performance, predict cost and schedule execution, develop and assess risks/mitigation plans, and measure the quality and maturity/volatility of the software product itself. Concurrent with SFWE 403.
Pre-requisite(s): SFWE 301
Usually offered: Fall
SFWE 503 Syllabus (PDF)

SFWE 504 - Software Requirements Analysis and Test

Units: 3
In this course you will learn how to derive and develop software requirements that are measurable, testable and lead to a compliant software design and implementation. Using industry best practices and tools, you will learn how to elicit, analyze, specify, and validate functional requirements (what should the software system do) and non-functional software requirements (how should the software system fulfill the functional requirements). You will develop software requirement models and specifications that capture the customer / user's needs. The requirements will be captured in a commercially available software requirements management tool and exported to create a Software Requirements Specification (SRS). You will also develop a formal Software Test Plan (STP) that can be used in a software acceptance test to validate that the product will meet its requirements as specified.  Additionally, you will also establish and maintain a software requirement configuration baseline, utilizing widely adopted industry processes to incorporate any subsequent additions, deletions, and enhancements to the software requirements over its lifecycle.
Co-requisite(s): Prerequisite or concurrent enrollment in SFWE 507.
Usually offered: Fall

SFWE  507 - Foundations of Software Engineering

Units: 3
Students study the different software development lifecycle (SDLC) phases used in developing, delivering, and maintaining software products for a wide variety of applications.  Common software process models are introduced, along with developing an understanding of the importance of defining software requirements, developing software architectures and designs, and the various forms of testing that go into delivering reliable and resilient software systems. Concurrent with SFWE 407.
Co-requisite(s): Programming experience (in any language) is strongly recommended for graduate students.
Usually offered: Spring
SFWE 507 Syllabus (PDF)

SFWE 509 Principles of Cloud Computing

Units: 3
Cloud has become a de facto computing infrastructure in many business and research organizations to deliver various user-facing, business and scientific applications to end users. This course will offer the underlying technologies and concepts that create the current cloud computing infrastructure and hands-on experience in designing and implementing modern cloud applications. Concurrent with SFWE 409.
Pre-requisite(s): Advanced Standing: Engineering and (ECE 369A or CSC 252).
SFWE 509 Syllabus (PDF)

SFWE  511 - Software for Industrial Control Systems

Units: 3
The increased connectivity due to the rise of the Internet and the growth of smart connected devices (Internet of Things) has brought rapid changes in cyber physical systems operational in many areas including manufacturing, healthcare, transportation, power system, home automation, etc. These changes, dubbed as the Fourth Industrial Revolution (4IR), amalgamate artificial intelligence, advanced robotics, smart sensors, and communication networks, blurring lines between the physical, digital, and biological worlds to automate industrial processes. At the forefront of this revolution are connected Industrial Control Systems (ICS), a group of control systems and associated instrumentation, which include the devices, systems, networks, and controls used to operate and/or automate industrial processes. Concurrent with SFWE 411.
Co-requisite(s): ECE 275, SFWE 401
Usually offered: Fall
SFWE 511 Syllabus (PDF)

SFWE  513 - Research Methods

Units: 3
This course provides a basic introduction to the principles, methods, and techniques of engineering research. Topics include the fundamentals of the scientific method and scientific inquiry, ethical considerations in research, basic methods of quantitative and qualitative data collection, and strengths and weaknesses of various data collection methods. The course is designed to make you a more informed consumer of scientific research through discussion, analysis, and hands-on practice.
Usually offered: Fall