Schedule
Mon 25 Aug
Wed 27 Aug
- lecture Effective Presentation Techniques by Quinn (2012)
- paper "Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks" (Ko et al. 2005) [slides]
Mon 1 Sep
- Labor Day
Wed 3 Sep
- activity Paper Presentation Activity
Mon 8 Sep
- Seminar 1-1
- paper "Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results" (Shneiderman & Mayer, 1979)
- paper "Towards a Theory of the Comprehension of Computer Programs" (Brooks, 1983)
Wed 10 Sep
- Seminar 1-2
- paper "Comprehension and Recall of Miniature Programs" (Gilmore & Green, 1984)
- paper "Expertise in Debugging Computer Programs: A Process Analysis" (Vessey, 1985)
Mon 15 Sep
- Seminar 1-3
- paper "Cognitive Processes in Program Comprehension" (Letovsky, 1987)
- paper "Mental Models and Software Maintenance" (Littman et al., 1987)
Wed 17 Sep
- Seminar 1-4
- paper "Comprehension Strategies in Programming" (Pennington, 1987)
- paper "The Concept Assignment Problem in Program Understanding" (Biggerstaff et al., 1993)
Mon 22 Sep
- Seminar 1-5
- paper "The Interleaving Problem in Program Understanding" (Rugaber et al., 1995)
- paper "Identification of Dynamic Comprehension Processes During Large Scale Maintenance" (von Mayrhauser & Vans, 1996)
Wed 24 Sep
- Seminar 1-6
- "How Effective Developers Investigate Source Code: An Exploratory Study" (Robillard et al., 2004)
- paper "Theories, Methods, and Tools in Program Comprehension: Past, Present, and Future" (Storey, 2005)
Mon 29 Sep
- Seminar 1-7
- paper "An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks" (Ko et al, 2006)
- paper "Asking and Answering Questions during a Programming Change Task" (Sillito et al., 2008)
Wed 1 Oct
- Seminar 1-8
- paper "Program Comprehension as Fact Finding" (LaToza et al., 2007)
- paper "Developers ask reachability questions" (LaToza & Myers, 2010)
Mon 6 Oct
- Seminar 1-9
- paper "A cognitive neuroscience perspective on memory for programming tasks" (Parnin, 2010)
- paper "Programmer information needs after memory failure" (Parnin & Rugaber, 2012)
Wed 8 Oct
- activity Reflection on How Developers Comprehend Programs
Mon 13 Oct
- Fall Break
Wed 15 Oct
- activity Introduction to the Essay Assignment (LaTeX, Digital Libraries, etc.)
Mon 20 Oct
- activity Writing Papers with LaTeX Part 1
Wed 22 Oct
- activity Writing Papers with LaTeX Part 2
- due Email me by Friday a subproblem of program comprehension and 2 papers on tools that address the subproblem
Mon 27 Oct
- activity Improving Presentations and Slide Designs
Wed 29 Oct
- Seminar 2-1
- paper "Java Quality Assurance by Detecting Code Smells" (Emden & Moonen, 2002)
- paper "Gapped code clone detection with lightweight source code analysis" (Murakami et al., 2013)
Mon 3 Nov
- Seminar 2-2
- paper "CERBERUS: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis" (Eaddy et al., 2008)
- paper "A Comment Analysis Approach for Program Comprehension" (Freitas et al., 2012)
Wed 5 Nov
- Seminar 2-3
- paper "A road map for teaching introductory programming using LEGO© Mindstorms robots" (Lawhead et al., 2002)
- paper "Hypothesis-based concept assignment in software maintenance" (Gold & Bennett, 2002)
Mon 10 Nov
- Seminar 2-4
- paper "Visually localizing design problems with disharmony maps" (Wettel & Lanza, 2008)
- paper "Improving software modularization via automated analysis of latent topics and dependencies" (Bavota et al., 2014)
Wed 12 Nov
- Seminar 2-5
- paper "The Patchworks code editor: Toward faster navigation with less code arranging and fewer navigation mistakes" (Henley & Fleming, 2014)
- paper "NavTracks: Supporting Navigation in Software" (Singer et al., 2005)
Mon 17 Nov
- due Essay - First/Rough Draft
- activity Essay Improvement Studio
Wed 19 Nov
- Seminar 2-6
- paper "In-game assessments increase novice programmers' engagement and level completion speed" (Lee et al., 2013)
- paper "Automatic generation of natural language summaries for Java classes" (Moreno et al., 2013)
Mon 24 Nov
- Seminar 2-7
- paper "A Tool For Understanding Multi-Language Program Dependencies" (Linos et al., 2003)
- paper "On Integrating Visualization Techniques for Effective Software Exploration" (Storey et al., 1997)
Wed 26 Nov
- Thanksgiving Holidays
Mon 1 Dec
- Seminar 2-8
- paper "Collective Code Bookmarks for Program Comprehension" (Guzzi et al., 2011)
- paper "Example-centric programming: Integrating web search into the development environment" (Brandt et al., 2010)
Wed 3 Dec
- Seminar 2-9
- paper "Designing the Whyline: A debugging interface for asking questions about program behavior" (Ko & Myers, 2004)
- paper "Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process" (Zaidman et al., 2005)
- due Essay - Final Draft
Wed 10 Dec
10:00–12:00