Independent Work Seminar Offerings - Fall 2021
COS IW 02: Natural Language Processing [FULL]
This seminar has reached maximum capacity.
Instructor: Christiane Fellbaum
Meeting Time: Fridays, 11:00 am - 12:20 pm
Location: CS 401
Abstract: Natural Language Processing tries 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, argument and bias detection, identification of fake news, computational humor, question answering and automated reasoning, in English or another natural language. Using datasets constructed for their project from available text corpora, news outlets, blogs, tweets, etc., they will apply (and possibly improve on) existing pre-processing tools for word segmentation, part-of-speech tagging, morphological analysis and syntactic parsing. 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 issues such as the Black Lives Matter movement, the pandemic and public health, and gender/racial/nationality/religious bias. Different approaches to semantic analysis, using lexical resources and/or embeddings, will be considered and applied. Projects may include a machine learning component for students who have taken COS324.
COS IW 03: Invention and Innovation -- Entrepreneurial Lessons for Computer Scientists (After?) Extraordinary Times [FULL]
Instructor: Robert Fish
Meeting Time: Wednesdays, 3:00 pm - 4:20 pm
Location: CS 302
Abstract: 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 you building an independent product 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, 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, 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 the Keller Center's program 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 frontend, backend, 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 COS333, you might want to consider developing it further in this IW Seminar. Also, given the extraordinary circumstances over the last year, you might want to think about some entrepreneurial project that addresses issues of remote learning, pandemic responses, or economic and social inequality.
COS IW 04: Help Future Computer Science Students Learn Computer Science (Remotely)
Instructor: Robert Fish
Meeting Time: Tuesdays, 3:00 - 4:20 pm
Location: CS 301
Abstract: We live in interesting times, with virtual classrooms (sometimes) replacing physical ones. 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 perhaps anywhere else!) with an option to focus on remote, virtual, and online learning environments. People need learning environments, especially in remote learning, that enhance group dynamics, maintain motivation, include a degree of self-pacing, as well as engage with individual learning styles.
In this seminar, students will choose some computer science concept from COS 126, 217, 226 or other Princeton Computer Science courses or choose some other aspect of the learning environment that contributes to computer science pedagogy. You might pick some interesting concept that 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) 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, 3D imagery, or anything else that you can think of that might help students understand a concept. The project should 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 source tools, including tools such as Open EdX, Django, the D3 visualization library, and the Unity game engine 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, 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.
COSIW05: Technology Policy
Instructor: Mihir Kshirsagar
Meeting Time: Fridays, 11:00 am - 12:20 pm
Location: 306 Sherrard Hall
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: Deep Learning for Voice [FULL]
Instructor: Adam Finkelstein
Meeting Time: Mondays, 1:30 pm - 2:50 pm
Location: CS 401
Abstract: 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 DeepMind/Google 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 human speech. Example projects include: speaker identification, phoneme recognition, automatic alignment of recorded speech to a transcript, speech enhancement, voice conversion (making one person’s voice sound like that of another speaker), and isolating individual voices from a recording that contains multiple speakers (aka “the cocktail party problem”), among many others. Students interested in singing might work on problems involving pitch detection or auto-tune, for example. We expect to leverage cloud computing infrastructure such as Google Colaboratory and/or Microsoft Azure for most projects. 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, signal processing, or audio are welcome (even preferred) but not required.
NOTE: COS IW 06 and COS IW 07 are on the same topic and you may choose either one, whichever is a better match for your schedule. You may list both among your preferences if both times work for you.
COS IW 07: Deep Learning for Voice [FULL]
Instructor: Adam Finkelstein
Meeting Time: Mondays, 3:00 pm - 4:20 pm
Location: CS 402
Abstract: 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 DeepMind/Google 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 human speech. Example projects include: speaker identification, phoneme recognition, automatic alignment of recorded speech to a transcript, speech enhancement, voice conversion (making one person’s voice sound like that of another speaker), and isolating individual voices from a recording that contains multiple speakers (aka “the cocktail party problem”), among many others. Students interested in singing might work on problems involving pitch detection or auto-tune, for example. We expect to leverage cloud computing infrastructure such as Google Colaboratory and/or Microsoft Azure for most projects. 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, signal processing, or audio are welcome (even preferred) but not required.
NOTE: COS IW06 and COS IW07 are on the same topic and you may choose either one, whichever is a better match for your schedule. You may list both among your preferences if both times work for you.
COS IW 08: Using Publicly Available Data to Learn, Explain, Evaluate, and Improve
Instructor: David Dobkin
Meeting Time: Tuesdays, 1:30 - 2:50 pm
Location: CS 402
Abstract: The so-called big data revolution has led to the creation of data sets of various sizes that provide information about real world situations. Datasets of significant size are available in a variety of domains. These domains range from information about the operations of cities (including, for example, housing data, transportation data and police data in New York city among other urban centers) to health data (including epidemiological data on the spread of diseases and genomic data from thousands of individuals) to sports data (including information about virtually every pitch thrown in a baseball game since 1987). Given this wide availability of data, a challenge for the data scientist is to find effective ways to use the data to extend our knowledge of the situations represented by the data. This task involves exploring datasets, cleaning data, asking good questions, and presenting results in the most compelling fashion. The typical project will begin either with a question or with a dataset. In the former case, the goal will be to find datasets that help to answer the question and to explore. In the latter case, the goal will be to explore the data set to learn new and interesting things.