44"
consider security, quality of service, high-performance networks, and/or multimedia. Although
IP and TCP are primary examples used in the course, it is NOT a course on TCP/IP!
E E 382N.11 Distributed Systems (3 Credit Hours)
This course will expose students to the theoretical and practical aspects of designing distributed
systems such as: Datagram Sockets, TCP sockets, Java RMI, Map Reduce Abstraction, Models of
Distributed Computation, Logical clocks, vector clocks, Resource Allocation, Drinking
Philosophers, Global Property Evaluation, Snapshots, Unstable properties, Ordering of
Messages, Elections, Spanning Trees, Synchronizers, Consensus, Byzantine Agreement, and Self-
stabilizing algorithms.
E E 382N.4 Advanced Embedded Microcontroller Systems (3 Credit Hours)
Hardware and software design of microcontroller systems; applications, including
communication systems; object-oriented and operating systems approaches to interfacing and
resource management.
E E 382C.16 Distributed Information System Security (3 Credit Hours)
Intended to acquaint the student with the analysis and engineering techniques employed in
securing today's networked information system environment. Emphasis is placed on
examination of practical security threats, exposures in distributed systems and the technology
that is being applied and developed as countermeasures.
E E 382C System Engineering Program Management and Evaluation (3 Credit Hours)
Management, engineering, and evaluation approaches applicable to a spectrum of software
development programs is taught. General guidelines, metrics, program artifacts, and processes
will be discussed in conjunction with case studies.
E E 382C.12 Multicore Computing (3 Credit Hours)
This course will expose students to the theoretical and practical aspects of designing multicore
software systems such as: programming constructs for concurrent computation, openMP,
sequential consistency, linearizability, lock-based synchronization, lock-free synchronization,
wait-free synchronization, consensus number, software transactional memory, testing and
debugging parallel programs, race detection, concurrent data structures such as stacks, queues,
linked lists, hash tables and skiplists, and model checking of concurrent programs.
E E 382 Computer Graphics (3 Credit Hours)
This is an introductory course on the major topics in computer graphics including image
synthesis, interactive techniques, geometric modeling, and computer-based animation.
Covered material includes: OpenGL programming, principles of operation of raster graphics
systems, sampling and antialiasing, homogeneous coordinate transformation techniques,
parallel and central projection and perspective transformations, hidden surface removal, light
and reflectance models for local and global illumination, shading techniques, ray tracing, basic
object modeling techniques, visual perception and basic color theory, hierarchical modeling,
and basic animation.