Graduate classes, Fall 2008, 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: E408MWF 11:45am - 12:35pmMichelangelo Grigni
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 2:30pm - 3: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: W201MW 3:00pm - 4:15pmJames Lu
CS 561: Software SystemsCredits: 4− Description− Sections
Content: The goal of this course is to impart working knowledge on how to develop computer programs for scientific applications. 1. We will briefly discuss the computer architecture and how data are represented within a computer system. 2. Software development methodology with structured diagrams 3. Software development in programming languages C and Fortran, with emphasis on applying the software development methodologies in these languages. Examples used in the discussion will be numerical in nature; relying on the students' background in numerical analysis 4. Scientific libraries (LAPack) 5. Parallel software systems with multi-threading (in C and Fortran).
000MSC: W303TuTh 2:30pm - 3:45pmShun Yan Cheung
CS 572: Information RetrievalCredits: 4− Description− Sections
Content: This course will cover fundamental techniques for text-based information systems: text indexing; Boolean, vector space, and probabilistic retrieval models; structured and semi-structured search; evaluation, feedback and interface issues. Web search including algorithmic and system issues for crawling, link-based algorithms, web usage mining, and Web metadata. The goal of the course is to be exposed to current issues and trends in information retrieval and web search and to understand the fundamental algorithms behind modern web search engines.
Particulars: Text: Introduction to Information Retrieval, C.D. Manning, P. RAghavan, and H. Schtze. Cambridge University Press, 2007.
Prerequisites: Required: Proficiency in Java programming, basic probability and statistics, CS 253 or equivalent.
000MSC: W304TuTh 10:00am - 11:15amEugene Agichtein
CS 597R: Directed StudyCredits: 1 - 12− Description− Sections
00PFaculty (TBA)
CS 598R: Rotation ProjectCredits: 1 - 4− Description− Sections
Content: Computer Science and Informatics PhD students are required to complete two rotation projects prior to their qualifying exams and dissertation research. Projects often involve interdisciplinary work, and can be co-supervised by a Math/CS faculty and an external faculty member or researcher (e.g., Schools of Medicine and Public Health, the CDC). Students are required to submit a project proposal and a final report.
CS 599R: Master's Thesis ResearchCredits: 1 - 12− Description− Sections
00PFaculty (TBA)
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: W201F 3:00pm - 3:50pmJames Lu
CS 740R: Topics in Computational and Life SciencesCredits: 4− Description− Sections
Content: This is an advanced graduate course in the focus area of the Computer Science and Informatics PhD program. Coverage and syllabus will vary according to the instructor and emphasis will be on current developments in the field.
000MSC: W303MWF 2:00pm - 2:50pmMichelangelo Grigni
CS 797R: Directed StudiesCredits: 1 - 12− Description− Sections
00PFaculty (TBA)
CS 799R: Dissertation ResearchCredits: 1 - 12− Description− Sections
00PFaculty (TBA)