Undergraduate classes, Spring 2008, Computer Science

Note: All courses taken towards the major or minor must be taken on a letter grade basis, not pass/fail.
CS 110: Computer Science FundamentalsCredits: 4− Description− Sections
Content: The course will provide a basic understanding of the principles underlying computer systems and software. Topics include an overview of computer hardware, the design of algorithms and their role in problem solving, and programming in a high level language. Databases, networking and the world-wide web, and contemporary issues in information technology will also be discussed.
Particulars: Lectures will be supplemented by readings and some laboratory exercises; there will be several quizzes, a midterm, a final exam, and assignments. Computer-based assignments will account for approximately 25% of the grade but this is not primarily a programming course. CS110 is intended for students who do not expect to take additional computing courses. Students interested in further course work should instead start in CS170.
000MSC: W201TuTh 2:30pm - 3:45pmPhil Huttomax 50
CS 170: Introduction to Computer Science ICredits: 4− Description− Sections
Content: This course is an introduction to computer science for the student who expects to make serious use of the computer in course work or research. Topics include: fundamental computing concepts, general programming principles, the Unix Operating System, the X-window system, and the Java programming language. Emphasis will be on algorithm development with examples highlighting topics in data structures.
Particulars: No previous programming experience is required for this course. Students expecting to take more advanced Computer Science courses should start here. The grade in this course will be based on programming assignments and examinations. Typically the programming assignments will count no more than 50%.
000MSC: W302MWF 10:40am - 11:30amEdward Goetzemax 25
001MSC: W306TuTh 1:00pm - 2:15pmPhil Huttomax 25
L-BMSC: E308ATu 4:00pm - 5:00pmEdward Goetze
L-DMSC: E308ATh 4:00pm - 5:00pmPhil Hutto
CS 171: Introduction to Computer Science IICredits: 4− Description− Sections
Content: A continuation of CS170. Emphasis is on the use and implementation of data structures, introductory algorithm analysis, and object oriented design and programming with Java. The course will also introduce the basics of procedural programming with C.
Prerequisites: CS170
000MSC: W303TuTh 1:00pm - 2:15pmEugene Agichteinmax 25
CS 323: Data Structures and AlgorithmsCredits: 4− Description− Sections
Content: (Formerly CS 253). This is an advanced course in computer science, studying ideas and algorithms for processing data in a computer. The course will involve studying such data structures as arrays, lists, trees, hash tables, and their applications in the construction of efficient algorithms. Searching and sorting algorithms will be also discussed.
Particulars: Grades will be based on several programming assignments, quizzes, homework, one or two hour-exams, and a final exam. The programming language used in this class is Java.
Prerequisites: CS 171 and CS 224 [CS 124].
000MSC: W302MWF 11:45am - 12:35pmMichelangelo Grignimax 25
CS 355: Computer ArchitectureCredits: 4− Description− Sections
Content: This is the second course in computer organization and architecture. This course will involve studying the register transfer level of the control unit, micro-programming, pipelining, caching, interrupt handling, virtual memory (paging), and I/O programming. We will also look at SIMD, MIMD architectures, message passing multi-processors and dataflow machines.
Particulars: Students should have a thorough understanding of the SISD von-Neumann architecture. Grades will be based on quizzes, homework, one or two midterm exams, and a final exam.
Prerequisites: CS 255.
000MSC: W302TuTh 1:00pm - 2:15pmShun Yan Cheungmax 25
CS 370S: Software Engineering with PracticumCredits: 4− Description− Sections
Content: This course introduces basic concepts and techniques of software engineering, and applies these in the context of a semester-long group programming project.
Prerequisites: Any two CS classes at the 200 level or above.
000MSC: W302TuTh 10:00am - 11:15amPhil Huttomax 10
CS 424: 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 253 and CS 224 [CS 124].
000MSC: W304MWF 2:00pm - 2:50pmEdyta Szymanskamax 15
CS 452: Operating SystemsCredits: 4− Description− Sections
Content: (Formerly CS 451). The structure and organization of computer operating systems. Process, memory, and I/O management; device drivers, inter-machine communication, introduction to multiprocessor systems. An important portion of the course is a course long programming project that implements a simple operating system in stages. Each stage takes about three weeks, and is used as a basis for the next stage. (The scope and pace of the project is somewhat less than the related project in CS580)
Particulars: Grades will be based on the project and a final exam. Must be taken for a letter grade.
Prerequisites: CS 351.
000MSC: E408TuTh 2:30pm - 3:45pmKen Mandelbergmax 15
CS 485: Topics in CS: Database Models, Techniques, and DesignCredits: 4− Description− Sections
Content: This course covers database design and implementation issues: schema design, indexes, views, integrity constraints, security. Non-relational data models and languages are introduced: object-oriented, semi-structured, and text databases. Techniques for managing temporal, uncertain, and active data, as well as methods for data mining, data integration, and data visualization are explored. Assignments include the design and implementation of a database.
Particulars: May be repeated for credit when the topic varies.
Prerequisites: Previous experience with SQL helpful but not required. Review of basic concepts in relational databases will be given.
000MSC: W301M 4:00pm - 6:30pmJames Lumax 30
CS 497R: Undergraduate Directed StudyCredits: 1 - 12− Description− Sections
000Faculty (TBA)