Interactions of individual and pair programmers with an intelligent tutoring system for computer science

Interactions of individual and pair programmers with an intelligent tutoring system for computer science Harsley et al., SIGCSE'17 A short and easy paper for today, which examines the difference between pair programming and working individually in an educational context. The study involves 116 students participating in a series of seven linked-list programming tasks designed to ... Continue Reading

Decoding the representation of code in the brain: an fMRI study of code review and expertise

Decoding the representation of code in the brain: an fMRI study of code review and expertise Floyd et al., ICSE'17 fMRI studies have been used to explore how our brains encode expertise in physical tasks involving specialised motor skills (for example, playing golf), in memory development (for example, London taxi drivers), and in mental skills ... Continue Reading

Ethically aligned design

The IEEE Global Initiative for Ethical Considerations in Artificial Intelligence and Autonomous Systems. Ethically Aligned Design: A Vision For Prioritizing Wellbeing With Artificial Intelligence And Autonomous Systems, Version 1. IEEE, 2016. http://standards.ieee.org/develop/indconn/ec/autonomous_systems.html.   Something a little different for today... the IEEE recently put out a first version of their "Ethically Aligned Design" report for public ... Continue Reading

The truth, the whole truth, and nothing but the truth: a pragmatic guide to assessing empirical evaluations

The truth, the whole truth, and nothing but the truth: A pragmatic guide to assessing empirical evaluations Blackburn et al. ACM Transactions on Programming Languages and Systems 2016 Yesterday we looked at some of the ways analysts may be fooled into thinking they've found a statistically significant result when in fact they haven't. Today's paper ... Continue Reading

REX: A development platform and online learning approach for runtime emergent software systems

REX: A development platform and online learning approach for runtime emergent software systems Porter et al. OSDI 2016 If you can get beyond the (for my taste, ymmv) somewhat grand claims and odd turns of phrase (e.g., “how the software ‘feels’ at a given point in time” => metrics) then there’s something quite interesting at ... Continue Reading

Designing software for ease of extension and contraction

Designing software for ease of extension and contraction Parnas, IEEE Transactions on Software Engineering, 1979 A couple of weeks ago we looked at ‘A design methodology for reliable software systems’. David Parnas posted a comment (thank you!) giving some more insight into the history of Dijkstra’s “levels of abstraction” concept: This paper followed Dijkstra in ... Continue Reading