Independent Work Seminar Offerings - Fall 2016
Instructor: Margaret Martonosi
Meeting Time: Tuesday 9:30 am -10:50 am in CS401
Abstract: The concept of an Internet-of-Things refers to the growing ecosystem physical objects embedded in our worlds with computing, sensors, and actuators and with network connectivity that enables these objects to collect, analyze and act on data. Proponents of IoT techniques see a world in which a bridge’s structural weaknesses are detected before it collapses, in which intelligent transportation and resilient electrical grids offer pleasant and efficient cities for people to live and work in, and in which IoT-supported e-applications transform medicine, education, and business. Along with their increased use, however, IoT techniques have raised a range of policy and regulatory issues, including privacy, security, standardization, and radio frequency spectrum. This IW seminar welcomes students who are interested in engaging in projects that relate to such IoT policy issues, either exploring technical solutions to addressing aspects of them, or exploring policy and legal frameworks for managing them.
Instructor: Andrea LaPaugh
Meeting time: Friday 1:30-2:50PM in CS301
Abstract: Information is not only found in objects such as HTML documents, databases or images, but in the relationships between objects. The person-to-person interactions captured by social networking services such as Facebook and Twitter are excellent examples of the rich source of information provided by relationships. However the class of relationships containing useful information is much broader than friends and followers. Some examples include the win-lose relationship between sports teams and the contact relationship of individuals with respect to the spread of disease. The tools of social network analysis can be applied broadly to discover useful information about relative strengths, pivotal roles, community structure, and other properties within a set of related objects. They can be combined with other data mining techniques such as machine learning for deeper analysis.
Projects in this independent work seminar will explore the use of relationship networks in understanding data. The typical project will focus on a particular collection of data containing relationships (possibly compiled from multiple sources), formulate a set of question about the data, and apply social network analysis (possibly combined with other analysis) to answer the questions. Projects that develop new techniques for analyzing relationships are also possible.
Some projects from past years using social network analysis include “Connecting Congress: An Analysis of Congress as a Social Network,” “Use of random-walk Centrality Measures in Defending Against Social Network Malware,” and “Finding Experts in Unstructured Communities through Relationships and Topics.”
Instructor: Robert Fish
Meeting Time: Tuesday, 1:30 pm - 2:50 pm in CS401
Abstract: 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. 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. However, even with this method, some students struggle to keep up with the pace of these courses. To remedy this, there is some thought that people need training that combines a degree of self-pacing, as well as a variety of modes of learning.
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 this concept. It can include videos, graphic visualizations, quizzing mechanisms, or anything else that you can think of to help learn the concept. The project should also include a testing mechanism by which mastery of the concept may be assessed. A bonus would be utilizing the system to compare learning with it to a conventional approach.
Students may team 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, and a user interface to improve student progress tracking.
Instructor: Christiane Fellbaum
Meeting time: Friday 11:00 am -12:20 pm in CS401
Abstract: Natural Language Processing, a sub-field of AI, tries to understand and model properties of human language and the ways it is learned, produced and interpreted by speakers. Participants in the seminar will choose from a wide range of topics including spelling correctors, sentiment and opinion analysis, argument detection, computational humor, question answering and automated reasoning, in English or another language of their choice. Using datasets constructed for specific projects from text corpora, news services, blogs, tweets, etc., you will apply (and possibly improve on) existing pre‐processing tools for word segmentation, part-of‐speech tagging 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. Symbolic and statistical approaches to semantic analysis, represented by the use of lexical resources such as Word Net and vector space models, respectively, will be explored. Projects may involve a supervised learning approach with data collected via Amazon Mechanical Turk.
Instructor: Alan Kaplan
Meeting Time: Tuesday, 7:30 pm - 8:50 pm in CS301
Abstract: Today there are more than 2.5 billion smartphone users globally, and by 2020, some estimates project over 6 billion smarthphone subscriptions. This is an incredible number of mobile computers, each with mobile broadband connections, and a host of sensors, including cameras, GPS, accelerometers and barometers.
The overall goal of this IW seminar is to design, develop and experiment with mobile technology that can be used to help individuals or communities. The goal is not just to "write an app, " but rather to produce some innovative approach to a problem and demonstrate/evaluate its utilty and benefits. Application areas include, but are not limited to: environment & climate, social activism, civic computing, health care, philanthropy and crowdsourcing. In general, IW projects must have an impact - locally, nationally or even globally.
Students are highly encouraged to use and/or extend open source platforms. Projects can utilize any combination of mobile devices (e.g., Android smartphones), cloud-based backends (e.g., AWS), open APIs/data (many), hardware sensors (e.g., Raspberry Pi), augmented reality (e.g., Google Cardboard) and programmable UAVs.
Instructor: Brian Kernighan
Meeting Time: Friday 11:00 am - 12:20 pm in CS301
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 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.
Title: COS IW 08 - Invention and Innovation: Entrepreneurial Lessons for Computer Scientists - Enrollment Closed
Instructor: Robert Fish
Meeting Time: Tuesday 7:30 pm - 8:50 pm in CS401
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 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 captures 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.” 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 team 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.
Instructor: Arvind Narayanan
Meeting Time: Friday 11 am - 12:20 pm in CS302
The Bitcoin blockchain is an unprecedented public log of financial transactions — 70 gigabytes and growing quickly. It holds many secrets. Can we do a forensic analysis of well-known thefts of bitcoins, or incidents such as the Mt. Gox collapse, to discover where the money went? How anonymous are Bitcoin users? What does the wealth distribution look like?
Bitcoin's blockchain also lets you build your own secure, distributed applications: prediction markets, decentralized DNS, and many more. Newer cryptocurrencies like Ethereum take this to the next level with "smart contracts." Imagine a programming language that lets you create agents that live in the cloud and can send, receive, and store money: that's Ethereum in a nutshell.
This seminar will introduce you to the technology behind Bitcoin, blockchains, and Ethereum. Your projects could involve analyzing one or more blockchains, building your own applications, or anything elserelated to cryptocurrencies. See here for examples of what projectsmight look like: https://freedom-to-tinker.com/blog/randomwalker/nine-awesome-bitcoin-projects-at-princeton/
Instructor: Sandra Batista
Meeting Time: Fridays 11 am - 12:20 pm
COS IW 11 - Bioinformatics Lab
In this seminar you will have the opportunity to engage in two different types of projects. One type will be the analysis of gene expression data (both mRNA and miRNA) and DNA motifs in order to help biological labs understand different aspects of the cell cycle and differences in expression in diseases. You will have freedom in the types of analyses that you try and will get data from an active collaboration with a biological lab. It is helpful though not absolutely necessary that you have some background in biology. The second type of project will be proving and/or implementing very efficient computations for statistical analyses used in bioinformatics. It is most helpful that you have a background in linear algebra, introductory probability, and introductory statistics for these projects. Systems programming skills are helpful in order to profile memory usage and running times.
We will meet once a week and in addition you may need to meet via phone or Skype with other collaborators. Please understand that we expect you to be committed contributors to your projects. Let's start thrashing (or hopefully not)!