Graduate classes, Fall 2006, Computer Science

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 554: Database SystemsCredits: 4− Description− Sections
Content: Database implementation as well as advanced database concepts and emerging database applications will be covered. Topics include: data storage and indexing, database recovery, transaction concurrency control, distributed databases, web data management, and database security and privacy.
Particulars: An introduction level database systems course. We will use a database textbook as well as papers from recent database literature. Grades will be based on assignments, a midterm exam, and a course project.
000MSC: E406TuTh 11:30am - 12:45pmLi Xiongmax 20
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: E408TuTh 1:00pm - 2: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 archtecture 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: W304TuTh 1:00pm - 2:15pmJames Nagy
CS 584: Information RetrievalCredits: 4− Description− Sections
Content: Basic and advanced techniques for text-based information systems: text indexing; Boolean, vector space, and probabilistic retrieval models; evaluation, feedback, and interface issues; Web search including crawling, link-based algorithms, and Web metadata; text/Web clustering, classification; information extraction and text mining.
Particulars: Grading will be based on two medium-sized implementation projects, class presentations of research papers, a midterm, and a final.
Prerequisites: CS171, CS253, and some Java programming experience.
000MSC: E408MWF 4:00pm - 5:00pmEugene Agichteinmax 20
CS 597R: Directed StudyCredits: 1 - 12− Description− Sections
CS 599R: Master's Thesis ResearchCredits: 1 - 12− Description− Sections