Quick links

Independent Work Seminar Offerings - Spring 2020

COS IW 02: Natural Language Processing with Neural Networks

Instructor: Karthik Narasimhan

Meeting Time: Tuesdays, 1:30-2:50pm - Room CS 301 


Recent advances in deep learning have led to exciting developments in natural language processing, especially in areas like translation, question answering and information extraction. This seminar will allow students to choose and work on a research project utilizing deep neural networks for NLP. The project can focus on either new theoretical/algorithmic developments for NNs, applying neural network models to solve various NLP tasks, or development of new evaluation frameworks, tasks and metrics.

There are no prerequisites for this seminar beyond COS 217, COS 226 and one of COS 324 (Machine Learning), 484 (NLP), 485 (Neural Networks) or a similar machine learning course. Prior experience with NLP and programming experience is definitely useful. Students may work in pairs IF the project can be split so that each student has their own semester-size piece of the project. We will spend the first 2-3 meetings of the semester surveying the latest results in the field, brainstorming ideas and developing project proposals. The remaining meetings will be used for project updates, formal student presentations, and discussions on how to perform background research, prepare a presentation and write a final paper.


COS IW 03: Hands-On Reinforcement Learning

Instructor: Karthik Narasimhan

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


Reinforcement learning has enjoyed a healthy resurgence in recent years, with super-human performance being demonstrated on domains like Go, Starcraft and Atari. This seminar aims to provide students the opportunity to learn the basics and acquire hands-on experience with RL techniques through a semester-long project. Types of projects include benchmarking state-of-the-art RL algorithms on various tasks, proposing new algorithms for more sample-efficient or generalizable RL, applying existing techniques to solve problems in other domains (e.g. computer vision, NLP, program synthesis, or even job scheduling!), or development of new evaluation frameworks, tasks and metrics for RL.

There are no prerequisites for this seminar beyond COS 217, COS 226 and one of COS 324 (Machine Learning),  484 (NLP), 485 (Neural Networks) or a similar machine learning course. You will be expected to implement RL algorithms, preferably using standard libraries like PyTorch, Tensorflow, OpenAI gym, etc. Students may work in pairs IF the project can be split so that each student has their own semester-size piece of the project. We will spend the first 2-3 meetings of the semester surveying standard and current RL algorithms, brainstorming ideas and developing project proposals. The remaining meetings will be used for project updates, formal student presentations, and discussions on how to perform background research, prepare a presentation and write a final paper.


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

Instructor: Robert Fish

Meeting Time: Tuesdays, 3:00-4:20pm - Room CS 401 


How would you like to have an IW project that could have lasting value for Princeton CS students? This seminar focuses on projects that try to enhance the computer science learning environment at Princeton (or perhaps anywhere else!). Recent years have seen a tremendous upsurge in both the interest and deployment of online learning platforms. Here at Princeton, some classes use a hybrid approach with online learning being supplemented and enhanced through classroom-based precepts and face-to-face one on one sessions. Extending this concept, there is some thought that people need learning environments that also include a degree of self-pacing, as well as engaging a variety of learning styles in the educational process.

In this seminar, students will choose some computer science concept from COS 126, 217, 226 or other Princeton Computer Science courses. You might pick some interesting concept which you think you can explain well to other students. Some examples might be 1) the dynamic operation of various gates and circuits in the TOY architecture or 2) visualizing function calls and the run-time stack frame for different functions (return types, parameters, optimizations on/off). 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, 3D imagery or anything else that you can think of which might help students understand the concept. The project should also include an evaluation component by which mastery of the ideas exposed to them may be assessed. A bonus would be utilizing the system to compare learning with it to a conventional approach.

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, 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, assessment, data analysis, etc. The learning and use of open source tools, including tools such as Open EdX, Django, and the D3 visualization library, etc. is 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, a simplified source code control tutorial, introducing elementary machine learning algorithms, and gamification of COS 126 assignments.


COS IW 05: Computer Science Tools and Techniques for Digital Humanities

Instructor: Brian Kernighan

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


"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 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 represent 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, encodings, APIs, data visualization, data cleaning, and user interface design for making the processes available to scholars just starting out in technology.

A typical project will begin with a humanities dataset (of which there are many) or a focus on a CS technique. In the former case, the goal will be to explore the data set to learn and present new and interesting things about the data. In the latter case, the goal will be to create or improve tools, languages, and interfaces to help scholars in the humanities.


COS IW 06: Deep Learning for Audio

Instructor: Adam Finkelstein

Meeting Time: Mondays, 1:30pm - 2:50pm - Room CS 401 


Deep Learning has enabled the latest breakthroughs in computer vision, speech recognition, robotics, natural language processing, and artificial intelligence. It applies neural networks with many layers to large datasets in order to teach computers how to solve perceptual problems such as detecting recognizable concepts in data, translating or understanding natural languages, interpreting information from input data, and more. In 2016 a Google DeepMind team stunned the acoustic research community with the introduction of WaveNet, a deep learning model that can generate raw audio waveforms containing plausible human speech and even music. Following this work, this seminar will explore practical applications of deep learning for analysis and synthesis of recorded audio. There are no prerequisites: a solid background in machine learning, or deep learning, or signal processing, or audio, or music are welcome (even preferred) but not required.


COS IW 07: Random Apps of Kindness -- Accessibility Technologies and User Interfaces

Instructor: Alan Kaplan

Meeting Time: Mondays, 3:00-4:20pm - Room CS 301 


According to the World Health Organization (WHO), about 466 million people worldwide have a disabling hearing loss, and by 2050 over 900 million people will have a disabling hearing loss.  WHO also reports that there are 285 million people worldwide who are visually impaired.  Within the US, about 8 million people have a hearing impairment, while 7.6 million have a vision impairment; almost 20 million people have difficulties lofting or grasping. 

Accessibility (or assistive) technologies and user interfaces help people with a disability use computers (e.g., web, smartphone, smart home devices, etc).   Examples include screen readers, which read the content of a screen. Motion and eye tracking technologies might help a user place a mouse. Screen magnification software is used to enlarge display content. 

Possible projects: develop and train a closed-caption generator for user-supplied video for hearing impaired users. Automate the design of mobile websites for visually impaired users. Evaluate and enhance protocols supporting accessibility for TV/media program guides.  Develop an eye tracking system that is used to control and monitor devices in a home.

There are no special prerequisites for this seminar beyond COS 126/226/217.  Group projects (two per group) are permissible, but each student in a group must have a clearly identifiable approach, implementation and evaluation.  Students will present weekly - presentations will include project proposals, progress reports, technology demonstrations and final project presentations. 



COS IW 08: Applied Mechanism Design

Instructor: Mark Braverman

Meeting Time: Wednesdays, 3:00-4:20pm - Room CS 301 


An algorithm allows one to compute a desirable solution from given data.  A mechanism aims to ensure that the desired outcome is achieved even if the "data" comes from self-interested parties who might manipulate their reports for selfish reasons.  Much of collective decision making is done via mechanisms: efficient allocations of goods, electing government officials, and assignments of indivisible goods (such as signing up students to courses) are all examples of problems addressed via mechanisms. 

Projects in this seminar will include proposing new mechanisms for problems of student's choosing or analysing existing algorithms from the strategic viewpoint.  Methodologies include simulations and/or mathematical proofs.  Required background is COS226 and COS340. 

Familiarity with basics of game theory or COS445 is a plus, but is not required. 


Follow us: Facebook Twitter Linkedin