Course Catalog

You will typically take forty credits to earn your Master's in Computer Science & Engineering. Most students take one 4-credit PMP course (their choice of three offered courses) and one a 1-credit colloquium each quarter for eight quarters. Course descriptions for all PMP courses are listed below. You may also view a list of courses offered this academic year.

--------------------------------------------------------------------------------

Last changed Mon, 2013-06-03 09:59

Professional (Evening) Courses

CSEP 501: Compiler Construction Principles and practice of building efficient implementations of modern programming languages. Lexical, syntactic, and semantic analysis of programs. Intermediate program representations. Intra- and interprocedural analysis and optimization. Run-time system techniques. Related programming environment facilities such as source-level debuggers and profilers. Prerequisite: CSE majors only.
CSEP 503: Principles Of Software Engineering

Study of major developments in software engineering over the past three decades. Topics may include design (information hiding, layering, open implementations), requirements specification (informal and formal approaches), quality assurance (testing, verification and analysis, inspections), reverse and re-engineering (tools, models, approaches). Prerequisite: CSE majors only.

CSEP 504: Advanced Topics In Software Systems Topics include software architecture, software tools, programming language analysis, type systems, formal reasoning, and other pertinent topics in software engineering and programming languages research.
CSEP 505: Programming Languages A study of non-imperative programming paradigms such as functional, object-oriented, logic, and constraint programming. Programming language semantics and type theory. Prerequisite: CSE majors only.
CSEP 506: Advanced Topics in Programming Languages May include functional, object-oriented, parallel, and logic programming languages; semantics for languages of these kinds; type declaration, inference, and checking (including polymorphic types); implementation issues, such as compilation, lazy evaluation, combinators, parallelism, various optimization techniques. Implementation project required.
CSEP 510: Human Computer Interaction

Topics in human-computer interaction, including tools and skills for user interface design, user interface software architecture, rapid prototyping and iterative design, safety and critical systems, evaluation techniques, and computer supported cooperative work. Prerequisite: CSE majors only.

CSEP 521: Applied Algorithms Principles of design of efficient algorithms with emphasis on algorithms with real world applications. Examples drawn from computational geometry, biology, scientific computation, image processing, combinatorial optimization, cryptography, and operations research. Prerequisite: CSE majors only.
CSEP 524: Parallel Computation Survey of parallel computing including the processing modes of pipelining, data parallelism, thread parallelism, and task parallelism; algorithmic implications of memory models; shared memory and message passing; hardware implementations; bandwidth and latency; synchronization, consistency, interprocessor communication; programming issues including implicit and explicit parallelism, locality, portability. CSE majors only.
CSEP 531: Computability And Complexity Theory Survey of the theory of computation including Turing Machines, Churche' s Thesis, computability, incompleteness, undecidability, complexity classes, problem reductions, Cook' s theorem, NP-completeness, randomized computation, cryptography, parallel computation, and space complexity. Some emphasis will be placed on historical and philosophical aspects of the theory of computation. Prerequisite: CSE PMP majors only.
CSEP 544: Database Management Systems Introduction to the principles of database management systems. Topics include database system architecture, data models, theory of database design, query optimization, concurrency control, crash recovery, and storage strategies. CSE majors only.
CSEP 545: Transaction Processing

Technology supporting reliable large-scale distributed computing, including transaction programming models, TP monitors, transactional communications, persistent queuing, software fault tolerance, concurrency control and recovery algorithms, distributed transactions, two-phase commit, data replication. Prerequisite: CSE majors only.

CSEP 546: Data Mining

Methods for identifying valid, novel, useful, and understandable patterns in data. Induction of predictive models from data: classification, regression, probability estimation. Discovery of clusters and association rules.

CSEP 548: Computer Architecture Architecture of the single-chip microprocessor: instruction set design and processor implementation (pipelining, multiple issue, speculative execution). Memory hierarchy: on-chip and off-chip caches, TLBs and their management, virtual memory from the hardware viewpoint. I/O devices and control: buses, disks, and RAIDs. Prerequisite: CSE majors only.
CSEP 551: Computer Operating Systems

 
A study of developments in operating systems from the 196' s to the present. Topics include operating system structure, protection, virtual memory, communication mechanisms, concurrency, lightweight threads, object-oriented systems, distributed systems, and transaction support in operating systems. Prerequisite: CSE majors only.

CSEP 552: Distributed Systems Principles, techniques, and examples related to the design, implementation, and analysis of distributed computer systems. Prerequisite: CSE PMP majors only.
CSEP 557: Current Trends In Computer Graphics Introduction to computer image synthesis, modeling, and animation emphasizing the state-of-the-art algorithm applications. Topics may include visual perception, image processing, geometric transformations, hierarchical modeling, hidden-surface elimination, shading, ray-tracing, anti-aliasing, texture mapping, curves, surfaces, particle systems, dynamics, realistic character animation, and traditional animation principles. Prerequisite: CSE majors only.
CSEP 561: Network Systems


Current choices and challenges in network systems. Fundamental concepts combined with emphasis on evaluation of design/operations alternatives. Topics include alternative link, network, and transport-layer technologies, topologies, routing, congestion control multimedia, Ipv6, aTM v. IP, network management and policy issues. Prerequisite: CSE majors only.

CSEP 567: Design And Implementation Of Digital Systems

Overview of current implementation technologies for digital systems including custom integrated circuits, field-programmable logic, and embedded processors. Systems components such as buses and communications structures, interfaces, memory architectures, embedded systems, and application-specific devices. Focus on the design of large systems using modern CAD tools. Prerequisite: CSE majors only.

CSEP 573: Applications Of Artificial Intelligence Introduction to the use of Artificial Intelligence tools and techniques in industrial and company settings. Topics include foundations (search, knowledge representation) and tools such as expert systems, natural language interfaces and machine learning techniques. Prerequisite: CSE majors only.
CSEP 576: Computer Vision Provides an overview of computer vision, emphasizing the middle ground between image processing and artificial intelligence. Image formation, pre-attentive image processing, boundary and region representations, and case studies of vision architectures.
CSEP 585: Design and Implementation of Digital Systems Overview of current implementation technologies for digital systems including custom integrated circuits, field-programmable logic, and embedded processors. Systems components such as buses and communications structures, interfaces, memory architectures, embedded systems, and application-specific devices. Focus on the design of large systems using modern CAD tools.
CSEP 590: Special Topics In Computer Science

Distributed Systems
Design of high performance, highly available distributed web services. Topics include: clock synchronization, distributed consensus, failure models, loading balancing, object location and migration, distributed transactions, cache coherence, and security..

CSEP 595: Software Entrepreneurship Provides an overview of the major elements of entrepreneurial activity in software, including market identification and analysis, evaluation and planning of the business, financing, typical operating and administrative problems, and alternatives for growth or sale.
CSEP 596: Business Basics For Computer Science Professionals Business principles relevant to the software industry in four areas: competitive strategy, finance, accounting, and human resources. Organized as a series of case studies and lectures. Progresses from an emphasis on tools to a more high-level look at competitive dynamics in high-tech industries.
CSEP 597: Performance Analysis This course is intended to provide a broad introduction to computer system performance evaluation techniques and their application. Approaches considered include measurement/benchmarking, stochastic and trace driven simulation, stochastic queueing networks, and timed Petri nets. Applications of the techniques are studied using case study papers.