|CS 524: Theory Of Computing||Credits: 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.
|000||MSC: E408||MWF 11:45am - 12:35pm||Michelangelo Grigni|
|CS 551: Systems Programming||Credits: 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.
|000||MSC: W301||TuTh 2:30pm - 3:45pm||Ken Mandelberg|
|CS 556: Compiler Construction||Credits: 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.
|000||MSC: W201||MW 3:00pm - 4:15pm||James Lu|
|CS 561: Software Systems||Credits: 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).
|000||MSC: W303||TuTh 2:30pm - 3:45pm||Shun Yan Cheung|
|CS 572: Information Retrieval||Credits: 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.
|000||MSC: W304||TuTh 10:00am - 11:15am||Eugene Agichtein|
|CS 597R: Directed Study||Credits: 1 - 12||− Description||− Sections|
|CS 598R: Rotation Project||Credits: 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 Research||Credits: 1 - 12||− Description||− Sections|
|CS 700R: Graduate Seminar||Credits: 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.
|000||MSC: W201||F 3:00pm - 3:50pm||James Lu|
|CS 740R: Topics in Computational and Life Sciences||Credits: 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.
|000||MSC: W303||MWF 2:00pm - 2:50pm||Michelangelo Grigni|
|CS 797R: Directed Studies||Credits: 1 - 12||− Description||− Sections|
|CS 799R: Dissertation Research||Credits: 1 - 12||− Description||− Sections|