Quick links

Independent Work Seminar Offerings - Spring 2025

Full details about the COS IW seminar offerings for the Spring 2025 semester can be found below. Some seminars have two sections meeting at different times. The two sections of those seminars are independent but will generally be quite similar.

Please note that enrollment process of the the spring independent work seminars differs from that of the fall. Students will rank seminars in the COS IW portal, and will then be assigned to one. Students are not guaranteed a placement into any particular seminar.

Click here for information on how to enroll in a Spring 2025 independent work seminar.

NOTE: COS IW is not open to sophomores.


COS IW 01: Digital Humanities

Instructor: Brian Kernighan

Meeting Time: Thursdays, 3:00 - 4:30pm

Location: Friend Center TBD

Abstract:

"Digital humanities" covers a wide variety of ways in which scholars in the humanities – literature, languages, history, music, art, religion, and many other disciplines -- collect, curate, analyze and present information about their fields, using digital representations and technology.


Digital humanities data is intrinsically messy, and there is always a considerable effort devoted to cleaning it up even before study can begin. There is also much effort devoted to figuring out how to present it effectively and make it accessible to others.
This seminar is aimed at building tools and developing techniques that will help humanities scholars work more effectively with their data. This might include machine learning, natural language processing, data visualization, data cleaning, and user interface design for making the processes available to scholars just starting out in technology.


A typical project might begin with a humanities dataset or a focus on a CS technique. In the former case, the goal would be to explore the data to learn and present new and interesting things about it. In the latter case, the goal would be to create or improve tools, languages, and interfaces that help scholars in the humanities.


No particular background is required beyond COS 217 and 226 and an interest in learning new things and applying that knowledge usefully.

 

COS IW 02: Digital Humanities

Instructor: Brian Kernighan

Meeting Time: Fridays, 11:00am - 12:20pm

Location: Friend Center TBD

Abstract:

"Digital humanities" covers a wide variety of ways in which scholars in the humanities – literature, languages, history, music, art, religion, and many other disciplines -- collect, curate, analyze and present information about their fields, using digital representations and technology.


Digital humanities data is intrinsically messy, and there is always a considerable effort devoted to cleaning it up even before study can begin. There is also much effort devoted to figuring out how to present it effectively and make it accessible to others.
This seminar is aimed at building tools and developing techniques that will help humanities scholars work more effectively with their data. This might include machine learning, natural language processing, data visualization, data cleaning, and user interface design for making the processes available to scholars just starting out in technology.


A typical project might begin with a humanities dataset or a focus on a CS technique. In the former case, the goal would be to explore the data to learn and present new and interesting things about it. In the latter case, the goal would be to create or improve tools, languages, and interfaces that help scholars in the humanities.


No particular background is required beyond COS 217 and 226 and an interest in learning new things and applying that knowledge usefully.

 

COS IW 03: Auto-generation of Programs, Specifications, and Tests

Instructor: Aarti Gupta

Meeting Time: Tuesdays, 3:00 - 4:30pm

Location: CS TBD

Abstract:

Wouldn’t it be great if you could somehow say what a program should do, sketch a program outline, but the rest would get automatically generated? Or, given a piece of code, some tool could give you a brief specification that summarizes what the code does? Or, it could automatically generate testing code that you could run to check that the program works correctly? Indeed, automated synthesis of programs, specifications, and test inputs is an active area of research in programming languages (PL). Specifications include loop invariants, method contracts (preconditions, postconditions), and assertions for checking runtime bugs. With the recent explosive growth of machine learning (ML) and generative AI, there is also great interest in combining PL-based techniques with ML-based techniques, for automated generation of code, program specifications, and test inputs in a variety of application domains.

Students in the seminar will choose from a range of applications or choose one of their own interest. For example, they can choose to work with small C/python programs, or hardware designs written in Verilog, or distributed system protocols (written in a domain specific language). They will use available PL-based synthesis tools (such as Sketch, Rosette, Prose) and/or ML-based tools (such as ChatGPT or other LLMs), design a suite of benchmarks for evaluation, and experiment with different synthesis strategies to generate a variety of target programs, specifications, or test inputs for software testing. Those interested in backend techniques can also design and implement new synthesis strategies that combine PL-based and ML-based techniques. 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, introduction to program synthesis tools, and pointers to recent papers that combine PL-based and ML-based techniques for automated synthesis. The remaining meetings will be used for discussions on project proposals, techniques, and updates; with students reporting their progress each week and doing a class presentation at the end.

 

COS IW 04: Help Future Computer Science Students Learn Computer Science

Instructor: Robert Fish

Meeting Time: Wednesdays, 3:00 - 4:20pm

Location: CS 302

Abstract:

