|
100 level | 200
level | 300
level | 400
level | 500
level
| 100 Principles of Programming with
C++. (3) |
|
| Principles of problem
solving using C++, algorithm design, structured
programming, fundamental algorithms and
techniques, and computer systems concepts.
Social and ethical responsibility. Lecture, lab.
Prerequisite: MAT 170. General Studies: CS.
|
| 110 Principles of Programming with
Java. (3) |
MORE INFO |
| Concepts of problem
solving using Java, algorithm design, structured
programming, fundamental algorithms and
techniques, and computer systems concepts.
Social and ethical responsibility. Lecture, lab.
Prerequisite: MAT 170.
|
| 120 Digital Design
Fundamentals.(3) |
MORE INFO |
| Number systems,
conversion methods, binary and complement
arithmetic, boolean and switching algebra,
circuit minimization. ROMs, PLAs, flipflops,
synchronous sequential circuits, and register
transfer design. Lecture, lab. Cross-listed with
EEE 120. Prerequisite: Computer Literacy.
|
| 180
Computer Literacy.(3) |
MORE INFO |
| Introduction to general
problem-solving approaches using widely
available software tools such as database
packages, word processors, spreadsheets, and
report generators. May be taken for credit on
either IBM PC or Macintosh, but not both.
Non-majors only. General Studies : CS.
|
| 181
Applied Problem Solving with Visual BASIC.
(3) |
MORE INFO |
| Introduction to
systematic definition of problems, solution
formulation, and method validation. Computer
solution using Visual BASIC required for
projects. Lecture, lab. Non-majors only.
Prerequisite: MAT 117. General Studies: CS.
|
| 200 Concepts of Computer
Science.(3) |
MORE INFO |
| Overview of algorithms,
architecture, languages, computer systems,
theory. Problem solving by programming with a
high-level language (Java or another) .
Prerequisites: One year of high-school
programming with Pascal, C++ or Java; or CSE 100
or CSE 110. General Studies: CS.
|
| 225 Assembly Language Programming
and Microprocessors (Motorola).(4) |
|
| Assembly language
programming, including input/output programming
and exception/interrupt handling. Register-level
computer organization, I/O interfaces,
assemblers, and linkers. Motorola-based
assignments. Lecture, lab. Cross-listed as EEE
225. Credit is allowed for only CSE 225 or EEE
225. Prerequisites: CSE 100 (or 110 or 200), 120
(or EEE 120).
|
| 226 Assembly Language Programming
and Microprocessors (Intel).(4) |
MORE INFO |
| CPU/memory/peripheral
device interfaces and programming. System buses,
interrupts, serial and parallel I/O, DMA,
coprocessors. Intel-based assignments. Lecture,
lab. Cross-listed as EEE 226. Credit is allowed
for only CSE 226 or EEE 226. Prerequisites: CSE
100 (or 110 or 200), 120 (or EEE 120).
|
| 310 Data Structures and
Algorithms. (3)
|
MORE INFO |
| Advanced data
structures and algorithms, including stacks,
queues, trees (B, B+, AVL), and graphs.
Searching for graphs, hashing and external
sorting. Prerequiste: CSE 210, MAT 243.
|
| 330 Computer Organization and
Architecture. (3)
|
|
| Instruction set
architecture, processor performance and design;
datapath, control (hardwired, microprogrammed),
pipelining, input/output. Memory organization
with cache, virtual memory. Prerequisite:
CSE/EEE 225 or CSE/EEE 226.
|
| 340 Principles of Programming
Languages. (3) |
MORE INFO |
| Introduction to
language design and implementation. Parallel,
machine dependent and declarative language
features; type theory; specification,
recognition, translation, run-time management.
Prerequisites: CSE 240, CSE 310, CSE/EEE 225 or
226. |
| 360 Introduction to Software
Engineering. (3) |
|
| Software life cycle
models; Project management, team development,
environments and methodologies; software
architectures; quality assurance and standards;
legal, ethical issues. Prerequisite: CSE 240 and
CSE 210.
|
| 408
Multimedia Information Systems.(3) |
MORE INFO |
| Design, use, and
applications of multimedia systems. An
introduction to acquisition, compression,
storage, retrieval, and presentation of data
from different media such as images, text,
voice, and alphanumeric. Prerequisite: CSE 310.
|
| 412 Database Management. (3) |
MORE INFO |
| Introduction to DBMS
concepts. Data models and languages. Relational
database theory. Database security/ integrity
and concurrency. Prerequisite: CSE 310.
|
| 420 Computer Architecture
I. (3) |
|
| Computer architecture.
Performance versus cost trade-offs. Instruction
set design. Basic processor implementation and
pipelining. Prerequisite: CSE 330.
|
| 421 Microprocessor System Design
I.(4) |
MORE INFO |
| Assembly-language
programming and logical hardware design of
systems using 8-bit microprocessors and
micro-controllers. Fundamental concepts of
digital system design. Reliability and social,
legal implications. Lecture, lab. Prerequisite:
CSE/EEE 225.
|
| 422 Microprocessor System Design
II.(4) |
|
| Design of microcomputer
systems using contemporary logic and
microcomputer system components. Requires
assembly language programming. Prerequisite: CSE
421. |
| 423 Microcomputer System
Hardware.(3) |
|
| Information and
techniques presented in CSE 422 are used to
develop the hardware design of a microprocessor,
multiprogramming, microprocessor-based system.
Prerequisite: CSE 422. General Studies.
|
| 428
Computer-Aided Processes.(3) |
|
| Hardware and software
considerations for computerized manufacturing
systems. Specific concentration on automatic
inspection, numerical control, robotics, and
integrated manufacturing systems. Prerequisite:
CSE 330.
|
| 430 Operating Systems.(3) |
MORE INFO |
| Operating system
structure and services, processor scheduling,
concurrent processes, synchronization
techniques, memory management, virtual memory,
input/output, storage management, file systems.
Prerequisites: CSE 330, 340.
|
| 432 Operating System
Internals.(3) |
MORE INFO |
| IPC, exception and
interrupt processing, memory and thread
management, user-level device drivers, and OS
servers in a modern microkernel-based OS.
Prerequisite: CSE 430.
|
| 434
Computer Networks.(3) |
MORE INFO |
| Physical layer basics;
network protocol algorithms; error handling;
flow control; multihop routing; network
reliability, timing, security; data compression;
cryptography fundamentals. Prerequisite: CSE 330
|
| 438 Systems Programming.(3) |
MORE INFO |
| Design and
implementtion of systems programs, including
text editors, file utilities, monitors,
assemblers, relocating linking loaders, I/O
handlers, schedulers, etc. Prerequisite: CSE 421
or instructor approval. General Studies: L
|
| 440 Compiler Construction
I. (3) |
MORE INFO |
| Introduction to
programming language implementation.
Implementation strategies such as compilation,
interpretation, and translation. Major
compilation phases such as lexical analysis,
semantic analysis, optimization, and code
generation. Prerequisites: CSE 340, 355.
|
| 445 Distributed Computing with Java
and CORBA.(3) |
MORE INFO |
| Frameworks for
distributed software components. Foundations of
client-server computing and architectures for
distributed object systems. Dynamic discovery
and invocation. Prerequisites: CSE 360.
|
| 446 Client-Server User
Interfaces.(3) |
|
| Client-server model for
creating window interfaces. Toolkits and
libraries such as X11, Microsoft Foundation
Classes and Java Abstract Window Toolkit.
Prerequisites: CSE 310.
|
| 450 Design and Analysis of
Algorithms.(3) |
|
| Design and analysis of
computer algorithms using analytical and
empirical methods; complexity measures, design
methodologies, and survey of important
algorithms. Prerequisite: CSE 310.
|
| 457 Theory of Formal
Languages. (3) |
|
| Theory of grammar,
methods of syntactic analysis and specification,
types of artificial languages, relationship
between formal languages, and automata.
Cross-listed as MAT 401. Prerequisite: CSE 355.
|
| 459
Logic for Computing Scientists. (3) |
|
| Propositional logic,
syntax and semantics, proof theory vs. model
theory, soundness, consistency and completeness,
first order logic, logical theories, automated
theorem proving, ground resolution, pattern
matching unification and resolution, Dijkstras
logic, proof obligations, and program proving.
Prerequisite: CSE 355.
|
| 460 Software Analysis and
Design. (3) |
|
| Software engineering
foundations, formal representations in the
software process; use of formalisms in creating
a measured and structured working environment.
Prerequisite: CSE 360.
|
| 470
Computer Graphics. (3)
|
MORE INFO |
| Display devices, data
structures, transformation, interactive
graphics, 3-dimensional graphics, and hidden
line problem. Prerequisites: CSE 310; MAT 342.
|
| 473
Nonprocedural Programming Languages. (3) |
|
| Functional and logic
programming using languages like Lucid and
Prolog. Typical applications would be a Screen
Editor and an Expert System. Prerequisite: CSE
355. |
| 494 Advanced Database
Concepts.(3) |
MORE INFO |
| Advanced data modeling,
object-oriented databases, and object-relational
databases. Web access to databases.
Professionalism and ethics in information
access. Credit: 3 hours. Prerequisite: CSE 412
|
| 494 Building and
programming mobile robots.(3) |
MORE INFO |
|
| 494
Information Retrieval, Mining and Integration on
the Internet.(3) |
MORE INFO |
|
| 494 Principles
of Information Engineering.(3) |
MORE INFO |
| Train computer science
students to be effective information specialists
with an entrepreneurial perspective and
managerial outlook.
|
| 494/598 Wireless
Sensor Networks(3) |
MORE INFO |
| Applications (pervasive
computing, health-monitoring, home land
security), data dissemination and aggregation,
security, localization, time synchronization,
energy-efficiency, reliability, programming
platforms. |
| 507 Virtual Reality Systems.(3)
|
MORE INFO |
| Computer generated 3-D
environments, spatial presence of virtual
objects, technologies of immersion, tracking
systems, simulation of reality. Prerequisites:
CSE 408 or CSE 508 or CSE 470 or instructor
approval.
|
| 508 Digital Image Processing.(3)
|
MORE INFO |
| Digital image
fundamentals, image transforms, image
enhancement and restoration techniques, image
encoding, and segmentation methods.
Prerequisite: EEE 303 or instructor approval.
|
| 510
Database Management System
Implementation.(3)
|
|
| Implementation of
database systems. Data storage, indexing,
querying, and retrieval. Query optimization and
execution, concurrency control, and transaction
management. Prerequisite: CSE 412.
|
| 512 Distributed Database
Systems.(3) |
MORE INFO |
| Distributed database
design, query processing, and transaction
processing. Distributed database architectures
and interoperability. Emerging technology.
Prerequisite: CSE 412.
|
| 513
Rules in Database Systems.(3) |
MORE INFO |
| Declarative and active
rules. Logic as a data model. Evaluation and
query optimization. Triggers and ECA rules.
Current research topics. Prerequisite: CSE 412.
|
| 514
Object-Oriented Database Systems.(3) |
MORE INFO |
| Object-oriented data
modeling, database and language integration,
object algebras, extensibility, transactions,
object managers, versioning/configuration,
active data, nonstandard applications. Research
seminar. Prerequisite: CSE 510.
|
| 515 Multimedia
and Web Databases. (3) |
|
| Data models for
multimedia and Web data; query processing and
optimization for inexact retrieval; advanced
indexing, clustering, and search techniques.
Prerequisites: CSE 408, 412.
|
| 517
Hardware Design Languages. (3) |
|
| Introduction to
hardware design languages using VHDL. Modeling
concepts for specification, simulation,
synthesis.. Prerequisite: CSE 423 or EEE 425 or
consent of instructor.
|
| 518
Synthesis with Hardware Design
Languages.(3) |
|
| Modeling VLSI design in
hardware design languages for synthesis.
Transformation of language-based designs to
physical layout. Application of synthesis tools.
Prerequisite: CSE 517.
|
| 520 Computer Architecture II.(3)
|
|
| Computer architecture
description languages, computer arithmetic,
memory-hierarchy design, parallel, vector, and
multiprocessors, and input/output..
Prerequisites: CSE 420, 430.
|
| 521 Microprocessor Applications.(4)
|
MORE INFO |
| Microprocessor
technology and its application to the design of
practical digital systems. Hardware, assembly
language programming, and interfacing of
microprocessor-based systems. Lecture, lab.
Prerequisite: CSE 421.
|
| 523 Microcomputer Systems
Software.(3) |
|
| Developing system
software for a multiprocessor, multiprogramming,
microprocessor-based system using information
and techniques presented in CSE 421, 422.
Prerequisite: CSE 422.
|
| 526 Parallel Processing.(3) |
MORE INFO |
| Real and apparent
concurrency. Hardware organization of
multiprocessors, multiple computer systems,
scientific attached processors, and other
parallel systems. Prerequisite: CSE 330 or 423.
|
| 530 Operating System Case Study.(3)
|
MORE INFO |
| Study of the design and
implementation of a timeshared multiprogramming
operating system, with emphasis on the UNIX
operating system. Prerequisites: CSE 430;
knowledge of C Language.
|
| 531 Distributed and Multiprocessor
Operating Systems.(3) |
MORE INFO |
| Distributed systems
architecture, remote file access, message-based
systems, object-based systems, client/server
paradigms, distributed algorithms, replication
and consistency, and multiprocessor operating
systems. Prerequisite: CSE 432 or instructor
approval.
|
| 532 Advanced Operating System
Internals.(3) |
MORE INFO |
| Memory, processor,
process and communication management, and
concurrency control in the Windows NT
multiprocessor and distributed operating system
kernel and servers. Prerequisite: CSE 530 and
either CSE 531 or CSE 536.
|
| 534 Advanced Computer Networks.(3)
|
MORE INFO |
| Advanced network
protocols and infrastructure, applications of
high-performance networks to distributed
systems, high-performance computing and
multimedia domains, special features of
networks: real-time, security, reliability.
Prerequisite: CSE 434.
|
| 536 Advanced Operating Systems.(3)
|
MORE INFO |
| Protection and file
systems. Communication, processes,
synchronization, naming, fault tolerance,
security, data replication, and coherence in
distributed systems. Real-time systems.
Prerequisite: CSE 430.
|
| 537 ATM Networks.(3) |
|
| Principles of ATM
networks, switch architecture, traffic
management, call and connection control,
routing, internetworking with ATM networks,
signaling, and OAM. Prerequisite: CSE 434.
|
| 539 Applied Cryptography.(3) |
|
| Use of cryptography for
secure protocols over networked systems,
including signatures, certificates, timestamps,
electrons, digital cash, and other multiparty
coordination. Prerequisite: CSE 310 or
instructor approval.
|
| 540 Compiler Construction II.(3)
|
|
| Formal parsing
strategies, optimization techniques, code
generation, extensibility and transportability
considerations, and recent developments.
Prerequisite: CSE 440.
|
| 545 Programming Language Design.(3)
|
|
| Language constructs,
extensibility and abstractions, and runtime
support. Language design process. Prerequisite:
CSE 440.
|
| 550
Combinatorial Algorithms and
Intractability.(3)
|
|
| Combinatorial
algorithms, nondeterministic algorithms, classes
P and NP, NP-hard and NP-complete problems, and
intractability. Design techniques for fast
combinatorial algorithms. Prerequisite: CSE 450.
|
| 555 Theory of Computation.(3) |
|
| Rigorous treatment of
regular languages, context-free languages,
Turing machines and decidability, reducibility,
and other advanced topics in computability
theory. Prerequisite: CSE 355.
|
| 556
Expert Systems.(3)
|
|
| Knowledge acquisition
and representation, rule-based systems,
frame-based system, validation of knowledge
bases, inexact reasoning, and expert database
systems.Prerequisite CSE 471.
|
| 562
Software Process Automation.(3) |
|
| Software engineering
characteristics particular to parallel and
distributed systems. Tools and techniques to
support software engineering involving parallel
processing and distributed systems.
Prerequisite: CSE 360.
|
| 563
Software Requirements and
Specification. (3)
|
|
| Examination of the
definitional stage of software development;
analysis of specification representations and
techniques emphasizing important application
issues. Prerequisite: CSE 460.
|
| 564
Software Design. (3)
|
|
| Examination of software
design issues and techniques. Includes a survey
of design representations and a comparison of
design methods. Prerequisite: CSE 460.
|
| 565 Software Verification,
Validation and Testing.(3) |
|
| Test planning;
requirements-based and code-based testing
techniques; tools; reliability models;
statistical testing. Prerequisite: CSE 460.
|
| 566 Software Project, Process and
Quality Management.(3) |
|
| Project Management,
risk management, configuration management,
quality management, simulated project management
experience. Prerequisite: CSE 460.
|
| 570
Advanced Computer Graphics I.(3) |
|
| Hidden surface
algorithms, lighting models, and shading
techniques. User interface design. Animation
techniques. Fractals and stochastic models.
Raster algorithms. Prerequisite: CSE 470.
|
| 571
Artificial Intelligence.(3)
|
MORE INFO |
| Definitions of
intelligence, computer problem solving, game
playing, pattern recognition, theorem proving,
and semantic information processing;
evolutionary systems; heuristic programming.
Prerequisite: CSE 471.
|
| 573 Advanced Computer Graphics II.
(3) |
|
| Modeling of natural
phenomena: terrain, clouds, fire, water, and
trees. Particle systems, deformation of solids,
antialiasing, adn volume visualization. Lecture,
Lab. Prerequisite: CSE 470.
|
| 574 Planning and Learning Methods
in AI.(3) |
MORE INFO |
| Reasoning about time
and action, plan synthesis and execution,
improving planning performance, applications to
manufacturing intelligent agents. Prerequisite:
CSE 471.
|
| 575
Decision-Making Strategies in AI.(3) |
|
| Automatic knowledge
acquisition, automatic analysis/synthesis of
strategies, distributed planning/ problem
solving, casual modeling, predictive
human-machine environments. Prerequisite: CSE
571. |
| 576 Topics in
Natural Language Processing.(3) |
|
| Comparative parsing
strategies, scooping and reference problems,
nonfirst-order logical semantic representations,
and discourse structure. Prerequisite: CSE 476.
|
| 577
Advanced Computer-Aided Geometric Design
I.(3) |
MORE INFO |
| General interpolation;
review of curve interpolation and approximation;
spline curves; visual smoothness of curves;
parameterization of curves; introduction to
surface interpolation and approximation.
Prerequisites: CSE 470 and 477.
|
| 579 NURBs:
Nonuniform Rational B-Splines.(3) |
MORE INFO |
| Projective geometry,
NURBs-based modeling, basic theory of conics and
rational surfaces, stereographic maps, quadrics,
IGES data specification. Prerequisites: CSE 470
and 477.
|
| 591
Advanced Topics on Parallel and Distributed
Computing. (3) |
MORE INFO |
|
| 591 Autonomous
Agents: theory and practice. (3) |
MORE INFO |
|
| 591 Computational Algorithms for
Systems Biology. (3) |
MORE INFO |
|
| 591
Computational Molecular Biology. (3) |
MORE INFO |
|
| 591
Hardware-Software Co-design. (3) |
MORE INFO |
|
| 591 Image
Processing-II Digital Video processing. (3)
|
MORE INFO |
|
| 591 Mobile Ad
Hoc Networking & Computing. (3) |
|
|
| 591 Object
Oriented Modeling & Simulation. (3) |
|
|
| 591 Practical
Operating System Internals. (3) |
|
|
| 591 Randomized
and Approximation Algorithms. (3) |
|
|
|