Quick links

Independent Work Seminar Offerings - Fall 2023

COS IW 01: Natural Language Processing

Instructor: Christiane Fellbaum

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

Location: CS 401

Abstract:

Natural Language Processing aims to understand and model properties of human language and the ways it is learned, produced and interpreted. Participants in the seminar will choose from a wide range of topics including but not limited to sentiment and opinion analysis, bias detection and mitigation, identification of fake news, computational humor, question answering and automated reasoning, financial market prediction, in English or another natural language. Additionally, past students have pursued projects in computational analyses of music, classifying composers or style, or automatic music generation. Each student will identify, scrape, clean and pre-process a dataset, using standard available resources. Data may come from available text corpora, news outlets, blogs, tweets, etc. Students will apply (and possibly improve on) existing pre-processing tools for tokenization, lemmatizing, part-of-speech tagging, and syntactic parsing (the NLP "pipeline"). The focus will be on the analysis of explicit or implicit meaning in texts, on the word, sentence or document level. Students may wish to analyze linguistic data dealing with current political or social questions (e.g., the pandemic and public health; gender/racial/nationality/religious bias). Different approaches to semantic analysis, using lexical resources and/or embeddings, will be considered and applied. Projects often (but not necessarily) include a machine learning component for students who have taken COS324. There's no course requirement beyond the 200-level COS classes. Students need not have prior independent research experience.

We will 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: Machine Learning and Data Science

Instructor: Xiaoyan Li

Meeting Time: Wednesdays, 1:30 - 2:50pm

Location: CS 302

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 naïve Bayes classifier, Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression, Elastic Net regression, 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 either in class or during a one-on-one meeting with the instructor. 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: Machine Learning and Data Science

Instructor: Xiaoyan Li

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

Location: CS 302

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 naïve Bayes classifier, Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression, Elastic Net regression, 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 either in class or during a one-on-one meeting with the instructor. 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 04: Help Future Computer Science Students Learn Computer Science

Instructor: Robert Fish

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

Location: CS 301

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 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, 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 COS 126 assignments.

 

COS IW 05: Technology Policy

Instructor: Mihir Kshirsagar

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

Location: Sherrerd 306

Abstract:

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: Generative AI

Instructor: Felix Heide

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

Location: CS 402

Abstract:

Recent advances in neural rendering have made it possible to synthesize photo-realistic images of real-world scenes. The most successful approaches combine ideas from Computer Graphics, Machine Learning and Optimization. Specifically, generative AI methods allow for text-guided image synthesis using image-to-image denoisers guide by the embeddings of large language models, and neural rendering methods combine conventional volumetric rendering with a coordinate-based neural network that predicts density and radiance. These learned scene representations make it possible to generate images for with broad applications across domains, including virtual reality, robotics, health, and computer vision.

This seminar will explore these models and their applications. Example projects include: text-guided diffusion models for super resolution, generation of novel views from sparse views indoors, view synthesis in ultra-low light, e.g., at night, view generation in very large outdoor environments, 3D scene reconstruction from a few views, models with ultra-small memory footprint, and single-shot capabilities. Students may work as individuals but are encouraged to work in pairs formed during the seminar around common topics of interest. There are no prerequisites: a solid background in machine learning, deep learning, graphics, and computer vision are welcome (even preferred) but not required.

 

COS IW 07: Generative AI [CANCELED]

Instructor: Felix Heide

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

Location: CS 402

Abstract:

Recent advances in neural rendering have made it possible to synthesize photo-realistic images of real-world scenes. The most successful approaches combine ideas from Computer Graphics, Machine Learning and Optimization. Specifically, generative AI methods allow for text-guided image synthesis using image-to-image denoisers guide by the embeddings of large language models, and neural rendering methods combine conventional volumetric rendering with a coordinate-based neural network that predicts density and radiance. These learned scene representations make it possible to generate images for with broad applications across domains, including virtual reality, robotics, health, and computer vision.

This seminar will explore these models and their applications. Example projects include: text-guided diffusion models for super resolution, generation of novel views from sparse views indoors, view synthesis in ultra-low light, e.g., at night, view generation in very large outdoor environments, 3D scene reconstruction from a few views, models with ultra-small memory footprint, and single-shot capabilities. Students may work as individuals but are encouraged to work in pairs formed during the seminar around common topics of interest. There are no prerequisites: a solid background in machine learning, deep learning, graphics, and computer vision are welcome (even preferred) but not required.

 

COS IW 08: Product Manager Bootcamp

Instructor: Mike Freedman

Meeting Time: Thursdays, 1:30 - 2:50pm

Location: Friend Center TBD

Abstract:

One professional pathway for computer science graduates is into product management, where you can combine many strengths and interests (technical, analytical, business, user centrism, design) to build great product experiences. Product managers need to excel in communication, leadership, and strategy, but do so while balancing many needs and stakeholders.

This Independent Work seminar will serve as a "bootcamp" for students interested in product management, especially from the perspective of a startup founder and having full product ownership.  Our focus with be on b2b SaaS products, not consumer or social media.  We'll cover concepts such as product theory frameworks, developing good strategy, market segmentation, market and user research, product positioning, pricing, growth techniques, user stories, onboarding and Aha! moments, design cycles (wireframing, prototyping), and more.  Aspiring startup founders - this seminar is for you.

