This assignment has two parts. The first part is due by class time on Wednesday of Week 2, and the second is due by Monday class time of Week 3. Again, "submission" will be via submitting links to documents that you created to the corresponding assignment on Gradescope.
This week we are focused on reading a technical research paper.
Setting your weekly objectives
We're starting to get more formal with specifying weekly goals. So this week, before you begin the rest of your assignment, read through this whole assignment and identify the tasks that need to be completed. Record these at the start of your log for the week (week 2).
Part 1 (Due Wednesday): Reading your assigned research paper, first pass
Last week you read:
- How to Read an Engineering Research Paper, by William Griswold, UCSD
However, as we saw in class on Monday of week 2, going straight to the answers to these questions can be a bit overwhelming. So this time we will take a two-pass approach to reading your paper.
Find and access your assigned paper below
Warning: You may need to be on campus to access some of the links below, so try downloading ASAP while you are on campus.
Professor Balkind's Group: Fine-grained and Accurate Source Code Differencing.
Professor Bultan's Group: Differential symbolic execution
Professor Chang's Group: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Prof. Kruegal and Prof. Vigna's Group (Project 1: Finding Scam...): The Art of the Scam: Demystifying Honeypots in Ethereum Smart Contracts
Prof. Kruegal and Prof. Vigna's Group (Project 2: Understanding the security...): A Measurement Study on Linux Container Security: A!acks and Countermeasures
Professor Vigoda's Group: Phylogenetic MCMC Algorithms Are Misleading on Mixtures of Trees
Professor William Wang's Group: Imagination-Augmented Natural Language Understanding
Professor Yan's Group: Hair self-shadowing and transparency depth ordering using occupancy maps
Professor Yu-Xiang Wang's Group: Deep Survival Analysis
Logging your reading
You will log every paper your read, and this assignment, in particular, asks you to take detailed notes and answer questions on the reading. In general, you will often be taking careful notes when you read papers.
You will use your individual logs to log your reading notes. If you feel that your log is getting too cluttered by the notes, please feel free to make a separate document for your paper and link it from your log in the appropriate place. I suggest making a "reading notes" document where you will take notes on all of the technical papers you read. Make sure this document is set up and linked from your log before you begin.
Read and record notes on your first pass through the paper
Now that you have your log set up, you are ready to start reading. In this first pass your goal is to (1) get the general idea of the paper's contribution and approach (2) figure out what additional information you need to know in order to understand the paper.
Read your paper and take notes using the following procedure, recording the answer to each step (using the headings and numbers below) under the paper in your reading log under a header labeled "Part 1":
- Read the paper's abstract. Then record in your reading log what you think the main problem the paper is solving is, and what you think the paper's main contribution is. This should be in your own words.
- Now, read the introduction, and highlight or underline any words, terms or concepts that you do not understand, but don't stop to try to figure them out, yet. When you have finished reading the introduction, answer the following in your reading log:
- Give more detail about the specific problem(s) that this paper is addressing. While your answer above might have been very general, you should try to give more detail here.
- What terms or concepts are you confused about, and how important do you think each will be to your understanding of the paper?
- Next, skip to the "Experiments" or "Results" section and read it, again continuing to highlight (but not worry too much about) things you don't understand. Then, in your log record the answer to this questions: "How does the author show that their approach is successful? What evidence does the author provide? Is it compelling"
- Now, read the "Background" or "Related Work" section. After you are done, answer this question in your log: "How does the work in this paper build on what has been done before?" Your answer doesn't have to be perfect. Just give it your best shot. You'll answer this question again on your next pass.
- Finally, read the "meat" of the paper which describes the new approach or technique that the paper proposes. Continue to highlight what you don't understand, but also highlight ares that you feel are important. Use a different annotation for each, so you can distinguish between them. When you are finished, answer these questions in your reading log:
- To the best of your understanding, what is proposed in this paper? The answer to this question should contain as much detail as possible, and should be a few paragraphs long, most likely.
- What are the key concepts/terms/ideas that are blocking your more complete understanding of this paper? These should be the things you highlighted as confusions that you feel are most important for you to understand in order to understand this paper.
- Finally, read quickly or skim any sections that you have not yet read, though at this point these sections should consist only perhaps of the discussion and the conclusion. There is nothing to record for this part.
Bring your laptop with you to class on Wednesday. We will spend most of Wednesdays class trying to figure out how to resolve your confusions.
Part 2 (Due Monday of Week 3): Reading your assigned research paper, second (and third, and fourth...) pass
Learn about the concepts that are blocking you
In the first part of this assignment, you identified several areas that were blocking you from fully understanding this research paper. In this first part, you will take steps to learn about this missing information.
Either alone or with one of your group members, identify sources to help you learn about the most important concepts that you do not understand that are required for you to understand the paper. There is no set number of sources, or set number of concepts you must research. Just as many as you can/need to resolve your struggles.
In your reading log, below the header for your paper, under a sub-header labeled "Part 2.1", copy the answer that you recorded in question 5.2 above, and for each confusing concept, give a link to a page or pages that can help you learn more about the concept. Then write a few sentences about what the concept means and your new understanding of the concept based on these sources.
Read the Research Paper Again
Now that you have learned a sufficient amount of background information, reread your research paper. This time your goal is to answer all of the questions in Griswold's How to Read an Engineering Research Paper.
As you read your paper for the second time, continue to be active--take notes on the paper or on the computer, highlight the paper itself, etc. Either while you read, or after you are done, answer the following questions taken from Griswold's 2-page form, linked from the above reading, either on paper or electronically (recommended). You will be linking the answers to these questions from your log, so if you choose to write the answers on paper, you will need to scan the page.
- What is your takeaway message from this paper?
- What is the motivation for this work (both people and technical problem), and its distillation into a research question? Why doesn't the problem have a trivial solution? What are the previous solutions and why are they inadequate?
- What is the proposed solution? Why is it believed it will work? How does it represent an improvement? How is the solution achieved?
- What is the author's evaluation of the solution? What logic, argument, evidence, artifacts (e.g., a proof-of-concept system), or experiments are presented in support of the idea?
- What is your analysis of the identified problem, idea and evaluation? Is this a good idea? What flaws do you perceive in the work? What are the most interesting or controversial ideas? For work that has practical implications, ask whether this will work, who would want it, what it will take to give it to them, and when it might become a reality?
- What are the paper's contributions (author's and your opinion)? Ideas, methods, software, experimental results, experimental techniques...?
- What are the future directions for this research (author's and hours, perhaps driven by shortcomings or other critiques)?
- What questions are you left with? What questions would you like to raise in an open discussion of the work (review interesting and controversial points above)? What do you find difficult to understand? List as many as you can.
You should place the answers to each of these questions in your reading log, under the header for your paper, under a sub-header labeled "Part 2.2". If you would rather, you can also put these questions and their answers on a separate page with a link under that header.
Select your teaching topic
For the last part of this assignment, we'll change gears just a bit. Your assignment for Monday of Week 4 will be to prepare a teaching presentation to your peers. So for this week, the last part of your assignment is to coordinate with your group members to choose 2-4 different topics that you all feel like you need to learn more about as part of getting up to speed on your research group's area. List all the topics on your group page, and list the one that you have selected on your individual log. It's OK for two group members to select the same topic (but not more than 2 group members). Try to divide and conquer the main concepts that you need to learn for your project. If your mentors have giving you materials or resources definitely use this opportunity to make progress on your reading and understanding of those resources.