Undergraduate Research Opportunities

Did you know that there are many opportunities in the CS department for undergraduates to participate in cutting-edge research?

  • If a project is offered by a professor in the CS Department or by an affiliated professor, you can take 0-3 credits of CSE 487 (Research in Computer Science) over several semesters, 3 credits of which can serve as a CSE Technical Elective requirement used to satisfy CSE major requirements. Apply here.
  • If a project is offered by a professor in the CS Department or by an affiliated professor, you can take 0-6 credits of ISE 487 (Research in Information Systems) over several semesters, 3 credits of which can serve as an upper division requirement or a specialization requirement used to satisfy ISE major requirements. Apply here.
  • Alternatively, you can participate in a research project via the VIP program (Vertically Integrated Projects). If you complete 3 upper-division credits of VIP research that contains a substantial computing component, those 3 credits may substitute as a CS technical elective. Note that CSE 487 and VIP credit may not both be used to satisfy CS major requirements.
  • Finally, students in the CS Honors Program are required to complete a senior honors research project under CSE 495/496.

Whatever your situation may be, browse the research opportunities below and consider contacting the professor sponsoring the project if you are interested and meet the minimum qualifications.

Systems and Security

Computer Architecture

Project supervisor: Michael Ferdman

We are working on building a new type of computer, a hybrid between a CPU and a GPU.  To that end, we are developing emulators, hardware, an operating system, drivers, libraries, and application software for this new system.  We are looking for students interested in learning more about the low-level details of how computers actually work and contribute to bleeding edge research at the same time.

Minimum qualifications: Applicants should have aced CSE 220 and CSE 320 and have a solid understanding of assembly programming.

IoT and Embedded Systems / Arduino Replacement

Project supervisor: Michael Ferdman

Looking for students to help build a new runtime system for microcontrollers.  This is an open source project that aims to build an alternative to Arduino for IoT, robotics, and embedded devices.

Minimum qualifications: Applicants should have aced CSE 220 and CSE 320 and have a solid understanding of writing and debugging C. Familiarity with embedded systems (Arduino, ESP8266/ESP32, or RP2040 experience is helpful).

Linux Administration Guru

Project supervisor: Michael Ferdman

You will figure out how to bring up a private cloud based on OpenStack with several hundred servers. On the R&D spectrum, this falls on the D side, not publishable research, but rather advanced development work.

Minimum qualifications: Applicants should have experience with Linux administration and networking.

WebSheets

Project supervisors: R. Sekar and Scott D. Stoller

We are looking for students to join WebSheets, our new framework for privacy-preserving data-centric web applications. WebSheets empowers data owners with the right tools and techniques so that they can directly control the access to their data, rather than having to depend on third-party application developers that may not understand (or care as much about) the security implications of their data.  
The key innovation behind WebSheets is a simple formula language that seamlessly incorporates privacy policies as well as application logic using the familiar spreadsheet paradigm. WebSheets implementation consists of a backend engine for processing these formulas, a standard web server, and a React-based front-end. We are looking for students to participate in this research into the development of the next generation of web applications.  Diverse projects are possible, including

  • UX/UI design and front-end development. Experience with React-based front-end is expected for this work.
  • Implementing, testing and refining WebSheets formula language. Interest in programming languages/compilers and/or experience working with diverse languages are preferred.
  • Backend development. Proficiency in one or more of  C/C++, Linux, or devops is preferred.
  • Interfacing to cloud data, e.g., data stored on google sheets.
  • Application development in the WebSheets formula language.

Minimum qualifications: Grades of A- or higher in at least two of these classes: CSE 220, CSE 320, CSE 316.

Computer Systems and Storage

Project supervisor: Erez Zadok

We seek to recruit qualified undergraduate CS students each semester to join a project involving broadly computer operating systems and storage systems. Projects often touch on topics of operating systems, data storage, networking, security, machine learning, performance, and more. Students will get an opportunity to work on cutting-edge research topics alongside graduate students and faculty, and even publish papers and attend conferences.  Qualifications expected: C/C++ experience, passed CSE-306 (OS) or CSE-320, and CSE-373 (Algorithms), or equivalent. Students who join the project can receive project credit or be paid for their time ($15/hr minimum, available to domestic students under the NSF REU program); salary is commensurate with experience. To apply, use the following Google Form (where you'd be asked to upload your up-to-date resume): here

Artificial Intelligence, Machine Learning and Related Areas

EyeCanDo: Eye Gaze-based Communication for Patients with Motor Disabilities

Project supervisor: Fusheng Wang

EyeCanDo is an eye gaze-based app running on iPhone/iPad that can advance the communication of patients with motor disability and improve their quality of life. It combines augmented reality, human-computer interaction and AI to 1) achieve high accuracy and stability, 2) provide multiple levels of communication – from basic needs to reading, messaging, typing and entertainment, and 3) automatically adapt to each individual for a smooth user experience.

