Computer Science Department Mount Holyoke College

 

Spring 2008 Course List

Note: A number of our courses are designed to offer students significant software design and programming experience. The descriptions for these courses contain the phrase "This course is programming intensive".

CS100: An Introduction to Computer Science

TTh 8:35-9:50 Labs M 1:15-3:05, M 3:015-5:05

An introduction to basic computer science concepts and issues. Topics will be chosen from: origins of computers, data representation and storage, computer architecture, assemblers and compilers, operating systems, networks and the Internet, distributed systems, information retrieval, data organization, graphics, artificial intelligence, robotics, the theory of computation, and trends in Internet commerce and use. Laboratory assignments will offer some experience with programming and the use of application software.

Meets Science/Math II-A requirement

P. Dobosh

4 credits; 2 meetings (75 minutes), 1 lab (2 hours); students should NOT take this course after Computer Science 101

CS101: Problem Solving and Structured Programming

TTH 11:00-12:15 Labs TW 1:15-3:05

Introduces the Java language and the use of structured programming techniques. Emphasizes the solution of complex computational problems by their analysis into smaller subproblems that can be solved independently and then combined to form a complete solution. Introduces other topics relevant to computer science. Assumes no previous study or use of computers. This course is programming intensive.

Meets Science/Math II-A requirement

B. Lerner

4 credits; enrollment limited to 50; 2 Meetings (75 minutes), 1 lab (2 hours)

CS102: Object-Oriented Intermediate Programming

MW 11:00-12:15

This second course in the programming sequence focuses on object-oriented program design and intermediate programming concepts. This course also introduces fundamental data structures and complexity analysis. Topics include inheritance, polymorphism, recursion, linked lists, stacks and queues. In addition, students will focus on the design and implementation of large programs in Java. This course is programming intensive.

Meets Science/Math II-A requirement

X. Li

Prereq. Computer Science 101; 4 credits; enrollment limited to 40; 2 meetings (75 minutes)

CS110: The Art and Science of Computer Graphics

MW 11:00-12:15

The goal of this course is to develop an understanding of the theoretical and practical concepts underlying two- and three- dimensional computer graphics. The course will emphasize hands-on studio/laboratory experience. Students will complete a series of projects, through which they will experiment with modeling, color, lighting, perspective, and simple animation. Computer programming will be used to design more complex models and to control their interactions. Lectures, augmented by guided viewings of state-of-the-art computer generated and enhanced images and animations, will be used to deepen student understanding of the hands-on experience.

Meets Science/Math II-A requirement

J. Teresco

Prereq. None; 4 credits; enrollment limited to 20

CS221: Introduction to Computer Systems

MW 8:35-9:50 F 9:00-9:50

This course looks at the inner workings of a computer and computer systems. It is an introduction to computer architecture, software engineering, and the fundamentals of operating systems. Specific topics include assembly language programming, memory and I/O issues, and the techniques of software design, implementation, and testing as a group. This course is programming intensive.

Meets Science/Math II-A requirement

P. Dobosh

Prereq. Computer Science 101,102; Computer Science 211 recommended; 4 credits; enrollment limited to 20; 2 meetings (75 minutes)

CS312: Algorithms

TTH 8:35-9:50

This course is an introduction to the theory of algorithms. The goal of this course is to enable the student to design efficient algorithms as well as to select appropriate existing algorithms for solving complex problems. Topics may include sorting, searching, advanced data structures, and graph algorithms. In addition to discussing the behavior of the algorithms, we will study algorithm performance using a formal mathematical model.

Meets Science/Math II-A requirement

B. Lerner

Prereq. Computer Science 211 and Mathematics 232; 4 credits; enrollment limited to 20

CS322: Operating Systems

MWF 10:00-10:50

An introduction to the issues involved in orchestrating the use of computer resources. Topics include operating system evolution, file-handling systems, memory management, virtual memory, resource scheduling, multiprogramming, deadlocks, concurrent processes, protection, and design principles. Course emphasis: understanding the effects of operating system design on computer system performance. This course is programming intensive.

Meets Science/Math II-A requirement

J. Teresco

Prereq. Computer Science 211 and 221; 4 credits; enrollment limited to 20; 2 meetings (75 minutes)

CS336: Intelligent Information Retrieval

MW 1:15-2:30

Introduces the basic concepts, methodologies, and research findings in information retrieval. Special topics include Web searching, cross-language retrieval (query in one language, retrieve documents written in many languages), data mining (automatically identifying hidden relationships from large amounts of information), and data extraction (identifying prespecified types of information).

Meets Science/Math II-A requirement

X. Li

Prereq. Computer Science 211; 2 meetings (75 minutes); 4 credits; enrollment limited to 20