Course Requirements

Introductory Courses

Foundation Courses

Advanced Courses

Major Elective Courses

SE courses in the 421-699 range and courses from the list below qualify as Major Elective Courses. Students must take 3 Major Elective Courses. At least 2 must be SE courses.

Enterprise Software Development

Software Architecture

Computer Security

Distributed Systems

Project Management

User Centered Development

Programming Languages and Compiler

Gaming and Entertainment Technology

Software Engineering Research

  • SE 690 RESEARCH SEMINAR  and  
  • SE 696 MASTER'S PROJECT or SE 698 MASTER'S THESIS
    • The Master's Project or Thesis must represent an original contribution to the area, and may include system development, empirical studies, or theoretical work. The scope and the details of the research project will be determined by the research supervisor, and must be approved by the student's academic advisor.

CDM Open Elective Courses

Students must complete one CDM Open Elective Course in the 421-699 range. ANI, DC, TV, and VFX courses do not qualify. Credit for courses taken outside of the school will only be given if approved by a faculty advisor.

Capstone

Students must complete the following courses as a sequence in consecutive quarters.

 

CSC 400

DISCRETE STRUCTURES FOR COMPUTER SCIENCE

This course covers the basic mathematical tools essential for solving problems in computer science. The mathematical topics are presented with emphasis on their applications in computer science. The topics covered include: logic and set theory, relations, functions, graphs, and counting and probability.

CSC 401

INTRODUCTION TO PROGRAMMING

An introduction to programming with a focus on problem solving, structured programming, and algorithm design with a gentle introduction to efficiency. Concepts covered include data types, expressions, variables, assignments, conditional and iterative structures, functions, file input/output, exceptions, namespaces, and recursion. PREREQUISITE(S): None
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 402

DATA STRUCTURES I

A first course on data structures in Java for graduate students. The course introduces Java programming from within the context of data structures. The course covers arrays, linked lists, stacks and queues, data structures supporting disjoint-set operations, and discusses recursion and performance analysis. The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency. PREREQUISITE(S): CSC 401

CSC 403

DATA STRUCTURES II

This is the second course on data structures in Java for graduate students. The course covers trees, heaps, associative arrays, hash tables, tries, and data structures for representing graphs. The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency. PREREQUISITE(S): CSC 402
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 406

SYSTEMS I

An introductory graduate course on computer systems topics, focusing on machine-level programming and architecture and their relevance for application programming. Information representations, assembly language and debuggers, processor architecture, program optimization, memory hierarchy and caching. Students are recommended to finish CSC 400 before enrolling in this course. PREREQUISITE(S): CSC 401
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 407

SYSTEMS II

An introductory graduate course on computer systems topics, focusing on operating systems components and their relevance for application programming. Linking, processes, virtual memory, dynamic memory allocation, system level I/O, networking and network programming, concurrent servers and web services. PREREQUISITE(S): CSC 406 and CSC 402
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 430

OBJECT ORIENTED MODELING

Object-oriented modeling techniques for analysis and design. Provides the tools and techniques needed to solve complex, real-world software engineering problems in an object-oriented manner, using the most effective elements of the Unified Process. The course covers the essential concepts and notation of the Unified Modeling Language (UML), the standard notation for object-oriented analysis and design. Team project. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 433

SOFTWARE TESTING AND QUALITY ASSURANCE

This course is designed for the software engineering professional to gain a greater understanding of the key ingredients in creating and/or managing a successful testing program to meet project needs. Topics covered include test lifecycle planning, test design & coverage analysis, complexity, levels of testing such as unit, integration, system, performance and stress testing. Best practice strategies in software testing such as verification & validation, early lifecycle testing, risk based testing and automation will also be examined including exposure to test automation methods and tools. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 450

OBJECT-ORIENTED SOFTWARE DEVELOPMENT

Principle, techniques and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems. Topics include design patterns, application frameworks, architectural design, and the applications in the software development process to improve the extensibility, maintainability, and reliability of software systems. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 475

MANAGING GLOBALLY DISTRIBUTED SOFTWARE DEVELOPMENT

Managing Globally Distributed Software Development (GDSD) for IT projects. Issues associated with time zone differences, infrastructure support, geographical dispersion, and lack of centralized communication. The course will focus on the management, implementation and deployment of software within the context of outsourced, distributed development, and insourced projects. Additional topics include strategic management issues such as justification, vetting, consulting services and partnerships. Course will include several hands-on distributed development projects. PREREQUISITE(S): CSC 403

