Next: Related Courses in Other Departments Up: Courses

Graduate Courses

CS 521a Compilers and Interpreters

Paul Hudak
MWF 1:30-2:20

Compiler organization and implementation: lexical analysis, formal syntax specification, parsing techniques, execution environment, storage management, code generation and optimization, procedure linkage and address binding. The effect of language-design decisions on compiler construction.


CS 522b Operating Systems

Bradley Kuszmaul
MWF 1:30-2:20

The design and implementation of operating systems. Topics include synchronization, deadlock, process management, storage management, file systems, security, protection, and networking.


[CS 524a Parallel Programming Techniques
(Not taught in 1997-98)

Emergent programming styles for solving problems on a variety of parallel computers. Paradigms basic to the design of efficient parallel algorithms, methods of problem decomposition, models for evaluating program performance, and techniques for optimizing parallel compilers. A wide variety of problems with programming exercises on the Connection Machine and iPSC hypercube multiprocessors, illustrates a general approach to programming parallel machines. (Taught in alternate years.)]


CS 525b Theory of Distributed Systems

Lenore Zuck
MWF 2:30-3:20

Models of asynchronous distributed computing systems. Fundamental concepts of concurrency and synchronization, communication, reliability, topological and geometric constraints, time and space complexity, and distributed algorithms. (Taught in alternate years.)


[CS 527a Comparative Languages
(Not taught in 1997-98)

The design and evolution of programming languages. Topics include basic program structures, type systems, programming methodologies and their relationship to language design, object-oriented languages, and parallel languages.]


[CS 529b Functional Programming
(Not taught in 1997-98)

Methods for synthesizing functional programs from formal specifications and verifying correctness properties of programs. Topics include higher order functions, pattern-matching, abstract algebraic datatypes, polymorphic types, advanced typing issues such as type classes and higher-order modules, lazy/eager evaluation, equational reasoning, and realization of effects via continuations and monads. The functional languages Haskell and/or ML are used in the course. (Taught in alternate years.)]


CS 530a Formal Semantics

Zhong Shao
MWF 11:30-12:20

Introduction to formal approaches to programming language design and implementation. Topics include the lambda-calculus, type theory, denotational semantics, type-directed compilation, higher-order modules, and application of formal methods to systems software and internet programming. (Taught in alternate years.)


[CS 536b Graphics and Computational Geometry
(Not taught in 1997-98)

Introduction to computer graphics and computational geometry. An introduction to generating and manipulating graphics objects in animation and scientific visualization. Design of graphics systems and interfaces. Techniques for visual display of geometric data: point-set triangulation, gift-wrapping.]


CS 540a Numerical Computation I

Martin Schultz
TTh 2:30-3:45

Algorithms for numerical problems in the physical, biological, and social sciences: solution of linear and nonlinear systems of equations, interpolation and approximation of functions, numerical differentiation and integration, optimization.


[CS 541b Numerical Computation II
(Not taught in 1997-98)

Algorithms for numerical problems in the physical sciences and engineering: initial and boundary value problems in ordinary and partial differential equations.]


CS 560b Theoretical Methods in Computer Science

Laszlo Lovasz
TTh 9:00-10:15

The course offers an introduction to the main areas of theoretical computer science. Its goal is to provide a theoretical background for doing research in computer science. The topics to be covered can be divided into three main areas:


CS 567a Cryptography and Computer Security

Michael Fischer
MWF 10:30-11:20

A survey of such private and public key cryptographic techniques as DES, RSA, and zero-knowledge proofs, and their application to problems of maintaining privacy and security in computer networks. The main focus is on technology, but the course will also consider such societal issues as balancing individual privacy concerns against the needs of law enforcement, vulnerability of societal institutions to electronic attack, export regulations and international competitiveness, and development of secure information systems.


CS 568a Algorithmic Techniques for Bio-Informatics

Ming Yang Kao
MWF 9:30-10:20

A genome is a set of DNA molecules that encode the entire genetic information of a species. A major goal of bio-informatics is to determine the structure of the human genome and those of other species. This interdisciplinary course focuses on basic problems that arise from sequencing and comparing DNA at various levels. As new technologies of processing DNA become available, different problems will take the center stage. For this reason, this course emphasizes fundamental algorithmic techniques instead of problems. These techniques have proven useful for many current problems and are chosen to provide a foundation upon whtich further techniques can be developed to tackle future problems.


CS 570a Artificial Intelligence

Gregory Hager
MWF 2:30-3:20

An introduction to artificial intelligence research, focusing on reasoning and perception. Topics include knowledge representation, predicate calculus, temporal reasoning, vision, robotics, planning, and learning.


CS 571a/EE 911a Analytical Introduction to Robotics

David Kriegman
TTh 11:30-12:45

Survey of the interdisciplinary field of robotics: actuators and sensors, kinematics and dynamics, information processing, motion planning, and control. Emphasis on analytical models and their use in the field.


[CS 574b Autonomous Systems
(Not taught in 1997-98)

The goal of this course is to acquaint students with the basic principles of building a purposeful autonomous robotic system. Lectures will cover the theory and practice of control systems, sensors, representation of the environment, and planning. Students will construct a simulated autonomous system, and also be given the opportunity to work with a real mobile robot. (Taught in alternate years.)]


CS 575b Computational Vision and Biological Perception

Steve Zucker
TTh 1:00-2:15

We provide an overview of computational vision with a biological emphasis. The course is suitable as an introduction to biological perception for computer science and engineering students, as well as an introduction to computational vision for mathematics, psychology, and physiology students.


CS 576b/E&AS 914b Computer Vision

Stephen Morse and Hemant Tagare
TTh 9:00-10:15

Computational accounts of visual perception: image formation, image transformations, line and curve extraction, segmentation, shape, stereo, motion, texture, and model-based object recognition. A review of relevant mathematical tools, algorithms, and results from studies of human vision.


CS 577a Neural Networks for Computing

Willard Miranker
TTh 1:00-2:15

Artificial neural networks as a computational paradigm studied with application to problems in associative memory, learning, pattern recognition, perception, robotics, and other areas. Models for the dynamics of neurons and methods such as learning for designing neural networks will be developed. Concepts, designs, and methods compared and tested in software simulation. Brain and conciousness studies are optional topics. Programming required.


CS 690a or b Independent Project.


CS 691a or b Independent Project


CS 762b/Math 945b Discrete Mathematics Seminar

Laszlo Lovasz
Th 2:30-3:45


CS 820a or b Directed Readings in Programming Languages and Systems
By arrangement with faculty


CS 840a or b Directed Readings in Numerical Analysis
By arrangement with faculty


CS 860a or b Directed Readings in Theory
By arrangement with faculty


CS 870a or b Directed Readings in Artificial Intelligence
By arrangement with faculty
Next: Related Courses in Other Departments Up: Courses
Graduate Handbook Contents
Yale Computer Science Department Homepage