GRADUATE COURSE WORK
Course Name |
Course Description |
Link to the Course
web page along with instructor |
Fall 2000
|
|
|
Information
Retrieval |
Algorithms
for the storage, retrieval, filtering, and classification of textual and multimedia
data. The vector space model, Boolean and probabilistic queries, and |
|
Data
Structures
|
An
in-depth treatment of data structures and their associated management
algorithms including resource complexity analysis. |
|
Configuration
Management |
This
graduate course aims to create a detailed understanding of the relationship
between two notions that are pertinent to software evolution: configuration
management and run-time change. Two separate exercises will be carried out: Reading and discussing a series of papers.
Performing an individual research project. |
|
Winter
2001
|
|
|
Software Engineering |
Introduction to the
concepts, methods, and current practice of software engineering. The study of
large-scale software production; software life cycle models as an organizing
structure; principles and techniques appropriate for each stage of
production. Laboratory work involves a project illustrating these elements. |
|
Formal Methods in
Software Engineering |
Examination of formal
specification models, including algebraic/axiomatic, state-transition,
model-based, operational, and temporal logics, along with their related
analysis techniques. Formal models in software development are discussed as
are different proof techniques |
|
Computer Networks |
An
introductory course on computer network architectures. Layering approach of
communication protocols is introduced, and the function of each layer is
explained. Various examples are shown from long-haul networks and local area
networks to B-ISDN and high speed networks. |
Luis Miguel Campos |
Spring
2001
|
|
|
Advanced Computer
Networks |
Fundamental
principles in computer networks are applied to obtain practical experience
and skills necessary for designing and implementing computer networks,
protocols, and network applications. Various network design techniques,
simulation techniques, and UNIX network programming are covered. Prerequisite |
Steve Silverman |
Parallel Computing |
Definition
of parallel processing systems. Theory and application of arrays, trees, and
hypercubes. Computational models, applications: sorting, integer arithmetic,
matrix operations, Fast Fourier Transform, and others. Interconnection
networks: a framework for the description, analysis, and construction of
hypercube-derived networks |
|
Internet
Technologies |
Introduction
to Internet technologies. The focus is on both the Internet architecture and
applications. Topics covered include Internet routing and multicast
protocols, Internet support protocols, Unix network programming, Web,
Internet design, and measurement tools. |
Mostafa Elderfawy |
Computer System
Architecture |
Design
of computer elements: ALU, control unit, and arithmetic circuits. Memory
hierarchy and organization. Caches. Function unit sharing and pipelining. I/O
and interrupt processing. RTL and behavioral modeling using hardware
description languages. Microprocessor organization and implementation
techniques. |
|
Fall 2001
|
|
|
Advance Compiler
Construction |
Advanced
study of programming language implementation techniques: optimizations such
as common sub-expression elimination, register allocation, and instruction
scheduling. Implementation of language features such as type-directed
dispatch, garbage collection, dynamic linking, and just-in-time code
generation. |
|
Winter 2002
|
|
|
Advanced System
Software |
Study
of operating systems including interprocess communication, scheduling,
resource management, concurrency, reliability, validation, protection and
security, and distributed computing support. System software design languages
and modeling analysis. |
|
Real-Time Systems |
|
|
Spring 2002 |
|
|
Graph Algorithms |
Algorithms
for solving fundamental problems in graph theory. Graph representations,
graph traversal, network flow, connectivity, graph layout, matching problems |
|
Distributed Software
Architecture |
Practical
issues for reducing the software complexity, lowering cost, and designing and
implementing distributed software applications. Topics include the
distributed object model distributed environment, platform-independent
software agents and components, the middleware architecture for distributed
real-time and secure services. |
Hadar Ziv |
Fall 2002
|
|
|
Parallel Computer
Systems |
This
course will discuss the fundamental issues associated with parallel
computing, with particular emphasis on scalability (of both hardware and
software) and techniques to exploit available locality. The course will
include several project assignments, most of which will involve significant
programming effort for parallel machines. In addition, a research-oriented
project with written report will be required. |
Computer Science Department Course
Listing:
http://www.editor.uci.edu/98-99/ics/ics.3.html
Electrical and Computer Engineering
Department: http://www.editor.uci.edu/01-02/engr/engr.8.html