We'll read articles and blog posts, listen to podcasts.  We'll focus heavily on recent startup case studies and examples from industry. The class is meant to be highly engaged and discussion oriented.  In addition to being a professor at Princeton, Freedman is the CTO and leads product at Timescale, a newly-minted unicorn building databases and cloud data infrastructure for time-series data.

There are no prerequisites other than a passion for technology, but all students must work in a team of two on a b2b product/venture idea through the semester, and will given short (3-5 minute) presentations every other week for a final joint project.  Students are expected to have a partner by the first week of the seminar.  To apply to join the seminar, each team of two students should submit a one-page PDF with two sections: (i) describing the team's product/startup idea, and (ii) why you both want to take this seminar.

 

COS IW 09: Natural Algorithms

Instructor: Bernard Chazelle

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

Location: Friend Center TBD

Abstract:

There is an increasing awareness that the secret of life is not just computational but algorithmic.  Over the span of four billion years, living organisms have been laboring as software engineers, writing, testing, and finetuning their programs 24/7. Unlike Silicon Valley, however, the Darwinian workplace is not merely unforgiving: it is lethally so. The punishment for buggy code is not a salary freeze but death. The benefit of such cruelty is software of unparalleled awesomeness. If you think Google's search engine is cool, you've never seen a termite mound or a royal albatross circumnavigate the earth 40 times all by itself before landing at its exact birthplace.  How do they do it?  No one knows. Until we decipher the "natural algorithms" of Darwinian evolution, biology will remain a scientific project in search of conceptual depth. And, no, machine learning will not save us.

The seminar will explore these issues in detail. It will touch on so many different subjects (CS, math, physics, biology, control, dynamics, philosophy, history, etc) that no specific prerequisites are needed. Just basic CS requirements and loads of intellectual curiosity. We will meet weekly as a group to discuss everyone's project and progress. Students may work in pairs so long as each participant covers a separate aspect of the project.

 

COS IW 10: Practical Solutions to Intractable Problems

Instructor: Zachary Kincaid

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

Location: CS 302

Abstract:

Suppose that you encounter an algorithmic problem that you need to solve but which is computationally intractable (say, NP-hard, PSPACE-hard, or even undecidable). What can you do? While it's impossible to design an algorithm that works efficiently all of the time, it's certainly possible to develop solutions that work well in practice. For example, despite the fact that boolean satisfiability is NP-complete, modern SAT solvers can scale to millions of variables and clauses for the kinds of formulas that arise in typical applications, such as verification, synthesis, and planning.

In this seminar, students will engage in research on how intractable problems are solved in practice.   We'll survey some strategies for solving hard problems, including heuristic search, relaxation, approximation, and randomization.  A typical project is to choose a problem of interest (e.g., a solver for some class of puzzle or an agent for playing a strategy game), and to design, implement, and experimentally evaluate a technique for solving that problem. The technique could involve exploiting existing tools (such as SAT solvers, theorem provers, or integer programing solvers) or designing a new algorithm.

 

COS IW 11: Computational Biology and Medicine

Instructor: Ben Raphael

Meeting Time: Fridays, 1:30 - 2:50pm

Location: CS 402

Astract:

Biology and medicine are being rapidly transformed by new technologies that produce high-throughput measurements of DNA, RNA, and protein molecules.  These technologies have been used to: sequence tens of thousands of genomes from different species, measure genetic differences between hundreds of thousands of humans, study the cancer evolution, quantify the dynamic process of gene and protein expression from millions of cells across time and space, and many other applications.  A fundamental challenge is how to derive biological knowledge and improve human health using these massive quantities of data.

This seminar will explore the use of techniques from computer science – including classical algorithms on strings, trees, and graphs to more recent statistical and machine learning methods -- to analyze and interpret large-scale biomedical data.  Projects may be driven by a specific biological dataset (e.g. human genome variation, cancer genomes, single-cell or spatial gene expression) or area of computer science (e.g. algorithms, machine learning, databases, systems/hardware, visualization, etc.).  Projects may involve learning existing software packages and applying them in a creative analysis of a dataset of interest; implementing a novel algorithm or machine learning method; data visualization; use of cloud or GPU computing to maximize performance; etc.  Students may work individually or in small teams.
    
This is an “active learning” seminar: class meetings will primarily be used for presentations and discussions of ongoing projects.  Recommended background beyond COS126/226 includes high-school level biology and at least one math-related course beyond calculus (e.g. MAT202/204, COS240, COS302, ORF245, ORF307, ORF309, MAT375, etc.).  Some familiarity with the Unix command line (or a willingness to learn) will be helpful.


Enrollment Information, Fall 2023

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

To enroll in a COS IW seminar for Fall 2023, login to TigerHub and directly enroll in the seminar section number that correlates with the seminar number above.

BSE juniors will enroll in COS 397 and the seminar number that matches the seminar number above. Example: COS 397, S01 is COS IW 01: Natural Language Processing with Prof. Fellbaum, etc.

BSE seniors will enroll in COS 497 and the seminar number that matches the seminar number above. Example: COS 497, S01 is COS IW 01: Natural Language Processing with Prof. Fellbaum, etc.

Please note: The IW seminar sections share seats between COS 397 and COS 497. The sections don't "talk" to each other in TigerHub. If there is an open seat in the seminar section you want, but it is in the wrong course number enroll in the section with the open seat then email mhornstein@princeton.edu and Mikki Hornstein will switch you into the right course number and section.

Follow us: Facebook Twitter Linkedin