MIME-Version: 1.0
Server: CERN/3.0
Date: Wednesday, 20-Nov-96 20:11:07 GMT
Content-Type: text/html
Content-Length: 10731
Last-Modified: Tuesday, 04-Jun-96 20:17:25 GMT
Cornell CS Course Home Pages Spring 1996
Course Home Pages
These are links to the home pages for a number of CS courses.
In many cases there are class notes, problem sets, and other course
information available, although they may only be available to registered
members of the course.
-
-
An introduction to elementary computer programming concepts. Emphasis is
on techniques of problem analysis and the development of algorithms and
programs. The subject of the course is programming, not a particular
programming language. The principal programming language is C. The course
does not presume previous programming experience. Programming assignments
are tested and run on interactive, stand-alone microcomputers.
-
-
Intermediate programming in a high-level language and introduction to
computer science. Topics include program development, proofs of program
correctness, program structure, recursion, abstract data types, object-
oriented programming, data structures, and analysis of algorithms. C++
is the principal programming language.
-
-
A challenging introduction to programming languages and computer
science. Topics include recursive and higher-order procedures,
performance analysis of algorithms, proofs of program correctness,
probabilistic algorithms, symbolic hierarchical data, abstract data
types, polymorphic functions, object-oriented programming, infinite
data types, simulation, and the interpretation and compilation of
programs.
-
-
An introduction to elementary numerical analysis and scientific
computation. Topics include interpolation, quadrature, linear and
nonlinear equation solving, least-squares fitting, and ordinary
differential equations. The Matlab computing environment is used.
Vectorization, efficiency, reliability, and stability are stressed.
Special lectures on parallel computation and high-performance Fortran.
-
-
Web course material includes course info, lecture notes, homeworks,
project info, and hopefully even lecture videos.
Topics covered in the course include: representation of
information; machine/assembly languages, in particular PowerPC;
processor organization; interrupts and I/O; memory hierarchies;
combinatorial and sequential circuits; data path and control
unit design; RTL; and microprogramming.
-
-
Lists, trees, graphs, arrays, and other forms of data structure and their
implementation. Relationship between language and data structure,
emphasizing abstract data types. Dynamic storage allocation and memory
management. Detailed study of searching and sorting methods. Analysis to
determine the more efficient algorithm in a given situation.
-
-
An introduction to the principles of interactive computer graphics and
scientific visualization. Topics include surface modeling, animation,
perspective transformations, hidden-line and hidden-surface algorithms,
lighting models, image synthesis, and application to scientific data
analysis.
-
-
Programming assignments dealing with interactive computer graphics and
visualization of scientific data.
-
-
This three credit course covers the fundamentals of database
systems and information retrieval. The database part of the course
deals with traditional structured data. The relational model is the
main model used in this part. The information retrieval part of this
course concentrates on how to manipulate textual information which is
largely unstructured.
-
-
Techniques used in the creation and analysis of algorithms. Combinatorial
algorithms, computational complexity, NP-completeness, and intractable
problems.
-
-
This class will survey modern techniques for efficient implementation
of advanced programming languages, such as SML, Java, Haskell, Scheme,
and Modula-3.
-
-
Practical issues in designing and implementing distributed software.
Topics include local and wide-area network protocols, replicated data,
dynamic reconfiguration, monitoring for and reacting to failures or
recoveries, distributed computation, synchronization, and techniques for
expressing coarse-grained parallelism at the application level.
-
-
The practical aspects of distributed systems are studied through the
design and implementation of a significant system.
Projects are available in the area of distributed agents,
network and resource management, fundamental network protocol research,
hot new network protocols, real-time communication,
distributed virtual reality, Java & distribution, Java applications,
CSCW, distributed simulations, distributed data management and
distributed multiplayer games.
-
-
This course discusses the design of high-performance processors, including
techniques such as superscalar, superpipeled, RISC processors, 64-bit
instruction set extensions, cache coherency, co-processors, and more...
The CS516 Web page contains all lecture notes, problems sets, and readings
available electronically. As the term progresses, all course projects will
be described there too.
-
-
Sophisticated software technology is required to exploit the enormous
computing power of modern high performance architectures like
pipelined, VLIW, superscalar and parallel architectures. The objective
of this course is to study these architectures, and master the
compiler and runtime systems technology required to deliver high
performance to the applications programmer. We emphasize technology
relevant to computational science applications, such as dense and
sparse matrix techniques, and iterative and direct solvers, using
these as examples throughout the course.
-
-
An introduction to computer vision. Topics include: edge detection,
stereopsis, motion and optical flow, and extracting shape from images.
Students will implement several of the algorithms covered in the course, in
addition to a research project.
-
-
This course is an introduction to natural language understanding, a
subfield of artificial intelligence whose primary concern is the
computational study of language use. The course covers all aspects of
natural language processing including: semantic interpretation,
syntactic analysis, discourse processing, text summarization, natural
language generation, language acquisition, knowledge acquisition,
memory models, and statistical methods of ambiguity resolution.
-
-
Covers current topics in natural language understanding, computational
linguistics, and relevant areas of machine learning. Meets once a
week for 1-2 hours to present and discuss recent papers in the field
as well as ongoing natural language understanding research in the
department.
Information from previous semesters
Information from previous semesters may be retained for a while, but don't be surprised if certain links don't work.
- Fall 1994
- Spring 1995
- Summer 1995
- Fall 1995