main navigation
my pace

800

CS 812 Advanced Concepts and Structures in Internet Computing

Course Description:
Course Rotation: Fall.

4 credits

CS 825 Component Architecture for Enterprise Application Development

Course Description: This course provides in-depth coverage of object-oriented techniques in the design and development of software systems for enterprise applications. The following topics will be covered as part of the course: Component Architecture, (Enterprise JavaBeans), GUI components such as Swing, Database Connectivity and Object Repositories, Server Application integration using technologies such as servlets, JSP, and JDBC.

3 credits

Prerequisites

CS 616 Min Grade C

CS 831 Mathematical Modeling of Software Artifacts

Prerequisite: Familiarity with mathematical logic, set theory, and discrete mathematics.

Course Description: Concepts abstraction relations, invariants, non-determinism, inductive definitions are covered extensively in this course. The students understand the strengths and weaknesses of certain models and logics including state machines, algebraic and process models. The students learn how to select and describe appropriate abstract formal models for certain classes of systems, and reason about the correctness of refinements be able to prove elementary properties about systems described by the models introduced in the course.

3 credits

CS 835 Data and 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.

3 credits

CS 851 Software Validation and Verification Techniques

Course Description: A variety of validation and verification techniques are discussed. The testing process, planning and strategies, statistical testing, tools and approaches on testing. Static verification of software using both traditional and state of the art static analysis tools.

3 credits

Prerequisites

CS 616 Min Grade C

CS 860 Introduction 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.

3 credits

CS 861 Human Factors and Usability Metrics

Course Description: This course surveys methods for evaluating user interfaces. Students will 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.

3 credits

Prerequisites

CS 616 Min Grade C

CS 865 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.

3 credits

Prerequisites

CS 616 Min Grade C

CS 870 Software Risk Management

Course Description: Project risks will be presented and analyzed. Techniques to counteract these risks will be explored and discussed. The course looks into the following topics: project risks, product risks, and business risks. Students learn how to identify, analyze, plan, and monitor any potential risks that may arise during the software development process.

3 credits

Prerequisites

CS 616 Min Grade C and CS 775 Min Grade C and CS 777 Min Grade C

CS 890 Topics in Software Development/Human Computer Interaction/Software Management

Course Description: This is a special topics course where students will be exposed to the latest and most exciting developments in the areas of software development and management as well as human computer interaction.

3 credits

Prerequisites

CS 616 Min Grade C

CS 896 Software Research Seminar

Course Description: Emerging technologies and topics in software engineering will be discussed and presented by both faculty and students. Students will pick one of those topics (and/or problems) discussed and they will do some further research on that. At the end of the semester, they will have to present their findings to the rest of the class. The course will give to those students who will not pursue the thesis option an opportunity to be exposed to the state of the art research in software engineering area.

3 credits

Prerequisites

CS 616 Min Grade C