Students
Tuition Fee
Not Available
Start Date
Not Available
Medium of studying
Not Available
Duration
Not Available
Details
Program Details
Degree
Bachelors
Major
Computer Science | Information Technology | Software Engineering
Area of study
Information and Communication Technologies | Engineering
Course Language
English
About Program

Program Overview


Software Engineering Program

The Software Engineering program at DePaul University offers a comprehensive curriculum that covers the principles, techniques, and tools of software engineering. The program is designed to provide students with a strong foundation in software engineering principles, as well as practical experience in designing, developing, and testing software systems.


Undergraduate Courses

The undergraduate program in Software Engineering offers a range of courses that cover the fundamentals of software engineering, including:


  • SE 325: Introduction to Software Engineering: This course introduces students to the activities performed at each stage of the development process, including software development processes, domain modeling, requirements elicitation and specification, architectural design and analysis, and project management skills.
  • SE 330: Object-Oriented Modeling: This course covers object-oriented modeling techniques for analysis and design, including the Unified Modeling Language (UML) and the Unified Process.
  • SE 333: Software Testing: This course covers the key ingredients in creating and/or managing a successful testing program, including test lifecycle planning, test design and coverage analysis, and best practice strategies in software testing.
  • SE 341: Continuous Delivery and DevOps: This course studies the tools, techniques, and processes used in continuous delivery and DevOps, including the economics of DevOps, virtualization, cloud technologies, and automated builds and testing.
  • SE 350: Object-Oriented Software Development: This course covers the principles, techniques, and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems.
  • SE 352: Object-Oriented Enterprise Application Development: This course focuses on applying object-oriented techniques in the design and development of software systems for enterprise applications.
  • SE 356: Software Development for Mobile and Wireless Systems: This course covers the unique aspects of developing software applications for mobile and wireless systems.
  • SE 357: Concurrent System Development: This course covers the fundamentals and techniques of developing concurrent object-oriented applications.
  • SE 358: Software Development for Limited and Embedded Devices: This course covers the unique aspects, tools, and techniques for developing software applications for limited and embedded devices.
  • SE 359: Agile Software Development: This course focuses on the fundamentals, principles, tools, and techniques in agile software development.
  • SE 368: Software Measurement and Project Estimation: This course covers software metrics, productivity, effort and defect models, and software cost estimation.
  • SE 371: Practices of Global Software Development: This course studies the challenges and solutions for developing software in a global environment.
  • SE 380: Design of Object-Oriented Languages: This course covers issues in the design and specification of object-oriented programming languages.
  • SE 391: Software Engineering Studio I: This course provides students with hands-on experience in developing realistic software systems in a master-apprentice environment.
  • SE 392: Software Engineering Studio II: This course is a continuation of SE 391, where students work in small teams to develop realistic software systems.
  • SE 399: Independent Study: This course allows students to pursue independent study in software engineering under the supervision of an instructor.

Graduate Courses