We live in interesting times, with virtual classrooms (sometimes) replacing or supplementing physical ones. In addition, with the rapid introduction of new technologies, life-long learning is quickly becoming the new normal.  This new paradigm presents interesting new challenges but also opportunities to students and instructors. This seminar focuses on projects that try to enhance the computer science learning environment at Princeton (or anywhere else!) with a focus on remote, virtual, online, and assisted learning environments. People need learning environments, especially in remote learning, that enhance group dynamics, maintain motivation, include a degree of self-pacing, and engage with individual learning styles.


In this seminar, students will choose some computer science concept from COS 126, 217, 226, 316 or any other Princeton Computer Science course or choose some other aspect of the learning environment that contributes to learning computer science. You might pick some interesting concept that you think you can explain well to other students or some concept with which you struggled and want to help others understand.   Some examples might be 1) the dynamic operation of various gates and circuits in the TOY architecture or 2) understanding the mathematical notation for Finite State Machines.


For their projects, students will design and build an online learning experience that is targeted at whatever concept they choose. It can include videos, graphic visualizations, quizzing mechanisms, games, 3D imagery, deep learning assistants, or anything else that you can think of that might help students understand a concept. The project must also include an evaluation component by which mastery of the ideas exposed to students may be assessed. A bonus would be utilizing the system to compare learning with it to other, perhaps more conventional approaches, using either qualitative or quantitative methods.


Some possible projects will be suggested early in the seminar, but students are also free to use their imagination and pick their own topic. Weekly meetings will include some initial brainstorming exercises, then we will concentrate on putting together project proposals, doing a review of relevant past work, and then finally, weekly project management presentations that will help students keep their projects on track.


Students may pair up on these projects, creating a joint idea for a learning environment, with each student concentrating on some aspect of the software with a division of labor of frontend, backend, literature review, assessment, data analysis, etc. The learning and use of open tools, such as Django, the D3 visualization library, Sketch, the Unity game engine etc. are encouraged in order that students may create the most effective online learning environments.


Some examples of past projects include an automated COS 226 quizzing system, visualizations of stack and heap data structures, Cache Eviction Algorithms, Linear Feedback Shift Registers, user interfaces to improve student progress tracking, automating lab TA assignments, a curriculum picking tool, a simplified source code control tutorial, introducing elementary machine learning algorithms, and gamification of various class assignments.

 

COS IW 05: Technology Policy

Instructor: Mihir Kshirsagar

Meeting Time: Thursdays, 3:00 - 4:20pm

Location:Sherrerd 306

Abstract:

In this IW seminar students get to work on crafting concrete policy responses to challenges posed by emerging computer and network technologies. There is a renewed sense of urgency to understand the implications of how these technologies are transforming public life and to craft practical solutions that address the difficult tradeoffs we need to make. Students in past seminars have worked on a variety of different projects, including those related to machine learning, social media, video game design, communication policy, competition, privacy, and cryptocurrencies, among other issues.


The first half of the seminar will focus on introducing students to policy challenges in different domains to help them explore potential topics for their final project. The second half of the seminar is devoted to workshopping the final projects and helping students develop workable proposals.


The final project will be student-driven, with the opportunity to create a real-world policy work product. Policymakers need thoughtful, technically sophisticated voices to help them develop evidence-based policies. This seminar helps students prepare to play that vital role. All students are expected to attend all weekly meetings and work collaboratively on shared projects. There are no prerequisites for taking this seminar.

 

COS IW 06: Interactive AR Experiences

Instructor: Parastoo Abtahi

Meeting Time: Wednesdays, 11:00am - 12:20pm

Location: CS 402

Abstract:

There have been exciting advancements in augmented reality (AR) applications, but most use cases are still limited to 2D virtual windows placed within the 3D physical space. In this IW seminar, you’ll explore new possibilities by creating AR applications that respond to user input, physical space, and surrounding objects—applications that truly augment reality. You’ll take a user-centered approach to design, implement, and evaluate your application, engaging in need-finding, rapid low-fidelity prototyping, mobile AR development using Unity, and usability studies. We’ll meet weekly to discuss progress updates, with a live demo and final paper due at the end of the term.

Required courses: COS 217 and COS 226.

Recommended courses: COS 333 or COS 436.

Useful skills: programming in C# and 3D modeling.

 

COS IW 07: Computer Vision for Social Good

Instructor: Olga Russakovsky

Meeting Time: Tuesdays, 3:00 - 4:20pm

Location: CS TBD

Abstract:

Computer vision is a subfield of AI focused on designing systems capable of reasoning about visual inputs such as images or videos. Computer vision technology is already wide-spread: it's in sorting our mail and out photographs, improving the safety of our cars, powering space exploration, and much more. In the next ten years computer vision research will be driven by an even wide range of novel applications: for example, one can imagine increasing the safety and effectiveness of law enforcement through analysis of police body-worn camera footage, improving healthcare delivery through camera-equipped hospitals, or developing and integrating novel educational insights through large-scale visual studies of classrooms. In this seminar, students will explore computer vision technology and its applications. Students who have taken courses such as COS 429, COS 324, or similar are welcome to do a more technical IW focusing on improving existing computer vision systems and making them more suitable for social good applications. Students who have no prior experience with computer vision are welcome to do a more exploratory analysis of existing systems (for example, analyzing the racial, gender, or age bias present in current face recognition systems), study the ethics and policy implications, examine privacy-aware computer vision, or propose another related topic that fits their expertise.

 

