Graduate Courses
Here at the School of Engineering we offer a wide variety of challenging courses. Below is a list of graduate courses offered by the Computer Science & Engineering department.
CSE 300: Special Topics in Computer Science and Engineering
Classroom courses in special topics as announced in advance for each
semester.
3 credits, Lecture.
CSE 311: Seminar
Presentation and discussion of advanced computer science problems.
1 credit, Seminar.
[Back]
CSE 320: Independent Study in Computer Science and Engineering
Individual exploration of special topics as arranged by the student
with an instructor.
1 - 6 credits, Independent Study. Instructor consent required.
[Back]
CSE 321: Software Performance Engineering
Study of performance engineering techniques for the development of
software systems to meet performance objectives. Software performance
principles, hierarchical performance modeling, and current research
trends related to Software Performance Engineering. Methods for
computer performance evaluation and analysis with emphasis on direct
measurement and analytic modeling, including queuing networks,
computation structure models, state charts, probabilistic languages,
and Petri-nets. Case studies for the evaluation and analysis of
software architecture and design alternatives.
3 credits, Lecture.
[Back]
CSE 326: Probabilistic Methods in Digital Systems
Probabilistic methods used to describe random processes and queuing
theory and their application to such areas as computer performance,
scheduling algorithms, error correcting codes, and stochastic
machines.
3 credits, Lecture.
[Back]
CSE 327: Advanced Software Engineering
An in-depth study of methodologies for the specification, design,
implementation, verification, testing, and documentation of large
complex software systems. Special attention is given to the impact of
programming language constructs on the quality of complex software.
3 credits, Lecture.
[Back]
CSE 330: Advanced Computer Networks and Distributed Processing Systems
Introduction to the design and evaluation of distributed computer
communication and processing systems. Case studies, development of
suitable queuing and other models to describe and evaluate design
problems such as capacity assignment, concentration and buffering,
network topology design, routing, access techniques, and line control
procedures.
3 credits, Lecture. This course and ECE 335 may not both be taken for credit.
[Back]
CSE 331: Distributed Database Systems
Architecture of distributed database systems and their major design
problems. Topics include efficient data distribution, distributed
views, query processing and optimization, and distributed
synchronization. Particular attention is paid to the issue of
concurrency control and reliability for distributed transaction
processing. Backend database processors and database servers for local
area networks are also discussed.
3 credits, Lecture. Prerequisite: CSE 350.
[Back]
CSE 332: Parallel Processing
Models of parallel computations, distributed computing
design/implementation (problems including structuring, partitioning,
allocation and scheduling), data flow and pipelined vector processors,
performance measures and performance analysis, parallel algorithms and
applications.
3 credits, Lecture. Prerequisite: CSE 221 and CSE 340.
[Back]
CSE 333: Distributed Component Systems
This course examines the methodologies, techniques, and tools that can
be utilized to design, construct, and prototype a distributed
application using a combined object- and component-based
approach. Topics that are covered include object-oriented modeling,
reusable components, software architectures, security, software
agents, interoperation techniques, and deployment strategies. The role
of emerging technologies in support of these topics will also be
considered.
3 credits, Lecture.
[Back]
CSE 340: Computer Architecture
This course provides an in-depth understanding of the inner workings
of modern digital computer systems. Traditional topics on uniprocessor
systems such as performance analysis, instruction set architecture,
hardware/software pipelining, memory hierarchy design and input-output
systems will be discussed. Modern features of parallel computer
systems such as memory consistency models, cache coherence protocols,
and latency reducing/hiding techniques will also be addressed. Some
experimental and commercially available parallel systems will be
presented as case studies.
3 credits, Lecture.
[Back]
CSE 350: Advanced Database Topics
Data models/languages including entity-relationship, functional,
semantic, and object oriented. Database components including the
different building blocks of a database system, concurrency, control,
recovery, security, access methods, query optimization, and
views. Database architectures including database machines,
text-database systems, distributed database systems, multimedia
systems, and performance metrics and methodologies. Database
applications including CAD/CAM and CASE.
3 credits, Lecture.
[Back]
CSE 351: Semantic Data Models
Conceptual data models, semantic and object-oriented data base
systems, formal representation methods for data and knowledge, models
of active and passive information.
3 credits, Lecture.
[Back]
CSE 352: Data Mining
An introduction to data mining algorithms and their
analysis. Application of and experimentation with data mining
algorithms on real-world problems and domains, with a dual focus on
addressing the solution quality issue and the time efficiency issue.
3 credits, Lecture.
[Back]
CSE 353: Information and Data Security
Introduction to privacy, confidentiality, and organizational
considerations in the development of security policies for protecting
information and data stored, processed and transmitted in computer and
communication systems from unauthorized disclosure and
modification. In depth study of security enforcement methods and
techniques applied to operating systems, database systems and computer
networks including user identification and authentication
techniques, data access controls, information flow controls, inference
controls and cryptographic techniques.
3 credits, Lecture.
[Back]
CSE 354: Introduction to Modern Cryptography
This course covers the foundations of modern cryptography, emphasizing
provably-secure cryptographic constructions. The course covers basic
topics such as one-way functions, security amplification, and
hard-core predicates. Elementary aspects of computational number
theory are introduced to motivate current candidate one-way functions
such as RSA functions and Rabin's functions. These tools are applied
to develop secure encryption schemes, pseudo-random generators, and
digital signature schemes.
3 credits, Lecture.
[Back]
CSE 355: Computational Geometry
Curve and surface definitions emphasizing the interplay between those
mathematical properties and efficient graphical display. Topics may
include Bezier curves and surfaces, nonuniform rational B-spline
(NURBS) curves and surfaces, Coons patches, Gordon surfaces,
superquadrics, shape preservation, continuity/smoothness,
differentiability, twist estimation, the convex hull property, and the
treatment of supporting algorithms. Experimental projects are
required.
3 credits, Lecture.
[Back]
CSE 356: Advanced Computer Graphics
Computer graphics as a tool for effective human-machine
communications. Graphical input and output devices and their relation
to human perception. Software systems for image generation, display
and manipulation. Languages for description of both static and moving
pictures. Solutions to visible-surface and related problems. Computer
animation. Models and methodologies for the design of interactive
systems for various graphics-oriented applications. Experimental
projects are required.
3 credits, Lecture.
[Back]
CSE 357: Advanced Numerical Methods in Scientific Computation
Development, application and implementation of numerically stable,
efficient and reliable algorithms for solving matrix equations that
arise in modern systems engineering. Computation of matrix expoential,
generalized inverse, matrix factorization, recursive least squares,
eigenvalues and eigenvectors, Lyapunov and Riccati
equations. Extensive digital computer usage for algorithm verification
and test.
3 credits, Lecture. Prerequisite: MATH 215Q or EE301, which may be
taken concurrently.
[Back]
CSE 358: Advanced Operating Systems
Topics in modern operating systems with the focus on distributed
computing, communication, and concurrency. Selected topics from
current research in the theory, design, implementation, and
verification of operating systems3 credits, Lecture.
[Back]
CSE 361: Advanced Sequential and Parallel Algorithms
Computational complexity measures. Survey of major techniques used to
design an efficient algorithm. These include divide and conquer,
greedy, dynamic programming, and branch and bound
techniques. Randomized algorithms. General characteristics of parallel
computation models. General structure of parallel
algorithms. Development techniques of efficient parallel algorithms.
3 credits, Lecture.
[Back]
CSE 365: Fundamentals of Automata
A rigorous treatment of automata and formal language theory. Emphasis
placed upon finite state automata, regular languages, context-free
languages, push-down automata, and Turing machines.
3 credits, Lecture.
[Back]
CSE 367: Computer Science and Engineering Research Laboratory
Experimental investigation of current research topics in computer
science. May be repeated for credit with a change in content.
3 credits, Lecture.
[Back]
CSE 372: Image Processing
A formal approach to continuous variable and discrete variable
imaging. Continuous and discrete transforms. Image enhancement. Image
analysis including multidimensional edge-primitive theories, shape
analysis. Multispectral imaging and applications. Image
modelling. Syntactical analysis, aspects of image database
theories. The course involves exposure to multispectral and
extraterrestrial imagery. A substantial programming project is
assigned.
3 credits, Lecture.
[Back]
CSE 382: Adanced Artificial Intelligence
Design and implementation of intelligent systems. Topics covered will
include automated reasoning, natural language, learning, agents,
probabilistic reasoning, and robotics. The course will include a
substantial design project, and advanced independent study of at least
one of the above topics. This course and CSE 282 may not both be taken
for credit.
3 credits, Lecture.
[Back]
CSE 426: Linear Algebraic Queueing Theory
Brief survey of Markov Chains, and their application to simple queues,
with some emphasis on their transient behavior. Matrix operators are
then introduced to represent the behavior of non-exponential
servers. This algebraic structure is applied to the steady-state and
non steady-state behavior of both open and closed M/G/1 queues. Then
G/M/1 queues are examined in detail. As time permits additional
advanced topics will be covered. Applications to computer and
telecommunications system performance modeling will be studied.
3 credits, Lecture. Prerequisite: CSE 326.
[Back]
CSE 430: Research Topics in Computer Networks
Research and development in planning, analysis and design of an
interconnected collection of autonomous computers. Technical and
organizational issues of computer networks, including communication
media, topology, architecture, structures, and protocols. Topics
include efficient resource sharing; high reliability, integrity and
security; installation flexibility and expandability; ease of access;
application adaptability; interface standardization; and
internetworking.
3 credits, Lecture. Prerequisite: CSE 330.
[Back]
CSE 455: Computational Topology
Topology has traditionally generalized concepts of real analysis to
metric spaces and set axioms. The new field of computational topology
has great potential for encompassing abstractions to unify
domain-specific techniques now used in computational geometry,
geometric modeling, visualization, image processing, engineering
analyses and molecular simulation. The course will include
perspectives from traditional topology and show how these need to be
modified for realistic use in modern computing environments. Topics
and emphases will vary.
3 credits, Lecture. Prerequisite: CSE 455.
[Back]
CSE 461: Fault-Tolerant Parallel Computing
Advanced topics in fault-tolerant parallel algorithms. Shared memory
and message-passing models of computation. Models of failure. Formal
treatment of complexity measures, such as time, space, communication,
work, and speedup. Lower bounds for parallel fault-tolerant
computation. Design and analysis of efficient fault-tolerant
algorithms. Combining efficiency and fault-tolerance in parallel and
distributed algorithms.
3 credits, Lecture. Prerequisite: CSE 332 or CSE 361.
[Back]
CSE 483: Natural Language Processing
An artificial-intelligence approach to computational
linguistics. Representation of meaning and knowledge in
computer-usable form. Understanding and generation of natural-language
sentences and text. Theories of inference and application of world
knowledge. Organization of large knowledge-based text-processing
systems for applications in summary and paraphrase,
question-answering, machine translation, conversation and
computer-aided instruction. "Real" text-processing systems are
demonstrated, and a term project is required.
3 credits, Lecture. Prerequisite: CSE 382.
[Back]