Skip to Content

Course Search Results

  • 3.00 Credits

    This course explores the requirements, analysis, design and evaluation of the User Interface in the context of Software Engineering Processes. Usability is one of the key factors determining whether a software project succeeds or fails. Specific methods and design problems will be illustrated with real-world examples in information technology, the internet, communications, multimedia, mobility and speech technologies. This course prepares students to perform usability tasks directly or to successfully manage and collaborate with usability tasks directly or to successfully manage and collaborate with usability experts.
  • 3.00 Credits

    Principles and Patterns of Software Design will focus on learning patterns that demonstrate how to write code that is easier to understand, easier to debug, and more maintainable. Principles covered will include: separating interfaces from implementation, programming to an interface not an implementation, encapsulating variation apart from constants, and why classes should be open for extension but closed for modifications.
  • 3.00 Credits

    This course focuses on modern database management concepts (including NOSQL and object) and models; SQL for data definition and data manipulation; database design through normalization; influence of design on the use of indexes; views, sequences, joins and triggers; use of APIs for database access. Comprehensive database project in a team environment. Corequisite:    SE 3250 AND SE 3820
  • 3.00 Credits

    The course introduces students to the fundamental principles common to the design and implementation of programs that run on two or more interconnected computer systems. It will concentrate on systems and software issues that are critical for building advanced Internet-scale application systems, including web servers, web proxies, application servers, database servers, and a number of prominent Internet application areas.
  • 3.00 Credits

    Learn how to develop mobile applications that run cross-platform (iOS, Android and Windows), and integrate those mobile applications with external APIs. Corequisite:    SE 3140 AND SE 3830
  • 3.00 Credits

    This course focuses on the concepts and technologies needed to develop dynamic web-based applications. Students build data-driven websites and APIs using modern languages and tools. Corequisite:    SE 3250 AND SE 3520
  • 3.00 Credits

    Develop skills necessary to deploy and manage code in a public cloud environment such as Amazon AWS, Microsoft Azure, Google GCP, etc. Understand the differences and tradeoffs between Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) and other cloud models. Practice automating the compiling, testing and deploying of your code directly into a production environment. This new model of computing requires software developers to think in new ways. Software engineers need to understand the low cost and scalability of the cloud and consider the security and pricing implications of this approach. Corequisite:    SE 3140 AND SE 3630
  • 3.00 Credits

    This course focuses on modern web infrastructure. The course covers monitoring and instrumentation to assist in operational awareness of software solutions.
  • 2.00 Credits

    This course will explore different software project management topics from project concept through development and delivery, based upon best practices. It will explore how to manage projects that use different development methodologies (e.g., waterfall, iterative, or agile methodologies) or a blend of development methodologies. The class will dive more deeply into certain topics in project management, such as Change, Risk, and Portfolio Management; managing global projects and those with virtual teams; and look at some of the reasons why projects fail and what can be done to either keep a project from failing or salvaging a project going south.
  • 2.00 Credits

    This course examines ethical and social issues arising from the rapid advances in computer and networking technologies. Through this course students will become familiar with the current debates and legislation in the computing field as well as the ethical dilemmas that underlie them.