Quick links

Independent Work Seminar Offerings - Fall 2019

Title: COS IW 02 - Natural Language Processing  

Instructor: Dr. Christiane Fellbaum

Meeting time: Friday 11:00 am - 12:20 pm 

Abstract: Natural Language Processing, a sub-field of AI, tries to understand and model properties of human (natural) language and the ways it is learned, produced and interpreted by speakers. With these parameters, participants in the seminar can choose from a wide range of topics including sentiment and opinion analysis, the arguement detection, identification of fake news, bias detection, computational humor, question answering and automated reasoning, in English or another language of their choice. Using existing datasets or constructing their own from text corpora, news services, blogs, tweets, etc., students will apply (and possibly improve on) existing pre‐processing tools for word segmentation, part-of‐speech tagging, morphological analysis and syntactic parsing. These “pipeline” steps rely on fundamental algorithms such as n-gram language modeling, naive Bayes classifiers and Hidden Markov Models. The focus will be on the analysis of explicit or implicit meaning in texts, on the word, sentence or document level. Different approaches approaches to semantic analysis, using lexical resources and/or vector space models, will be considered. Projects may explore deep learning.

The goal is to gain familiarity with basic NLP techniques and apply them to a project of the student’s choice by creating and using a new dataset or adding a new twist to an existing approach. For most students the seminar is the first research experience, so beating current baselines or improving on the SOTA is definitely not expected. Students need not to have defined a project at our first meeting. A selection of representative papers from previous semesters will be made available to exemplify the expectations. Students may work in pairs on a joint project, but each student should have a well-defined, separate task that is equivalent in scope to individual projects


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

Instructor: Dr. Robert Fish

Meeting Time: Wednesday 3:00 pm - 4:20 pm


How does an idea for an invention actually become an innovation in the marketplace?  You may be a computer programming wizard, but there is a lot more to it than just fingers on the keyboard.  This seminar, in concert with your developing an independent project of your choice, introduces some of the elements of thinking and developing an idea into a going concern.    Your project will include a software prototype, and a presentation, paper, and poster 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, an introduction to intellectual property including patents, aspects of a simple business plan, and the elements of an “pitch deck.”   Typically, we have some interaction with the Keller Center's program for entrepreneurial activities.   For the more adventurous, the possibility exists for you to share your idea in a real 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 frontend, backend, mobile app, data analysis, 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.  Also, if you’ve started a project with some entrepreneurial aspects in COS333, you might want to consider developing it further in this IW Seminar.


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

Instructor: Dr. Robert Fish

Meeting Time: Tuesday 3:00 pm - 4:20 pm 


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 hte 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.


Title:  - COS IW 05 - Computational Genomics

Instructor: Ben Raphael

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

A genome contains the instructions for manufacturing many of the molecules within a cell. These instructions are spelled out using the 4-letter alphabet of ‘A’, ‘C’, ‘G’, and ‘T’ that comprise the nucleotides of DNA.  In the past decade, new technologies have reduced the cost of measuring -- or sequencing -- DNA by several orders of magnitude.  These technologies have also been adapted to quantify the dynamic process of gene expression across time, space, and cell types.  The challenge now is how to interpret and derive biological knowledge from the massive quantities of genomic data that are now being produced.

This seminar will explore the use of techniques from computer science to analyze and interpret large-scale genomic data.  Projects may be driven by a specific biological dataset (e.g. human genome variation, cancer genomes, single-cell gene expression, etc.) or area of computer science (e.g. algorithms, machine learning, databases, visualization, etc.)  Students may work individually or in small teams.  Class meetings will primarily be used for presentations of ongoing projects. 

Recommended background beyond COS126/226 includes high-school level biology.  Some familiarity with the Unix command (or a willingness to learn) will be helpful.


Title:  - COS IW 06 - Mobile and Wearable Design for Assistive and Medical Technology

Instructor: Kyle Jamieson

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


