Quick links

Independent Work Seminar Offerings - Spring 2023

COS IW 01: Digital Humanities

Instructor: Brian Kernighan

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

Location: CS Building, Room 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: Machine Learning and Data Science

Instructor: Xiaoyan Li

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

Location: CS Building, Room TBD

Abstract:

In this seminar, you will learn or review various machine learning models, such as naïve Bayes classifier, Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression and Elastic Net regression, 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: Fridays, 1:30-2:50pm

Location: CS Building, Room TBD

Abstract:

In this seminar, you will learn or review various machine learning models, such as naïve Bayes classifier, Support Vector Machines, Decision Trees, Random Forest, Ridge regression, Lasso regression and Elastic Net regression, 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: Practical Solutions to Intractable Problems

Instructor: Zachary Kincaid

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

Location: CS Building, Room TBD

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 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: Theoretical and Empirical Analysis of Succinct Data Structures

Instructor: Huacheng Yu

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

Location: Computer Science Building, Room TBD

Abstract:

Data structures organize data in a carefully designed format in order to efficiently access its various statistics, i.e., answer queries about the data. Data structures are fundamental components in many algorithms, and have been studied from various aspects in numerous applications. Typically, we would like to design data structures that can be constructed efficiently, occupy small memory, answer queries efficiently, and support efficient updates to the data.

A succinct data structure is a data structure that occupies almost no extra space beyond the (compressed) plain data size. For n-bit data, it only uses n+o(n) bits of space, yet queries must still be answerable with only a few accesses to the data structure. In some applications, it also supports in-place updates to the data. Despite this seemingly restrictive constraint, many data structure problems still admit succinct solutions.

In this IW seminar, we will study such data structures, and aim to understand the "o(n)" term via more fine-grained analysis as well as implementation. Some examples of possible directions in the IW include designing new succinct data structures, analyzing the exact expression of "o(n)", trying to (theoretically) improve and optimize this low-order term, or comparing the empirical performances of different data structures for the same problem via implementation, etc.

 

COS IW 07: Theoretical and Empirical Analysis of Streaming Algorithms

Instructor: Huacheng Yu

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

Location: Computer Science Building, Room TBD

Abstract:

Many computer science applications need massive data processing, and it is not rare to be infeasible to just store the data. Streaming algorithms are a class of algorithms that process data using sublinear memory (often logarithmic in the data size) as the data is presented to the algorithm in a stream. Streaming algorithms have applications to networking, database algorithms, etc. They usually maintain a small sketch of the data it has seen so far, such that the sketch at the end of the input stream provides enough information about what we want to compute. Various streaming algorithms have been developed to compute different statistics of the data, and many have provably optimal asymptotic space usage.

In this IW seminar, we will go beyond "big-Oh", and aim to understand the memory usage via more fine-grained analysis as well as implementations of different algorithms. Some examples of possible directions in the IW include designing new streaming algorithms, analyzing the exact expression of the memory usage, trying to (theoretically) improve and optimize the leading constant and the low-order terms, or comparing the empirical performances of different algorithms for the same problem via implementation, etc.

 

COS IW 08: Product Manager Bootcamp

Instructor: Mike Freedman

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

Location: CS Building, Room 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: Computational Methods for Precision Health

Instructor: Olga Troyanskaya

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

Location: CS Building, Room TBD

Abstract:

Precision health is a concept of using individualized information to target diagnosis and treatment of disease.  As such, this field relies on computational methods, including AI/machine learning, statistical methods, and algorithms to analyze genomes and other biomedical data.  Effective precision health approaches not only promise better overall treatment of human disease, but also more equitable medicine.  These computational algorithms can address rare and historically underfunded diseases, identify biases in existing data and treatments, and even propose more effective health policies.

This seminar has no prerequisites beyond COS 126, all biomedical concepts will be introduced, and no prior biology or medial background will be assumed.  Students will be supported in selecting interesting and impactful projects.  Students may work individually but are encouraged to work in pairs addressing projects of joint interest.

 

COS IW 10: Language, Computation and Creativity

Instructor: Suma Bhat

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

Location: CS Building, Room TBD

Abstract:

Language is the primary avenue for expression and humans are known to express themselves creatively in diverse ways. In this project-based seminar we will creatively explore computation and language, designing creative ways of language input for computation and computational ways to understand language. We will primarily rely on text widely available, including tomes of literature, microblogs, scientific articles, and computer-generated text. Our goal will be to creatively explore statistical and computational approaches to analyze the rich patterns and information in text, expressed at the word-, sentence- or document level.

All students are expected to attend all weekly meetings and complete the required weekly readings. Students will also write reports and give presentations throughout the semester to show their progress as they advance their work. Students may pair to work on more ambitious projects, or on complementary aspects of a project. This seminar is intended for students with strong computing skills (including machine learning), but students with other backgrounds and a strong interest in viewing language through a computational lens are invited to contact the instructor to discuss the suitability of participating in the seminar.

 

COS IW 11: Swarm Intelligence: Ants, Bees, Fish, and Humans

Instructor: Radhika Nagpal

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

Location: CS Building, Room TBD

Astract:

Swarms are everywhere! From fireflies that synchronize across thousands, to massive ant colonies that create miles of trail networks and even self-assemble bridges, to the mesmerizing behavior of fish schools and bird flocks that evade predators. Even humans exhibit swarm behaviors! What are the rules by which this collective intelligence emerges? Or breaks down? Why do swarms evolve?

In this IW seminar, we will explore the emergence of self-organization and swarm intelligence across animal groups, through readings and discussions, in class games, and student projects. Through lectures during the first third of the seminar, we will learn some of the classic biological models of self-organization. Through student projects, we will build programming models of newly-discovered swarm phenomena, with an eye towards both investigating the phenomena parameter space, and providing a publicly-accessible model for researchers and educators world-wide. In the process we will also tackle an important equity aspect of human collective behavior, aka gender-bias in scientific visibility (implicit and explicit), by focusing on new discoveries from female-led projects and labs. While the student projects will focus on non-human systems (cells, ants, bees, fish), discussions of implications for human collective intelligence and equity will be woven throughout the semester.

The seminar will not require prerequisites beyond COS 217 and COS 226. We will mainly be using Netlogo, a language developed for investigating swarm behavior and creating web-based public simulations. No background in biology is assumed, other than a fascination for the natural world. At the end of the seminar, our collective goal will be to create a public website of simulations of new discoveries in swarm intelligence.

 


Enrollment Information

To enroll in a COS IW seminar for Spring 2023, please fill out the Spring 2023 IW Sign-Up Form in the COS IW portal (the form will be open in late November/early December). Students will be placed into an open seminar based on their rankings, course schedule, and narrative. Placement preference will be given to AB juniors, as they are required to complete IW in the spring. Preference will then go to BSE seniors who have not yet completed any IW, because they will also be required to complete IW in the spring. Every effort will be made to enroll students into their first-choice seminar, however, based on the extreme popularity of some topics, this may not be possible. Most students will be placed into a seminar in their top three rankings.

BSE seniors should enroll in COS 498, S99 then fill out the Spring 2023 IW Sign-Up Form. BSE juniors should enroll in COS 398, S99 then fill out the Spring 2023 IW Sign-Up Form. The IW seminars will not appear on your schedule, so please keep in mind the schedule of your top seminars as you enroll in classes.

AB juniors only need to fill out the Spring 2023 IW Sign-Up Form. The Registrar's Office will then place your IW course code on your schedule later in the spring term.

 

 

Follow us: Facebook Twitter Linkedin