**M2: Bibliography** CS 190 In this course, you will be completing semester-long individual projects. All 190 projects will include conducting a literature review of a particular, focused research area as well as proposing a new research project in that area. If you have already opted to do a computer science thesis or project and been accepted by an advisor, your literature review will be the related work section for your thesis or project and your new research proposal will be your plan for your thesis or project. Otherwise, you may choose any research area that relates to the topic of your 190 section. Eventually, your chosen research area should be narrow enough that your literature review includes all published computer science papers in that area. # Starting Your Literature Review For your literature review, you will need to: - use $\LaTeX$ to create the PDF - write a short (2 to 5 sentence) summary of your project (should be similar to what you put in the previous milestone), but you can make changes to narrow or broaden the scope a bit or to redirect the focus - cite at least 10 articles (and no more than 25). These articles should be all of the published, peer-reviewed papers relating to the topic you chose. If you can't find enough papers (or find too many papers) you will need to adjust the scope of your project. - cite only peer-reviewed research articles (not blog posts, technical articles, or pre-print articles from, for example, [arXiv.org](https://arxiv.org/)) You do not need to write a summary of each article at this stage. That will come in the next milestone. ## How to Find Articles I recommend the following approach for finding research papers: 1. Write a short list of search terms and synonyms. 2. Search for these terms using [Google Scholar](https://scholar.google.com/). - Look for "recent" papers (for some fields, like machine learning, I'd look for articles published in the past two or three years. for other fields, you might be looking for articles published in the last ten years) - Focus on papers with higher citation counts, but don't eliminate a paper just due to the number of citations - Look for "survey" and "review" articles, and then click on the "Cited by DDD" link to find recent papers that cite the survey/review article 3. Look at the conference proceedings from the top conferences in your area over the last few years (see list below) 4. When you find a particularly good article, look at the papers it references (found at the end of the paper) and use the "cited by" link on Google Scholar to find later papers that reference that paper 5. Search with the same terms using your search engine of choice (e.g., DuckDuckGo) - You can frequently find related blog posts or videos on the authors' websites 6. Use a tool like [Connected Papers](https://www.connectedpapers.com/) to find related articles. 7. Talk to Katie Kohn, the 5C Librarian whose specialty areas include Computer Science, about how to find papers relating to your topic For other types of work (blog posts, etc.) use your normal searching skills (DDG, YouTube, etc.). Such resources will be helpful, and you can use them and cite them if appropriate, but they will not count towards the 10 peer-reviewed articles and should not be included in this milestone. ## How to Read Articles Keep the following in mind when reading any research article: - **Who are the authors?** The authors are the only people with the full context needed to understand a paper. Many authors are not native English writers, so don't let lower-quality writing prevent you from understanding what could be an important takeaway. - **What is the venue?** Every venue will have its own requirements and expectations. Keep this in mind when thinking about what the authors left out (due to space requirements) or didn't include (due to the media). - **Who is the audience?** You are likely **not** the intended audience for most research papers. The intended audience is probably some niche sub-field of researchers from around the world. Every group of researchers has its own jargon and informal (not codified) rules and conventions. In general, I only gripe about grammar and style when **reviewing** (providing feedback prior to publication) an article, and not when reading an article or reviewing a research proposal. In the latter cases, do your best to look past writing characteristics (good or bad) and focus on contributions. Once you find a research article (or research heavy blog post), here are a couple of recommended techniques for reading the paper: *Technique 1:* 1. Skip the abstract 2. Read the first sentence of every paragraph in the paper 3. Come up with two or three questions you would ask the author 4. Summarize paper's main points in one to three sentences 5. Read the abstract and compare it to your summary 6. Read the paper again, but now without skipping any sections. *Technique 2:* 1. Read the abstract and introduction. If the paper seems relevant: 2. Skim the methodology and results sections 3. Summarize the paper's main points in 1-3 sentences 4. Come up with 2-3 questions you have about the paper 5. If the paper still seems relevant, read the paper from end to end (skipping the related work section) 6. Look at the related work section to identify other papers you should look at In general, you only need to read in more detail if you need to understand something in more detail (for example, if you are trying to replicate their work). You should not expect to understand every part of a paper. You do not have the same background or context as the author(s). You will often want to read a paper several times if you are trying to recreate something the authors discovered. # Relevant Conferences To help you explore the space of sub-areas, the following are a list of conferences that regularly publish research in areas relevant to each of the current 190 sections. 1. People, Technology, and Privacy * [Privacy Enhancing Technologies Symposium](https://petsymposium.org/2024/program.php) * [Symposium on Usable Privacy and Security](https://www.usenix.org/conference/soups2024/technical-sessions) * [USENIX Security](https://www.usenix.org/conference/usenixsecurity24/technical-sessions) (people related sessions only) * [CHI](https://programs.sigchi.org/chi/2024/program/13-may) (privacy/security related sessions only) 2. Systems and Security * [IEEE Symposium on Security and Privacy](https://sp2024.ieee-security.org/program.html) * [USENIX Security](https://www.usenix.org/conference/usenixsecurity24/technical-sessions) * [ACM Conference on Computer and Communications Security](https://www.sigsac.org/ccs/CCS2023/program.html) * [Network and Distributed System Security](https://www.ndss-symposium.org/ndss-program/symposium-2024/) 3. Robots, Autonomous Systems, and Humans * [International Conference on Intelligent Robots and Systems (IROS)](https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros) * [IEEE International Conference on Robotics and Automation (ICRA)](https://www.ieee-ras.org/conferences-workshops/fully-sponsored/icra) * [IEEE International Conference on Automation Science and Engineering (CASE)](https://www.ieee-ras.org/conferences-workshops/fully-sponsored/case) * [Robotics: Science and Systems (RSS)](https://roboticsconference.org/) * [Conference on Robot Learning (CoRL)](https://www.corl.org/) * [IEEE / CVF Computer Vision and Pattern Recognition Conference (CVPR)](https://cvpr.thecvf.com/) 4. ML, Computer Vision, and Generative Algorithms * [AAAI Conference on Artificial Intelligence in Interactive Digital Entertainment](https://aiide.org) * [Conference on Neural Information Processing Systems (NeurIPS)](https://neurips.cc/) * [International Conference on Learning Representations (ICLR)](https://iclr.cc/) * [International Conference on Machine Learning (ICML)](https://icml.cc/) * [Conference on Uncertainty in Artificial Intelligence (UAI)](https://www.auai.org/uai2024/) 5. Construction of Programming Languages * [Principles of Programming Languages](https://sigplan.org/Conferences/POPL/) * [International Conference on Functional Programming](https://www.icfpconference.org/) * [Architectural Support for Programming Languages and Operating Systems](https://dl.acm.org/conference/asplos) * [Object-Oriented Programming, Systems, Languages, and Applications](http://www.oopsla.org/) 6. Expressive Computing * [International Conference on Computational Creativity](https://computationalcreativity.net/home/resources/bibliography/#iccc-proceedings) * [AAAI Conference on Artificial Intelligence in Interactive Digital Entertainment](https://aiide.org) * [CHI Play](https://dl.acm.org/doi/proceedings/10.1145/3410404) * [Workshop on Procedural Content Generation](https://www.pcgworkshop.com/) * [Workshop on Experimental AI in Games](https://www.exag.org/) # What to Submit Submit your proposal to [gradescope](https://www.gradescope.com/). See gradescope for instructions on exactly what to submit.