main navigation
my pace

SE - Software Engineering

SE 116 Introduction to Software Engineering

This course presents a hands-on study of software engineering methods. Topics include: Characteristics of Software Engineering, Software Life Cycle & Development Methodologies, Problem Analysis & Requirements Engineering, Analysis & Design Tools, Usability, Validation & Verification, Risk Analysis, and Software Project Management.

4 credits

SE 273 Software Design and Architecture

This course will start with a summary of Object Oriented and functional methods fur software development. Students will learn how to realize a design in an 00 language (like Java), learn a variety of software design patterns and get exposed to problems and issues of large system design.

4 credits

SE 275 Software Requirements Engineering

This course describes the role of requirements in the construction and continued maintenance of software- intensive systems. It provide s a broad overview of the notations, techniques, methods and tools that can be used to support the various requirement s engineering activities, offers a framework to assess their applicability, and complements this with the opportunity to gain experience in a selection of these. The course seeks to illustrate the wider relevance of requirements engineering to everyday projects, examine the breath of skills required and explore the many contributing disciplines.

4 credits

SE 300 Independent Study

In this course the student selects a topic of interest and working with a professor he studies it deeper.

1 - 4 credits

SE 340 Formal Software Development Methods

Focus on an emerging and promising software development technique -the formal methods. Emphasize the practical applications of formal methods in various phases of the software development.

4 credits

SE 360 Engineering Software for Mobile Platforms

This course covers the new potentials and challenges that mobile brings to software engineering. It looks at the common software engineering tools, methods, and processes that are appropriate for designing and maintaining mobile software services and applications. The course covers topics including requirements engineering, user involvement, usability, design, tools and frameworks, deployment, testing, and the integration of mobile services and apps with conventional systems. A significant project is integrated in the course.

4 credits

SE 365 Document Engineering

In this course student will learn the methods of developing requirements, analyzing existing documents and information sources, conceptual modeling, identifying reusable semantic components, modeling business processes and user interactions applying patterns to make models more robust, representing models using XML schcmas and using XML models to implement and drive applications.

4 credits

SE 370 Human Computer Interaction

Concepts, theory, and practical techniques will be introduced for designing and building user-centered, intuitive, effective computing systems. Topics include principles of usable design, interface clements, user psychology, prototyping, and an introduction to interface evaluation. Project examples may include web design, multimedia interfaces, mobile and specialized applications.

4 credits

SE 373 Software Verification, Validation and Quality Assurance

This course covers software validation and verification techniques, and their role in the software engineering process and in quality assessment. Validation addresses the question whether the right software was built for the user, and verification tackles issues related to whether software is correct with respect to some specification. The testing process, metrics for software testing, and a variety of testing techniques and supportive tools are introduced.

4 credits

SE 380 Software Process Improvement

This course will discuss the CMM model from SEI. Each level of this capability maturity model will be studied and case studies will be development. Also CMMI will be extensively discussed and studied.

4 credits

SE 385 Software Engineering for Distributed Teams

This course focuses on software engineering for distributed teams, including global teams. It permits students to gain an understanding of the advantages, challenges and strategies of distributed and global software development. Students learn about the role of processes such as distributed Serum. Students develop effective teamwork skills, become familiar with collaborative development environments and social tools for distributed teams (e.g., Jazz), and experience global software development in a project involving students distributed across cultures, times and locations.

4 credits

SE 399 Thesis

In this course the student either consults with a professor and selects a topic of interest or ask a professor to join an on going research project. The student prepares him/her self by studying materials and working with the professor.

4 credits

SE 485 Software Development Studio

In this course, students will be working on project in a team. This project will be carried out from conceptualization to completion using the current technologies.

4 credits

SE 602 Fundamental Computer Science I with Java

Course Description: Students will be introduced to the fundamental concepts of Object oriented approach using Java as the programming language. The course places a strong focus on problem solving and object oriented thinking. The course will also cover: Introduction to objects and Object Oriented analysis and design, Class libraries, packages and formatted output, compiling and running applications, fundamental issues of programming: I/O, data types, assignments and expressions, conditional statements, loop statements, classes and Objects, events, listeners, animations, strings, arrays, graphics, colors.

Course Rotation: NY:Summer

4 credits

SE 616 Introduction to Software Engineering