SE 477

SOFTWARE AND SYSTEMS PROJECT MANAGEMENT

Project Management is presented from a practitioner's view. The four basic building blocks of software project management: people, process, tools, and measurements are covered. Special emphasis is placed on professional standards such as the Project Management Book of Knowledge and IEEE Software Engineering Standards. Specific topics include Managing People, Selecting Project Tools, Leadership & Motivation, Software Development Processes, Estimation, Risk Analysis, Scheduling and Tracking, Leveraging Measurements, and Project Completion. Consideration is given to rapid development and project cultural issues. PREREQUISITE(S): Knowledge of the Software development life cycle model, for example through courses such as SE430, ECT455, IS425, MIS555 or through appropriate work experience.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 457

SERVICE-ORIENTED ARCHITECTURE

An in-depth study of service oriented architecture (SOA) from the business, architectural, and technology perspectives. The business perspective will explain the imperatives behind SOA and discuss the significance of SOA in industry. The architectural perspective will discuss the different architectural models of software development and contrast these with SOA. The technology perspective will provide students with the opportunity to gain the required hands-on experience to analyze, design, implement and deploy SOA solutions that will meet both functional and non-functional requirements. Major topics include software architectures in practice, SOA development lifecycle, Enterprise Service Bus, SOA analysis and design methods, Web Services, and governance. Prerequisite: SE 450 or CSC 435
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 480

SOFTWARE ARCHITECTURE I

The Software Architecture process is concerned with describing, evaluating, and designing systems at the architectural level. This course will discuss the role of architecture and the architect in the software development cycle. It will introduce architectural patterns and tactics, architecture assessment techniques, architecture driven design, and techniques for documenting architectures. The course will involve design, development, and assessment activities. PREREQUISITE(S): SE 450
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 581

SOFTWARE ARCHITECTURE II

In this second Software Architecture course, students will be exposed to case studies of real-world software architectures for which reliability, performance, availability, scalability and other such concerns drive the architectural design. Students will gain hands-on practice in reverse engineering, designing, and assessing existing systems including performance testing. Student will build on their prior knowledge to design complex systems in principled and systematic ways. The course will involve designing and implementing a simulated high scalability, high reliability system. PREREQUISITE(S): SE 480

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 using technologies such as servlets, Java Server Pages, and JDBC. Topics include web applications, multi-tier architecture, model-view-controller architecture, database connectivity, and security. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 554

ENTERPRISE COMPONENT ARCHITECTURE

This course will focus on object-oriented component architectures for enterprise applications. Topics include: Enterprise Java Beans (EJB), Java Naming and Directory Interfaces (JNDI), Java Mail and Messaging Services. PREREQUISITE(S): SE 450 or SE 452.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 453

ARCHITECTURE AND FRAMEWORKS FOR DEVELOPING CLIENT APPLICATIONS

This course will focus on software architectures, frameworks, and techniques for developing web-based thin client applications as well as rich desktop client applications. Topics will include discussion on design and architectural patterns, such as model-view-controller pattern; survey of widely used development frameworks for building client applications, such as Struts, Java Server Face (JSF), Swing, and SWT, etc.; discussion of widely used techniques such as AJAX; evaluation of the strengths and weaknesses of these technologies for making technology decisions. Students will gain hands-on experiences in developing applications that utilizes these frameworks and techniques. Prerequisite: SE 452.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 482

REQUIREMENTS ENGINEERING

Requirements Engineering (RE) plays a critical role in the software development process. This course will introduce related vocabulary, concepts, and techniques, and will examine the role of RE in software and systems engineering. The course will cover topics related to eliciting, validating, negotiating, analyzing, specifying, and managing requirements. Popular RE tools will also be introduced. Prerequisite: SE430 or SE450.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 533

SOFTWARE VALIDATION AND VERIFICATION

Techniques, methods and tools for software inspection and testing. Theory and applications of formal verification of programs. Techniques and tools for automated analysis of programs. PREREQUISITE(S): SE 450.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 560

STRUCTURED DOCUMENT INTERCHANGE AND PROCESSING

Document and data interchange among different applications is an extremely important aspect of software application development. This course will focus on emerging technologies associated with the Extensible Markup Language (XML), such as the Document Object Model (DOM), the Simple API for XML (SAX), the XML Stylesheet Language (XSL) and Transformation Language (XSLT), and XML Schema. Applications of these technologies will be discussed in conjunction with tools and techniques for parsing, transforming, and manipulating documents. PREREQUISITE(S): SE 450 OR ((CSC 383 or CSC 301) and SE 430).
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 438

