MIME-Version: 1.0 Server: CERN/3.0 Date: Wednesday, 20-Nov-96 20:11:11 GMT Content-Type: text/html Content-Length: 7699 Last-Modified: Friday, 29-Sep-95 20:09:49 GMT Cornell CS Course Home Pages Fall 1995

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.

CS211 Computers and Programming

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, data structures, and analysis of algorithms. Pascal is the principal programming language.

CS212 Structure and Interpretation of Computer Programs

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.

CS214 A Taste of Unix® and C

An introduction to Unix operating systems and their programming environments. This is a six week course, divided into two parts. In the first three weeks, we cover the architecture of Unix operating systems and the C language at a high level. The second three weeks center around a programming project that is intended to demonstrate the issues of crafting programs in C on Unix.

CS314 Introduction to Digital Systems and Computer Organization

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.

CS401/501 Software Engineering: Technology and Techniques

This course covers the techniques and technologies used in modern software development. It involves a good deal of programming and development experience, and tries to simulate the life of professional programmers. Topics include the C++ language, Object-oriented programming, software design issues, classical software engineering, and collaborative programming.

CS410 Data Structures

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.

CS415 Practicum in Operating Systems

The practical aspects of operating systems are studied through the design and implementation of an operating system kernel that supports multiprogramming, virtual memory, and various input-output devices. All the programming for the project is in a high-level language.

CS472 Foundations of Artificial Intelligence

A challenging introduction to the major subareas and current research directions in artificial intelligence. Topics include knowledge representation, search, problem solving, natural-language processing, vision, robotics, logic and deduction, planning, and machine learning.

CS481 Automata and Computability Theory

An introduction to the modern theory of computing: automata theory, formal languages, and effective computability. A faster-moving and deeper version of CS381. Credit will not be given for both. Corrective transfers between CS381 and CS481 are encouraged during the first few weeks of instruction.

CS611 Advanced Programming Languages

The course introduces and relates the operational, denotational, and axiomatic semantics of model programming languages for imperative, applicative, algebraic, and logic programming.

CS631 Multimedia Systems

An investigation of the computer science issues related to multimedia systems. Topics include: coding and compression, storage systems, high-speed networking, video/audio processing, user interface issues, and databases for multimedia.

CS681 Analysis of Algorithms

Methodology for developing efficient algorithms, primarily for graph theoretic problems. Understanding of the inherent complexity of natural problems via polynomial-time algorithms, randomized algorithms, NP-completeness, randomized reducibilities. Additional topics such as parallel algorithms and efficient data structures.

CS717 Cool Tools Seminar

This course will survey the latest (and coolest) software and hardware applications, systems, and tools with an emphasis on practical use of the tools. Each seminar will present a tutorial style introduction to one of the topics.

CS718 Topics in Computer Graphics

Covers advanced topics in computer graphics and applications of computer graphics to scientific computation.

CS775 Seminar in Natural Language Understanding

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