Mobile, wearable, and augmented-reality platforms, medical sensors, and other technologies are creating new opportunities to help persons with disabilities perform the activities of daily living.  At the same time, these exciting, pervasive-computing technologies also create new opportunities to help doctors and therapists treat patients in the clinic and the home, in both developed and developing countries.  Participants in this seminar will choose an assistive or medical application and develop a solution that will have real impact on patients lives.
Possible assistive applications include hearing impairment, cognitive impairment (aphasia, autism spectrum, Parkinson's disease, prosopagnosia), and vision impairment.  Other in-scope applications targeted on medical and psychological contexts include dermatology (melanoma detection and diagnosis, jaundice), pulmonary spirometry, physical/occupational therapy (stroke rehabilitation), sports medicine, and health monitoring (blood glucose, EKG, blood oxygenation).  Possible hardware platforms include mobile devices, wearable health monitors, augmented reality devices (Microsoft HoloLens, Fove VR), 360-degree cameras (Google), wearable body-cams, and an array of new-to-market medical sensor technology.

Title:  - COS IW 07 - Robots

Instructor: David August

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


Working individually or in a team, you will design and fabricate a working robot.   During the semester, you will be responsible for the design, implementation, and evaluation of your robot or robot subsystem. You will gain experience with sensors, actuators, embedded controllers, and fabrication techniques.  Your project may involve networking, vision, and learning.

In the first few meetings, we will complete conceptual designs of our robots, identify subsystems to manage complexity (especially if teaming), and establish a semester schedule with milestones.  Some subsequent meetings will cover topics that will help you meet those milestones. In others, we will deliver project updates and formal student presentations.

Past projects include: 1) A robot that identifies the type of a presented article of clothing and folds it accordingly.  2) A friendly robot that autonomously delivers coffee to people in the CS building, using the elevator if necessary.  3) A drone capable of quickly navigating through a thick forest.  

There are no prerequisites for this seminar beyond COS 217 and COS 226.  


Title:  - COS IW 08 - Empowering the Citizen Scientist

Instructor: David August

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


The Oxford English Dictionary defines citizen science as "scientific work undertaken by members of the general public, often in collaboration with or under the direction of professional scientists and scientific institutions."  In this IW seminar, you will use computer science to help citizen scientists accelerate the pace of scientific discovery.

Possible projects: Develop a smartphone app for the distributed collection of firefly population data.  Automate work currently performed manually by citizen scientists, such as the discovery of stars in never before seen NASA imagery.  Use volunteer computing to simulate the propagation of seismic waves generated by earthquakes in real time.  
Your project may involve the development of an application for deployment on smartphones, desktops, clusters, or cloud infrastructures.  Working with a scientist in another department is encouraged.

There are no prerequisites for this seminar beyond COS 217 and COS 226.  



Title:  - COS IW 09 - Data Science

Instructor: Ben Raphael

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


This seminar will explore modern software tools for data science.  We will focus on tools implemented in the Julia language (julialang.org), an emerging language for scientific applications.  Julia aims to combine the ease of high-level scripting languages like Python with the performance of compiled languages like C.  Julia packages implementing core algorithms for numerical computing, optimization, machine learning, statistics, graph theory, and differential equations are rapidly maturing.  Projects in the seminar may include: learning existing analysis packages and applying them in a creative analysis of a dataset of interest; extending packages with high-performance implementations of new algorithms; data visualization; use of cloud or GPU computing to maximize performance.  Students may work individually or in small teams. 

This is an “active learning” seminar: class meetings will primarily be used for peer-to-peer demos of toolkits and presentations of ongoing projects.  Recommended background is: at least one math-related course beyond calculus (e.g. MAT202/204, ORF245, ORF307, ORF309, COS424, MAT375) and some familiarity with the Unix command line.


Title:  - COS IW 10 -  Technology Policy Clinic

Instructor: Mihir Kshirsagar

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


Policymakers are grappling with the complexities of how to regulate emerging computer and network technologies that are bringing fundamental changes to our society. There is a renewed sense of urgency to understand the implications of these new challenges and to craft practical solutions that address the difficult tradeoffs we need to make. In particular, there is an opportunity for thoughtful, technically sophisticated voices to play a vital role in informing policy debates.

In this seminar, students will explore how to develop policy approaches to respond to new technologies. Projects will be student-driven and the focus will be on creating real-world policy work product. All students are expected to attend all weekly meetings and work collaboratively on shared projects.



Follow us: Facebook Twitter Linkedin