FRAMEWORK FOR WEB APPLICATION DEVELOPMENT

This course introduces concepts, techniques, technologies and APIs for web application development. The main focus of the course is on the Model-View-Controller design pattern employed by modern full-stack web frameworks. Concepts and techniques covered include client/server programming, database abstraction APIs, and asynchronous javascript. Examples of full-stack MVC frameworks include Ruby-on-Rails (written in Ruby), Django and TurboGears (written in Python). PREREQUISITE: CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 453

DATABASE TECHNOLOGIES

A core graduate course in database design and implementation. Topics include database implementation and queries in SQL, logical design or relational databases, storage and indexes, database programming, and emerging database models. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 456

ARCHITECTURE OF COMPUTER GAMES

This course discusses the software architecture and the engineering of computer games. The topics include gaming platforms, libraries and frameworks for game development, techniques for accessing and managing low level devices and resources, and application of artificial intelligence. PREREQUISITE(S): CSC 403
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 549

MODEL-DRIVEN SOFTWARE DEVELOPMENT

Advanced methods and techniques in software specification, modeling, and model-driven development. Topics include approaches to software specification and modeling, formal specification languages, techniques for structural and behavioral modeling of software systems, and tools for analysis and transformation of software systems. PREREQUISITE(S): SE 430 or SE 450
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 558

ARCHITECTURE AND DESIGN FOR MULTIPLAYER GAMES

Multiplayer games were made possible by the advances in networking technology, increases in processor speed and data storage. Today, the majority of successful game titles are equipped with a multiplayer capability. This technical course discusses the fundamental aspects of multiplayer game development such as: design techniques, architectures, client and server side implementation, time and event synchronization, databases. PREREQUISITE(S): CSC 403 and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CNS 450

COMPUTER FORENSICS

This course focuses on the forensic analysis of data from computer systems. This course covers: preservation and interpretation of evidence; file systems, e.g., Ext3 and NTFS; storage behavior of applications; forensic tools; tool development and automation; indexing documents; reporting and testimony. Optional topics include: anti forensics; data mining; data recovery; intrusion detection; software forensics. PREREQUISITES: CSC 403 and CSC 406
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 525

SOFTWARE SECURITY ARCHITECTURE

Students in this course will learn architectural patterns for integrating security into software such as web applications. Topics include: an overview of software security; integration of authentication, access control, and auditing into software; programming with symmetric-key and asymmetric-key cryptography, including key distribution and key management, use of certificates, and SSL/TLS; security mechanisms in modern runtime environments, e.g., code signing, code verification, access control, and security policies. Students will get hands-on experience designing and implementing secure software. PREREQUISITE(S): CSC 435 and SE 450
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 526

SOFTWARE SECURITY ASSESSMENT

Students in this course will learn how to conduct software security assessment to identify software vulnerabilities in software such as web applications and operating system services. Topics include: common software vulnerabilities and attack vectors; malicious payloads, including shellcode structure; and application review techniques, including fuzzing and code auditing. Students will get hands-on experience identifying vulnerabilities in software. Prerequisite(s): CSC 435
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 439

COMPUTER SECURITY

This course covers core principles of computer security. Topics include : user authentication; access control (discretionary, mandatory, role-based); security auditing; database security; software security, common vulnerabilities, and secure coding practices; malicious software; and operating system security. Prerequisite(s): CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 435

DISTRIBUTED SYSTEMS I

An introduction to distributed systems.Topics may include: architecture of distributed systems; networking; datagram-oriented and stream-oriented protocols; network programming (for example, the sockets API); remote procedure call and remote method invocation; processes and threads; code migration; software agents; naming of non-mobile and mobile entities; cryptography and security. PREREQUISITE(S): CSC 403 and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 536

DISTRIBUTED SYSTEMS II (FORMERLY SE 536)

An intermediate course on distributed systems. Topics may include: clock synchronization; mutual exclusion; distributed transactions; consistency models; distribution and consistency protocols; failure models; achieving fault tolerance; distributed object-based systems; distributed file systems. PREREQUISITE(S): CSC 435
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 552

CONCURRENT SOFTWARE DEVELOPMENT

