CS015 - Introduction to Object-Oriented Programming and Computer Science

Emphasizes object-oriented design and programming in Java, an effective modern technique for producing modular, reusable, internet-aware programs. Also introduces interactive computer graphics, user interface design, and some fundamental data structures and algorithms. A sequence of successively more complex graphics programs, including Tetris, helps provide a serious introduction to the field intended for both potential concentrators and those who may take only a single course. No prerequisites.

CS123 - Introduction to Computer Graphics

This course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. It introduces 2D raster graphics techniques, including scan conversion, simple image processing, interaction techniques and user interface design. The bulk of the course is devoted to 3D modeling, geometric transformations, and 3D viewing and rendering. A sequence of assignments in C++ culminates in a simple geometric modeler and ray tracer. Prerequisite: CSCI0160, CSCI0180 or CSCI0190; CSCI0320 is strongly recommended. Students who do not know C++ should take a minicourse on it offered during the first week of the semester. CSCI0530 or MATH0520 as prerequisite or corequisite.

CS125 - Introduction to Computer Animation

Introduction to 3D computer animation production including story writing, production planning, modeling, shading, animation, lighting and compositing. The first part of the course leads students through a series of exercises that build on each other to learn basic skills in 2D and 3D animation. At each step, student work is evaluated for expressiveness, technical correctness and aesthetic qualities. Students then work in groups (2-4 students) to create a polished short animation. The class format includes lecture, in-class projects, and viewing animations. The emphasis, however, is on in-class critique of ongoing work which is essential to the cycle of visually evaluating work in progress, determining possible improvements, and implementing them for further evaluation. Prerequisite: consent of instructor.

CS128 - Intermediate 3D Computer Animation

CSCI1280 continues work begun in CSCI1250 with deeper exploration of the core technical and artistic aspects of 3D computer animation. In the first portion of the course, students complete a series of tutorials and animation assignments in which they learn more complex modeling, character rigging, animation, shading, lighting, and dynamics techniques. Then, students independently explore one area in more depth and create a portfolio-quality demonstration, alone or in pairs. We read and discuss technical texts as well as works on artistic motivation and view related animated films. The emphasis of class time will be on critiquing ongoing student work. Prerequisite: CSCI1250. Enrollment limited to 20. Written permission required.

CS129 - Computational Photography

Computational Photography describes the convergence of computer graphics and computer vision with photography. Its goal is to overcome the limitations of traditional photography using computational techniques to enhance the way we capture, manipulate, and interact with visual media.
We will cover topics such as cameras, human visual perception, image processing and manipulation, image based lighting and rendering, high dynamic range, single view reconstruction, photo quality assessment, non photorealistic rendering, the use of Internet-scale data, and many more topics. The course will consist of several programming assignments and a final project. Students are encouraged to capture and process their own data. Students can earn graduate credit for the course but will need to meet higher requirements on all projects throughout the semester and need the instructor's permission.
This course requires programming experience as well as basic linear algebra, calculus, and probability. Previous knowledge of computer graphics or computer vision will be helpful.

CS130 - Designing, Developing and Evaluating User Interfaces

This course will cover concepts in human-computer interaction that focus on designing user interfaces. Topics include understanding when to use different interfaces, modeling and representing user interaction, principles of user experience design, eliciting requirements and feedback from users, methods for designing and prototyping interfaces, and user interface evaluation. Classroom time will be spent on lectures and hands-on activities, and students will complete assignments and readings outside the classroom. There will be ten weekly assignments and readings will be from a variety of sources that will be posted during the semester.

Students interested in learning the process behind building a user interface and gaining hands-on experience designing a user interface should take this course. Programming or web development experience is useful for some assignments, but alternate assignments will be available for those without programming experience.

CS137 - Virtual Reality Design for Science

Explores the visual and human-computer interaction design process for scientific applications in Brown's immersive virtual reality Cave. Joint with RISD. Computer Science and design students learn how to work effectively together; study the process of design, learn about scientific problems, create designs for scientific applications; critique, evaluate, realize and iterate designs, and demonstrate final projects. Prerequisite: permission of the instructor.

CS143- Computer Vision

How can computers understand the visual world of humans? This course treats vision as a process of inference from noisy and uncertain data and emphasizes probabilistic and statistical approaches. Topics may include perception of 3D scene structure from stereo, motion, and shading; image filtering, smoothing, edge detection; segmentation and grouping; texture analysis; learning, recognition and search; tracking and motion estimation. Strongly recommended: basic linear algebra, basic calculus and exposure to probability.

CS237 - Interdisciplinary Scientific Visualization

The solution of scientific problems using computer graphics and visualization. Working in small multidisciplinary groups, students identify scientific problems, propose solutions involving computational modeling and visualization, design and implement the solutions, apply them to the problems and evaluate their success. Examples include: interactive software systems, immersive Cave applications, new applications of existing visualization methods. Prerequisites: all: programming experience; CS students: graphics experience; others: problem ideas. Interested students should contact the instructor.

CS295B - Data-driven Vision and Graphics

Investigates current research topics in image-based graphics and vision. We will examine data sources, features, and algorithms useful for understanding and manipulating visual data. We will pay special attention to methods that harness large-scale or Internet-derived data. Vision topics such as scene understanding and object detection will be linked to graphics applications such as photo editing and image-based rendering. These topics will be pursued through independent reading, class discussion and presentations, and state-of-the-art projects. Strong mathematical skills and previous imaging (vision or computational photography) courses are essential. Instructor permission required.

CS295J - Cognition, Human-Computer Interaction and Visual Analysis

In this graduate seminar we will learn about models of human cognition and perception, and explore potential implications of the models on how computers and humans can interact effectively when performing scientifica analyses. Participants will be responsible for reading assigned materials, taking turns guiding discussions of the readings, and preparing a final paper and presentation. It is recommended that participants have some background in at least one of the areas of study.

CS224 - Interactive Computer Graphics

Important current topics in computer graphics. Course includes reading and discussing current research papers, multiple assignments and preliminary projects in which students implement recent papers, and a demanding final integrative project done in small groups. Prerequisites: CSCI1230 and CSCI0320.

Page Owner: Webmaster Last Modified: Tue Aug 2 8:17:00 2011