Independent Work Seminars

Independent work seminars are a way to provide students working on similar projects with assistance and feedback from their peers. We encourage all students who plan to do independent work for the first time to consider signing up for an independent work seminar. 

The independent work seminars bring together groups of students working on related problems. The content of the independent work seminars includes not only independent work on a project, but also guidance about how to choose projects, evaluate progress, design experiments, collaborate with others, make presentations, and other project management skills.

While every student is responsible for writing a paper and making presentations individually, within these seminars it is possible for groups of 2-3 students to work on different parts of the same large-scale project. For example, a few students might work together on a system for collaborative grading of assignments in large online courses, with one student developing the user interface, another designing the algorithms for assigning problems to graders, and a third implementing a system for integrating grader responses in the back-end server. 

Seminars meet once a week, every week during the term. Attendance and participation are mandatory.


How to enroll in a COS IW seminar for Fall 2026: 

The COS IW portal will open for sign-ups on April 16.

Students will be assigned to a fall IW seminar via an algorithm. We try our best to accommodate students into one of their top three seminar preferences, but this is subject to available seats, seminar popularity, and individual IW requirements. Students are not guaranteed a spot in a particular seminar. If you have a question about this, please email Mikki Hornstein at mhornstein (at) princeton.edu.

  • AB juniors: 
    • Enroll in COS 397, S99 in TigerHub,
    • Wait 24-hours for the IW portal to sync with your TigerHub enrollment, and
    • Login to the COS IW portal and rank your IW seminars in the Fall 2026 IW Sign-Up form by May 5, 2026.
  • BSE juniors:
    • Enroll in COS 397, S99 in TigerHub, 
    • Wait 24-hours for the IW Portal to sync with your TigerHub enrollment, and
    • Login to the COS IW portal and rank your IW seminars in the Fall 2026 IW Sign-Up form by May 5, 2026.
  • BSE seniors:
    • Enroll in COS 497, S99 in TigerHub,
    • Wait 24-hours for the IW Portal to sync with your TigerHub enrollment, and
    • Login to the COS IW portal and rank your IW seminars in the Fall 2026 IW Sign-Up form by May 5, 2026.
  • COS IW is not available to sophomores.

     

Fall 2026 Independent Work Seminars

COS IW 01: Natural Language Processing

Instructor: Christiane Fellbaum
Meeting Time: Fridays, 10:40 am - 12:00 pm
Location: Computer Science Building, Room 401
Capacity: 12 students


Abstract: 
Natural Language Processing aims to understand and model properties of human language and the ways it is produced and interpreted. The focus of this seminar will be on the analysis of explicit or implicit meaning in texts--on the word, sentence or document level. Each student will identify or acquire, scrape, clean and pre-process a dataset appropriate for their chosen research topic, using standard available tools and resources. Data may come from available text corpora, news outlets, blogs, tweets, topic-specific forums (sports, food, politics, environment), etc. For a semantic analysis, different approaches (using dictionary resources, computing embeddings, n-grams, topic modeling, etc.) will be considered and applied.

Participants in the seminar will choose from a wide range of topics including but not limited to sentiment and opinion analysis, gender/nationality/religious/age/racial bias detection and mitigation, identification of fake news, computational humor, question answering and automated reasoning, financial market prediction, language puzzle generation, in English or another natural language. Students in past seminars have also pursued projects in computational analyses of music, such as classifying composers or musical style.

Projects usually (but not necessarily) include a machine learning component; COS324 is recommended but not required. Students are not expected to have prior independent research experience.

We meet weekly as a group and discuss everyone's project, progress, challenges and findings. Students may work in pairs so long as each student covers a separate aspect of the project.
 

COS IW 02: Robotics and Tech for Social Good

Instructor: Radhika Nagpal
Meeting Time: Wednesdays, 10:40 am - 12:00 pm
Location: Computer Science Building, Room 302
Capacity: 12 students


Abstract: 

In her book Race After Technology, author Ruha Benjamin reminds us how the historical origins of robotics have centered our current visions around colonial and patriarchal themes: military and policing, cheap industrial labor, and domestic servitude. Indeed, the word robot itself is derived from the Czech word for slave. But the future of robotics and technology could be envisioned differently, working towards community and planetary goals and challenging the past. 

In this IW seminar, we will collectively explore a vision of robotics that enhances life through applications for social good: environmental monitoring and restoration, assistive tech for differently-abled individuals, applications to education, social justice, and artistic expression. Students will imagine, design, and build tangible physical prototypes of their ideas; at the end of the semester we will hold a public exhibit. We will also read chapters from two books, Race After Technology and Design Justice, to think more deeply about the intersection of social justice and technology.

