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. 

How to enroll in a COS IW seminar for Fall 2025:
Enrollment in the IW seminars for the fall is different from enrollment in the spring. Please see below for enrollment information by class year. 

  • BSE juniors: enroll in COS 398 in TigerHub and direct-enroll in the seminar section of your choice (COS IW 01 = S01, COS IW 02 = S02, and so on). You do not have to do anything in the COS IW portal at this time.
  • BSE seniors: enroll in COS 497 in TigerHub and direct-enroll in the seminar section of your choice (COS IW 01 = S01, COS IW 02 = S02, and so on). You do not have to do anything in the COS IW portal at this time.
  • AB students are not eligible to enroll in IW seminars in the fall.
  • COS IW is not available to sophomores.

Seminar availability can be competitive, so please enroll as soon as you are able if there is one that is of particular interest to you.

Please note: The COS 398 & COS 497 IW seminar sections share seats.  If you are a senior, and the seminar section for COS 497 section is closed, but the COS 398 section is open, please email Mikki Hornstein, mhornstein (@princeton.edu) for help enrolling in the seminar. Seminar students do not need to complete anything in the IW portal at this time.

Fall 2025 Independent Work Seminars

COS IW 01: Machine Learning and Data Science

Instructor: Xiaoyan Li
Meeting Time: Wednesdays, 10:40am-12:00pm
Location: Computer Science Building, Room TBD
Capacity: 12 students


Abstract: 
In this seminar, you will review and apply various machine learning models for supervised and/or unsupervised machine learning tasks. Depending on your project, you may use models, such as Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression, Elastic Net regression, CNN, LSTM, and Kmeans clustering etc. Students will choose at least one data set of interest and propose some questions that can be answered from the data set by applying two or more machine learning models and performing data analysis.  A complete process of data analysis consists of raw data collecting, feature extraction, missing data imputation, feature selection, model fitting, making predictions for unseen data, performance evaluation, and error analysis, etc. The goals of this seminar are helping students learn about the whole process of data analysis, understand a suite of machine learning methods, be able to compare and choose different types of methods for their data analysis tasks, and perform data analysis in real world applications without making some of the common mistakes. In addition, students are also encouraged to explore fairness and biases issues in the data sets they worked on and the machine learning algorithms they applied.


The prerequisites for this seminar are COS217, COS226, and COS324. Students should know Python already and understand the basic tasks of machine learning: classification, regression, and clustering, etc. You can use existing machine learning packages in Python and develop your own library if needed.


This seminar will meet once a week. Class times are used to present machine learning methods and data analysis techniques, and to discuss students’ project progress. Each student will report their weekly progress on their project and present in class on most of the weeks either in small groups or to the whole class. Students are expected to participate in class in both presenting their own projects and giving feedback to projects by their peers.


The first two classes will be used for discussing project ideas. Each student should develop an individual project which is suitable for one semester work and may have the potential to extend to a senior thesis. A thorough solid project may also lead to publication in some conference or workshop in the field.


The two sections of the seminar are independent but will generally be quite similar.
 

COS IW 02: Machine Learning and Data Science

Instructor: Xiaoyan Li
Meeting Time: Wednesdays, 2:55-4:15pm
Location: Computer Science Building, Room TBD
Capacity: 12 students


Abstract: 
In this seminar, you will review and apply various machine learning models for supervised and/or unsupervised machine learning tasks. Depending on your project, you may use models, such as Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression, Elastic Net regression, CNN, LSTM, and Kmeans clustering etc. Students will choose at least one data set of interest and propose some questions that can be answered from the data set by applying two or more machine learning models and performing data analysis.  A complete process of data analysis consists of raw data collecting, feature extraction, missing data imputation, feature selection, model fitting, making predictions for unseen data, performance evaluation, and error analysis, etc. The goals of this seminar are helping students learn about the whole process of data analysis, understand a suite of machine learning methods, be able to compare and choose different types of methods for their data analysis tasks, and perform data analysis in real world applications without making some of the common mistakes. In addition, students are also encouraged to explore fairness and biases issues in the data sets they worked on and the machine learning algorithms they applied.


The prerequisites for this seminar are COS217, COS226, and COS324. Students should know Python already and understand the basic tasks of machine learning: classification, regression, and clustering, etc. You can use existing machine learning packages in Python and develop your own library if needed.


This seminar will meet once a week. Class times are used to present machine learning methods and data analysis techniques, and to discuss students’ project progress. Each student will report their weekly progress on their project and present in class on most of the weeks either in small groups or to the whole class. Students are expected to participate in class in both presenting their own projects and giving feedback to projects by their peers.


The first two classes will be used for discussing project ideas. Each student should develop an individual project which is suitable for one semester work and may have the potential to extend to a senior thesis. A thorough solid project may also lead to publication in some conference or workshop in the field.


The two sections of the seminar are independent but will generally be quite similar.

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

Instructor: Robert Fish
Meeting Time: Wednesdays, 1:20-2:40pm
Location: Computer Science Building, Room TBD
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.   


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-4:15pm
Location: Computer Science Building, Room TBD
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.   


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 Tests

Instructor: Aarti Gupta
Meeting Time: Tuesdays, 10:40 am - 12:00 pm
Location: Computer Science Building, Room TBD
Capacity: 12 students

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 an application domain of their interest. They will use available PL-based tools (such as Sketch, CBMC) 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 programs, specifications, or test inputs for software testing. 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 who have taken COS 326 (or similar) are welcome to do a more technical IW focusing on program verification/synthesis. 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 06: Designing Future Social Experiences with AR glasses and AI

Instructor: Andrés Monroy-Hernández
Meeting Time: Tuesdays, 2:55 - 4:15 pm
Location: Computer Science Building, Room TBD
Capacity: 18 students

Abstract:
How will friends, families, and colleagues interact in a world where visual and audio AI content can be layered onto the physical environment through AR glasses? How might this unlock new forms of play, learning, and collaboration? In this seminar, students will explore and invent the future of social experiences enabled by augmented reality and artificial intelligence.

Students will design, build, and evaluate an ambitious multi-user application for AR glasses that leverages AI. The course centers on developing multi-user experiences using a human-centered design process. The instructor will provide project ideas, including complex ones suitable for collaborative work across multiple students. Students will frame the problem or need in a specific domain (e.g., education, fitness, play, or utility), investigate prior approaches to address that need, prototype a potential solution, build an AR application, conduct an IRB-approved user study, and present a polished demo and final report. The instructor will invite the highest-quality projects to be turned into peer-reviewed papers, those accepted will get to be presented at a top human-comptuer interaction conference.

Throughout the course, students will engage with the ethical dimensions of their work and articulate the unique contributions of AR and AI within their chosen context. 

Students will develop their application for the latest version of Spectacles AR glasses using Lens Studio and OpenAI APIs through Azure. Through a partnership with Snap, each student will borrow Spectacles AR glasses for the duration of the semester.

References:

Required courses: 
COS 217 and COS 226

Recommended courses: 
COS 333 or COS 436

Helpful skills:
JavaScript, 3D modeling, use of OpenAI APIs, deep expertise in some type of social activity (e.g., sports, games, culture, art)

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