Fundamentals and techniques of developing concurrent object-oriented applications, using a patterns-based approach. Concepts covered include: threads, synchronization and object locking, thread blocking and deadlock, safety and liveness, state-dependent action and concurrency control. Formerly SE 552. PREREQUISITE(S): SE 450 and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 468

SOFTWARE MEASUREMENT/PROJECT ESTIMATION

Software metrics. Productivity, effort and defect models. Software cost estimation. PREREQUISITE(S): IT 403 and (SE430 or SE450)
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 529

SOFTWARE RISK MANAGEMENT

Identification, estimation, evaluation, planning, controlling, and monitoring of risk involved in the development, maintenance, operation and evolution of systems. PREREQUISITE(S): IT 403 and SE 430 or consent.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

IS 556

ENTERPRISE PROJECT MANAGEMENT

This course covers how an enterprise coordinates and effectively manages all its IT projects and programs through program management and the IT program management office. Students will learn the role of the IT program management office in establishing and maintaining the project and program infrastructure and in assisting project managers, program managers, and the executive steering committee. Students will analyze the role of program management in coordinating the delivery of expected program benefits, in managing stakeholder expectations, and in establishing program governance. PREREQUISITE(S): IS 430 or PM 430
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

IS 535

INFORMATION TECHNOLOGY INVESTMENT FINANCIAL ANALYSIS

This course focuses on the application of financial analysis and decision-making approaches to aid information technology investment decisions at the operational, project, tactical and strategic levels. Students will learn how to apply a variety of financial methods -- breakeven analysis, present value analysis, profitability index, and return on investment to various IT investment decisions. The course will also address cost benefit analysis, outsourcing, balanced scorecard, and multi-factor scoring, benchmarking, and IT investment portfolio methods. These techniques will prepare students to manage capital budgets, acquisition of system and application software, hardware, personnel, and professional services at project and system levels as well as enterprise investment portfolio. PREREQUISITE(S): SE 477 or IS 565 or ACCT 500 or IS 430 or PM 430 or ECT 455
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

IS 533

ENTERPRISE SECURITY INFRASTRUCTURE CONTROLS AND REGULATORY COMPLIANCE

Design, implementation, support and management of control methods in enterprise environments. Focus is on how these controls can help organizations achieve regulatory compliance. Review of Sarbanes-Oxley and its impact on IT systems. Detailed study of how risk assessment methods, information security program management and ERP systems can be used to fulfill regulatory and legal requirements. Control Objectives for Information and related Technology (COBIT) guidelines and best practices for SOX compliance. Security management standards (ISO 17799, BS 7799 and ISO 27001) . PREREQUISITE(S): IS 433
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

IS 565

IT OUTSOURCING

The course focuses on how organizations can use leverage of scale as a source for cost reduction; leverage of expertise for improved superior IT performance; leverage of access (e.g. location) to develop new strategies. Other topics covered include different types of sourcing strategies, sourcing maturity levels and best practices. PREREQUISITE(S): Completion of five or more SoC MS level courses is required
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

IS 560

ENTERPRISE SYSTEMS

An introduction to enterprise systems for data and process integration, including ERP systems. Topics include the requirements of enterprise systems, application architecture, tools, and functionality of leading enterprise systems, life cycle and methodologies for systems integration, selection, and implementation strategies. Also addressed are emerging trends for enterprise systems and relationship among component systems. PREREQUISITE(S): Advanced Standing
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

HCI 430

PROTOTYPING AND IMPLEMENTATION

Overview of prototyping methods ranging from low-fidelity to interactive script-based prototypes. Analysis of prototyping tools and their relative advantages. Projects include prototype development over multiple iterations using a variety of strategies. PREREQUISITE(S): IT 411 and HCI 440
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

HCI 440

INTRODUCTION TO USER-CENTERED DESIGN

The user-interface development process. Introduction to methods for practicing user-centered design including user and task analysis, user interface design principles and testing using low-fidelity prototypes. PREREQUISITE(S): None
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 546

SOFTWARE ARCHITECTURE AND DESIGN FOR DESKTOP APPLICATIONS

This course will introduce students to architecture, design and implementation issues for developing GUI-based desktop application. The goal is to understand the engineering aspect of user interface development -- that is the basic software architectures and designs that govern the development of graphical user applications including patterns like the Model-View-Controller and its derivatives, event-driven design, as well as addressing concurrency, performance, caching, and software packaging and distribution issues. The course will also provide an in depth exposure to the toolkits available in Java. Examples include JFC/Swing, JMF, JAF. Prerequisite(s): SE 450
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 447