The seminar will not require prerequisites beyond COS 217 and COS 226 and no prior experience in hardware is assumed. Teaching staff will help students develop their prototype design, acquire tech that is needed (e.g. webcams or Arduino-based wearables, makerspace access, etc). Students with interest in social activism are strongly encouraged to apply.

COS IW 03: Invention and Innovation: Entrepreneurial Lessons for Computer Scientists

Instructor: Robert Fish
Meeting Time: Tuesdays, 1:20 pm - 2:40 pm
Location: Computer Science Building, Room 402
Capacity: 9 students

Abstract:

How does an idea for an invention become an innovation in the marketplace? You may be a computer software/hardware wizard, but there is a lot more to it than leveraging your system building skills.   This seminar, in concert with your building an independent prototype of your choice, introduces some of the elements of thinking and developing an idea into a budding enterprise. Your project will include a software prototype, a presentation, and a paper that explores the feasibility of your idea as a business. To help you frame and complete your project, we will discuss distinctions between invention and innovation, various brainstorming and invention methodologies, the DARPA methodology for idea screening, primary market research and market segmentation, an introduction to intellectual property including patents, aspects of a simple business plan, project planning and management, and the elements of a “pitch deck.” Typically, we have some interaction with one of Princeton’s programs for entrepreneurial activities. For the more adventurous, the possibility exists for you to share your idea in a real “virtual” startup pitch event and report on the results.

Students may pair up in these projects, creating a joint idea for an enterprise, with each student concentrating on some aspect of the software with a division of labor of front-end, back-end, mobile app, data analysis, marketing, finance, etc. This IW seminar is complementary to COS 448 (Innovating across Technology, Business, and Marketplaces) and would be appropriate both before and after taking COS 448. If you’ve started a project with some entrepreneurial aspects in COS 333, you might want to consider developing it further in this IW Seminar.   Given the current zeitgeist, I wouldn’t be surprised if many projects had some element of applying AI to some application area.

BTW, some enterprises are designed from the start to serve some social benefit or humanitarian purposes rather than concentrating on profitability.   Projects designed to address these types of opportunities are also of interest, but KPI’s for these kinds of projects should be defined and agreed upon at the inception of the project.   For instance, one KPI would be to be self-sustainable financially within a certain time or to attract customers/users of a significant type and number.

COS IW 04: Invention and Innovation: Entrepreneurial Lessons for Computer Scientists

Instructor: Robert Fish
Meeting Time: Wednesdays, 2:55 pm - 4:15 pm
Location: Computer Science Building, Room 402
Capacity: 9 students

Abstract:

How does an idea for an invention become an innovation in the marketplace? You may be a computer software/hardware wizard, but there is a lot more to it than leveraging your system building skills.   This seminar, in concert with your building an independent prototype of your choice, introduces some of the elements of thinking and developing an idea into a budding enterprise. Your project will include a software prototype, a presentation, and a paper that explores the feasibility of your idea as a business. To help you frame and complete your project, we will discuss distinctions between invention and innovation, various brainstorming and invention methodologies, the DARPA methodology for idea screening, primary market research and market segmentation, an introduction to intellectual property including patents, aspects of a simple business plan, project planning and management, and the elements of a “pitch deck.” Typically, we have some interaction with one of Princeton’s programs for entrepreneurial activities. For the more adventurous, the possibility exists for you to share your idea in a real “virtual” startup pitch event and report on the results.

Students may pair up in these projects, creating a joint idea for an enterprise, with each student concentrating on some aspect of the software with a division of labor of front-end, back-end, mobile app, data analysis, marketing, finance, etc. This IW seminar is complementary to COS 448 (Innovating across Technology, Business, and Marketplaces) and would be appropriate both before and after taking COS 448. If you’ve started a project with some entrepreneurial aspects in COS 333, you might want to consider developing it further in this IW Seminar.   Given the current zeitgeist, I wouldn’t be surprised if many projects had some element of applying AI to some application area.

BTW, some enterprises are designed from the start to serve some social benefit or humanitarian purposes rather than concentrating on profitability.   Projects designed to address these types of opportunities are also of interest, but KPI’s for these kinds of projects should be defined and agreed upon at the inception of the project.   For instance, one KPI would be to be self-sustainable financially within a certain time or to attract customers/users of a significant type and number.

COS IW 05: Auto-generation of Programs, Specifications, and Proofs

Instructor: Aarti Gupta
Meeting Time: Wednesdays, 10:40 am - 12:00 pm
Location: Computer Science Bui
Capacity: 8 students

Abstract:

There has been an explosion of interest in using Generative AI (GenAI) tools and Large Language Models (LLMs) in software and systems development, and in combining them with
techniques for formal methods (FM) and programming languages (PL) for enhancing correctness and performance. This seminar will focus on their applications in code generation,
inference of specifications (such as loop invariants, method pre/post conditions, run-time assertions), and code verification via proofs.