COS IW 08: Computer Vision for Social Good

Instructor: Olga Russakovsky

Meeting Time: Fridays, 11:00am - 12:20pm

Location: CS TBD

Abstract:

Computer vision is a subfield of AI focused on designing systems capable of reasoning about visual inputs such as images or videos. Computer vision technology is already wide-spread: it's in sorting our mail and out photographs, improving the safety of our cars, powering space exploration, and much more. In the next ten years computer vision research will be driven by an even wide range of novel applications: for example, one can imagine increasing the safety and effectiveness of law enforcement through analysis of police body-worn camera footage, improving healthcare delivery through camera-equipped hospitals, or developing and integrating novel educational insights through large-scale visual studies of classrooms. In this seminar, students will explore computer vision technology and its applications. Students who have taken courses such as COS 429, COS 324, or similar are welcome to do a more technical IW focusing on improving existing computer vision systems and making them more suitable for social good applications. Students who have no prior experience with computer vision are welcome to do a more exploratory analysis of existing systems (for example, analyzing the racial, gender, or age bias present in current face recognition systems), study the ethics and policy implications, examine privacy-aware computer vision, or propose another related topic that fits their expertise.

 

COS IW 09: Machine Learning and Algorithms for Medicine

Instructor: Mona Singh

Meeting Time: Thursdays, 11:00am - 12:20pm

Location: TBD

Abstract:

Do you want to learn how to use the awesome power of computer science to learn more about  or help treat cancer or other diseases?  The large amounts of data collected about patients with diseases such as cancer—from their genome sequences to medical images—opens up new opportunities for computer scientists to contribute to medicine, including developing individualized treatments for patients (i.e., precision health). At the same time, biases in existing biomedical datasets raises questions about how best to advance computational medicine while striving towards equitable health outcomes. In this seminar, students will work on projects where algorithms and/or machine learning techniques can be applied to biomedical and related datasets.
 
This course has no prerequisites beyond COS126 and COS226, though having taken either COS324 or COS445 would be helpful.  No prior biological or medical background will be assumed, and the necessary biomedical background will be presented in the seminar.  Students may work on projects individually or in pairs. Class meetings will primarily be used for presentations and discussions of ongoing projects.

 

COS IW 10: Molecular Machine Learning

Instructor: Ellen Zhong

Meeting Time: Thursdays, 3:00 - 4:20pm

Location: TBD

Abstract:

Recent breakthroughs in machine learning algorithms have transformed the study of proteins and other biomolecules. Deep learning algorithms designed for molecular data are advancing key scientific questions relating to molecular properties, 3D shape, interactions, and molecular design. This seminar will explore computational applications to the study of molecular systems with a focus on proteins and structural biology. We will take a holistic approach when considering problems in this domain. Students are encouraged to develop projects pursuing either classical algorithms or the latest deep learning approaches. Recommend background include COS 324 and an introductory biology class (or a willingness to learn).

 

COS IW 11: Reimagining Robotics Through Art

Instructor: Radhika Nagpal

Meeting Time: Tuesdays, 3:00 - 4:20pm

Location: TBD

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, industrial labor, and housework. Indeed the word robot itself is derived from the Czech word for slave. But the future of robotics could be envisioned differently, e.g. joyous, uplifting, and challenging the past. In this IW seminar, we will collectively explore a vision of robotics that enhances life through art. Students will be encouraged to imagine, design, and build hardware prototypes of robotic works of art, in small teams with support from teaching staff. Special emphasis will be put on art that centers and celebrates non-western culture, art forms, history, artists, and lived experiences (e.g. Black, LatinX, Asian, etc).  In addition, we will read and discuss chapters from two books, Race After Technology and Design Justice, to think about how robotics can play a role in engineering equity. The seminar will not require prerequisites beyond COS 217 and COS 226. Students with experience in art, hardware, equity, and diverse cultures are strongly encouraged to apply.

 

Enrollment Information, Spring 2024

Enrollment in the IW seminars for the spring is different that enrollment in the fall.

To enroll in a COS IW seminar for Spring 2025:

  • AB juniors: no enrollment in TigerHub required. Login to the COS IW portal and rank your IW seminars in the Spring 2025 IW Sign-Up form
  • BSE juniors: enroll in COS 398, S99 AND login to the COS IW portal and rank your IW seminars in the Spring 2025 IW Sign-Up form
  • BSE seniors: enroll in COS 498, S99 AND login to the COS IW portal and rank your IW seminars in the Spring 2025 IW Sign-Up form
  • COS IW is not available to sophomores

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

Follow us: Facebook Twitter Linkedin