Graphics and user interface research includes animation, geometry processing, computational photography, augmented reality & virtual environments, rendering, human-computer interaction, acquisition of geometry and material properties, 3D user interfaces, computational mechanics, knowledge-based design of graphics and multimedia, mobile and wearable computing, computer games, information visualization, video and image processing, shape modeling.
Computer science is one of the fastest-growing fields of study at Columbia and other universities as computational methods become increasingly necessary and fundamental to almost every academic discipline, from engineering and biology, to statistics and the social sciences, to the humanities.
To encourage collaboration and to bring computational knowledge and expertise in formulating new algorithms for specific contexts, the Columbia Computer Science Department works closely with those outside the department, both to advance research in different disciplines through new computational techniques, and to support educational efforts for students wanting to incorporate computer science techniques within their own majors.
Data Science Institute, where computer science professors work closely with 200 other faculty from across the university to develop new techniques in gathering and interpreting data.
The Computer Engineering Program combines key aspects of electrical engineering and computer science to teach the fundamentals of circuits, systems, and software, and give students broad skills in both hardware and software.
The Lede Program gives journalists and others the computational skills needed to turn data into narratives. This intensive summer program offers hands-on training in data, code and algorithms in the context of journalism and storytelling.
Dual Masters degree in Journalism and Computer Science. A four-semester program where students take classes at the Journalism and Engineering schools to learn the fundamentals of reporting and writing while developing a working background in computer science and software design.
The department also offers classes specifically geared for students who want to incorporate computer science into their own disciplines.
Computing in Context (COMS 1002), a rigorous computer science class aimed specifically at liberal arts students. The course combines lectures in basic computer science skills with lectures and projects from humanities professors who show how those skills apply within a specific liberal arts discipline.
Computing for Engineers and Applied Scientists (COMS 1006) introduces computational thinking, algorithmic problem solving and Python programming with applications in science and engineering.
Emerging Scholars Program (COMS 1404) is a one-point class that emphasizes the collaborative and problem-solving aspects of computer science.