We are looking for students with strong motivation on mobile app development (iOS) to work on the project.

Computer Vision and Machine Learning for Object Detection and Counting

Project supervisor: Minh Hoai Nguyen

The project's goals are to develop computer vision and machine learning models to detect and count objects in images, and subsequently optimize the models to fit into low-resource devices such as smart watches and phones. Through this project, students will have opportunities to learn cutting edge computer vision and machine learning algorithms, develop their research skills, and strengthen their coding competency.

Minimum qualifications: Must have completed either Fundamentals of Computer Vision (CSE 327) or Machine Learning (CSE 353) with a grade A- or better. Must have a GPA of at least 3.7. Experience with Android programming is desired, but not required.

Natural Language Processing (NLP)

Project supervisor: Niranjan Balasubramanian

The LUNR lab works on many problems in NLP including question answering, common-sense reasoning, building energy and compute-efficient NLP models, mobile NLP, NLP to assist formal verification of software, language generation, and much more. Below is a listing of projects that the lab is currently pursuing:

  1. Modeling common-sense knowledge: The goal here is to augment NLP models with common-sense knowledge about events. In particular, we are interested in understanding why events happen, what enables events, what are the goals of actors in certain scenarios, and predicting what events are likely to happen in the future. 

  2. Efficiency and Energy Consumption of NLP models: The goal here is to improve the efficiency of NLP models and to understand the energy consumption patterns of these models. These are critical as NLP models are becoming larger taking up exorbitant amounts of compute and energy.

  3. NLP techniques for formal verification of software: The goal here is to translate specifications laid out in natural language into formal statements that can then be used for analysis and verification. This is a challenging problem that requires human-in-the-loop systems. Our team looks at developing deep learning systems trained on synthetic data. 

  4. Machine Learning for Optimization: The goal of this project is to design ML algorithms that can help improve search solutions for optimization problems. The search algorithms (e.g. branch-and-bound) usually have multiple parameters that are typically  predetermined before the search begins. In this project we are developing ways to make these choices dynamically  using predictions from a ML model. 

  5. Other projects: The lab also works on building Question Answering systems, summarizing biomedical pathways that explain how entities affect certain biochemical processes, multimodal projects with vision, and many more areas. 

    If you are interested in doing research in Natural Language Processing, Machine Learning or broadly in AI, please contact Prof. Balasubramanian via email.
     

Learning from Human Movement using Wearable Devices

Project supervisor: Shubham Jain

The project's goals are to learn human movement using wearable devices, such as smartwatches, phones, and earphones. We use the signals to learn information about the user, such as emotion, fitness levels, and whether or not they are performing exercise correctly.  Through this project, students will have opportunities to learn cutting edge data processing  and machine learning algorithms, develop their research skills, and strengthen their coding competency. The project will also include application development on Android/iOS/Fitbit etc.

Minimum qualifications: Experience with Android or iOS programming is required.

Research Programmer for AI-based Mental Health Research App

Project supervisor: Andrew Schwartz

The Human Language Analysis Lab seeks undergraduates interested in systems plus AI to develop cell phone apps to be used for developing and evaluating state-of-the-art AI-based mental health (depression, anxiety, post-traumatic stress) assessment. The undergraduate research programmer will implement approaches to collect daily video, audio, and language interviews, as well as implement data transfer and preprocessing pipeline to insure high-quality inputs to AI-based predictive models  (Transformer sequence models).  The research programmer will get to learn multiple aspects of modern human-centered natural language processing (previous experience is good but not required). The positions are for Fall 2022 with potential renewal for Spring 2023.

Advanced Programming Methods & Applications

Projects supervisor: Annie Liu

Four main project examples, all involving programming with Python and advanced features:

Learning a systematic method for algorithm design and program optimization, and implementing automatic program analysis and
optimizations.

