Flipped classroom course on Program Analysis

Author: pavlogiannis

Created: 2022-09-16 08:09pm

Edited: 2022-09-17 12:10am

Keywords: program analysis, paper reviewing

Description:

A flipped classroom approach for a few lectures on a MSc-level course called Program Analysis. This will take place as a last part of the course, where the students have matured in the content of the course. The idea is that they read papers, present them, then go home and try the program-analysis tools that accompany those papers, and report back their experience. The tools will be evaluated in their efficacy to analyze programs and find errors. We will have a common set of programs, and different tools will generally succeed in effectively analyzing only a few of the programs. The students can discuss this experience online

Intended Learning Outcomes:

  • Follow conference-level technical presentations
  • Read, understand and critically assess scientific papers
  • Present in their own ways scientific papers
  • Tooling and evaluation
Resources Tasks Supports

Before class

Paper abstracts

Students form grousp of 2/3 people. They are provided with a list of papers, and based on title and abstract choose one paper to work on

I provide the list of papers online, be available for high-level questions regarding the topic (but not technical aspects) of a paper, to help the students choose according to their interests

Webcasts, paper presentations

Students watch conference talks in which their assigned paper was presented, by the authors of the paper

None

Paper reading

Students go back and read the paper carefully, prepare a presentation about it.

Students can answer questions in the online discussion/forum, and start preliminary discussions there. I will monitor the forum, intervening to provide clarifications when needed, as well as answer technical questions

In class

Presentation slides

Students present in groups the paper they have chosen, followed by a Q&A in which all students participate

I follow the presentations, make questions that stir paper understanding, provide answers to difficult questions which cannot be addressed by just having read the paper in detail (e.g., questions relating to extensions or close literature)

After class

Tool experimentation

Students experiment with the program analysis tool that accompanies the paper they chose. They report their experience in the online discussion. We have a common dataset of programs on which the different tools are tried on. Students from different groups compare their experience as to how effective their tool was in the dataset

I provide the dataset programs, give technical assistance, participate in the discussion about conclusions for each paper and tool.