Department of Computer Science

Chair: Professor Julia Hirschberg, 450 CSB, 212-939-7005

Opportunities

  • mobile robotics
  • computer vision
  • tactile sensing
  • 3D modeling
Activities include working on software and hardware projects in the Columbia Robotics
Lab. Some current projects include automated 3D site modeling of outdoor structures,
graphical simulation of multifingered grasping, 3D reconstruction of objects, and medical
robotics. Research positions carry academic credit and may extend into summer and/or
have remuneration. Weekly commitment is about 10 hours. Students should be able to work
independently; have completed COMS W3137: Data structures and algorithms; and have
had some experience with either computer vision, robotics, or graphics. Details on research
in the Columbia Robotics Lab can be found at http://www.cs.columbia.edu/robotics. Details on research in the Columbia Robotics Lab can be found at http://www.cs.columbia.edu/robotics.
Contact: Professor Peter Allen, allen@cs.columbia.edu, 619 CEPSR, 212-939-7093
 

Opportunities

  • computer architecture
  • design and programming of system-on-chip platforms
  • wireless sensor networks
  • combinatorial optimization algorithms
  • computer-aided design for embedded systems and integrated circuits
Opportunity to work on graduate-level research projects. These include: hardware-software
co-design of energy-efficient accelerators for critical algorithms and their integration into a
system-on-chip, design of networks-on-chip, embedded software programming of wireless
sensor networks, and software development of prototype computer-aided design (CAD) tools
for integrated circuits and embedded systems. Projects can be done for academic credit,
and continuation over the summer is possible. Projects may be done independently or as
part of a larger team. Based on the particular type of project, one or more of the following
prerequisites are necessary: proficiency in data structures and at least one high-level
programming language (C, C++, Java), Linux programming, knowledge of digital hardware
design and computer organization, fundamentals of digital integrated circuits design, and
knowledge of a hardware description language (VHDL, Verilog).
Contact: Professor Luca Carloni, luca@cs.columbia.edu, 466 CSB, 212-939-7043
 

Opportunities

  • algorithms running on social networks
  • models, analysis, and optimization of dynamic graphs
  • measurement of the social web and mobile apps
  • game theory and computational economics
  • issues when dealing with massive amounts of private information
    2200
    Department of
How do the web and our smartphones handle and mine our personal information? How
can we reconcile the progress they promise with our privacy? Research projects involve real
hands-on monitoring and crawl of current popular apps, the economics of the data these
algorithms produce, and more efficient alternative design.


Requirements: good knowledge of discrete maths and probability; proficiency with data
structure and a programming language (Python, C, Java). For academic credit: commitment
of 9–12 hours of work per week. Could be more for summer support. Participation in our
reading group and regional research events encouraged. Nonmajors are also welcome,
especially when relevant domain expertise is appropriate.
Contact: Professor A. Chaintreau, augustin@cs.columbia.edu, CEPSR 610, 212-939-7082
 

Opportunities

  • algorithmic game theory and economics
  • computational complexity theory
Activities include paper study and research-oriented projects of topics in algorithmic game
theory and complexity theory, possibly for academic credit and/or remuneration. Projects include the study of applications, both theoretical and practical, of game theory and
mathematical economics in computer science. Solid math background is required.
Contact: Professor Xi Chen, xichen@cs.columbia.edu, 503 CSB, 212-939-7136
 

Opportunities

  • embedded system development
  • device driver development
  • domain-specific languages
  • compilers
  • computer-aided design tools
Projects include embedded system design and development, device driver development,
design and implementation of domain-specific languages and their compilers, and
development and implementation of algorithms for synthesizing hardware and software from
the real-time language Esterel. Projects are ongoing and can be done for academic credit
either during the term or over the summer. Knowledge of C/C++, operating systems, digital
hardware design, optimization algorithms, and compilers is desirable. Projects may be done
independently or as part of a larger team.
Contact: Professor Stephen Edwards, sedwards@cs.columbia.edu, 462 CSB, 212-939-7019
 

Opportunities

  • augmented reality and virtual reality
  • collaborative, mobile, and wearable computing
  • tracked, see-through/hear-through head-worn displays
  • knowledge-based generation of multimedia presentations
  • personal health management user interfaces
  • multimodal user interfaces
  • information visualization
  • computer games
  • 3D GUI design