Course Description: This seminar will examine the methodologies used in design, documentation, verification, implementation, validation, performance, evaluation and maintenance for the development of large software systems. Methodologies included are structured programming and walk-throughs, top-down modular design, proof of correctness and automated testing techniques. Seminar participants will design and implement large modular software systems using techniques chosen or evolved from those presented.

4 credits

SE 673 Software Design Methodologies

Course Description: The objective of this course is to get you thinking seriously about how people interact and communicate with computers. There are several specific goals: to examine basic concepts and design guidelines for HCI, to acquire practical experience in the implementation and evaluation of interfaces, to explore appropriate uses of multimodal input and output methods, to answer the challenge of designing for universal accessibility, and to discover the state of the art in HCI research. We will discuss principles which can be applied to improving how people interact with all kinds of systems which incorporate computers, such as: desktop machines, the web, handheld devices, and nontraditional systems such as the new NYC subway trains. Throughout the semester, the emphasis will be on learning through watching and doing, rather than on formal lectures.

Course Rotation: NY: Fall

4 credits

SE 675 Requirements Engineering

Course Description: The objective of this course is to get you thinking seriously how people interact and communicate with computers. There are specific goals: to examine basic concepts and design guidelines for HCI, to acquire practical experience in the implementation and evaluation of interfaces, to explore appropriate uses of multimodal and output methods, to answer challenges of designing for universal accessibility, and to discover the state of the art in HCI research. We will discuss principles which can be applied to improving how people interact with all kinds of systems which incorporate computers, such as: desktop machines, the web, handheld devices, and nontraditional systems such as the new NYC subway trains. Throughout the semester, the emphasis will be on learning through watching and doing, rather than on formal lectures.

Course Rotation: Spring:NY

3 credits

SE 677 Software Reliability & Quality Assurance

Course Description: Reliability is a key attribute of software quality defined as the probability of failure-free software operation for a specified period of time in a specified environment. The course focuses on modeling, measuring and improving software reliability. It covers the place of dependability in reliability. It introduces different software reliability models, metrics to assess and techniques to improve software reliability. It looks at the specific roles of auditing, testing, standards and processes in the context of quality.

Course Rotation: NY;Spring

3 credits

Prerequisites

SE 616 Minimum Grade of C

SE 679 Contemporary Software Engineering Theory and Practice

Course Description: Contemporary Software Engineering Theory and Practice is an introduction to advanced software engineering research and methodologies. It surveys the entire field of software engineering, drawing upon the latest advances that have been published in software engineering journals and conference proceedings. Topics to be covered include: Requirements Engineering, Software and System Design, Testing Methodologies, Maintenance Techniques, Project Management Practices, Software Engineering Tools and Methods, Quality Assurance Procedures, Software Models and Metrics, Visualization in Software Engineering and Risk Management.

Course Rotation: Spring:NY

4 credits

SE 700 Independent Study

Course Description: Students will take this course in order to complete a study in the area of their own interest in close cooperation with the professor. It is a variable credit course. The number of credits is determined by the professor and is based on the depth of the study and the volume of the work performed by the student.

Course Rotation: Summer:NY

1 - 4 credits

SE 735 Data & Document Representation and Processing

Course Description: This course describes a variety of important aspects of modern software application development: the data and document interchange between different applications. Emerging technologies such as Extended Markup Language (XML), XML Schema, Style-sheet Language (XSL) and Document Object Model (DOM). Existing applications and tools will be discussed and used in small projects for parsing, transforming and manipulating documents.

Course Rotation: Spring:NY

3 credits

Prerequisites

SE 616 Minimum Grade of C

SE 741 Formal Software Development

Course Description: The objective of this course is to get you thinking seriously about how people interact and communicate with computers. There are several specific goals: to examine basic concepts and design guidelines for HCI,    to acquire practical experience in the implementation and evaluation of interfaces, to explore appropriate uses of multimodal input and output methods, to answer the challenge of designing for universal accessibility, to discover the state of the art in HCI research.We will discuss principles which can be applied to improving how people interact with all kinds of systems which incorporate computers, such as: desktop machines, the web, handheld devices, and nontraditional systems such as the new NYC subway trains. Throughout the semester, the emphasis will be on learning through watching and doing, rather than on formal lectures.


Course Rotation:
Summer:NY

3 credits

SE 745 Concurrent Software Development

Course Description: This course provides an overview of the principles of concurrent software development along with detailed study of the following topics: Threads, RMI, CORBA, and Java IDL JDBC, safety and live ness, strategies and patterns in Java.


Course Rotation:
Spring:NY

