Graduate level course offerings: Computer Science &
Software Engineering
CSSE 404 Compiler
Construction 4R-0L-4C
Prerequisite: CSSE 232, CSSE 304, and CSSE/MA 474
Theory and practice of programming language translation. Lexical
analysis, syntax analysis, parser generators, abstract syntax,
symbol tables, semantic analysis, intermediate languages, code
generation, code optimization, run-time storage management, error
handling. Students will construct a complete compiler for a small
language.
CSSE 413 Artificial
Intelligence 4R-0L-4C
Prerequisite: CSSE 220
Students investigate how to model and implement intelligent
behavior using computers. Topics are chosen from how machines can:
solve problems; reason and use knowledge; learn from experience;
and perceive and act. Students explore these topics by implementing
many of the ideas in software. Readings are drawn both from a
textbook and from technical papers in recent conferences and
journals.
CSSE 432 Computer Networks 4R-0L-4C
Prerequisite: CSSE 220 or CSSE 231
Organization, design, and implementation of computer networks,
especially the Internet. Network protocols, protocol layering, flow
control, congestion control, error control, packet organization,
routing, gateways, connection establishment and maintenance,
machine and domain naming, security. Each of the top four layers of
the Internet protocol stack: application (FTP, HTTP, SMTP),
transport (TCP, UDP), network (IP), link (Ethernet).
CSSE 433 Advanced Database
Systems 4R-0L-4C
Prerequisite: CSSE 333
Topics selected from object-oriented databases, object-relational
databases, query processing, transactions, transaction logging,
concurrency control, database recovery, parallel and distributed
databases, security and integrity, data mining and data
warehousing.
CSSE 442 Computer Security 4R-0L-4C
S
Prerequisite: CSSE 332 and MA 275
This course introduces ethical, theoretical, and practical issues
of information security in computing systems. Implications of
relevant professional codes of ethics are a recurring theme of the
course. Foundational topics include access control matrices and
standard system models, as well as policies for security,
confidentiality, and integrity. Implementation issues include key
management, cipher techniques, authentication, principles of secure
design, representation of identity, access control mechanisms,
information flow, life cycle issues, and formal evaluation and
certification techniques. Additional topics include malicious
logic, vulnerability analysis, and auditing. Computer network
attack techniques are discussed and explored in a closed
environment to motivate and inform discussion and exploration of
computer network defense techniques.
CSSE 451 Advanced Computer
Graphics 4R-0L-4C
Prerequisite: CSSE 351
Advanced topics in computer graphics. Topics will be drawn from
current graphics research and will vary, but generally will include
ray tracing, radiosity, physically-based modeling, animation, and
stereoscopic viewing. Programming assignments and a research
project are required.
CSSE 453 Topics in Artificial
Intelligence 4R-0L-4C
Prerequisite: CSSE 413
Advanced topics in artificial intelligence. Topics will vary. Past
topics have included machine game playing and machine learning. May
be repeated for credit if topic is different.
CSSE 461 Computer Vision 4R-0L-4C
Prerequisite: CSSE 220 or CSSE 231 and MA 221, MA 371 or MA 370
recommended
An introduction to 3D computer vision techniques. Both theory and
practical applications will be covered. Major topics include image
features, camera calibration, stereopsis, motion, shape from x, and
recognition.
CSSE 463 Image Recognition 4R-0L-4CW
Prerequisite: Junior standing, MA221 and programming
experience
Introduces statistical pattern recognition of visual data;
low-level visual feature extraction (color, shape, edges);
clustering and classification techniques. Applies knowledge to
various application domains through exercises, large programming
projects in Matlab, and an independent research project.
Familiarity with probability distributions will be helpful, but not
required.
CSSE 473 Design and Analysis of
Algorithms 4R-0L-4C
Prerequisite: CSSE 230 and MA 375
Students study techniques for designing algorithms and for
analyzing the time and space efficiency of algorithms. The
algorithm design techniques include divide-and-conquer, greedy
algorithms, dynamic programming, randomized algorithms and parallel
algorithms. The algorithm analysis includes computational models,
best/average/worst case analysis, and computational complexity
(including lower bounds and NP-completeness). Same as MA 473.
CSSE 474 Theory of
Computation 4R-0L-4C
Prerequisite: CSSE 230 and MA 375
Students study mathematical models by which to answer three
questions: What is a computer? What limits exist on what problems
computers can solve? What does it mean for a problem to be hard?
Topics include models of computation (including Turing machines),
undecidability (including the Halting Problem) and computational
complexity (including NP-completeness). Same as MA 474.
CSSE 479 Cryptography 4R-0L-4C
Prerequisite: CSSE 220 and MA 275
Introduction to basic ideas of modern cryptography with emphasis on
mathematical background and practical implementation. Topics
include: the history of cryptography and cryptanalysis, public and
private key cryptography, digital signatures, and limitations of
modern cryptography. Touches upon some of the societal issues of
cryptography. Same as MA 479.
CSSE 481 Web-Based Information
Systems 4R-0L-4C
Prerequisite: CSSE 230
In this course, students learn about several aspects of research:
thinking creatively about interesting research problems,
researching existing work in a chosen area, and keeping current in
a field. Students are exposed to the process of research by writing
a pre-proposal for a project that advances the web. Projects either
develop new web-technologies or applications or investigate a topic
of importance. Based on feedback received, groups of students write
a research proposal which goes through a formal peer review
process. Approved projects are pursued for the remainder of the
quarter. Students present current research as well as give a final
presentation of their group project. Selected web-technologies are
introduced; in the past, these have included CGI programming and
XML technologies.
CSSE 490 Special Topics in Computer Science 4C
Arranged
Prerequisite: Permission of instructor
Selected topics of current interest. May be repeated for credit if
topic is different.
CSSE 491 Directed Independent Studies 4C
Arranged
Prerequisite: Permission of instructor and department
head
Independent study of an advanced subject not included in regularly
offered courses. May be repeated for credit if topic or level is
different.
Department of
Computer Science & Software Engineering
Website