These opportunities involve the design and implementation of 3D and 2D computer
graphics and user interface software for indoor and outdoor users, using a range of
displays and interaction devices: head-worn, handheld (from smartphones to UMPCs),
desktop, and wall-sized. Multidisciplinary projects potentially involve interaction with
faculty in other departments, schools, and institutions, including Anesthesiology, Architecture, Biomedical Informatics, Electrical Engineering, Journalism, Music,
and NewYork-Presbyterian Hospital. Research positions provide academic credit or
remuneration and are offered during fall, spring, and summer. Weekly commitment is about 10 hours, and the prerequisites are completion of one of: COMS W4160: Computer
graphics
, COMS W4170: User interface design, COMS W4172: 3D user interfaces and
augmented reality
, COMS E6174: Interaction design, or equivalent experience/courses;
and software design and development expertise.
Contact: Professor Steven Feiner, feiner@cs.columbia.edu, 609 CEPSR, 212-939-7083
 

Opportunities

  • database systems
  • Web search
  • distributed information retrieval
Programming and research-oriented projects to develop search tools for the Internet.
Academic credit and continuation over the summer possible. Weekly commitment is 10 hours.
Prerequisites: COMS W3137: Data structures and algorithms; COMS W4111: Introduction to
database systems
; and programming experience in Java, C, C++, Python, or Perl.
Contact: Professor Luis Gravano, gravano@cs.columbia.edu
 

Opportunities

  • deceptive speech across cultures
  • text-to-scene generation
  • spoken dialogue systems
  • tools for Low Resource Languages
  • entrainment in Supreme Court proceedings
Data analysis and computational modeling, human subjects design and execution,
machine learning experiments, providing academic credit during fall, spring, and summer.
Commitment of 9–12 hours per week is expected. COMS W3137: Data structures and
algorithms is required. COMS W4705: Natural language processing, COMS W4771: Machine
learning, and COMS W4706: Spoken language processing are useful, either taken or
concurrent. See project descriptions at http://www.cs.columbia.edu/speech/projects.cgi.
Contact: Professor Julia Hirschberg, julia@cs.columbia.edu, 705 CEPSR, 212-939-7114
 

Opportunities

  • social computing and collaborative filtering for genomics and other scientific research
  • tradeoffs between privacy preservation, regulatory localization, green computing, and other societal issues
  • MMORPG gaming concepts for engaging software development processes and software engineering education
  • better approaches to maintaining the reliability of complex software systems
  • novel techniques for finding and fixing security vulnerabilities
  • building and operating reliable software for the smart grid, green buildings, and other cyber-physical systems
Individual and team research and development projects, possibly some user studies.
2222
Department of Computer Science
Preference is for students interested in participating for multiple consecutive semesters,
potentially including summer(s). Prerequisites: COMS W3157 or equivalent programming
experience in Java or C/C++. Recommended co-requisites: any one or more of COMS
W4111: Introduction to databases, COMS W4156: Advanced software engineering, COMS
W4444: Programming and problem solving are desirable, but not necessary. Non-majors are
very welcome, particularly students with background in the life sciences, social sciences, or
statistics. Time commitment approximately 12 hours per week for a 3-point project. However,
projects are graded based on results rather than effort, so prospective project students must
have strong time management and organizational skills. Most work will be conducted in the
Programming Systems Lab, located in 6LE1 CEPSR; some work can be conducted remotely.
Initial projects are only for academic credit, but a particularly spectacular project could lead
to a paid part-time position for a later semester (and/or summer).
Contact: Professor Gail Kaiser, kaiser@cs.columbia.edu; or
Jonathan Bell, jbell@cs.columbia.edu
 

Opportunities

  • video understanding: segmentation, indexing, and cross-referencing of movies, sitcoms, newscasts, documentaries, YouTube videos, etc.
  • video virality and video evolution in large depositories
  • synthesis of video summaries, in both video and natural language form
  • derivation and improvement of video tags, and their semantics and ontologies
  • analysis of human gestures and their relationship to video semantics
  • design and improvement of semantic-based video browsers
  • performance evaluation of algorithms for all of the above