3 credits

SE 751 Software Validation & Verification Techniques

Course Description: This course covers software validation and verification techniques and their role in the software engineering process and quality assessment. Testing processes, metrics, and a variety of testing techniques (including unit, blackbox/whitebox, structural, security, and performance testing) and supportive tools are introduced. The course also addresses the use of logic to specify and prove properties of programs using model checking and theorem proving.

Course Rotation: Spring;NY

3 credits

Prerequisites

SE 616 Minimum Grade of C

SE 760 Intro to Human-Computer Interaction

Course Description: Design principles and practical techniques will be introduced for building and evaluating user-centered, intuitive, effective computing systems; these will be explored through a series of design projects and student presentations. Topics include principles of usable design, interface elements, user psychology, prototyping, and an introduction to interface evaluation. Project examples may include web design, multimedia interfaces, mobile and specialized applications.


Course Rotation:
Spring:NY

3 credits

SE 761 Human Factors & Usability Metrics

Course Description: This course surveys methods for evaluating user interfaces. Students will learn essential knowledge to be able to perform a heuristic evaluation, a cognitive walkthrough, a usability test and a comparison study. Class meetings will also introduce, discuss and occasionally practice additional techniques including user modeling, usage logging, surveys, and focus groups. A primary goal is to learn how to conduct various methods for evaluating user interfaces.

Course Rotation: Spring;NY

3 credits

SE 765 Distributed Software Development

Course Description:This course introduces design and implementation of network distributed systems. Design and formal specification of client-server applications using state machines and communication protocol techniques. Also teaches the fundamentals and techniques of developing distributed object-oriented applications, using a patterns-based approach. Concepts covered include: networks, client-server architectures, dataflow networks, sockets, and message-passing systems.

Course Rotation: Spring:Summer;NY

3 credits

Prerequisites

SE 616 Minimum Grade of C

SE 770 Software Risk Management

Course Description: This course will discuss Software Security Touchpoints (i.e., software security best practices), including: Code Review, Architectural Risk Analysis, Penetration Testing, Risk-Based Security Testing, Abuse Cases, Security Requirements, and Security Operations. Additional topics such as Enterprise Software Security Program will also be covered.

Course Rotation: NY;Spring

3 credits

SE 780 Software Develop Process Improvement

Course Description: This course will discuss the CMM model from SEI. Each level of this capability maturity model will be studied and case studies will be development. Also CMMI will be extensively discussed and studied.

Course Rotation: Spring; NY

3 credits

SE 785 Software Engineering Studio

Course Description: The SE studio is the capstone course for this program. It provides the opportunity for students to apply the knowledge and expertise that they have gained throughout the program to a significant, realistic and practical problem. They plan, estimate, develop and evaluate software solutions to these problems. The main goal is to apply the majority of the content of the core in this course. The software projects would be used from clients outside the group of students. These clients could be the Information Systems Division at Pace University or local business and software development companies.

Course Rotation: NY;Summer

3 credits

SE 790 Topics in Software Development/HCI/Software Management

Course Description: The objective of this course is to get you thinking seriously about how people interact and communicate with computers. There are several specific goals: to examine basic concepts and design guidelines for HCI, to acquire practical experience in the implementation and evaluation of interfaces, to explore appropriate uses of multimodal input and output methods, to answer the challenge of designing for universal accessibility, to discover the state of the art in HCI research We will discuss principles which can be applied to improving how people interact with all kinds of systems which incorporate computers, such as: desktop machines, the web, handheld devices, and nontraditional systems such as the new NYC subway trains. Throughout the semester, the emphasis will be on learning through watching and doing, rather than on formal lectures.

Course Rotation: Spring:Summer;NY

3 credits

SE 796 Software Research Seminar

Course Description: The objective of this course is to get you thinking seriously about how people interact and communicate with computers. There are several specific goals: to examine basic concepts and design guidelines for HCI, to acquire practical experience in the implementation and evaluation of interfaces, to explore appropriate uses of multimodal input and output methods, to answer the challenge of designing for universal accessibility, to discover the state of the art in HCI research. We will discuss principles which can be applied to improving how people interact with all kinds of systems which incorporate computers, such as: desktop machines, the web, handheld devices, and nontraditional systems such as the new NYC subway trains. Throughout the semester, the emphasis will be on learning through watching and doing, rather than on formal lectures.

Course Rotation: Spring:Summer;NY

3 credits