Graduate classes, Fall 2009, 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.
Texts: TBA
Assessments: TBA
Prerequisites: CS 124 and 253.
000MSC: E406TuTh 10:00am - 11:15amMichelangelo Grignimax 15
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.
Texts: TBA
Assessments: TBA
Prerequisites: CS 171 and CS 255 or their equivalent. Grades will be based on the programming assignments as well as the midterm and final exams. This course may not be taken S/U.
000MSC: W301TuTh 2:30pm - 3:45pmKen Mandelbergmax 25
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.
Texts: TBA
Assessments: TBA
Prerequisites: CS 253, CS 255, and CS 424, or their equivalents. 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.
000MSC: W301MWF 10:40am - 11:30amJames Lumax 25
CS 584: Topics in Computer Science: Software EngineeringCredits: 4− Description− Sections
Content: Software engineering as a discipline has evolved in conjunction with computer hardware and programming tools. Despite its infancy, SW Engineering has some fundamental processes that are recognized as essential to the production of quality software that meets customer requirements. Both the ACM (as "SE2004") and the IEEE (as "Software Engineering Body of Knowledge" or "SWEBOK") have defined a set of skills that practitioners of software development should possess. These include Requirements, Design, Construction, Testing, Quality Control, and Configuration Management. This course seeks to teach principles of software engineering through hands-on experience in a series of projects. In addition, the student will be introduced to applied concepts in software engineering through the blogs and writings of some of today's most noted practitioners.
Texts: Much of the material used in the course is available on the web. Primary Text: Software Engineering: A Practioner's Approach (6th Edition) by Roger S. Pressman; Discount copies available here: http://www4.bigwords.com/details/book/Software_Engineering_A_Practitioners_Approach/9780077227807/0077227808 Optional Supplementary Text: Software Engineering by Ivan Marsic; Free copy here: http://www.caip.rutgers.edu/~marsic/books/SE/book-SE_marsic.pdf
Assessments: Grading: 25% exams (10% mid-term, 15% final); 30% projects; 25% homework; 20% presentations Presentations: Students will provide a brief (10-minute) presentation on each project (5% each for the first 2 projects and 10% for the last one). Homework: There will be 5 readings assigned during the semester. Students will provide a report on each paper, at a value of 5% each of the course grade, consisting of (a)content summary; (b) arguments in favor of the paper's thesis; (c) arguments against the paper's thesis; (d) the student's opinion -- pro or con -- with supporting rationale. There is no absolute right or wrong opinion, but the student's views must include rational supporting discussion.
Prerequisites: Senior standing, Graduate student, or permission from the instructor. The student should be familiar with at least one language used in web software development
000MSC: W306TuTh 4:00pm - 5:15pmJoan Smithmax 25
CS 584: Topics in Computer Science: Streaming DatabasesCredits: 4− Description− Sections
Content: Traditional Database Systems manage persistent data sets and data content are relatively permanent. User queries vary over a wide range of topics and are relatively unstable. Stream Databases is a relatively recent topic where applications generate a stream of information. Some examples are stock tickers, network traffic monitoring, patient monitoring, etc. The data managed in Stream Databases is always in flux and data content changes constantly. The user queries are relatively fixed: the user queries monitor a small number of well-defined events (e.g., in stock tickers: "buy and sell signals"). These queries are called "Stream Queries" and traditional database system are ill-equipped to process stream queries. In this course, we study a number of proposed architecture to process stream queries and techniques to mine information in streaming data.
Texts: TBA
Assessments: TBA
Prerequisites: CS377
001MSC: W301TuTh 1:00pm - 2:15pmShun Yan Cheungmax 20
CS 597R: Directed StudyCredits: 1 - 12− Description− Sections
Content: TBA
Texts: TBA
Assessments: TBA
Prerequisites: TBA
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.
Texts: TBA
Assessments: TBA
Prerequisites: TBA
01PTBAEugene Agichtein
02PTBAShun Yan Cheung
03PTBAMichelangelo Grigni
04PTBAJames Lu
05PTBAKen Mandelberg
06PTBAJames Nagy
07PTBAOjas Parekh
08PTBAVaidy Sunderam
09PTBALi Xiong
CS 599R: Master's Thesis ResearchCredits: 1 - 12− Description− Sections
Content: TBA
Texts: TBA
Assessments: TBA
Prerequisites: TBA
00PMSCFaculty (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.
Texts: TBA
Assessments: TBA
Prerequisites: TBA
000MSC: W301F 3:00pm - 4:00pmJames Lu
CS 797R: Directed StudiesCredits: 1 - 12− Description− Sections
Content: TBA
Texts: TBA
Assessments: TBA
Prerequisites: TBA
00PMSCFaculty (TBA)
CS 799R: Dissertation ResearchCredits: 1 - 12− Description− Sections
Content: TBA
Texts: TBA
Assessments: TBA
Prerequisites: TBA
00PMSCFaculty (TBA)