CONCEPTS OF PROGRAMMING LANGUAGES

Programming paradigms and language concepts: functional programming; comparison of object-oriented languages; type systems for functional and object-oriented languages; runtime systems for functional and object-oriented languages. A variety of programming languages will be used to illustrate concepts, e.g., JavaScript, Ruby, Scala, Scheme. PREREQUISITE(S): CSC 403 and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 448

COMPILER DESIGN

Design and structure of high level languages. Lexical scan, top down and bottom up syntactic analysis. Syntax directed translation and LR(k) grammars. PREREQUISITE(S): CSC 447
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 548

ADVANCED COMPILER DESIGN

Emphasis on practical problems in implementing compilers, data flow analysis, code optimization, error analysis. Discussion of compiler generators. As a class project, students will write a compiler. PREREQUISITE(S): CSC 448.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

CSC 535

FORMAL SEMANTICS OF PROGRAMMING LANGUAGES

Methods of formal semantics. Lambda-calculus. Lattices and domains. Reflexive domains. Formal semantics of the lambda-calculus. Languages with state. Interpretation functions. Expressions and environments. Command and stores. Control structures and continuations. PREREQUISITE(S): CSC 447.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

GAM 453

TOOL PROGRAMMING FOR GAME DEVELOPMENT

Today's games are built with large amounts of data. The stability, usability, efficiency, and flexibility of the tools that process game data plays an enabling and critical role in game development. Topics include the content pipeline, processing or standard file formats, integration of external tools, file format design, command line and graphical user interfaces, and procedural content generation. PREREQUISITE(S): CSC 403 and CSC 407 and GAM 471
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

GAM 475

GAME ENGINE PROGRAMMING I

Game engines provide an integrated programming platform for today's high performance games. This class explores C/C++ game engine programming, data structures, and practices. Topics include memory management, input devices, video rendering, file access, debugging, and application interface development. PREREQUISITE(S): CSC 403 and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

GAM 490

MULTIPLAYER GAME DEVELOPMENT

Multiplayer games were made possible by the advances in networking technology, increases in processor speed and data storage. Today, the majority of successful game titles are equipped with a multiplayer capability. This technical course discusses the fundamental aspects of multiplayer game development such as: design techniques, architectures, client and server side implementation, databases. PREREQUISITE(S): (GAM 474 or SE 456) and CSC 407
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

GAM 575

GAME ENGINE PROGRAMMING II

This class continues to explore C/C++ game engine programming, data structures, and practices. Topics include audio, network access, threads and multi-processor systems, profiling, scripting, content libraries, animation, and a survey of gam engines. Prerequisite(s): GAM 475
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 690

RESEARCH SEMINAR

Readings and discussion on current research topics. Students may register for this course no more than three times. PREREQUISITE(S): Consent of the instructor.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 696

MASTER'S PROJECT

(4 credit hours) Students may register for this course only after their advisor has approved a written proposal for their project. Independent study form required. PREREQUISITE(S): Consent of advisor.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 698

MASTER'S THESIS

(2 credits) Students may register for this course only after their advisor has approved a written proposal for their thesis. Students must continue to register for this course every quarter after their first registration in it until they complete their project or thesis to the satisfaction of their advisor. They earn two hours of credit for each such registration but only four hours of credit will apply for degree credit. PREREQUISITE(S): Consent of advisor. Independent study form required.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 491

SOFTWARE ENGINEERING STUDIO

Students will work in small teams to develop realistic software systems in a master-apprentice environment. The instructor will serve as a master/mentor/project leader. Students will apply knowledge and skills they have learned in previous course in solving real world problems. PREREQUISITE(S): SE 450.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 591

SOFTWARE ENGINEERING STUDIO II

This is the continuation of SE 491. SE 491 and 591 must be taken as a sequence in two consequtive quarters. PREREQUISITE(S): SE 491
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.

SE 579

ANALYTICS AND DATA MINING IN SOFTWARE ENGINEERING

This courses discusses the application of selected statistical analysis, data mining, and machine learning techniques to the area of Software Engineering. These techniques are used for purposes as varied as stakeholder analysis, mining software repositories, trace retrieval, bug prediction, recommender systems in Software Engineering domains, and software process improvement techniques. The course demonstrates how these techniques can be used to enhance project management and other software engineering activities in software intensive systems and provides students with hands-on experience using them on real project data. (No prior knowledge of data mining and knowledge management is assumed.) PREREQUISITE(S): SE 450