Developing high-level queries and efficient implementations for access control and trust management.

Implementing a distributed algorithm and checking safety and liveness properties.

Automating graphics and visualization, for developing visual stories and teaching algorithms.

Minimum qualification: Being good at algorithms and programming, and enjoying learning and thinking about design and automation.

Algorithms and Theory

Projects supervisor: Pramod Ganapathi

Mathematical Puzzles

The goal of this project is to deeply understand various counterintuitive mathematical and algorithmic puzzles and all ways of solving them. The work includes reading web articles, reading books, reading papers, analyzing the pros and cons of existing solutions, developing new solutions if possible, coding and experimenting with the solutions to analyze new patterns, generalizing the puzzles, understanding different variants of the puzzles, and documenting. This work will be part of a new book on mathematical puzzles.

Minimum qualifications: Applicants should be strong in mathematics.

Organized Algorithmic Problem-Solving

The goal of this project is to understand the underlying organization/structure/template/pattern among several algorithms or solutions that use the same algorithm design technique or problem-solving strategy. The work includes reading web articles, reading books, analyzing and writing hundreds of algorithms for different classes of problems using common structures or templates, adding these algorithms to a website (using technologies such as github, jupyter, html, latex, etc), and creating beautiful visualizations for the recurrences used by the algorithms. The final product is a website that teaches organized algorithmic problem-solving and might be helpful to thousands of students, professionals, and teachers, to learn/teach algorithms in an organized way.

Minimum qualifications: Applicants should be strong in algorithms and programming.

Interdisciplinary Research

Single Cell Sequencing to Identify Novel Genes in Models of Kidney Disease

Project Supervisor: Dr. Sandeep Mallipattu (Sandeep.Mallipattu@stonybrookmedicine.edu)

This research project involves utilizing single-cell RNA sequencing to identify novel genes involved in mediating kidney injury and regeneration. The student will use basic programming (R, etc.) to interrogate large sequencing datasets to study cell to cell interactions in the kidney. They will also work with a team of post-doctoral fellows and research scientists to help validate the signaling pathways in the kidney regulated by these genes. This project is ideal for students interested in interrogating large data sets, with an interest in pursuing a career in medicine and/or biomedical research.

Research funding: Supported by NIH and Veterans Affairs. Students committing to project will be provided with a stipend.

Bioengineering Education, Application and Research (BEAR)

Project supervisor: Richard McKenna

The project's goals are to develop innovative solutions for Bioengineering education, application and research based on iterative engineering design processes and cutting-edge tools; produce tangible outcomes that can be applied and measured; and promote entrepreneurship activities with the collaboration of science and non-science majors.

See the project's page on the Vertically-integrated Project website for more information and to apply.

PoliTech: Automated Redistricting System

Project supervisor: Robert Kelly

The Stony Brook PoliTech project is a multidisciplinary research project that examines various aspects of Congressional redistricting. The project combines work of interest to Computer Science, Political Science, Applied Math, Psychology, Sociology, and others. At the heart of the research is the Stony Brook University Automated Redistricting System (ARS), which provides for the rapid generation of statewide congressional districts in accordance with constitutional and court-ordered guidelines, as well as user-defined preferences. For Computer Science majors, PoliTech explores efficient large scale graph partitioning algorithms, visualization of political and demographic data in a geographic context, and probabilistic assessment of districting plans.

Minimum qualifications: U2 status, 3.0 cumulative GPA

See the project's page on the Vertically-integrated Project website and this flyer for more information and to apply. Students may instead participate through CSE 487 if they wish.

Interactive Visualization Development for Cellular Neurophysiology Textbook

Project supervisor: David McKinnon (david.mckinnon@stonybrook.edu)

We have created an open source textbook that uses interactive data presentations. The textbook can be found here: Examples of interactive graphs we have created can be found here, here and here. The graphs are created using javascript and snap.SVG. These graphs need to be lightweight and load quickly to maintain attention. Data visualization on the web is an increasingly important part of web development. Although there are many existing graphing libraries much of the time custom solutions are required, as was the case here. This project is an opportunity to get some experience creating custom interactive data visualizations. Our open source textbook is a mature project that will continue to exist indefinitely since it is hosted by the university library as part of their permanent collection. If you are interested in this project you will be able to point to any contribution that you make to the site as an example of your work in this area.