The graduate program in Software Engineering offers a range of courses that cover advanced topics in software engineering, including:


  • SE 430: Object-Oriented Modeling: This course covers object-oriented modeling techniques for analysis and design, including the Unified Modeling Language (UML) and the Unified Process.
  • SE 433: Software Testing and Quality Assurance: This course covers the key ingredients in creating and/or managing a successful testing program, including test lifecycle planning, test design and coverage analysis, and best practice strategies in software testing.
  • SE 441: Continuous Delivery and DevOps: This course studies the tools, techniques, and processes used in continuous delivery and DevOps, including the economics of DevOps, virtualization, cloud technologies, and automated builds and testing.
  • SE 450: Object-Oriented Software Development: This course covers the principles, techniques, and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems.
  • SE 452: Object-Oriented Enterprise Computing: This course focuses on applying object-oriented techniques in the design, development, and integration of server-side enterprise applications.
  • SE 453: Architecture and Frameworks for Developing Client Applications: This course covers software architectures, frameworks, and techniques for developing web-based thin client applications and rich desktop client applications.
  • SE 456: Architecture of Real-Time Systems: This course discusses the principles, styles, and patterns of real-time software architecture.
  • SE 457: Service-Oriented Architecture: This course provides an in-depth study of service-oriented architecture (SOA) from the business, architectural, and technology perspectives.
  • SE 459: Agile Software Development: This course focuses on the fundamentals, principles, tools, and techniques in agile software development.
  • SE 468: Software Measurement/Project Estimation: This course covers software metrics, productivity, effort and defect models, and software cost estimation.
  • SE 475: Managing Globally Distributed Software Development: This course covers the management, implementation, and deployment of software within the context of outsourced, distributed development, and insourced projects.
  • SE 477: Software and Systems Project Management: This course presents project management from a practitioner's view, covering the four basic building blocks of software project management: people, process, tools, and measurements.
  • SE 480: Software Architecture I: This course covers the Software Architecture process, including architectural patterns and tactics, architecture assessment techniques, and techniques for documenting architectures.
  • SE 491: Software Engineering Studio: This course provides students with hands-on experience in developing realistic software systems in a master-apprentice environment.
  • SE 511: Practices of Global Software Development: This course studies the challenges and solutions for developing software in a global environment.
  • SE 525: Software Security Architecture: This course covers architectural patterns for integrating security into software, including authentication, access control, and auditing.
  • SE 526: Software Security Assessment: This course covers how to conduct software security assessment to identify software vulnerabilities.
  • SE 529: Software Risk Management: This course covers the identification, estimation, evaluation, planning, controlling, and monitoring of risk involved in the development, maintenance, operation, and evolution of systems.
  • SE 533: Software Validation and Verification: This course covers techniques, methods, and tools for software inspection and testing, including formal verification of programs and automated analysis of programs.
  • SE 546: Software Architecture and Design for Desktop Applications: This course introduces students to architecture, design, and implementation issues for developing GUI-based desktop applications.
  • SE 549: Model-Driven Software Development: This course covers advanced methods and techniques in software specification, modeling, and model-driven development.
  • SE 554: Enterprise Component Architecture: This course covers object-oriented component architectures for enterprise applications.
  • SE 556: Advanced Architecture of Computer Games: This course discusses advanced issues in software architecture and the engineering of computer games.
  • SE 560: Structured Document Interchange and Processing: This course covers emerging technologies associated with the Extensible Markup Language (XML).
  • SE 579: Analytics and Data Mining in Software Engineering: This course discusses the application of selected statistical analysis, data mining, and machine learning techniques to the area of Software Engineering.
  • SE 581: Software Architecture II: This course exposes students to case studies of real-world software architectures and provides hands-on practice in reverse engineering, designing, and assessing existing systems.
  • SE 582: Software-Intensive Systems Engineering and Management: This course introduces students to fundamental principles of systems engineering for large and complex software-intensive systems.
  • SE 591: Software Engineering Studio II: This course is a continuation of SE 491, where students work in small teams to develop realistic software systems.
  • SE 598: Topics in Software Engineering: This course covers specific topics selected by the instructor, which may vary with each quarter.
  • SE 599: Independent Study: This course allows students to pursue independent study in software engineering under the supervision of an instructor.
  • SE 690: Research Seminar: This course provides readings and discussion on current research topics in software engineering.
  • SE 691: Research Seminar Continuation: This course is intended for students not registering in either SE 696 or SE 698.
  • SE 695: Master's Research: This course allows students to work with a faculty member on a research project, including system development, empirical studies, or theoretical work.
  • SE 696: Master's Project: This course allows students to complete a master's project under the supervision of an advisor.
  • SE 698: Master's Thesis: This course allows students to complete a master's thesis under the supervision of a thesis committee.
  • SE 699: Software Engineering Research Continuation: This course is intended for students who have registered for SE 698 and need to continue their research.
See More