Activities include paper study, library research, systems design, computer analysis, and
mathematical modeling. Research positions carry academic credit; some limited work
study for pay is also available. Both are available year-round. Weekly commitment is about
10 hours. Students must be able to work independently, must have completed COMS
W3137: Data structures and algorithms
, and must be proficient in C, C++, Java, or Python.
Completion of COMS W4701: Artificial intelligence and/or COMS W4731: Computer vision
and/or COMS W4735: Visual interfaces to computers is desirable but not necessary.
Contact: Professor John Kender, jrk@columbia.edu, 622 CEPSR, 212-939-7115
 

Opportunities

  • computer and network security
  • denial of service
  • worms and viruses
  • access control
  • cryptographic protocol design and evaluation
  • wireless security
  • systems aspects of security
Software design and implementation, paper study, application projects, and/or library research
providing academic credit during fall, spring, and summer. Commitment of 9–12 hours per
week is expected. COMS W3137: Data structures and algorithms is required; COMS W4180:
Network security
, COMS W4118: Operating systems, and COMS W4119: Computer networks
are desirable. One or more of the following languages are required: C, C++, Java.
Contact: Professor Angelos D. Keromytis, angelos@cs.columbia.edu, 515 CSB, 212-939-7095
 

Opportunities

  • computer architecture
  • hardware/software interaction
  • parallel hardware and software systems
  • on-chip communication networks
Research projects involve measurement, design, simulation, and analysis of computer
architectures. We have specific studies under way in the areas of reconfigurable
hardware design and programming of heterogeneous, asymmetric multicores.
Software-oriented projects are available. Ideally, students would have taken (or be
taking) a hardware-oriented course (COMS W4824 or EECS W4340) or an advanced
programming class (COMS W3157). Strong programming skills (either hardware or
software) are required.
Contact: Professor Martha Kim, martha@cs.columbia.edu, 469 CSB, 212-939-7094
 

Opportunities

  • cryptography
Activities include paper study, theoretical research, or cryptographic implementation. Research positions carry academic credit. Some limited paid positions may also be
available. Weekly commitment of 6–12 hours is required. Students must be able to
work independently, must have completed COMS W4261: Introduction to cryptography,
and must be able to understand and write formal definitions and proofs. Theoretical
projects additionally require completion of COMS W3261: CS Theory, and preferably
also COMS W4236: Introduction to computational complexity. Implementation projects
additionally require proficiency in at least one of C, C++, Java.
Contact: Professor Tal Malkin, tal@cs.columbia.edu, 514 CSB, 212-939-7097
 

Opportunities

  • natural language generation
  • machine translation
  • question answering on the web
  • statistical processing for natural language
  • text summarization
Programming projects involving development of tools for natural language generation and
statistical analysis. Academic credit and continuation over the summer possible. Weekly commitment is 10 hours. Prerequisites: COMS W4701: Artificial intelligence; LISP and C.
Preferred: COMS W4705: Natural language processing.
Contact: Professor Kathleen McKeown, kathy@cs.columbia.edu, 722 CEPSR, 212-939-7118 
 

Opportunities

  • operating systems
  • mobile computing
  • network, Internet, and thin-client computing
  • virtualization
  • iPhone and Android applications
Software design and implementation, paper study, application projects, and/or library research providing academic credit during fall, spring, and summer. Commitment of 9–12
hours per week is required. COMS W3137: Data structures and algorithms is required;
COMS W4118: Operating systems and/or CSEE W4119: Computer networks is desirable.
One or more of the following languages are required: C, C++, Java.
Contact: Professor Jason Nieh, nieh@cs.columbia.edu, 518 CSB, 212-939-7160
 

Opportunities

  • computer-aided design tools for digital systems
  • asynchronous digital circuits: design and simulation
  • fault-tolerance/error-correction
  • optimization algorithms
Research possibilities include (1) software CAD (computer-aided design) tools for digital systems, and (2) digital circuit design and simulation. The focus of this research is on
clockless or asynchronous digital circuits, which support scalable system design, lowpower, and tolerance of variabililty. Opportunity to work on graduate-level research projects.
Commitment of 10–12 hours per week is required. Continuation over the summer is
possible, with 20–40 hours per week. Prerequisites: (1) basic digital logic and comupter
organization (CSEE W3827: Fundamentals of computer systems, or equivalent), and (2)
advanced digital logic (CSEE W4823: Advanced logic design, or equivalent background).
Additional background is desirable, but is not required, in either VLSI or hardware design
(ELEN E4321: Digital VLSI circuits, EECS W4340: Computer hardware design, or equivalent)
or in computer-aided design (CSEE E6861: CAD of digital systems).
Contact: Professor Steven Nowick, nowick@cs.columbia.edu, 508 CSB, 212-939-7056 
 

