Graduate classes, Fall 2007, Computer Science

CS 524: Theory Of ComputingCredits: 4− Description− Sections
Content: This course gives mathematical methods to classify the complexity of computational problems. Topics include regular languages, grammars, decidability, NP-completeness, and corresponding models of computation.
Prerequisites: CS 124 and 253.
000MSC: E406TuTh 1:00pm - 2:15pmOjas Parekh
CS 551: Systems ProgrammingCredits: 4− Description− Sections
Content: Systems programming topics will be illustrated by use of the Unix operating system. Topics include: file i/o, the tty driver, window systems, processes, shared memory, message passing, semaphores, signals, interrupt handlers, network programming and remote procedure calls. Programming examples and assignments will illustrate the system interface on actual computer hardware. All assignments will be in written in C. The department's computing lab will be used in the course to allow students to get hands-on experience with operating system and hardware topics that cannot effectively be pursued on a central timesharing computer.
000MSC: W301TuTh 11:30am - 12:45pmKen Mandelberg
CS 556: Compiler ConstructionCredits: 4− Description− Sections
Content: An introduction to the algorithms and data structures used to construct a high level language compiler. Topics include: formal language specification, lexical analysis, parsing, and code generation.
Particulars: A substantial portion of this course will involve a student project to construct a compiler for a simplified programming language. Working knowledge of C or C++ is highly recommended.
Prerequisites: CS 253, CS 255, and CS 424, or their equivalents.
000MSC: W301MWF 2:00pm - 2:50pmJames Lu
CS 560: Computer GraphicsCredits: 4− Description− Sections
Content: This course is an introduction to the techniques of interactive computer graphics. The topics discussed include graphics hardware, software, data structures, mathematical transformations (both 2D and 3D), the user interface, and fundamental algorithms including hidden line and surface removal, shading and color techniques. The major emphasis of the course is on graphics algorithms and programming techniques, with assignments and demonstrations using the X window system for raster scan graphics.
Particulars: Programming assignments will be in C using OpenGl, and require C programming expertise at the same level as in CS351/CS551. Students should have a good background in Linear Algebra.
000MSC: W301TuTh 2:30pm - 3:45pmKen Mandelberg
CS 571: Natural Language ProcessingCredits: 4− Description− Sections
Content: This course introduces the fundamental concepts and ideas in natural language processing (NLP). It develops an understanding of algorithms for processing linguistic information and the underlying computational properties of text. The focus is on modern quantitative techniques in NLP. Advanced topics will include introduction to information retrieval, text mining and knowledge discovery from text data, as well as applications of NLP to bioinformatics and medical informatics.
Particulars: Texts: Foundations of Statistical Natural Language Processing, Christopher Manning and Hinrich Schtze, MIT Press, 1999.
000MSC: E408TuTh 10:00am - 11:15amEugene Agichteinmax 15
CS 597R: Directed StudyCredits: 1 - 12− Description− Sections
CS 599R: Master's Thesis ResearchCredits: 1 - 12− Description− Sections
CS 700R: Graduate SeminarCredits: 1− Description− Sections
Content: This is a required course for all students in the PhD program. It comprises seminars given by faculty, invited guests, and students.
Particulars: This course is a one-credit course; the grading basis is S/U only.
000MSC: W301MWF 3:00pm - 3:50pmJames Lu