Sign In
 

 SWE Course List [Old Program]

SWE 205: Introduction to Software Engineering   (3-0-3)
Introduction to software engineering and software processes. Construction techniques and principals. Concepts of Programming Languages: Syntax and semantics. Analysis and Design Modes. Ethical and professional responsibilities.
Prerequisites: ICS 102: Introduction to Computing I
 
SWE 215: Software Requirements Engineering   (2-3-3)
Requirements engineering process. Methods, tools and techniques for eliciting, organizing and documenting software requirements. Analysis and validation techniques, including need, goal, and use case analysis. Requirements documentation standards. Traceability. Requirements management. Handling requirements changes. Students participate in a group project on software requirements.
PrerequisitesICS 201: Introduction to Computing II / SWE 205: Introduction to Software Engineering
 
SWE 311: Principles of Software Engineering (3-3-4)
History and overview of software engineering. Software processes. Software project management. Software requirements and specification. Software design. Software testing and validation. Software metrics. Software quality assurance. Software evolution. Using APIs. Software tools and environments.
PrerequisitesICS 202: Data Structures
 
SWE 312: User Interface Design  (3-0-3)
Psychological principles of human-computer interaction. Evaluation of user interfaces. Usability engineering. Task analysis, user-centered design, and prototyping. Conceptual models and metaphors. Software design rationale. Design of windows, menus, and commands. Voice and natural language I/O. Response time and feedback. Color, icons, and sound. Internationalization and localization. User interface architectures and APIs. Case studies and project.
PrerequisitesSWE 205: Introduction to Software Engineering
 
SWE 316: Software Design and Architecture   (3-0-3)
Study of design concepts and notations. Architecture, middleware architectures, design patterns, frameworks and components. Designing for qualities such as performance, security, reusability, reliability. Metrics and measurement. Basics of software evolution, re-engineering, and reverse engineering. Students participate in a group project on software design.
PrerequisitesICS 202: Data Structures / SWE 215: Software Requirements Engineering
 
SWE 321: Formal Methods and Models in Software Engineering (3-0-3)
Mathematical foundations for formal methods. Formal languages and techniques for specification and design, including specifying syntax using grammars and finite state machines. Analysis and verification of specifications and designs. Use of assertions and proofs. Automated program and design transformation.
PrerequisitesICS 202: Data Structures / ICS 253: Discrete Structures I
 
SWE 326: Software Testing and Quality Assurance  (3-0-3)
Concept of software quality, and software quality metrics. Software quality assurance planning & implementation. Quality process standards. Validation & verification. Reviews, walkthroughs, & inspections. Mechanisms for validating software systems. Techniques for generating and validating test data. Students participate in a group project on software validation and verification.
PrerequisitesSWE 215: Software Requirements Engineering / SWE 312: User Interface Design
 
SWE 344: Internet Protocols and Client-Server Programming   (2-3-3)
Principles of inter-network architecture and communication protocols. Open systems and interoperability. Case studies of particular protocols from network layer and above. Socket programming. Remoting. Selected examples of networked client-server applications such as e-mail, news, file-transfer, HTTP. Client-Server Programming Project(s). Using APIs. Software tools and environments.
PrerequisitesICS 202: Data Structures
 
SWE 363: Web Engineering and Development   (3-0-3)
Web Engineering fundamentals: requirements, analysis modeling, design modeling, testing. Internet basics for web applications. Technologies and tools for developing web applications: markup languages, styling, data description and transformation, client and server side programming. Web services. Advances in web engineering.
PrerequisitesJunior Standing
 
SWE 387: Software Project Management (3-0-3)
Introduction project management concepts, tools, and techniques: integration management and project planning, scope management, scheduling, budget control, human resource management, communication management, risk analysis and management, project quality management, and procurement management.
PrerequisitesJunior Standing
 
SWE 416: Software Architecture   (3-0-3)
Study the concepts, principles, methods, and best practices in software architecture. Different architectural styles, patterns and product lines are presented and compared. Methods to analyze, evaluate and document software architectures are also discussed. Students participate in a group project on software architecture design.
PrerequisitesSWE 316: Software Design and Architecture 

SWE 417: Software Engineering Project I   (1-6-3)
This is the first part of a two-semester senior-year capstone project. Student teams employ knowledge gained from courses throughout the program such as development of requirements, design, implementation, and quality assurance to develop a software solution to a real-world problem from conception to completion. In this part students develop project plan, software requirement specification and software design document.
PrerequisitesSWE 316: Software Design and Architecture / SWE 387: Software Project Management
 
SWE 418: Software Engineering Project II   (0-6-2)
This is the second part of a two-semester, senior-year capstone project. Student teams employ knowledge gained from courses throughout the program such as development of requirements, design, implementation, and quality assurance to develop a software solution to a real-world problem from conception to completion. In this part, students implement the design they produced in SWE 417, test their code, and evaluate their final product.
PrerequisitesSWE 326: Software Testing and Quality Assurance / SWE 417: Software Engineering Project I
 
SWE 436: Object-Oriented Design Patterns   (3-0-3)
A depth study of object-oriented design patterns. How design patterns solve design problems? How to select a design pattern? How to use a design pattern? Detailed study of creational patterns, structural patterns, and behavioral patterns. Case studies.
PrerequisitesSWE 316: Software Design and Architecture
 
SWE 469: Software Metrics   (3-0-3)
Overview of software metrics, basics of measurement theory, goal-based framework for software measurement, empirical investigation in software engineering. Measuring internal product attributes, measuring external product attributes, measuring cost and effort, measuring software reliability, software test metrics, and object-oriented metrics.
PrerequisitesSTAT 319: Probability and Statistics for Engineers and Scientists
 
SWE 487: Software Processes and Process Improvements.   (3-0-3)
Software process models. Software process analysis. Life cycle process models and standards. Process implementation at various levels like organization, project, team, or individual. Measurement and analysis of software process. Process improvements.
PrerequisitesSWE 326: Software Testing and Quality Assurance
 
SWE 490: Special Topics I (3-0-3)
In-depth study of a selected special topic relevant to software engineering
PrerequisitesSenior Standing
 
SWE 491: Special Topics II (3-0-3)
In-depth study of a selected special topic relevant to software engineering
PrerequisitesSenior Standing

488