Graduate classes, Fall 2006, Computer Science
|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 554: Database Systems||Credits: 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.
|000||MSC: E406||TuTh 11:30am - 12:45pm||Li Xiong||max 20|
|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: E408||TuTh 1:00pm - 2: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 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).
|000||MSC: W304||TuTh 1:00pm - 2:15pm||James Nagy|
|CS 584: Information Retrieval||Credits: 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.
|000||MSC: E408||MWF 4:00pm - 5:00pm||Eugene Agichtein||max 20|
|CS 597R: Directed Study||Credits: 1 - 12||− Description||− Sections|
|CS 599R: Master's Thesis Research||Credits: 1 - 12||− Description||− Sections|