Students in the seminar can choose from a variety of domains and an application of their own interest. For example, they can work with python/Java/C programs, or hardware designs written in Verilog, or distributed system protocols (written in a domain specific language). They can use available tools and frameworks, design a suite of benchmarks for evaluation, and experiment with different strategies to generate target programs, specifications, or proofs. Students may work on a team project, but with prior permission of the instructor, and where each student has a distinct semester-size component of the project.

There are no prerequisites for this seminar beyond COS 217 and COS 226. Students will be expected to attend all seminar meetings. The first two seminar meetings will provide some background on formal methods (e.g., code verification tools), introduction to available agentic frameworks (e.g., LangChain), and pointers to recent papers that combine PL-based and MLbased techniques in automated/verifiable code generation. The remaining meetings will be used for discussions on project proposals, implementations, and results; with students reporting their progress each week and doing a class presentation at the end.

COS IW 06: Rethinking Human-AI Collaboration through Design

Instructor: Lydia T. Liu
Meeting Time: Wednesdays, 2:55 pm - 4:15 pm
Location: Computer Science Building, Room 302
Capacity: 12 students

Abstract:

Many AI systems today are designed to automate human effort by simulating ‘expert-like’ decision making: apps that identify flora and fauna, agentic coding systems that create entire code bases, AI-’doctor’ that can diagnose complex conditions and publish the results. While powerful, these systems could erode the agency of the humans they assist and diminish expertise in the long run. What would it take to build AI systems that empowers the citizen scientist, the student, and the doctor as knowers and thinkers, rather than simply automating and displacing their cognitive work? 

In this seminar, students will design and build original human-AI collaboration tools that center human knowing. We will draw on the concept of epistemic agency–the capacity of a person to make informed judgments, exercise expertise, and be recognized as a contributor to knowledge. Each project will explore these central questions: How can AI systems be (re-)designed to preserve or even augment human epistemic agency, and what tradeoffs must be navigated? 

Students will choose a social-impact domain (e.g. environmental science, education and learning, the arts, civic technology), frame a problem where human judgment is at stake, investigate prior approaches, and prototype a system with frontier AI models. The semester will culminate in a demo and final report. Throughout the semester, students will develop normative arguments about the values guiding their designs, through readings in critical and speculative design traditions and the ethics of technology.

Required: COS 226, Python and/or Javascript

Recommended: COS 436, one or more upper division AI/ML course (e.g. COS 324, COS 484)

Students with experience or interest in a social-impact domain such as ecology, education, art, public policy are strongly encouraged to enroll. Familiarity with generative AI APIs or tools is helpful but not required.

COS IW 07: LLMs for Parallel Algorithms and GPU Kernel Generation

Instructor: Tri Dao
Meeting Time: Tuesdays, 10:40 am - 12:00 pm
Location: Computer Science Building, Room 402
Capacity: 12 students

Abstract:

Modern foundation models — large language models, vision models, and beyond — demand enormous compute for both training and inference. Making these systems fast requires writing highly optimized parallel algorithms and GPU kernels: code that exploits hardware features like memory hierarchies, tensor cores, and asynchronous execution. Traditionally, writing such kernels has been painstaking expert work. But what if LLMs themselves could generate this code?

This seminar explores the intersection of two trends: (1) the systems and algorithms that make foundation models efficient (attention optimizations, quantization, speculative decoding, distributed training), and (2) the emerging use of LLMs as tools to automatically generate, optimize, and reason about parallel code and GPU kernels. Students will study how modern training and inference engines are built, then investigate how LLMs can be applied to generate components of those engines — from individual CUDA/Triton kernels to pieces of a training or inference pipeline.

Possible project directions include:

  • Using LLMs to generate or optimize Triton/CUDA kernels for operations like attention, matmul, or quantized inference, and benchmarking against hand-written implementations
  • Building LLM-assisted tools that take a high-level algorithm description and produce GPU kernel code with correctness and performance validation
  • Getting LLMs to generate or assemble components of a training engine (e.g., data loading, gradient accumulation, distributed communication) or inference engine (e.g., KV-cache management, batching, scheduling)
  • Evaluating how well current LLMs understand hardware constraints (memory bandwidth, occupancy, warp-level parallelism) and where they fall short

Students will read and discuss key papers on efficient ML systems during the first several weeks, then propose and execute a semester-long project (individually or in pairs). The seminar meets weekly; each session combines paper discussion with project updates and peer feedback.

Prerequisites: COS 324 (Introduction to Machine Learning). Familiarity with systems programming (COS 217 or equivalent) and some exposure to GPU programming or parallel computing is expected. Experience with PyTorch is helpful.

Questions? Please email Mikki Hornstein at mhornstein (@princeton.edu).