Sign In
 

 B.S. In Software Engineering - Course List

​​​​Goal and Mission Objectives
and Learning Outcomes
SWE with
Summer Training
​St​udent Guide Prerequisite
Diagram
Course List

​SWE 205: Introduction to Software Engineering  Syllabus (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: 

SWE 215: Software Requirements Engineering Syllabus  (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.
Prerequisites: 

SWE 311: Principles of Software Engineering  Syllabus (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.
Note: Not to be taken by SWE students.
Prerequisites: 

SWE 312: User Interface Design  Syllabus (3-0-3)

Study of both theoretical and practical issues in human-computer interfaces. User interface design process. Usability engineering. Development, programming, and evaluating interface designs. Design of windows, and menus. Commands and natural languages I/O. Visual prototyping. User manuals, online help and tutorials. Students participate in a group project on software user interface design.
Prerequisites: 

SWE 316: Software Design and Architecture Syllabus (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.
Prerequisites: 

SWE 321: Formal Methods and Models in Software Engineering Sylla​bus​  (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.
Prerequisites: 

SWE 326: Software Testing and Quality Assurance  Syllabus (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.
Prerequisites: 

SWE 344: Internet Protocols and Client-Server Programming  Syllabus  (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.
Prerequisites: 

SWE 363: Web Engineering and Development Syllabus (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.
Eligibility Requirements: Junior Standing

SWE 387: Software Project Management  Syllabus (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.
Eligibility Requirements: Junior Standing

SWE 416: Software Architecture Syllabus (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.
Prerequisites: 

SWE 417: Software Engineering Project I Syllabus  (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.
Prerequisites: 

SWE 418: Software Engineering Project II Syllabus  (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.
Prerequisites: 

SWE 436: Object-Oriented Design Patterns Syllabus (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.
Prerequisites: 

SWE 399: Summer Training  Syllabus (0-0-0)

A summer period of 8 weeks spent as a trainee in industry, business, or government agencies for the purpose of familiarizing the student with the real job world and enabling him to apply and relate his academic knowledge to a real work environment. The student is required to participate in computer science related activities and use his time to get acquainted with the computer science related functions and resources used by his employing organization. Besides progress reports, the student is required to submit a final report and do a presentation on his experience and the knowledge he gained during his summer training program. The student receives a zero-credit Pass/Fail grade.
Eligibility Requirements: Department Approval
Prerequisites: 

SWE 469: Software Metrics Syllabus  (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. 
Prerequisites: 

SWE 487: Software Processes and Process Improvements  Syllabus (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. 
Prerequisites: 

SWE 490: Special Topics I  Syllabus (3-0-3)

In-depth study of a selected special topic relevant to software engineering.
Eligibility Requirements: Senior Standing

SWE 491: Special Topics II  Syllabus (3-0-3)

In-depth study of a selected special topic relevant to software engineering.
Eligibility Requirements: Senior Standing