**CS 190 Senior Seminar**
Edmunds 129
Tuesday 2:45 to 4:00 PM
Instructor
- Anthony J. Clark
- Edmunds 127
- Office hours: Monday and Wednesday 10:00 to Noon
*Reading, discussion and presentation of research papers in an area of computer science. Each student will write a survey paper and must attend the Computer Science Colloquium as requested in CS major requirement.*
# Schedule
Tuesday January 17, 2023: Prof Clark
- Topic: Introduction, logistics, and discuss how to find, read, and write
- Everyone gives ranked choice of articles
- Read section How to Read Articles
- Read [You should be reading academic computer science papers - Stack Overflow Blog](https://stackoverflow.blog/2022/04/07/you-should-be-reading-academic-computer-science-papers/)
Tuesday January 24, 2023: Prof Clark
- Topic: General presentation advice [[pptx](PresentationTips.pptx)]•[[pdf](PresentationTips.pdf)]
- Read section Presentation Advice
- Read section Presentation Requirements
Tuesday January 31, 2023: Adeena
- [A Survey on Bias and Fairness in Machine Learning | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3457607)
Sunday February 5, 2023: $\LaTeX$
- Read section General Writing Advice
- Read section LaTeX Assignment
- $\LaTeX$ assignment due on [gradescope](https://www.gradescope.com/)
Tuesday February 7, 2023: Emily and Rachel
- [Machine Learning at the Network Edge: A Survey | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3469029)
Tuesday February 14, 2023: Lucas and Victor
- [PEP 0 – Index of Python Enhancement Proposals](https://peps.python.org/)
- [PEP 13 – Python Language Governance](https://peps.python.org/pep-0013/)
- Find a specific proposal (I'll help) (here is an example [PEP 701](https://peps.python.org/pep-0701/))
Sunday February 19, 2023: Topic and References
- Find eight peer-reviewed articles related to your topic
- Topic selection and reference list due on [gradescope](https://www.gradescope.com/)
Tuesday February 21, 2023: Grace and Sarah; Hayden and Lucky
- Grace and Sarah: [You Can't Sit With Us | Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency](https://dl.acm.org/doi/abs/10.1145/3442188.3445914)
- Hayden and Lucky: [Coordination of Autonomous Vehicles: Taxonomy and Survey: ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3431231)
Tuesday February 28, 2023: Adeena and Winnie
- [The Diversity Crisis in Software Development (IEEE)](https://ieeexplore.ieee.org/abstract/document/9354402)
- Choose any other article from the same [journal issue](https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=9354388&punumber=52)
Sunday March 5, 2023: Bibliography
- Read [How to Prepare an Annotated Bibliography](https://guides.library.cornell.edu/annotatedbibliography)
- Read section General Writing Advice
- Summarize eight articles in one to three sentences each
- Annotated bibliography due on [gradescope](https://www.gradescope.com/)
Tuesday March 7, 2023: Emily; Rachel
- Emily:
+ [Teaching Computer Ethics | Proceedings of the 51st ACM Technical Symposium on Computer Science Education](https://dl.acm.org/doi/abs/10.1145/3328778.3366951)
+ [More Than "If Time Allows" | Proceedings of the AAAI/ACM Conference on AI, Ethics, and Society](https://dl.acm.org/doi/abs/10.1145/3375627.3375868)
- Rachel: [Software Engineering for Machine Learning: A Case Study (IEEE)](https://ieeexplore.ieee.org/abstract/document/8804457)
(Tuesday March 14, 2023): Spring break
Tuesday March 21, 2023: Lucas; Victor
- Lucas: [A Survey of DevOps Concepts and Challenges | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3359981)
- Victor: [Philosophy of the GNU Project](https://www.gnu.org/philosophy/philosophy.html)
Sunday March 26, 2023: Outline and Intro
- Read section How to Write an Introduction
- Read section How to Write a Survey Paper
- Read section How to Outline a Technical Report
- Full draft of outline and introduction due on [gradescope](https://www.gradescope.com/)
Tuesday March 28, 2023: Peer-Review
- Read section Peer-Review Process
- Completed peer-review due on [gradescope](https://www.gradescope.com/)
Tuesday April 4, 2023: Sarah
- [Interface, interaction, and intelligence in generalized brain–computer interfaces - ScienceDirect](https://www.sciencedirect.com/science/article/pii/S1364661321000966)
- [~~Efficient Transformers: A Survey | ACM Computing Surveys~~](https://dl.acm.org/doi/full/10.1145/3530811)
Tuesday April 11, 2023: Hayden; Winnie
- Hayden: [D'ya Like DAGs? A Survey on Structure Learning and Causal Discovery | ACM Computing Surveys](https://dl.acm.org/doi/full/10.1145/3527154)
- Winnie: [Is Your Toxicity My Toxicity? Exploring the Impact of Rater Identity on Toxicity Annotation (arXiv)](https://arxiv.org/abs/2205.00501)
Tuesday April 18, 2023: Lucky; Grace
- Lucky: [Voice in Human–Agent Interaction: A Survey: ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3386867)
- Grace:
+ [Propose a change to the language - The Rust Language Design Team](https://lang-team.rust-lang.org/how_to/propose.html)
+ [Rust Foundation](https://foundation.rust-lang.org/)
+ [Rust proposals](https://rust-lang.github.io/rfcs/)
+ Find a specific proposal (I'll help)
* For example: [2795-format-args-implicit-identifiers](https://rust-lang.github.io/rfcs/2795-format-args-implicit-identifiers.html)
Sunday April 23, 2023: First Draft
- Read section Survey Paper Advice
- See the rubric on gradescope for additional details
- Completed first draft due on [gradescope](https://www.gradescope.com/)
Tuesday April 25, 2023: Peer Review
- Read section Peer-Review Process
- Paper peer review due on [gradescope](https://www.gradescope.com/)
Monday May 1, 2023: Final Draft
- Completed final draft due on [gradescope](https://www.gradescope.com/)
(Thursday May 11, 2023): No Final
# Requirements and Grading
You are expected to complete the following requirements:
1. Complete the $\LaTeX$ exercise.
2. Participate in weekly in-class discussions and complete questionnaires.
3. Work with me to create a presentation for two technical articles.
4. Present two technical articles and the corresponding reflections.
5. Complete all writing milestone listed on the calendar.
Each week we will have presenters and audience members. Here is what you should expect in each role
- Presenters (1 or 2 presenters per week) will
+ read the article(s) at least three days before presenting,
+ complete a questionnaire,
+ meet with me and discussing presentation plans at least two days before presenting,
+ send me slides at least one day before presenting,
+ give a 10 to 15 minute presentation,
+ end the presentation with at least three discussion questions, and
+ submit a reflection on the presentation.
- Audience members will
+ read the article(s) at least two days before the presentation,
+ complete a questionnaire one day before the presentation, and
+ participate in our group discussion.
## Grade Breakdown
| | Requirements |
| - | --------------------------------------- |
| A | Pass all five requirements listed above |
| B | Pass final paper and both presentations |
| C | Pass final paper and one presentation |
| D | Pass final paper |
| F | *Otherwise* |
[Grade table]
You will have specific rubrics (on [gradescope](https://www.gradescope.com/)) for what constitutes a *"pass"* for each requirement.
# Presentations
Your first presentation will include a partner, but your second one will be solo.
## Presentation Requirements
### Before you present
Here are some thing to consider before you present. We will discuss these items when we meet prior to your presentation.
- Who is your audience? (peers, business, academics, investors, teaching, etc.). This will help you choose appropriate attire, mannerisms, formalisms, and engagements.
- What methods will you use to calm your nerves? Bodies are funny; you can trick them into thinking that anxiety is excitement. We often produce excess adrenaline and epinephrine prior to presenting. These chemicals make us want to move. I recommend having a brisk walk prior to your presentation, learning some calming breathing techniques, and having a quick restroom break before you start.
- How will you prepare your space? You should test your setup (laptop, dongle, projector) before you present. At a conference you should do so prior to the start of your session (not just before your present). I also like having something to drink on hand (water normally).
- How will you reset your brain if you stumble? Have some idea of what you'll do if you flub up a sentence. Maybe just take a longer drink of water to reset yourself.
- What questions do you expect to receive? It will help you feel better prepared if you try to predict the questions you'll receive.
- How are you going to practice? The best forms of practice include some pressure and reviewing a recording of yourself.
- How long will you each present? Try to stay on pace. Nobody likes it when a presenter rambles, and you'll often get cutoff if you do so!
### Presentation rubric
Here are the concepts on which I will provide feedback.
- Presentation is clear and follows a coherent story.
- Presentation media is easy to understand.
- Teammates present equitably.
- Presenters are poised and lively.
- Presenters are prepared to answer questions.
- Presentation duration is within the expected range.
- Presentation includes three discussion questions.
If you are looking for additional information, I recommend taking a look at these more formal/complete rubrics.
- [Rubric for Formal Oral Communication](https://www.pomona.edu/administration/tlc/resources/rubric-formal-oral-communication)
- [Oral Presentation Rubric](https://www.pomona.edu/administration/tlc/resources/oral-presentation-rubric)
- [Multimedia Presentation Rubric | Pomona College in Claremont, California - Pomona College](https://www.pomona.edu/administration/tlc/resources/multimedia-presentation-rubric)
### After you present
We will record all presentations, and you will review your recorded presentation with a CSWIM speaking partner after your presentation. You will also respond to the reflection prompts on gradescope. The key is to make mistakes, but not the same mistake twice! **Receiving feedback is an emotional process.** Don't let your emotions get in the way of improving.
## Presentation Advice
- I do not have a preference for your presentation format. Common methods include:
+ Slides (including Pecha Kucha)
+ Live typing (similar content to slides) ([example](https://www.youtube.com/watch?v=yTuwi--LFsM))
+ Live diagramming (for example on a whiteboard)
+ Live demos (this one is harder to do in our setting)
- The [Think Fast, Talk Smart: The Podcast](https://www.gsb.stanford.edu/business-podcasts/think-fast-talk-smart-podcast) (here is a specific recommendation: [Mindset Matters: How to Embrace the Benefits of Stress](https://www.gsb.stanford.edu/insights/mindset-matters-how-embrace-benefits-stress)) is a good listen. You might as well start week 1!
- If you are using slides, try to have a good mixture variety and mixture of text and graphics-only slides.
- You should foreshadow and sign-post your presentations. But not necessarily by using an "outline" slide.
- This is **not** a professional research talk. I would like to be informed, but it is also OK for you to also entertain.
- It does not need to follow the same format/flow as the article(s) you present. A presentation is just an advertisement for the article.
- Don't memorize your "script," but you can memorize transitions. If you over rehearse it will be difficult to recover from a mistake and it will come across as robotic.
- Know how are you being "evaluated." Is this a job talk (evaluated on ability to contribute to team)? Graduation keynote (people want to be inspired and enjoy the process)? For a grade (what is the rubric)? Informative (make sure you are credible)?
- Presentations can come in any format. Here are a couple of great descriptions of how to craft a compelling presentation:
+ Simon Peyton Jones' advice on [How to give a great research talk](https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/).
+ [How to Make a Pecha Kucha - YouTube](https://www.youtube.com/watch?v=32WEzM3LFhw "How to Make a Pecha Kucha - YouTube")
**I HIGHLY recommend watching the 7 minute How to Make a Pecha Kucha video above.** More information here [Pecha Kucha 20x20: Discover Pecha Kucha presentations, stories, ideas, examples, and videos that will inspire](https://www.pechakucha.com/ "Pecha Kucha 20x20: Discover Pecha Kucha presentations, stories, ideas, examples, and videos that will inspire").
### Presentation Structure
Most presentations will follow this structure/outline:
- Introduction
+ Have a solid initial prompt (question, story, bold statement, statistic, quiz, benefit)
+ Tell the audience why should they should care
+ Tell the audience what will they learn
+ Provide some form of preview or demo of final result
- Body
+ Provide the research context (some topics appear in many fields, but are discussed differently)
+ Discuss the approach and how is it novel or of interest
+ Show results and the corresponding experiments to show credibility
- Ending
+ Summarize the key contributions
+ Give a call to action
+ Acknowledge contributors
+ Prompt for questions and feedback
# Reports
## General Writing Advice
Some quick tips from me:
- Clearly state your thesis.
- Provide clear evidence supporting your thesis.
- Write a bold beginning.
- Write a provocative ending.
- Vary sentence and paragraph length.
- Check for sentence and paragraph transitions.
- Maintain a consistent tense and voice.
- Get into a writing routine. Write a small amount (20 to 30 minutes) three days a week for the entire semester.
- Jot down disparate sentences and combine them together as is useful.
- Outline sections headings and then write the first sentence of each paragraph for each section.
- Use present tense.
- Esthetics are important.
+ Use descending font sizes for headings, subheadings, etc.
+ Use bold, italics, underlining to draw attention to important points (use consistently).
+ Add figures and tables to summarize and break-up text.
Here are some tips from [Some "Tips from a Pulitzer prizewinner" (US novelist Cormac McCarthy) written up by Van Savage and Pamela Yeh](http://web.stanford.edu/group/nusselab/cgi-bin/lab/sites/default/files/d41586-019-02918-5.pdf):
- Use minimalism to achieve clarity.
- Decide on your paper's theme and two or three points you want every reader to remember.
- Limit each paragraph to a single message.
- Keep sentences short, simply constructed, and direct.
- Don't slow the reader down.
- Don't over-elaborate.
- Don't worry too much about reads who want to find a way to argue about every tangential point and list all possible qualifications for every statement.
- Spoken language and common sense are generally better guides for a first draft than rule books.
- Commas denote a pause in speaking.
- Dashes should emphasize the clauses you consider most important---without using bold or italics---and not only for defining terms.
- Inject questions and less-formal language to break up tone and maintain a friendly feeling.
- Choose concrete language and examples.
- Avoid placing equations in the middle of sentences.
- Red your work aloud to yourself or a friend.
## 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 deep learning I'd look for things published in the past two or three 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
- If you find a particularly good article, you can also look at the papers it references (found at the end of the paper)
3. Search with the same terms using your search engine of choice
- You can frequently find related blog posts or videos on the authors' websites
4. Use a tool like [Connected Papers](https://www.connectedpapers.com/) to find related articles.
For other types of work (blog posts, etc.) use your normal searching skills (DDG, YouTube, etc.).
## 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), I recommend the following technique:
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.
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.
## How to Write an Introduction
You do not have to write your introduction in any specific format, but you might find Dr. Stirewalt's 5-paragraph rule for writing Introductions helpful:
1. **Introductory paragraph**: What is the problem and why is it relevant to the audience attending *THIS AUDIENCE*? Moreover, why is the problem hard, and what is your solution? You must be brief here. This forces you to boil down your contribution to its bare essence and communicate it directly.
2. **Background paragraph**: Elaborate on why the problem is hard, critically examining prior work, trying to tease out one or two central shortcomings that your solution overcomes.
3. **Transition paragraph**: What keen insight did you apply to overcome the shortcomings of other approaches? Structure this paragraph like a syllogism: Whereas $P$ and $P => Q$, infer $Q$.
4. **Details paragraph**: What technical challenges did you have to overcome and what kinds of validation did you perform?
5. **Assessment paragraph**: Assess your results and briefly state the broadly interesting conclusions that these results support. This may only take a couple of sentences. I usually then follow these sentences by an optional overview of the structure of the paper with interleaved section callouts.
## How to Write a Survey Paper
Most of you will decide to write a survey paper. So, what is a "survey paper"?
> "A survey article ... should provide a comprehensive review of developments in a selected area, covering its development from its inception to its current state and beyond, and illustrating its development through liberal citations from the literature."
>
> -- [IEEE Communications Surveys & Tutorials](https://ieeexplore.ieee.org/xpl/aboutJournal.jsp?punumber=9739)
> "A survey article assumes a general knowledge of the area; it emphasizes the classification of the existing literature, developing a perspective on the area, and evaluating trends.
> *Long Survey Paper:* A paper that summarizes and organizes recent research results in a novel way that integrates and adds understanding to work in the field. A survey article assumes a general knowledge of the area; it emphasizes the classification of the existing literature, developing a perspective on the area, and evaluating trends.
> *Short Survey paper:* Short survey papers are perspective pieces/essays that are well-focused and written by a leader in the field that usually presents a personal point of view critiquing widespread notions pertaining to a field. A perspective piece can be a review of a concept or a few related concepts.
> *Tutorial Paper:* A paper that organises and introduces work in the field. A tutorial paper assumes its audience is inexpert; it emphasizes the basic concepts of the field and provides concrete example that embody these concepts."
>
> -- [ACM Computing Surveys](https://dl.acm.org/journal/csur/editorial-charter)
Here are two recent survey papers that you can use an example:
- [A Review on Fairness in Machine Learning | ACM Computing Surveys](https://dl.acm.org/doi/10.1145/3494672).
- [A Survey of Machine Learning for Computer Architecture and Systems | ACM Computing Surveys](https://dl.acm.org/doi/10.1145/3494523)
I will look for the following in your survey paper:
1. Abstract (see [How to write a good abstract for a scientific paper or conference presentation - PMC](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3136027/))
2. An introduction (see section section How to Write an Introduction)
- Discuss the significance and topic motivation
3. A body including one to five sections (however you see fit to organize and discuss the topic)
- Provide a view and categorization of existing work
- Include your own commentary and assessments
4. A discussion (and possibly separate conclusion)
- Provide your personal perspective on the topic
- Include a discussion on future directions for the field
Survey papers will often include definitions and figures copied from other papers (cited, of course). As you read the articles you've accumulated, you should start organizing them into areas. The [Research Paper Rubric](https://www.pomona.edu/administration/tlc/resources/research-paper-rubric) will give you a good idea regarding how I will evaluate your report.
If you want more information, then it won't hurt to skim through [Procedures for Performing Systematic Reviews](Kitchenham-2004-Systematicreviewsv4.pdf) by Barbara Kitchenham.
## How to Outline a Technical Report
Writing your technical report will be much easier if you start with an outline. Outlining will help you
- organize your thoughts
- order your arguments and supporting evidence
- develop relationships between your topics
- direct your background reading
An outline will typically follow this format:
1. Title
2. Introduction
1. Introductory sentence
2. Supporting paragraphs (e.g., citation or quote)
3. Thesis
3. First body section
1. Topic related to first point of thesis
2. Supporting paragraphs
4. Second body section
1. Topic related to second point of thesis
2. Supporting paragraphs
5. Third body section
1. Topic related to third point of thesis
2. Supporting paragraphs
6. Conclusion
1. Restated thesis
2. Highlighted points
3. Future work and additional questions
Here is a more concrete example from [Indeed's advice on writing a research paper outline](https://www.indeed.com/career-advice/career-development/how-to-write-a-research-paper-outline):
1. Why Schools Should Use Technology for Educational Purposes
2. Introduction
1. The increasing role of technology in careers
2. The need for technologically literate citizens
3. The role of educators to prepare students must include technology literacy
4. The benefits of technology for students include:
1. Allows for new types of assignments
2. Allows for remote learning
3. Reflects modern careers
3. Body paragraph 1
1. Technology allows for simulations, games, and programming
2. Examples of simulation
3. Examples of games
4. Examples of programming
4. Body paragraph 2
1. Technology allows for distance learning
2. Examples of remote learning
3. Example of hybrid learning (Students at school and at home)
4. Examples of remote collaborations (Across cities, states, districts)
5. Body paragraph 3
1. Technology is an important part of many careers
2. Technology prevalence in work (cite Johnson, et. al., 2018)
3. Examples of school projects that mimic work projects (STEM Camp, Boulder Schools, 2012)
4. Examples of schools using technology for problem-solving
6. Conclusion
1. Three reasons to encourage technology in school
1. Problem-solving
2. Remote learning
3. Preparation for careers
2. Summary of innovative uses of technology
3. Summary of support for using technology in schools
1. Belcher (2016) found increased technology use led to better math scores on PSAT
4. Ideas for future research
1. More studies on the effect of technology and test scores
2. Using technology as an intervention for struggling students
Here are three more sources for advice on how to outline a technical report:
- [Dissertation & Thesis Outline | Example & Free Templates](https://www.scribbr.com/dissertation/dissertation-thesis-outline/)
- [How to Create a Structured Research Paper Outline | Example](https://www.scribbr.com/research-paper/outline/)
- [Outlining - Writing a Paper - Academic Guides at Walden University](https://academicguides.waldenu.edu/writingcenter/writingprocess/outlining)
## Peer-Review Process
We'll perform peer reviews during two lecture periods. They will follow this format:
1. Read a peer's current draft.
2. Answer review prompts on gradescope.
3. Share your feedback with the author.
4. Repeat steps 1-3 with different peer some number of times.
5. Answer feedback prompts on gradescope.
Note the following while reading your classmates' reports (you should take notes on gradescope).
- What is their topic?
- Did they outline their entire report?
- Does the introduction help you understand the topic and its importance?
- Does the introduction help you understand the topic's categorizations?
- What did you find most confusing about their report?
- What is a one sentence summary of their report?
You can be brief in your note-taking.
## Thesis Structure
Here is a senior thesis structure:
- Abstract (problem statement, methodology, main finding, main conclusion)
- Introduction (broad territory, your niche/questions, foreshadowing)
- Literature review (broken down by topic areas)
- Methodology (processes and techniques used for collection and analysis)
- Results
- Discussion (layout claim, state implications, provide recommendations)
- Conclusion
- Acknowledgements
- References
# LaTeX Assignment
For this assignment you will use $\LaTeX$ to create a "short autobiography." Your autobiography can focus on whatever you'd like (it can be fiction if you'd like). You do not have any word or page count requirements, but you do need to include each of the features listed below.
## $\LaTeX$ Advice
Some general advice before you get started:
- Read [the documentation to learn how to install $\LaTeX$](https://www.latex-project.org/get/)
- Peruse some example documents
- [Overleaf Templates](https://www.overleaf.com/latex/templates)
- [TeX showcase](https://www.tug.org/texshowcase/)
- [LaTeX Showcase](https://www.learnlatex.org/en/extra-01)
- [LaTeX Typesetting](https://www.latextypesetting.com/showcase)
- Use the Visual Studio Code extension called [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) (assuming you write in VS Code)
## Requirements
Your document must at minimum include the following:
- A document title including `\title`, `\author`, and `\date` (see [Your first LaTeX document](https://latex-tutorial.com/tutorials/first-document/))
- An `\abstract` (see [formatting abstracts](https://www.overleaf.com/learn/latex/Creating_a_document_in_LaTeX#Basic_formatting:_abstract.2C_paragraphs_and_newlines))
- At least two `\section`s (see [paragraphs and sections](https://latex-tutorial.com/tutorials/sections/))
- At least one figure (see [figures tutorial](https://latex-tutorial.com/tutorials/figures/))
- At least one table (see [tables tutorial](https://latex-tutorial.com/tutorials/tables/), [Small Guide to Making Nice Tables](https://people.inf.ethz.ch/markusp/teaching/guides/guide-tables.pdf), and [Clear Off the Table](https://www.darkhorseanalytics.com/blog/clear-off-the-table/))
- At least one list (see [lists tutorial](https://latex-tutorial.com/tutorials/lists/))
- Text that references (`~\ref`) each of your figures, tables, and lists (see [Cross referencing sections, equations and floats](https://www.overleaf.com/learn/latex/Cross_referencing_sections%2C_equations_and_floats))
- At least four bibliographical references (see [bibliography in LaTeX](https://latex-tutorial.com/tutorials/bibtex/))
- You must use a separate `.bib` file
- You must cite (`~\cite`) each reference in text
This [GitHub Repository](https://github.com/Wookai/paper-tips-and-tricks) has quite a few tricks that you should consider if you are writing a larger document.
## $\LaTeX$ Packages
Here are some of my favorite (personally required) packages:
- [BibLaTeX](https://www.ctan.org/pkg/biblatex)
- [booktabs](https://www.ctan.org/pkg/booktabs/)
- [hyperref](https://ctan.org/pkg/hyperref)
- [lmodern](https://ctan.math.illinois.edu/fonts/lm/doc/fonts/lm/lm-info.pdf)
- [microtype](https://ctan.org/pkg/microtype)
- [siunitx](https://ctan.org/pkg/siunitx)
- [subcaption](https://www.ctan.org/pkg/subcaption)
I use many of these in my [proposal and cover letter templates](https://github.com/anthonyjclark/latex-classes).
## Submission Instructions
Submit to [gradescope](https://www.gradescope.com/).
# Technical Article Options
I've grouped articles into categories below. I may not have found the best fit for each article, so please look at more than just the title when making selections. You must present papers from two different categories.
## Governance
- C++ (use all four links)
+ [Standard C++ Foundation](https://isocpp.org/about)
+ [How To Submit a Proposal : Standard C++](https://isocpp.org/std/submit-a-proposal)
+ [List of proposals](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/)
+ [P2000R3 Direction for ISO C++ (PDF)](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2000r3.pdf)
- Rust (use all four links)
+ [Proposal - The Rust Language Design Team](https://lang-team.rust-lang.org/initiatives/process/stages/proposal.html)
+ [Rust Foundation](https://foundation.rust-lang.org/)
+ [Rust proposals](https://rust-lang.github.io/rfcs/)
+ Find a specific proposal (I'll help)
- Python (use all three links)
+ [PEP 0 – Index of Python Enhancement Proposals](https://peps.python.org/)
+ [PEP 13 – Python Language Governance](https://peps.python.org/pep-0013/)
+ Find a specific proposal (I'll help) (here is an example [PEP 701](https://peps.python.org/pep-0701/))
- GNU (use all four links)
+ [Philosophy of the GNU Project](https://www.gnu.org/philosophy/philosophy.html)
+ [The GNU Assembly — Governance](https://gnu.tools/en/documents/governance/)
+ [Rethinking the governance of the GNU Project](https://lwn.net/Articles/802985/)
+ [The Structure and Administration of the GNU Project](https://www.gnu.org/gnu/gnu-structure.en.html)
+ Feel free to dive into any additional [Essays and Articles](https://www.gnu.org/philosophy/essays-and-articles.html)
+ Some extras:
* [Choose an open source license | Choose a License](https://choosealicense.com/)
* [wtfpl.net/](http://www.wtfpl.net/)
* [open source - Can GPL be re licensed? - Stack Overflow](https://stackoverflow.com/questions/5419923/can-gpl-be-re-licensed)
## Ethics-Related
- [A Survey on Bias and Fairness in Machine Learning | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3457607)
- [Is Your Toxicity My Toxicity? Exploring the Impact of Rater Identity on Toxicity Annotation (arXiv)](https://arxiv.org/abs/2205.00501)
- [You Can't Sit With Us | Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency](https://dl.acm.org/doi/abs/10.1145/3442188.3445914)
- Teaching Ethics (use both short papers)
+ [Teaching Computer Ethics | Proceedings of the 51st ACM Technical Symposium on Computer Science Education](https://dl.acm.org/doi/abs/10.1145/3328778.3366951)
+ [More Than "If Time Allows" | Proceedings of the AAAI/ACM Conference on AI, Ethics, and Society](https://dl.acm.org/doi/abs/10.1145/3375627.3375868)
## Industry-Related
- Diversity in Software Engineering
+ [The Diversity Crisis in Software Development (IEEE)](https://ieeexplore.ieee.org/abstract/document/9354402)
+ Choose any other article from the same [journal issue](https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=9354388&punumber=52)
- [Software Engineering for Machine Learning: A Case Study (IEEE)](https://ieeexplore.ieee.org/abstract/document/8804457)
- [A Survey of DevOps Concepts and Challenges | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3359981)
- [Coordination of Autonomous Vehicles: Taxonomy and Survey: ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3431231)
- [Voice in Human–Agent Interaction: A Survey: ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3386867)
## Machine Learning
- [Efficient Transformers: A Survey | ACM Computing Surveys](https://dl.acm.org/doi/full/10.1145/3530811)
- [Generalizing from a Few Examples: A Survey on Few-shot Learning: ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3386252)
- [D'ya Like DAGs? A Survey on Structure Learning and Causal Discovery | ACM Computing Surveys](https://dl.acm.org/doi/full/10.1145/3527154)
- [Machine Learning at the Network Edge: A Survey | ACM Computing Surveys](https://dl.acm.org/doi/abs/10.1145/3469029)
# Resources
The [Center for Speaking, Writing, and the Image](https://www.pomona.edu/administration/writing-center) (formerly The Writing Center) is open this semester! They open at full capacity after the second week of the semester, but we will be holding limited appointments and drop-in hours as soon as classes begin.
Writing and Speaking Partners meet one-on-one with students to talk about their work and provide feedback at any stage of their preparation process. Trained to think deeply about written, oral, and visual rhetoric and communication, these student peers facilitate conversations about everything from ID1 papers to senior theses, lab reports to creative writing, giving presentations to developing strategies for reading and engaging more deeply and confidently in class discussion.
To make an appointment with a Writing or Speaking Partner, please
- log onto the Portal and go to Academics > Writing Center,
- contact them [by email](https://www.pomona.edu/administration/writing-center), or
- drop-in during their hours hosted in SCC 148.