Opportunities

  • computational genetics
  • systems biology
  • comparative genomics
  • bioinformatics
Computational biology is a young field aimed at understanding life sciences by
computerized analysis of high throughput experimental data. Opportunities are available
for talented students with strong interests in this interdisciplinary field. Quantitative thinking
is required, and for different projects either programming skills or background biomedical
sciences are required. Depending on the project and candidate, academic credit or pay is
possible. Specific projects are focused on personalized medicine, inference of genetics of
ancestral human populations, reverse engineering of cellular information processing, and
cancer genomics.
Contact: Professor Itsik Pe’er, itsik@cs.columbia.edu, 505 CSB, 212-939-7135
 

Opportunities

  • Internet multimedia protocols and applications
  • wireless and ad hoc network applications
  • web applications
Design, simulation, and implementation providing academic credit (also summer) in
exchange for a 5-hour weekly commitment. Satisfactory completion of COMS W3157: Advanced programming or equivalent is required. CSEE W4119: Computer networks is
desirable. Excellent background is required in one or more of the following languages: C,
C++, Java, PHP, Tcl/Tk.
Contact: Professor Henning Schulzrinne, hgs@cs.columbia.edu, 723 CEPSR, 212-939-7042
 

Opportunities

  • computational complexity theory
  • computational learning theory
Activities include paper study and computer experiments with learning algorithms and
simulations, possibly for academic credit and/or remuneration. Strong math and theoretical
computer science background (including 4000-level course work), good programming skills,
and/or strong familiarity with mathematical software packages such as Maple, Mathematica,
etc., are required.
Contact: Professor Rocco Servedio, rocco@cs.columbia.edu, 517 CSB, 212-939-7065
 

Opportunities

  • computer architecture
  • security
A unique opportunity to work in a fun and challenging environment in the Computer
Architecture and Security Technologies Lab. Research activities include paper study,
understanding hardware, software design and development, and application analysis for
academic credit and/or remuneration. Projects may be individual or pair projects. Some of
these projects are multidisciplinary and potentially may involve interaction with other faculty
and labs in CS. Roughly 10-hour weekly commitment. Prerequisites: strong problem-solving
skills, good GPA, eagerness to learn, and good programming skills.
Contact: Professor Simha Sethumadhavan, simha@cs.columbia.edu, 465 CSB, 212-939-7062
 

Opportunities

  • computer and network security
  • intrusion detection
  • insider and masquerade attack detection
  • private network trace synthesis
  • embedded system security
  • clean-slate design of secure computer systems
Software design and implementation, paper study, application projects, and/or library research providing academic credit during fall, spring, and summer. Commitment of 9–12
hours per week is expected. COMS W3137: Data structures and algorithms is required;
COMS W4180: Network security, COMS W4771: Machine learning, and CSEE W4119:
Computer networks
are desirable. One or more of the following languages are required: C,
C++, Java.
Contact: Professor Salvatore J. Stolfo, sal@cs.columbia.edu, 606 CEPSR, 212-939-7080
 

Opportunities

  • iphone/android/facebook app programming
  • Web applications
  • software development tools
  • study of open-source software
  • study of mobile or web applications
  • operating systems
Research activities include software design and implementation, paper study, and data
analytics. Research positions provide academic credit or remuneration and are offered
year-round. Research outcome may include open-source software release, iphone/
android/facebook apps, and research publications at top conferences. Commitment
of 9–12 hours per week is required. Solid programming skills in any programming
language are a big plus. One or more of the following languages/frameworks are
required: C, C++, Java, Javascript, PHP, CakePHP, Python, Django, Ruby, Ruby on
Rails. Top students will receive funding for the project.
Contact: Professor Junfeng Yang, junfeng@cs.columbia.edu, 460 CSB, 212-939-7012
500 W. 120th St., Mudd 510, New York, NY 10027    212-854-2993