Courses

Spring 2009

  • Visit Bearings to search for courses by title, instructor, department, and more.
  • Login to Blackboard. Instructional materials are available on a course-by-course basis.
101. Introduction to Computer Science
Stephen Majercik M 11:30 - 12:55, W 11:30 - 12:55
What is computer science, what are its applications in other disciplines, and what is its impact in society? A step-by-step introduction to the art of problem solving using the computer and the Java language. Provides a broad introduction to computer science and programming through real-life applications. Weekly labs provide experiments with the concepts presented in class. Assumes no prior knowledge of computers or programming.

210. Data Structures
Laura Toma T 11:30 - 12:55, TH 11:30 - 12:55
Solving complex algorithmic problems requires the use of appropriate data structures such as stacks, priority queues, search trees, dictionaries, hash tables, and graphs. It also requires the ability to measure the efficiency of operations such as sorting and searching in order to make effective choices among alternative solutions. Offers a study of data structures, their efficiency, and their use in solving computational problems. Laboratory exercises provide an opportunity to design and implement these structures. Students interested in taking Computer Science 210 are required to pass the computer science placement examination before class starts.

289. Theory of Computation
Adriana Palacio T 10:00 - 11:25, TH 10:00 - 11:25
Studies the nature of computation and examines the principles that determine what computational capabilities are required to solve particular classes of problems. Topics include an introduction to the connections between language theory and models of computation, and a study of unsolvable problems.

330. Computer Graphics
Adriana Palacio T 1:00 - 2:25, TH 1:00 - 2:25
Offers an introduction to computer graphics hardware, algorithms, and software. Covers the fundamentals of rendering and modeling. Focuses on real-time applications using OpenGL. Topics include line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation.

350. GIS Algorithms and Data Structures
Laura Toma T 2:30 - 3:55, TH 2:30 - 3:55
Geographic information systems (GIS) handle geographical data such as boundaries of countries; course of rivers; height of mountains; and location of cities, roads, railways, and power lines. GIS can help determine the closest public hospital, find areas susceptible to flooding or erosion, track the position of a car on a map, or find the shortest route from one location to another. Because GIS deal with large datasets, making it important to process data efficiently, they provide a rich source of problems in computer science. Topics covered include data representation, triangulation, range searching, point location, map overlay, meshes and quadtrees, terrain simplification, and visualization.

380. Artificial Intelligence and Computer Games
Stephen Majercik M 10:00 - 11:25, W 10:00 - 11:25
Computer games are becoming an increasingly utilized test-bed for the development of new techniques in certain areas of artificial intelligence (AI) research (knowledge representation; search; planning, reasoning, and learning under uncertainty). At the same time, AI techniques are becoming increasingly necessary in commercial computer games to provide interesting and realistic synthetic characters. Explores that symbiosis by studying a subset of relevant AI techniques, using those techniques to create AI-endowed characters, and testing the characters in actual computer games.