Detailed course offerings (Time Schedule) are available for
CSE P 501 Compiler Construction (4)
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.
View course details in MyPlan: CSE P 501
CSE P 503 Principles of Software Engineering (4)
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.
View course details in MyPlan: CSE P 503
CSE P 504 Advanced Topics in Software Systems (4)
Topics include software architecture, software tools, programming language analysis, type systems, formal reasoning, and other pertinent topics in software engineering and programming languages research.
View course details in MyPlan: CSE P 504
CSE P 505 Programming Languages (4)
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.
View course details in MyPlan: CSE P 505
CSE P 510 Human Computer Interaction (4)
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.
View course details in MyPlan: CSE P 510
CSE P 517 Natural Language Processing (4)
Provides an overview of modern approaches for natural language processing. Topics include language models, text classification, tagging, parsing, machine translation, semantics, and discourse analysis.
View course details in MyPlan: CSE P 517
CSE P 521 Applied Algorithms (4)
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.
View course details in MyPlan: CSE P 521
CSE P 524 Parallel Computation (4)
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.
View course details in MyPlan: CSE P 524
CSE P 531 Computability and Complexity Theory (4)
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 placed on historical and philosophical aspects of the theory of computation. Prerequisite: CSE PMP majors only.
View course details in MyPlan: CSE P 531
CSE P 544 Database Management System (4)
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. Prerequisite: CSE majors only.
View course details in MyPlan: CSE P 544
CSE P 545 Transaction Processing (4)
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.
View course details in MyPlan: CSE P 545
CSE P 546 Data Mining (4)
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.
View course details in MyPlan: CSE P 546
CSE P 548 Computer Architecture (4)
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.
View course details in MyPlan: CSE P 548
CSE P 551 Computer Operating Systems (4)
A study of developments in operating systems from the 1960s 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.
View course details in MyPlan: CSE P 551
CSE P 552 Distributed Systems (4)
Principles, techniques, and examples related to the design, implementation, and analysis of distributed computer systems. Prerequisite: CSE PMP majors only.
View course details in MyPlan: CSE P 552
CSE P 557 Current Trends in Computer Graphics (4)
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.
View course details in MyPlan: CSE P 557
CSE P 561 Network Systems (4)
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.
View course details in MyPlan: CSE P 561
CSE P 564 Computer Security and Privacy (4)
Examines the fundamental of computer security including: human factors; attack detection, measurements, and models; cryptography and communications security; system design and implementation; and side channels.
View course details in MyPlan: CSE P 564
CSE P 567 Design and Implementation of Digital Systems (4)
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.
View course details in MyPlan: CSE P 567
CSE P 573 Applications of Artificial Intelligence (4)
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.
View course details in MyPlan: CSE P 573
CSE P 576 Computer Vision (4)
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.
View course details in MyPlan: CSE P 576
CSE P 590 Special Topics in Computer Science (1-4, max. 20)
View course details in MyPlan: CSE P 590
CSE P 595 Software Entrepreneurship (4)
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.
View course details in MyPlan: CSE P 595
CSE P 596 Business Basics Computer Science Professionals (4)
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.
View course details in MyPlan: CSE P 596
CSE P 600 Independent Study or Research ([1-4]-)
View course details in MyPlan: CSE P 600